Subject: Re: bug#35574: bcm5974 touchpad is not recognized as touchpad

From: "pelzflorian (Florian Pelz)" <[email-masked]>
Date: Fri, 17 Jan 2020 00:35:37 +0100

Now that I know wisdomlight has the issue too on their Macbook Air
<https://lists.gnu.org/archive/html/help-guix/2020-01/msg00105.html> I
investigated further.

>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.

Regards,
Florian