False positive uipaq probe
Alexander Motin
mav at FreeBSD.org
Tue Aug 18 10:54:27 UTC 2009
Hans Petter Selasky wrote:
> On Friday 14 August 2009 22:26:32 Alexander Motin wrote:
>> USB-connected WM6 communicators are able to operate in two main comm
>> modes: serial and RNDIS. That two modes reported with different device
>> IDs. I have noticed that my HTC Prophet WM6 communicator started to
>> behave wrong on recent CURRENT:
>>
>> uipaq0: <HTC Generic RNDIS, class 239/1, rev 2.00/0.00, addr 2> on usbus3
>> device_attach: uipaq0 attach returned 6
>> uipaq0: <HTC Generic RNDIS, class 239/1, rev 2.00/0.00, addr 2> on usbus3
>> device_attach: uipaq0 attach returned 6
>>
>> As soon as uipaq is a kind of serial driver, it should not attach to
>> RNDIS device.
>
> Can you provide output from "usbconfig -u XXX -a YYY dump_device_desc
> dump_curr_config_desc" in the Serial and RNDIS case?
Attached.
--
Alexander Motin
-------------- next part --------------
ugen0.2: <Generic RNDIS HTC> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x00ef
bDeviceSubClass = 0x0001
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x0bb4
idProduct = 0x0bce
bcdDevice = 0x0000
iManufacturer = 0x0001 <HTC>
iProduct = 0x0002 <Generic RNDIS>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x003e
bNumInterfaces = 0x0002
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00c0
bMaxPower = 0x0032
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x00ef
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0000 <no string>
Additional Descriptor
bLength = 0x05
bDescriptorType = 0x24
bDescriptorSubType = 0x01
RAW dump:
0x00 | 0x05, 0x24, 0x01, 0x00, 0x01
Additional Descriptor
bLength = 0x04
bDescriptorType = 0x24
bDescriptorSubType = 0x02
RAW dump:
0x00 | 0x04, 0x24, 0x02, 0x00
Additional Descriptor
bLength = 0x05
bDescriptorType = 0x24
bDescriptorSubType = 0x02
RAW dump:
0x00 | 0x05, 0x24, 0x02, 0x00, 0x01
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081
bmAttributes = 0x0003
wMaxPacketSize = 0x0008
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 1
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x000a
bInterfaceSubClass = 0x0000
bInterfaceProtocol = 0x0000
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0082
bmAttributes = 0x0002
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003
bmAttributes = 0x0002
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
-------------- next part --------------
ugen0.2: <USB Serial for Prophet HTC> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x0bb4
idProduct = 0x0a51
bcdDevice = 0x0000
iManufacturer = 0x0001 <HTC>
iProduct = 0x0002 <USB Serial for Prophet>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0020
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00c0
bMaxPower = 0x0032
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x00ff
bInterfaceSubClass = 0x00ff
bInterfaceProtocol = 0x00ff
iInterface = 0x0000 <no string>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081
bmAttributes = 0x0002
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0002
bmAttributes = 0x0002
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
More information about the freebsd-usb
mailing list