ZTE MF636 USB u3g modem
Mike Tancsa
mike at sentex.net
Thu May 7 14:01:16 UTC 2009
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
More information about the freebsd-usb
mailing list