Bug 219968 - Fn key on Macbook Pro stopped working
Fn key on Macbook Pro stopped working
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Pete Zaitcev
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-12-17 18:28 EST by David Zeuthen
Modified: 2013-03-05 22:48 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-01-04 12:53:41 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
/proc/bus/usb/devices (6.34 KB, text/plain)
2006-12-17 21:32 EST, David Zeuthen
no flags Details
Patch from Soeren (2.02 KB, patch)
2006-12-23 16:16 EST, Pete Zaitcev
no flags Details | Diff

  None (edit)
Description David Zeuthen 2006-12-17 18:28:20 EST
In kernel-2.6.18-1.2798.fc6 and earlier my Fn key worked. In
kernel-2.6.19-1.2877.fc7 not so. This is on an Apple Macbook Pro.

This makes it impossible to use Home, End, Pg+, Pg- ''keys'' (they are accessed
through Fn + arrow keys) effectively rendering the keyboard, and thus the
laptop, useless for manipulating source code. I'm stuck at
kernel-2.6.18-1.2798.fc6 until this is fixed. Thanks.
Comment 1 David Zeuthen 2006-12-17 18:51:01 EST
This is a regression the usbhid driver. Also note that

 # cat /sys/module/usbhid/parameters/pb_fnmode
 1

with is expected given that

 # modinfo usbhid |grep pb_fnmode
 parm:           pb_fnmode:Mode of fn key on PowerBooks (0 = disabled, 1 =
fkeyslast, 2 = fkeysfirst) (int)


but it just don't work. Thanks for looking into this.
Comment 2 Pete Zaitcev 2006-12-17 20:29:15 EST
David, attach your /proc/bus/usb/devices please. I want to see if this is
0x0215 or 0x0218 keyboard.
Comment 3 David Zeuthen 2006-12-17 21:32:04 EST
Created attachment 143876 [details]
/proc/bus/usb/devices

It's attached. Thanks!
Comment 4 David Zeuthen 2006-12-17 21:33:55 EST
Looks like it's a 0x217 keyboard... It's a keyboard with US layout fwiw.
Comment 5 Pete Zaitcev 2006-12-18 17:18:10 EST
David, I need one more piece of information (which I should be able to
obtain by reading source in CVS, but for extra surety I'm asking you
to get it from the real install). Please do this on the affected system:

ls /boot/config*
grep CONFIG_USB_HID_POWERBOOK /boot/config-2.6.*
Comment 6 David Zeuthen 2006-12-20 02:47:02 EST
Hi, sorry for the lag

 [davidz@zelda ~]$ ls /boot/config*
 /boot/config-2.6.18-1.2798.fc6  /boot/config-2.6.19-1.2877.fc7
 [davidz@zelda ~]$ grep CONFIG_USB_HID_POWERBOOK /boot/config-2.6.*
 /boot/config-2.6.19-1.2877.fc7:CONFIG_USB_HID_POWERBOOK=y

Thanks.
Comment 7 Pete Zaitcev 2006-12-20 19:29:28 EST
I see, thanks. Did you try to boot with "pb_fnmode=0"?
Comment 8 Andrew Cathrow 2006-12-21 16:08:05 EST
The new Core 2 Duo MacBook and MacBook pro have different id's.
For example MacBook has Vendor=05ac ProdID=021a 

mactel-linux has patches containing the new product ID's
http://mactel-linux.svn.sourceforge.net/viewvc/mactel-linux/trunk/kernel/mactel-patches-2.6.18/usbhid.patch?view=log
Comment 9 David Zeuthen 2006-12-21 23:02:25 EST
Hi Pete. Nope, pb_fnmode=0 didn't work either, sorry. 
Comment 10 Pete Zaitcev 2006-12-21 23:30:57 EST
I am sorry, but I just found out that hid has become modular (surprise!),
so if you put that in the grub.conf, it won't have an effect. Can you retry
with "options hid pb_fnmode=0" in /etc/modprobe.conf, and verify that it
is set by "cat /sys/module/hid/pb_fnmode"?
Comment 11 David Zeuthen 2006-12-21 23:40:46 EST
oh, I actually did put "options usbhid pb_fnmode=1" (assuming you made a typo in
comment 10 and meant usbhid not hid) in /etc/modprobe.conf and did verify it by
looking at

 /sys/module/usbhid/parameters/pb_fnmode

and the value was indeed set to 0. Note that with with 2.6.18-1.2798.fc6 (which
I'm running now) /sys/module/usbhid/parameters/pb_fnmode is 1 (so it's not a
module otherwise /etc/modprobe.conf would set it to 0) and it works like as
intended.
Comment 12 Pete Zaitcev 2006-12-23 16:16:27 EST
Created attachment 144333 [details]
Patch from Soeren

My gawd, just look at this:
http://lkml.org/lkml/2006/12/23/18
Comment 13 David Zeuthen 2007-01-02 14:50:47 EST
Oh my :-) - any chance we can get this patch in Rawhide if it isn't already? Thanks!
Comment 14 Pete Zaitcev 2007-01-02 23:30:57 EST
I'm all for it but it's up to DaveJ. Strangely, the config* files in the
CVS HEAD already set up (may need deleting CONFIG_USB_HID_POWERBOOK
after the patch is applied, for cleanliness):

[zaitcev@lembas devel]$ grep POWERBOOK configs/config*
configs/config-generic:CONFIG_USB_HID_POWERBOOK=y
configs/config-generic:# CONFIG_USB_HIDINPUT_POWERBOOK is not set
configs/config-powerpc-generic:CONFIG_USB_HIDINPUT_POWERBOOK=y
configs/config-x86-generic:CONFIG_USB_HIDINPUT_POWERBOOK=y
Comment 15 David Zeuthen 2007-01-04 12:53:41 EST
This indeed seems to be fixed in 2904.fc7. Thanks! Closing.
Comment 16 Andrew Cathrow 2007-01-21 00:14:16 EST
Are there any plans to backport these changes into FC6 ?
Comment 17 Robert Szalai 2007-10-14 15:56:22 EDT
The Fn key is not working again as of F8 test 3 on my Macbook Pro.
It was working with F7. It causes the same issues as before: PgDown, PgUp, 
Home, etc are not accessible.
Comment 18 Robert Szalai 2007-10-15 06:27:50 EDT
I've recompiled the kernel (2.6.23-6) by changing
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
in "config-generic"
to
CONFIG_USB_HIDINPUT_POWERBOOK=y

The Fn key is now working. Could you make sure that it is included in the next 
update, so that I don't have to recompile the kernel again?

Thanks,
Robert

Note You need to log in before you can comment on or make changes to this bug.