There hasn't been much progress for a while, so I read up on ubuntu
kernel building and bisecting
(https://wiki.ubuntu.com/Kernel/KernelBisection), finding that I needed
to bisect the upstream kernel to find the right commit, then ending up
on a 'default configs' commit that the kteam-tools mainline-build-one
script makes (...), so doing it again with a separate repo for
buillding, and finally landing on this result:

Bisect log attached. The bug is introduced in the commit that adds the
hid-logitech-dj driver:

-------------
534a7b8e10ec55d9f521e68c20dbb3634c25b98a is the first bad commit 
commit 534a7b8e10ec55d9f521e68c20dbb3634c25b98a
Date:   Thu Sep 15 11:34:49 2011 +0200

HID: Add full support for Logitech Unifying receivers
--------------

Which makes sense in hindsight looking at the kernel messages of the
good vs bad report, because the good report shows that it's using a
generic HID driver, and the bad report shows that it's using the hid-
logitech-dj driver.

Then inspecting the logs of the 'bad' case in more detail shows
something else interesting:

--------
[   17.867585] xhci_hcd 0000:00:14.0: WARN: short transfer on control ep
[   17.867856] xhci_hcd 0000:00:14.0: WARN: short transfer on control ep
[   17.867980] xhci_hcd 0000:00:14.0: WARN: Stalled endpoint
[   17.868105] xhci_hcd 0000:00:14.0: WARN: Stalled endpoint
[   17.868235] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw1: USB 
HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-4/input2
[   17.868502] xhci_hcd 0000:00:14.0: WARN: Stalled endpoint
[   17.868511] logitech-djreceiver 0003:046D:C52B.0003: 
logi_dj_probe:logi_dj_recv_query_paired_devices error:-32
[   17.868639] logitech-djreceiver: probe of 0003:046D:C52B.0003 failed with 
error -32
[   18.893031] xhci_hcd 0000:00:14.0: WARN: short transfer on control ep
[   18.893287] xhci_hcd 0000:00:14.0: WARN: short transfer on control ep
[   18.893390] xhci_hcd 0000:00:14.0: WARN: Stalled endpoint
[   18.893501] xhci_hcd 0000:00:14.0: WARN: Stalled endpoint
[   18.893719] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw1: USB 
HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-4/input2
[   18.893982] xhci_hcd 0000:00:14.0: WARN: Stalled endpoint
[   18.894015] logitech-djreceiver 0003:046D:C52B.0003: 
logi_dj_probe:logi_dj_recv_query_paired_devices error:-32
[   18.894291] logitech-djreceiver: probe of 0003:046D:C52B.0003 failed with 
error -32
[   19.925347] xhci_hcd 0000:00:14.0: WARN: short transfer on control ep
[   19.925611] xhci_hcd 0000:00:14.0: WARN: short transfer on control ep
[   19.925725] xhci_hcd 0000:00:14.0: WARN: Stalled endpoint
[   19.925832] xhci_hcd 0000:00:14.0: WARN: Stalled endpoint
[   19.926080] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw1: USB 
HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-4/input2
[   19.929079] input: Logitech Unifying Device. Wireless PID:4007 as 
/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.2/0003:046D:C52B.0003/input/input18
[   19.929186] logitech-djdevice 0003:046D:C52B.0005: input,hidraw2: USB HID 
v1.11 Keyboard [Logitech Unifying Device. Wireless PID:4007] on 
usb-0000:00:14.0-4:1
-------

Those xhci_hcd messages are from drivers/usb/host/xhci-ring.c.  Note: In
the 3.7 kernel, the 'short transfer' warning isn't there anymore and the
'Stalled endpoint' is a debug message instead of a warning.

Note that when the driver load fails, there is always a "Stalled
endpoint" message after the first message from the logitech-djreceiver
driver, and when it is successful, there is no such message.

Note the small time differences (<1ms) between many of these xhci
messages. IIRC, USB2 has a roundtrip time of around 1ms, longer than
these time differences. So, perhaps if USB3 has a shorter roundtrip
time, then this bug could simply be one where the hardware is still
initializing or something and the driver simply needs a millisecond or
so more patience at some point during the device probe.

So I think next I'll try to add some delays in the probe to see if it
makes the problem go away.


** Attachment added: "mouse_bisect.log"
   
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1039143/+attachment/3479564/+files/mouse_bisect.log

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1039143

Title:
  046d:c52b USB3 port Logitech mouse using unifying receiver not
  detected

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1039143/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to