Date: Tue, 19 Sep 2017 10:22:26 -0400 (EDT) From: Mike Andrews <mandrews@bit0.com> To: freebsd-usb@freebsd.org Subject: umodem0, Cisco USB serial console, and quirks Message-ID: <alpine.BSF.2.21.1709191021260.34953@beast.int.bit0.com>
next in thread | raw e-mail | index | archive | help
I'm trying to get the USB console of a Cisco ASA 5506-X firewall (not terribly obscure hardware) talking to FreeBSD, and having some trouble. The relevant dmesg at probe time is: umodem0 on uhub7 umodem0: <Cisco Cisco USB Console, class 2/0, rev 2.00/0.00, addr 3> on usbus4 umodem0: data interface 1, has no CM over data, has no break ...and /dev/cuaU2 is created, and I can connect to it using cu, but then nothing happens. As in, hitting enter to get a prompt just sits there. (cuaU1 and cuaU0 are a separate two-port USB serial adapter and that one works fine, it's using uftdi instead of umodem...) The "has no CM over data" looks worrying. I attempted to add a quirk, but either it isn't working or I didn't do it right. In /boot/loader.conf I tried: hw.usb.quirk.0="0x05a6 0x0009 0 0xffff UQ_ASSUME_CM_OVER_DATA" and I also tried # usbconfig -d ugen4.3 add_quirk UQ_ASSUME_CM_OVER_DATA but it doesn't make any difference. It does show up as a new entry in "usbconfig dump_device_quirks" but doesn't solve the problem. Connecting the firewall to a Mac with the same cable works fine, so I know the cable is good and that I'm using the right bit rate (9600). Here are some other usbconfig dumps if these are useful in pointing me in the right direction (sorry these have lines longer than 80 columns): # usbconfig -d ugen4.3 show_ifdrv ugen4.3: <Cisco Cisco USB Console> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) ugen4.3.0: umodem0: <Cisco Cisco USB Console, class 2/0, rev 2.00/0.00, addr 3> # usbconfig -d ugen4.3 dump_device_desc ugen4.3: <Cisco Cisco USB Console> at usbus4, 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 # usbconfig -d ugen4.3 dump_all_config_desc ugen4.3: <Cisco Cisco USB Console> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.21.1709191021260.34953>