umodem0, Cisco USB serial console, and quirks
Hans Petter Selasky
hps at selasky.org
Fri Nov 2 09:12:49 UTC 2018
On 11/2/18 9:53 AM, Andrey V. Elsukov wrote:
> On 02.11.2018 11:45, Hans Petter Selasky wrote:
>>>> And it seems in Linux it is handled by generic CDC ACM driver without
>>>> any quirks. So, I think the problem is with our umodem(4) or ucom(4)
>>>> driver.
>>>>
>>> No, I didn't.
>>>
>>> The usbmon dumps above are still there, and if someone can suggest
>>> anything else I can do to help, lemme know.
>>>
>>
>> Hi,
>>
>> Are there any errors printed in dmesg for this device?
>>
>> What does "usbconfig -d X.Y dump_device_desc dump_curr_config_desc"
>> where X.Y are numbers after ugenX.Y, output?
>
> Hi,
>
> no errors, it looks like it should work, but cu(1) doesn't show the
> console output.
>
> # kldload umodem
> umodem0 on uhub1
> umodem0: <Cisco Cisco USB Console, class 2/0, rev 2.00/0.00, addr 1> on
> usbus0
> umodem0: data interface 1, has no CM over data, has no break
>
> # usbconfig -d ugen0.2 dump_device_desc dump_curr_config_desc
> ugen0.2: <Cisco Cisco USB Console> at usbus0, cfg=0 md=HOST spd=FULL
> (12Mbps) pwr=ON (100mA)
>
> bLength = 0x0012
> bDescriptorType = 0x0001
> bcdUSB = 0x0200
> bDeviceClass = 0x0002 <Communication device>
> bDeviceSubClass = 0x0000
> bDeviceProtocol = 0x0000
> bMaxPacketSize0 = 0x0008
> idVendor = 0x05a6
> idProduct = 0x0009
> bcdDevice = 0x0000
> iManufacturer = 0x0001 <Cisco>
> iProduct = 0x0002 <Cisco USB Console>
> iSerialNumber = 0x0000 <no string>
> bNumConfigurations = 0x0001
>
>
> Configuration index 0
>
> bLength = 0x0009
> bDescriptorType = 0x0002
> wTotalLength = 0x0043
> bNumInterfaces = 0x0002
> bConfigurationValue = 0x0001
> iConfiguration = 0x0003 <USB-UART Configuration>
> bmAttributes = 0x00c0
> bMaxPower = 0x0032
>
> Interface 0
> bLength = 0x0009
> bDescriptorType = 0x0004
> bInterfaceNumber = 0x0000
> bAlternateSetting = 0x0000
> bNumEndpoints = 0x0001
> bInterfaceClass = 0x0002 <Communication device>
> bInterfaceSubClass = 0x0002
> bInterfaceProtocol = 0x0001
> iInterface = 0x0000 <no string>
>
> Additional Descriptor
>
> bLength = 0x05
> bDescriptorType = 0x24
> bDescriptorSubType = 0x00
> RAW dump:
> 0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
>
>
> Additional Descriptor
>
> bLength = 0x04
> bDescriptorType = 0x24
> bDescriptorSubType = 0x02
> RAW dump:
> 0x00 | 0x04, 0x24, 0x02, 0x02
>
>
> Additional Descriptor
>
> bLength = 0x05
> bDescriptorType = 0x24
> bDescriptorSubType = 0x06
> RAW dump:
> 0x00 | 0x05, 0x24, 0x06, 0x00, 0x01
>
>
> Additional Descriptor
>
> bLength = 0x05
> bDescriptorType = 0x24
> bDescriptorSubType = 0x01
> RAW dump:
> 0x00 | 0x05, 0x24, 0x01, 0x00, 0x01
>
>
> Endpoint 0
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0081 <IN>
> bmAttributes = 0x0003 <INTERRUPT>
> wMaxPacketSize = 0x0008
> bInterval = 0x0002
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
>
> Interface 1
> bLength = 0x0009
> bDescriptorType = 0x0004
> bInterfaceNumber = 0x0001
> bAlternateSetting = 0x0000
> bNumEndpoints = 0x0002
> bInterfaceClass = 0x000a <CDC-data>
> bInterfaceSubClass = 0x0000
> bInterfaceProtocol = 0x0000
> iInterface = 0x0000 <no string>
>
> Endpoint 0
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0082 <IN>
> bmAttributes = 0x0002 <BULK>
> wMaxPacketSize = 0x0040
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
> Endpoint 1
> bLength = 0x0007
> bDescriptorType = 0x0005
> bEndpointAddress = 0x0003 <OUT>
> bmAttributes = 0x0002 <BULK>
> wMaxPacketSize = 0x0020
> bInterval = 0x0000
> bRefresh = 0x0000
> bSynchAddress = 0x0000
>
>
> # cu -l /dev/cuaU0
> Connected
>
> <nothing here>
>
Did you try "-s" option to set another baudrate?
--HPS
More information about the freebsd-usb
mailing list