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/pci0000:00/0000:00:12.0/usb5/5-1/5-1:1.0/input/input3 +input: Logitech USB Receiver as /devices/pci0000:00/0000: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-0000: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=0x0000 wLength=1 -input: Logitech USB Receiver as /devices/pci0000:00/0000: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-0000: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/pci0000:00/0000: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-0000: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: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046d Logitech, Inc. idProduct 0xc52b Unifying Receiver bcdDevice 12.01 iManufacturer 1 Logitech iProduct 2 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 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 59 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 8 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 148 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 2 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 98 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 2 Device Status: 0x0000 (Bus Powered) Maybe my "unifying" receiver isn't actually working as such a complex device, and this state needs to be detected somehow? -- 2. That which causes joy or happiness. -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org