Fn key doesn't work in raring on MacBook Air 6,2

Bug #1196730 reported by Linus G Thiel
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Joseph Salisbury

Bug Description

After installing Raring on my new MacBook Air 6,2, the Fn key didn't work -- I couldn't use the media keys, regardless of "fnmode", neither backspace, page up/down, etc.

I found bug #207127 and I figured it was something like that, and it turns out that the keyboard has a new device id. I added it to the usbhid driver and after that it works.

Please see the attached patch.
---
ApportVersion: 2.9.2-0ubuntu8.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: linus 1924 F.... pulseaudio
CRDA:
 country SE:
  (2402 - 2482 @ 40), (N/A, 20)
  (5170 - 5250 @ 40), (N/A, 20)
  (5250 - 5330 @ 40), (N/A, 20), DFS
  (5490 - 5710 @ 40), (N/A, 27), DFS
DistroRelease: Ubuntu 13.04
HibernationDevice:
 RESUME=/dev/mapper/cryptswap1
 #RESUME=UUID=7625120b-1951-4a58-8da6-1c47db358631
MachineType: Apple Inc. MacBookAir6,2
MarkForUpload: True
NonfreeKernelModules: wl
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.13 root=UUID=2f08800d-d161-46e7-87b6-0f88e86890af ro quiet splash i915.i915_enable_rc6=1 libata.force=1:noncq resume=/dev/sda4 vt.handoff=7
ProcVersionSignature: Ubuntu 3.8.0-25.37-generic 3.8.13
RelatedPackageVersions:
 linux-restricted-modules-3.8.13 N/A
 linux-backports-modules-3.8.13 N/A
 linux-firmware 1.106
Tags: raring
Uname: Linux 3.8.13 x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
dmi.bios.date: 05/24/2013
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBA61.88Z.0099.B00.1305241529
dmi.board.asset.tag: Base Board Asset Tag#
dmi.board.name: Mac-7DF21CB3ED6977E5
dmi.board.vendor: Apple Inc.
dmi.board.version: MacBookAir6,2
dmi.chassis.type: 10
dmi.chassis.vendor: Apple Inc.
dmi.chassis.version: Mac-7DF21CB3ED6977E5
dmi.modalias: dmi:bvnAppleInc.:bvrMBA61.88Z.0099.B00.1305241529:bd05/24/2013:svnAppleInc.:pnMacBookAir6,2:pvr1.0:rvnAppleInc.:rnMac-7DF21CB3ED6977E5:rvrMacBookAir6,2:cvnAppleInc.:ct10:cvrMac-7DF21CB3ED6977E5:
dmi.product.name: MacBookAir6,2
dmi.product.version: 1.0
dmi.sys.vendor: Apple Inc.
---
ApportVersion: 2.9.2-0ubuntu8.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: linus 1922 F.... pulseaudio
CRDA:
 country SE:
  (2402 - 2482 @ 40), (N/A, 20)
  (5170 - 5250 @ 40), (N/A, 20)
  (5250 - 5330 @ 40), (N/A, 20), DFS
  (5490 - 5710 @ 40), (N/A, 27), DFS
DistroRelease: Ubuntu 13.04
HibernationDevice:
 RESUME=/dev/mapper/cryptswap1
 #RESUME=UUID=7625120b-1951-4a58-8da6-1c47db358631
MachineType: Apple Inc. MacBookAir6,2
MarkForUpload: True
NonfreeKernelModules: wl
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-25-generic root=UUID=2f08800d-d161-46e7-87b6-0f88e86890af ro quiet splash i915.i915_enable_rc6=1 libata.force=1:noncq resume=/dev/sda4 vt.handoff=7
ProcVersionSignature: Ubuntu 3.8.0-25.37-generic 3.8.13
RelatedPackageVersions:
 linux-restricted-modules-3.8.0-25-generic N/A
 linux-backports-modules-3.8.0-25-generic N/A
 linux-firmware 1.106
Tags: raring
Uname: Linux 3.8.0-25-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
dmi.bios.date: 05/24/2013
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBA61.88Z.0099.B00.1305241529
dmi.board.asset.tag: Base Board Asset Tag#
dmi.board.name: Mac-7DF21CB3ED6977E5
dmi.board.vendor: Apple Inc.
dmi.board.version: MacBookAir6,2
dmi.chassis.type: 10
dmi.chassis.vendor: Apple Inc.
dmi.chassis.version: Mac-7DF21CB3ED6977E5
dmi.modalias: dmi:bvnAppleInc.:bvrMBA61.88Z.0099.B00.1305241529:bd05/24/2013:svnAppleInc.:pnMacBookAir6,2:pvr1.0:rvnAppleInc.:rnMac-7DF21CB3ED6977E5:rvrMacBookAir6,2:cvnAppleInc.:ct10:cvrMac-7DF21CB3ED6977E5:
dmi.product.name: MacBookAir6,2
dmi.product.version: 1.0
dmi.sys.vendor: Apple Inc.

Revision history for this message
Linus G Thiel (yesbabyyes) wrote :
Revision history for this message
Linus G Thiel (yesbabyyes) wrote :
Revision history for this message
Linus G Thiel (yesbabyyes) wrote :
Revision history for this message
Linus G Thiel (yesbabyyes) wrote :
Revision history for this message
Linus G Thiel (yesbabyyes) wrote :

Note: I just followed the pattern of naming the keyboard APPLE_WELLSPRING something, without knowing what that means.

I guess this could be solved with the quirks parameter to usbhid, like in this comment [1], but I couldn't figure out the correct bitmask to set as quirks.

[1] http://ubuntuforums.org/showthread.php?t=795830&page=2&p=4984452&posted=1#post4984452

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1196730

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: raring
tags: added: patch
Revision history for this message
Linus G Thiel (yesbabyyes) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
Linus G Thiel (yesbabyyes) wrote : BootDmesg.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : HookError_cloud_archive.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : IwConfig.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : Lspci.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : Lsusb.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : ProcEnviron.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : ProcModules.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : PulseList.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : RfKill.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : UdevDb.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : UdevLog.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : WifiSyslog.txt

apport information

description: updated
Revision history for this message
Linus G Thiel (yesbabyyes) wrote : AlsaInfo.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : BootDmesg.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : HookError_cloud_archive.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : IwConfig.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : Lspci.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : Lsusb.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : ProcEnviron.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : ProcModules.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : PulseList.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : RfKill.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : UdevDb.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : UdevLog.txt

apport information

Revision history for this message
Linus G Thiel (yesbabyyes) wrote : WifiSyslog.txt

apport information

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.10 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10-saucy/

Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Sorry, Linus I see you attached a patch, so no need to test the upstream kernel.

Can you provide some information on the status of the patch with regards to getting it merged upstream? Has it been sent upstream, what sort of feedback has it received, is it getting applied to a subsystem maintainer's tree, etc?

To submit your patch, send your patch with the detailed description/changelog and your Signoff (ending with Signed-off-by: your name <email>), to the emails listed from ./scripts/get_maintainer.pl drivers/SUBSYSTEM-DETAILS (the get_maintainer.pl is from the kernel sources). Once you have sent the patch upstream and it's accepted, please drop a note here so that we can cherry-pick/include the patch into Ubuntu kernel.

tags: added: kernel-da-key
Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Linus G Thiel (yesbabyyes) wrote :

I have corresponded with Jiri Kosina, the maintainer, who let me know that Henrik Rydberg beat me to the punch. So it's apparently queued in input.git#for-linus already.

I'll try to keep an eye on it.

Revision history for this message
Linus G Thiel (yesbabyyes) wrote :
tags: added: kernel-fixed-upstream
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Thanks for the pointer, Linus.

Commit 9d9a04ee is in mainline as of v3.11-rc1. It was also cc'd to upstream stable, so it will make it's way into all the stable kernel versions, including Raring.

I'll build a test kernel for you with this patch and post a link shortly. If it fixes this bug, I can submit an SRU request to have this included in Raring until the fix makes its way down through stable updates.

Changed in linux (Ubuntu):
status: Triaged → In Progress
assignee: nobody → Joseph Salisbury (jsalisbury)
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a Raring test kernel with commit 9d9a04ee applied. The kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1196730/

Can you test this kernel and post back if it resolves this bug? Please note, you will need to install both the linux-image and linux-image-extra .deb packages.

Thanks in advance!

Revision history for this message
Julian Wiedmann (jwiedmann) wrote :

Should be fixed in current -proposed (3.8.0-28.41) with

HID: apple: Add support for the 2013 Macbook Air
Input: bcm5974 - add support for the 2013 MacBook Air

Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Julian Wiedmann (jwiedmann) wrote :

Linus G Thiel,

could you please test the latest kernel in -updates (3.8.0-29.42) and see if this bug is fixed? Thanks.

Changed in linux (Ubuntu):
status: Fix Committed → Incomplete
Revision history for this message
Miek Gieben (miek) wrote :

(I also own a Macbook air 2013 model)

I tested this kernel. Needed to manually load the hid-apple, didn't work after that.
After login in again in X, neither fn-F1 or F1 set the brightness (I just loads the terminal help program).

Revision history for this message
Miek Gieben (miek) wrote :

Note: this is on a Macbook Air 2013 6,1 Model, lsusb lists:

% lsusb
Bus 001 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
Bus 001 Device 003: ID 05ac:0290 Apple, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 05ac:828f Apple, Inc.

Revision history for this message
Miek Gieben (miek) wrote :

Note this is about to be fixed, see https://bugzilla.kernel.org/show_bug.cgi?id=60181, 0x0290 should be added too to that patch

Revision history for this message
Julian Wiedmann (jwiedmann) wrote :

Miek,

Let's please use the bug you already filed (bug 1213770) to track the 0x0290.

Revision history for this message
Linus G Thiel (yesbabyyes) wrote :

Yes, I can confirm it's fixed in kernel 3.8.0-29.42.

Sorry for the delay.

Changed in linux (Ubuntu):
status: Incomplete → Fix Released
Revision history for this message
Linus G Thiel (yesbabyyes) wrote :

Actually, it's not quite fixed. The patch that went in for this had the device ids wrong, I think. I am in touch with Henrik Rydberg about this. It kind of works for me now, but the <> and the §° buttons are switched, which is because I don't get the ISO flag set.

I think it will get sorted upstream eventually, but right now it's just a little bit off.

To post a comment you must log in.