On Wed, Sep 12, 2012 at 12:46:29AM +0200, Josip Rodin wrote:
> On Mon, Aug 20, 2012 at 06:26:42PM +0200, Josip Rodin wrote:
> > I'll try to bisect this now with my config.
>
> It looks like it's definitely in some way related with the introduction of
> CONFIG_HID_LOGITECH_DJ in 3.2+, because 3.1.0 works fine...
The dmesg difference between 3.1.0 (working) and 3.2.0 (broken) is a bit
confusing - on one USB port, there's no change, but on the other the new
module reports a failure (this output is with hid.debug=1 and is a bit fuzzy
because of random harmless changes like spelling fixes or device indices
5 vs 3):
-usb 2-5: new high speed USB device number 2 using ehci_hcd
-usb 5-1: new low speed USB device number 2 using ohci_hcd
+usb 2-5: new high-speed USB device number 2 using ehci_hcd
+usb 3-1: new low-speed USB device number 2 using ohci_hcd
drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0
-input: Logitech USB Receiver as
/devices/pci:00/:00:12.0/usb5/5-1/5-1:1.0/input/input3
+input: Logitech USB Receiver as
/devices/pci:00/:00:12.0/usb3/3-1/3-1:1.0/input/input3
generic-usb 0003:046D:C51B.0001: input: USB HID v1.11 Mouse [Logitech USB
Receiver] on usb-:00:12.0-1/input
drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 1
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0110
wIndex=0x0001 wLength=7
generic-usb 0003:046D:C51B.0002: claimed by neither input, hiddev nor hidraw
-usb 5-2: new full speed USB device number 3 using ohci_hcd
+usb 3-2: new full-speed USB device number 3 using ohci_hcd
drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0
-drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Set_Report wValue=0x0200
wIndex=0x wLength=1
-input: Logitech USB Receiver as
/devices/pci:00/:00:12.0/usb5/5-2/5-2:1.0/input/input4
-generic-usb 0003:046D:C52B.0003: input: USB HID v1.11 Keyboard [Logitech USB
Receiver] on usb-:00:12.0-2/in
+drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 0
+drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 0
drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 1
-input: Logitech USB Receiver as
/devices/pci:00/:00:12.0/usb5/5-2/5-2:1.1/input/input5
-generic-usb 0003:046D:C52B.0004: input: USB HID v1.11 Mouse [Logitech USB
Receiver] on usb-:00:12.0-2/input
+drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 1
+drivers/hid/hid-logitech-dj.c: logi_dj_probe: ignoring ifnum 1
drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 2
+drivers/hid/hid-logitech-dj.c: logi_dj_probe called for ifnum 2
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0110
wIndex=0x0002 wLength=7
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0111
wIndex=0x0002 wLength=20
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0120
wIndex=0x0002 wLength=15
drivers/hid/usbhid/hid-core.c: submitting ctrl urb: Get_Report wValue=0x0121
wIndex=0x0002 wLength=32
-generic-usb 0003:046D:C52B.0005: claimed by neither input, hiddev nor hidraw
-usb 2-5: reset high speed USB device number 2 using ehci_hcd
+logitech-djreceiver 0003:046D:C52B.0005: claimed by neither input, hiddev nor
hidraw
+logitech-djreceiver 0003:046D:C52B.0005: logi_dj_probe:hid_hw_start returned
error:-19
Now where did the devices 0003:046D:C52B.000[34] go with the new kernel?
Are they the ones that logi_dj_probe sees as 0 and 1?
The code says:
/* Ignore interfaces 0 and 1, they will not carry any data, dont create
* any hid_device for them */
if (intf->cur_altsetting->desc.bInterfaceNumber !=
LOGITECH_DJ_INTERFACE_NUMBER) {
dbg_hid("%s: ignoring ifnum %d\n", __func__,
intf->cur_altsetting->desc.bInterfaceNumber);
return -ENODEV;
}
Well, that probably explains it. But why does it do that?
lsusb -v says the following about the hardware:
Bus 005 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Device Descriptor:
bLength18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x046d Logitech, Inc.
idProduct 0xc52b Unifying Receiver
bcdDevice 12.01
iManufacturer 1 Logitech
iProduct2 USB Receiver
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 84
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 4 RQR12.01_B0019
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 98mA
Interface Descriptor:
bLength 9