At 03:48 AM 5/7/2009, Nick Hibma wrote:
> u3g0: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev
> 2.00/0.00, addr 2> on uhub1
> u3g0: changing CMOTECH modem to modem mode
> u3g0: sent command to change to modem mode
> u3g0: failed to read back CSW: 13
> u3g0: at uhub1 port 2 (addr 2) disconnected
> u3g0: detached
> ucom0: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev
> 2.00/0.00, addr 2> on uhub1
> ucom0: port=0 iface=3 in=0x85 out=0x4
> ucom0: configured 1 serial ports (U0.%d)

This is the real port. Could you dump the descriptors after unloading the
driver and loading ugen?

Hi,
I think this is the info you want ? If not, let me know. Thanks! I also did a usb capture of all the traffic in windows from the point of the device being attached and going online.

0[i7]# usbconfig -u 3 -a 5 dump_device_desc
ugen3.5: <ZTE CDMA Technologies MSM ZTE, Incorporated> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x19d2
  idProduct = 0x0031
  bcdDevice = 0x0000
  iManufacturer = 0x0002  <ZTE, Incorporated>
  iProduct = 0x0001  <ZTE CDMA Technologies MSM>
  iSerialNumber = 0x0003  <1234567890ABCDEF>
  bNumConfigurations = 0x0001

0[i7]# usbconfig -u 3 -a 5 dump_all_config_desc
ugen3.5: <ZTE CDMA Technologies MSM ZTE, Incorporated> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0100
    bNumInterfaces = 0x0004
    bConfigurationValue = 0x0001
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00a0
    bMaxPower = 0x00fa

    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0000
      bInterfaceClass = 0x00ff
      bInterfaceSubClass = 0x00ff
      bInterfaceProtocol = 0x00ff
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x00
       RAW dump:
       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x15
       RAW dump:
       0x00 | 0x05, 0x24, 0x15, 0x00, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump:
       0x00 | 0x05, 0x24, 0x06, 0x00, 0x00


      Additional Descriptor

      bLength = 0x15
      bDescriptorType = 0x24
      bDescriptorSubType = 0x12
       RAW dump:
       0x00 | 0x15, 0x24, 0x12, 0x20, 0x01, 0x98, 0xb0, 0x6a,
       0x08 | 0x49, 0xb0, 0x9e, 0x48, 0x96, 0x94, 0x46, 0xd9,
       0x10 | 0x9a, 0x28, 0xca, 0x4e, 0x5d


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x13
       RAW dump:
       0x00 | 0x06, 0x24, 0x13, 0x00, 0x01, 0x10



    Interface 0 Alt 1
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0001
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x00ff
      bInterfaceSubClass = 0x00ff
      bInterfaceProtocol = 0x00ff
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0081
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0020
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0001
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0020
        bRefresh = 0x0000
        bSynchAddress = 0x0000


    Interface 1
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0001
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0000
      bInterfaceClass = 0x00ff
      bInterfaceSubClass = 0x00ff
      bInterfaceProtocol = 0x00ff
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x00
       RAW dump:
       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x15
       RAW dump:
       0x00 | 0x05, 0x24, 0x15, 0x00, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump:
       0x00 | 0x05, 0x24, 0x06, 0x01, 0x01


      Additional Descriptor

      bLength = 0x15
      bDescriptorType = 0x24
      bDescriptorSubType = 0x12
       RAW dump:
       0x00 | 0x15, 0x24, 0x12, 0x20, 0x01, 0x98, 0xb0, 0x6a,
       0x08 | 0x49, 0xb0, 0x9e, 0x48, 0x96, 0x94, 0x46, 0xd9,
       0x10 | 0x9a, 0x28, 0xca, 0x4e, 0x5d


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x13
       RAW dump:
       0x00 | 0x06, 0x24, 0x13, 0x00, 0x01, 0x10



    Interface 1 Alt 1
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0001
      bAlternateSetting = 0x0001
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x00ff
      bInterfaceSubClass = 0x00ff
      bInterfaceProtocol = 0x00ff
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0082
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0020
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0002
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0020
        bRefresh = 0x0000
        bSynchAddress = 0x0000


    Interface 2
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0002
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x0008
      bInterfaceSubClass = 0x0006
      bInterfaceProtocol = 0x0050
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0003
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0083
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000


    Interface 3
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0003
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0003
      bInterfaceClass = 0x00ff
      bInterfaceSubClass = 0x00ff
      bInterfaceProtocol = 0x00ff
      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 = 0x01
       RAW dump:
       0x00 | 0x05, 0x24, 0x01, 0x03, 0x03


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump:
       0x00 | 0x05, 0x24, 0x06, 0x03, 0x03


      Additional Descriptor

      bLength = 0x15
      bDescriptorType = 0x24
      bDescriptorSubType = 0x12
       RAW dump:
       0x00 | 0x15, 0x24, 0x12, 0x20, 0x01, 0x98, 0xb0, 0x6a,
       0x08 | 0x49, 0xb0, 0x9e, 0x48, 0x96, 0x94, 0x46, 0xd9,
       0x10 | 0x9a, 0x28, 0xca, 0x4e, 0x5d


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x13
       RAW dump:
       0x00 | 0x06, 0x24, 0x13, 0x00, 0x01, 0x10


     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0084
        bmAttributes = 0x0003
        wMaxPacketSize = 0x0040
        bInterval = 0x0005
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0085
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0020
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 2
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0004
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0200
        bInterval = 0x0020
        bRefresh = 0x0000
        bSynchAddress = 0x0000





> ucom1: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev
> 2.00/0.00, addr 2> on uhub1
> ucom1: configured 0 serial ports (U1.%d)
> ucom2: <ZTE, Incorporated ZTE CDMA Technologies MSM, class 0/0, rev
> 2.00/0.00, addr 2> on uhub1
> ucom2: configured 0 serial ports (U2.%d)

These two are not actually com ports. They are probably umass related, but
attached to by u3g instead.

When installed on windows, there are extra com ports



Nick

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"

Reply via email to