Re: cdc-acm cooldown + Cisco 2960-X = kernel warning + dead USB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Donnerstag, den 04.03.2021, 22:59 +0000 schrieb Ramsay, Lincoln:
> Hi folks,
> 
> Opengear makes a device (OM2200) that you're supposed to plug into consoles in order to access them remotely but the Cisco 2960-X is causing us grief. We can trivially break our device in just 3 steps.
> 
> 1. Connect the Cisco 2960-X console.
> 2. (Re)boot our device.
> 3. Open the Cisco's console device (/dev/ttyACM0) and write to it.

What exactly happens after that?

> When we were using Linux 5.2.32 this wasn't fatal. It was possible to disconnect and reconnect the Cisco and it would work as expected. The same was observed on our older devices that run Linux 3.10 on ARM and on a laptop running macOS 10.13. But we upgraded to Linux 5.4.61 and it got much worse. I did some digging and it seems that the cdc-acm cooldown commit (f4d1cf2ef83caeab212e842fd238cb8353f59fa2) is the cause.
> 
> Before I continue, I need to acknowledge that the Cisco 2960-X is really broken. Unlike every other Cisco console I could find to test with, it shows up as USB 2 rather than USB 1, causes warnings to be printed and sends corrupt identity strings.
> 
>     usb 2-1.1: new high-speed USB device number 6 using ehci-pci
>     usb 2-1.1: config 1 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 255, changing to 11
>     usb 2-1.1: config 1 interface 1 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
>     usb 2-1.1: config 1 interface 1 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
>     usb 2-1.1: New USB device found, idVendor=05a6, idProduct=0009, bcdDevice= 0.00
>     usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
>     usb 2-1.1: Product: C�~B�~@~@ल^D
>     usb 2-1.1: Manufacturer: C�~B�~@~@ल^D
>     usb 2-1.1: SerialNumber: C�~B�~@~@ल^D�~@�~B
>     cdc_acm 2-1.1:1.0: ttyACM0: USB ACM device
> 
> Despite this though, it does seem to work, except when it is connected during boot. In that case, we get this kernel warning:

Did your test kernel contain 38203b8385bf6283537162bde7d499f83096471 ?

	Regards
		Oliver





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux