GNU bug report logs -
#35574
bcm5974 touchpad is not recognized as touchpad
Previous Next
Full log
Message #35 received at 35574 <at> debbugs.gnu.org (full text, mbox):
Hello Florian,
On 2020-04-28 09:45, pelzflorian (Florian Pelz) wrote:
> Danny, Brice, I’m putting you in Cc, maybe you have an opinion on
> this? I suppose I should not change %default-extra-linux-options.
Keeping this module enabled in the kernel seems a good idea, it allows
support for mice solely speaking Human Interface Device Boot Protocol
(HIDBP); probably somebody somewhere is unwittingly relying on it being
present by default in Guix.
> From the Linux kernel docs
> <https://www.kernel.org/doc/html/latest/input/devices/bcm5974.html>:
>> 5.2. USB Race
>>
>> The Apple multi-touch trackpads report both mouse and keyboard events
>> via different interfaces of the same usb device. This creates a race
>> condition with the HID driver, which, if not told otherwise, will find
>> the standard HID mouse and keyboard, and claim the whole device. To
>> remedy, the usb product id must be listed in the mouse_ignore list of
>> the hid driver.
> Indeed for me on good boots, the command `lsusb -t` prints
> |__ Port 3: Dev 2, If 2, Class=Human Interface Device,
> Driver=bcm5974, 12M
> while on bad boots it says Driver=usbmouse.
>
> But why that happens I do not know, because the mouse_ignore list in
> the Linux-libre kernel’s drivers/hid/hid-quirks.c file does list my
> touchpad. Strange. I will investigate further if a change to the
> kernel config could help.
FWI the issue span from the driver 'usbmouse'
(drivers/hid/usbhid/usbmouse.c) which doesn't use
drivers/hid/hid-quirks.c
contrary to 'usbhid' (drivers/hid/usbhid/hid-core.c) which is using it.
This is probably why you did not report having an issue with 'usbhid'
racing with 'bcm597'; 'usbhid' is effectively prevented to take over
your
touchpad by the quirks while 'usbmouse' isn't aware of it.
Passing arguments to the kernel to blacklist a module is the correct way
of
doing this currently FWIU; it's already used in gnu/system/install.scm.
Cheers,
- Brice
This bug report was last modified 5 years and 23 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.