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

_______________________________________________
freebsd-usb@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to