← Back to team overview

mactel-support team mailing list archive

[Bug 207127] Re: fn key doesn't work in hardy with macbook pro fourth generation (4, 1)

 

I've detailed a proper fix that doesn't require patching/kernel recompile/or the compiled module I've provided above.
The fix is found here:
http://ubuntuforums.org/showthread.php?p=4984452&posted=1#post4984452

The fix loads the usbhid module with an option that adds the new DeviceID to the quirk list dynamically.
Sorry to spam this bug report. I'll move further discussion there.

The patch I outlined above should still be implemented so that in future
the keyboard is recognized automatically.

-- 
fn key doesn't work in hardy with macbook pro fourth generation (4,1)
https://bugs.launchpad.net/bugs/207127
You received this bug notification because you are a member of Mactel
Support, which is the registrant for Mactel Support.

Status in Mactel Support: New
Status in Source Package "linux-meta" in Ubuntu: Confirmed

Bug description:
hardware:  macbook pro generation 4,1 (feb 2008)
problem:  fn key not detected
test:  run xev.  press fn key.  nothing happens.
consequences:  home/end/pgup/pgdown don't work.

i was able to fix this issue by compiling my own kernel.
i downloaded linux-source from ubuntu hardy
(VERSION = 2,PATCHLEVEL = 6,SUBLEVEL = 24,EXTRAVERSION = .3)

and revised this file:
 drivers/hid/usbhid/hid-quirks.c 

used lsusb to grab the id of the internal keyboard device:
  Bus 005 Device 003: ID 05ac:0230 Apple Computer, Inc.

and revised the c file accordingly:

/* next line commented out by eitan and replaced with line below;
  changing address for device from 0x021b to 0x0230 which is what lsusb tells me
  my internal keyboard device id actually is
#define USB_DEVICE_ID_APPLE_GEYSER4_ISO 0x021b
 */
#define USB_DEVICE_ID_APPLE_GEYSER4_ISO 0x0230

rebooting with the new kernel, the fn key now works.
i don't know if this breaks other versions of the macbook pro
and am otherwise ignorant of the linux kernel source code.

thanks,
/ eitan



Follow ups