Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

USB CDC Device crash the N2 and N2+ xHCI usb controller #402

Open
rpineau opened this issue Sep 18, 2020 · 0 comments
Open

USB CDC Device crash the N2 and N2+ xHCI usb controller #402

rpineau opened this issue Sep 18, 2020 · 0 comments

Comments

@rpineau
Copy link

rpineau commented Sep 18, 2020

I have a usb device that crash the internal xHCI usb controller as soon as it gets plugged in :

[ 435.179267] usb 1-1.2: new full-speed USB device number 4 using xhci-hcd
[ 435.303498] usb 1-1.2: not running at top speed; connect to a high speed hub
[ 435.304302] usb 1-1.2: New USB device found, idVendor=15a2, idProduct=a50f
[ 435.304310] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 435.304315] usb 1-1.2: Product: Celestron Focuser
[ 435.304320] usb 1-1.2: Manufacturer: Celestron
[ 435.304324] usb 1-1.2: SerialNumber: MF_v1
[ 435.317659] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
[ 442.040985] xhci-hcd xhci-hcd.0.auto: xHCI host not responding to stop endpoint command.
[ 442.040992] xhci-hcd xhci-hcd.0.auto: Assuming host is dying, halting host.
[ 442.057064] xhci-hcd xhci-hcd.0.auto: Host not halted after 16000 microseconds.
[ 442.057071] xhci-hcd xhci-hcd.0.auto: Non-responsive xHCI host is not halting.
[ 442.057076] xhci-hcd xhci-hcd.0.auto: Completing active URBs anyway.
[ 442.057237] xhci-hcd xhci-hcd.0.auto: HC died; cleaning up
[ 442.057603] usb 1-1: USB disconnect, device number 2
[ 442.057624] usb 2-1: USB disconnect, device number 2
[ 442.058430] usb 1-1.2: USB disconnect, device number 4
[ 442.064007] usb 1-2: USB disconnect, device number 3

I tested with the following kernel on both N2 and N2+ :
4.9.230-76
4.9.230-96
4.9.236-97

I tried with an external powered usb hub on the front USB3 ports and on the USB2 OTG port. Same crash (different usb tree id).
This is the device :

Bus 001 Device 004: ID 15a2:a50f Freescale Semiconductor, Inc. Celestron Focuser
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x15a2 Freescale Semiconductor, Inc.
idProduct 0xa50f
bcdDevice 0.00
iManufacturer 1 Celestron
iProduct 2 Celestron Focuser
iSerial 3 MF_v1
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0043
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
CDC ACM:
bmCapabilities 0x00
CDC Union:
bMasterInterface 0
bSlaveInterface 1
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 32
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 16
bNumConfigurations 1
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled

I tested another USB CDC device and no problem so this device does something the kernel doesn't like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant