Hello Alan,
>> Just wanted to check if you have any suggestions on how to go about
>> debugging this issue.
>
> Nothing that I haven't mentioned previously.
Thank you for your thoughts. I could not get a logic analyzer to
figure out the signals on the lines. But, I could log the usb
interrupts from the device though.
> You should note that when a device is attached to a USB-2 or USB-1.1
> port, the computer does the following:
>
> Port reset
>
> Send a 64-byte Get-Device-Descriptor request to address 0 (the
> device will return only the first 8, 16, or 18 bytes of the
> descriptor, depending on the maxpacket size for ep0)
>
> Port reset
>
> Send a Set-Address request
>
> Send an 18-byte Get-Device-Descriptor request
>
> By contrast, when a device is attached to a USB-3 port, the computer
> does the following:
>
> Port reset
>
> Send a Set-Address request
>
> Send an 8-byte Get-Device-Descriptor request
>
> Send an 18-byte Get-Device-Descriptor request
>
> It's possible that your device works with the first event sequence and
> not the second. What happens if you do:
>
> echo 1 >/sys/module/usbcore/parameters/old_scheme_first
>
> before plugging the device into a USB-2/1.1 port? This will cause the
> system to use the second procedure above instead of the first.
Attached is the output when I have the old_scheme_first parameter set
to 1/Y. The device is recognized fine with a non-usb 3.0 port.
When I log from the device, I see just the Port reset. I do not see
the Set-Address request (or, any other txn coming through) coming
through to the device.
Thanks again for your thoughts. If you can think of something else to
check, please let me know.
Sorry for the bother,
Joe
smart_sudo
Password:
master# echo 1 >/sys/module/usbcore/parameters/old_scheme_first
master# cat /sys/module/usbcore/parameters/old_scheme_first
Y
master# exit
- (0:i:~) - - - - - - - - - - - - - - - - - - - - - - -
- - - -
smart_sudo tail -f /var/log/syslog
Sep 7 19:59:37 master kernel: [ 22.960313] usbhid 1-1.3:1.2:
usb_probe_interface
Sep 7 19:59:37 master kernel: [ 22.960316] usbhid 1-1.3:1.2:
usb_probe_interface - got id
Sep 7 19:59:37 master kernel: [ 22.962297] input: Razer BlackWidow Razer
BlackWidow as
/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.2/input/input15
Sep 7 19:59:37 master kernel: [ 22.962406] ehci-pci 0000:00:1a.0: reused qh
ffff880220fd8880 schedule
Sep 7 19:59:37 master kernel: [ 22.962410] usb 1-1.3: link
qh8-0e01/ffff880220fd8880 start 5 [1/2 us]
Sep 7 19:59:37 master kernel: [ 22.962776] hid-generic 0003:1532:010E.0005:
input,hidraw2: USB HID v1.11 Mouse [Razer BlackWidow Razer BlackWidow] on
usb-0000:00:1a.0-1.3/input2
Sep 7 19:59:40 master dhcpcd[686]: eth0: sending IPv6 Router Solicitation
Sep 7 19:59:42 master dhcpcd[686]: eth0: leased 192.168.0.11 for 3600 seconds
Sep 7 19:59:44 master dhcpcd[686]: eth0: sending IPv6 Router Solicitation
Sep 7 19:59:44 master dhcpcd[686]: eth0: no IPv6 Routers available
Sep 7 20:02:08 master kernel: [ 173.816472] hub 1-1:1.0: state 7 ports 6 chg
0000 evt 0040
Sep 7 20:02:08 master kernel: [ 173.827379] usb 1-1.6: usb wakeup-resume
Sep 7 20:02:08 master kernel: [ 173.827493] usb 1-1.6: finish resume
Sep 7 20:02:08 master kernel: [ 173.827960] hub 1-1.6:1.0: hub_resume
Sep 7 20:02:08 master kernel: [ 173.828679] hub 1-1.6:1.0: port 2: status
0101 change 0001
Sep 7 20:02:08 master kernel: [ 173.930457] ehci-pci 0000:00:1a.0: reused qh
ffff880225ad2800 schedule
Sep 7 20:02:08 master kernel: [ 173.930465] usb 1-1.6: link
qh256-0001/ffff880225ad2800 start 4 [1/0 us]
Sep 7 20:02:08 master kernel: [ 173.930474] hub 1-1:1.0: resume on port 6,
status 0
Sep 7 20:02:08 master kernel: [ 173.930479] hub 1-1.6:1.0: state 7 ports 4
chg 0004 evt 0000
Sep 7 20:02:08 master kernel: [ 173.930768] hub 1-1.6:1.0: port 2, status
0101, change 0000, 12 Mb/s
Sep 7 20:02:08 master kernel: [ 173.941871] hub 1-1.6:1.0: port 2 not reset
yet, waiting 10ms
Sep 7 20:02:08 master kernel: [ 174.003929] usb 1-1.6.2: new full-speed USB
device number 6 using ehci-pci
Sep 7 20:02:08 master kernel: [ 174.015809] usb 1-1.6.2: ep0 maxpacket = 8
Sep 7 20:02:08 master kernel: [ 174.017843] usb 1-1.6.2: skipped 1 descriptor
after interface
Sep 7 20:02:08 master kernel: [ 174.018806] usb 1-1.6.2: skipped 1 descriptor
after interface
Sep 7 20:02:08 master kernel: [ 174.019807] usb 1-1.6.2: skipped 1 descriptor
after interface
Sep 7 20:02:08 master kernel: [ 174.020050] usb 1-1.6.2: default language
0x0409
Sep 7 20:02:08 master kernel: [ 174.020932] usb 1-1.6.2: udev 6, busnum 1,
minor = 5
Sep 7 20:02:08 master kernel: [ 174.020935] usb 1-1.6.2: New USB device
found, idVendor=03eb, idProduct=204d
Sep 7 20:02:08 master kernel: [ 174.020937] usb 1-1.6.2: New USB device
strings: Mfr=1, Product=2, SerialNumber=0
Sep 7 20:02:08 master kernel: [ 174.020939] usb 1-1.6.2: Product: USB
keyboard+mouse
Sep 7 20:02:08 master kernel: [ 174.020940] usb 1-1.6.2: Manufacturer: Sus
Sep 7 20:02:08 master kernel: [ 174.021026] usb 1-1.6.2: usb_probe_device
Sep 7 20:02:08 master kernel: [ 174.021030] usb 1-1.6.2: configuration #1
chosen from 3 choices
Sep 7 20:02:08 master kernel: [ 174.021764] usb 1-1.6.2: adding 1-1.6.2:1.0
(config #1, interface 0)
Sep 7 20:02:08 master kernel: [ 174.022067] usbhid 1-1.6.2:1.0:
usb_probe_interface
Sep 7 20:02:08 master kernel: [ 174.022070] usbhid 1-1.6.2:1.0:
usb_probe_interface - got id
Sep 7 20:02:08 master kernel: [ 174.023815] usb 1-1.6.2: link
qh128-0e01/ffff880225823580 start 7 [2/1 us]
Sep 7 20:02:08 master kernel: [ 174.023859] input: Sus USB keyboard+mouse as
/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.2/1-1.6.2:1.0/input/input16
Sep 7 20:02:08 master kernel: [ 174.023871] usb 1-1.6.2: link
qh128-0e01/ffff880225823680 start 8 [1/2 us]
Sep 7 20:02:08 master kernel: [ 174.023948] hid-generic 0003:03EB:204D.0006:
input,hidraw4: USB HID v1.11 Keyboard [Sus USB keyboard+mouse] on
usb-0000:00:1a.0-1.6.2/input0
^C- (0:i:~) - - - - - - - - - - - - - - - - - - - - - -
- - - - -
lsusb -t
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
|__ Port 6: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 3: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid,
12M
|__ Port 3: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid,
12M
|__ Port 3: Dev 3, If 2, Class=Human Interface Device, Driver=usbhid,
12M
|__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid,
1.5M
|__ Port 6: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 6, If 0, Class=Human Interface Device,
Driver=usbhid, 12M
- (0:i:~) - - - - - - - - - - - - - - - - - - - - - - -
- - - -
lsusb
Bus 002 Device 003: ID 0a48:3220 I/O Interconnect
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 006: ID 03eb:204d Atmel Corp. LUFA Combined Mouse and Keyboard
Demo Application
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 004: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 003: ID 1532:010e Razer USA, Ltd
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- (0:i:~) - - - - - - - - - - - - - - - - - - - - - - -
- - - -
lsusb -v -d 03eb:204d
Bus 001 Device 006: ID 03eb:204d Atmel Corp. LUFA Combined Mouse and Keyboard
Demo Application
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x03eb Atmel Corp.
idProduct 0x204d LUFA Combined Mouse and Keyboard Demo Application
bcdDevice 1.01
iManufacturer 1 Sus
iProduct 2 USB keyboard+mouse
iSerial 0
bNumConfigurations 3
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 First
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 5 First
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 111
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 255
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 First
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 5 First
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 111
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 255
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 57
bNumInterfaces 2
bConfigurationValue 2
iConfiguration 6 Second
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 5 First
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 111
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 255
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 7 Second
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Device Status: 0x0000
(Bus Powered)
- (0:c:~) - - - - - - - - - - - - - - - - - - - - - - -
- - - -