Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 367597 - kernel modules 'bcm5974' and 'usbhid' fight over device, making it unusable
Summary: kernel modules 'bcm5974' and 'usbhid' fight over device, making it unusable
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL: https://bugzilla.kernel.org/show_bug....
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-16 22:10 UTC by avx
Modified: 2011-06-07 18:11 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
modinfo bcm5974 (modinfo_bcm5974,1.28 KB, text/plain)
2011-05-17 11:31 UTC, avx
Details
lsusb -v of the device (0246,4.16 KB, text/plain)
2011-05-17 11:31 UTC, avx
Details
complete kernel config (.config,71.67 KB, text/plain)
2011-05-17 11:32 UTC, avx
Details

Note You need to log in before you can comment on or make changes to this bug.
Description avx 2011-05-16 22:10:53 UTC
Using the latest gentoo-sources (2.6.38-r6) [also tried git-sources], the multitouch-touchpad in my Macbook Pro 8,1 (13" early 2011) is not functional.

The touchpad doesn't get picked up by X11 (no matter if driver is evdev or mtrack) and a `cat /dev/input/eventX` produces a "no space left on device"-error.

After some research on Google I found, that usbhid and bcm5974 (Apple Multitouch driver) fight over the device - usually, usbhid comes first, thus producing above error.

Trying the following:
# modprobe -r usbhid ; modprobe -r bcm5974 ; modprobe 5974 ; cat /dev/input/eventX & sleep 10 && pkill cat ; modprobe usbhid

I can get output on the shell moving a finger across the touchpad or clicking it.

However, once usbhid is again loaded by the last part of above command, the touchpad again fails to work. Of course, unloading usbhid keeps the keyboard from being functional.

Something is pretty wrong here and I couldn't find any solution to this, yet. Either it's a (known?) bug or a problem of misconfiguration, in which case I'd be pretty happy for some pointers.

Reproducible: Always

Steps to Reproduce:
1. build kernel with bcm5974 & usbhid (modules or built-in)
2. boot into kernel
Actual Results:  
Device is not working at all

Expected Results:  
should work

Setting this to major, since it's pretty much important to (at least) me.
Comment 1 avx 2011-05-17 11:30:52 UTC
As noted by @tbe on IRC, the `modinfo bcm5974` might be handy, so here come some attachments
Comment 2 avx 2011-05-17 11:31:18 UTC
Created attachment 273649 [details]
modinfo bcm5974
Comment 3 avx 2011-05-17 11:31:37 UTC
Created attachment 273651 [details]
lsusb -v of the device
Comment 4 avx 2011-05-17 11:32:35 UTC
Created attachment 273653 [details]
complete kernel config
Comment 5 avx 2011-05-17 11:36:53 UTC
The user @tbe also recommended to try play/adapt the following script, which I've done to my best knowledge, but it didn't really change the outcome - either the keyboard or the touchpad is/was non-functional.

https://github.com/ali1234/lg4l/raw/master/rebind
Comment 6 avx 2011-05-19 02:47:34 UTC
Got a kernel-config from a guy on irc, which apparently works on his mid2010 macbook. Same config (plus added lvm/raid support) also fails me.
Comment 7 avx 2011-05-19 04:02:40 UTC
According to this commit:
https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=47340bd9fefb571888836da942b5aee0e85e959c

support for the Macbook 8,x has been added in march.

I checked out and built this kernel, same result.
Comment 8 avx 2011-05-19 05:41:55 UTC
Finally, I've got the touchpad and the keyboard working together.

I found the solution here:
https://bugzilla.kernel.org/show_bug.cgi?id=14987

Adding the following to the kernel works:
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y

Still, I'd consider this a bug in kernel-configuration, imho bcm5974 should depend on these two things or at the very least, the help should say so.

// for me it's solved, but I'm leaving this open, can't decide on what I should set 'resolved'.
Comment 9 Mike Pagano gentoo-dev 2011-06-07 18:11:05 UTC
We'll follow the upstream bug and if they implement your solution, we'll backport to future kernels we release.