Prev: USB device name
Next: Error code:0xc00000bb
From: PRANAV KANT GAUR on 3 Apr 2010 22:43 Given below are descriptors for my mass storage device obtained using USBVIEW application: ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: High Device Address: 0x03 Open Pipes: 3 Endpoint Descriptor: bEndpointAddress: 0x01 OUT Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x01 Endpoint Descriptor: bEndpointAddress: 0x82 IN Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x01 Endpoint Descriptor: bEndpointAddress: 0x83 IN Transfer Type: Interrupt wMaxPacketSize: 0x0040 (64) bInterval: 0x08 It indicates that device has one 'interrupt' type endpoint,is it the control endpoint used for responding to IOCTL requests ? If yes,then why it is not bi-directional as a control endpoint is always bidirectional ? If no,then why USB view has not given information regarding control endpoint ?
From: Tim Roberts on 4 Apr 2010 00:34 PRANAV KANT GAUR <PRANAVKANTGAUR(a)discussions.microsoft.com> wrote: > >Given below are descriptors for my mass storage device obtained using USBVIEW >application: >... > >It indicates that device has one 'interrupt' type endpoint,is it the control >endpoint used for responding to IOCTL requests ? No, it is an "interrupt" endpoint. There's no relationship between endpoints and ioctl requests. Many URBs do go through the control endpoint (like descriptor requests and such), but there are URBs for every endpoint type. >If no,then why USB view has not given information regarding control endpoint ? Every device has a control endpoint, with address 0. It's required, so it's not shown in USBVIEW. -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc.
From: Philip Ries [MSFT] on 5 Apr 2010 14:29 The default control endpoint is described in the Device Descriptor, rather than in an Endpoint Descriptor. Some Endpoint Descriptor fields aren't described for endpoint 0 since they're the same for all devices' endpoint 0. I suspect the interrupt endpoint is in a different interface and isn't used by the mass storage driver. Check in Device Manager -> View devices by connection. Also USBView -> Options -> Config Descriptors will show the interfaces. PRANAV KANT GAUR wrote: > Given below are descriptors for my mass storage device obtained using USBVIEW > application: > > ConnectionStatus: DeviceConnected > Current Config Value: 0x01 > Device Bus Speed: High > Device Address: 0x03 > Open Pipes: 3 > > Endpoint Descriptor: > bEndpointAddress: 0x01 OUT > Transfer Type: Bulk > wMaxPacketSize: 0x0200 (512) > bInterval: 0x01 > > Endpoint Descriptor: > bEndpointAddress: 0x82 IN > Transfer Type: Bulk > wMaxPacketSize: 0x0200 (512) > bInterval: 0x01 > > Endpoint Descriptor: > bEndpointAddress: 0x83 IN > Transfer Type: Interrupt > wMaxPacketSize: 0x0040 (64) > bInterval: 0x08 > > > It indicates that device has one 'interrupt' type endpoint,is it the control > endpoint used for responding to IOCTL requests ? > If yes,then why it is not bi-directional as a control endpoint is always > bidirectional ? > If no,then why USB view has not given information regarding control endpoint ?
From: PRANAV KANT GAUR on 5 Apr 2010 21:36 "Philip Ries [MSFT]" wrote: > The default control endpoint is described in the Device Descriptor, > rather than in an Endpoint Descriptor. Some Endpoint Descriptor fields > aren't described for endpoint 0 since they're the same for all devices' > endpoint 0. > > I suspect the interrupt endpoint is in a different interface and isn't > used by the mass storage driver. Check in Device Manager -> View > devices by connection. Also USBView -> Options -> Config Descriptors > will show the interfaces. > > PRANAV KANT GAUR wrote: > > Given below are descriptors for my mass storage device obtained using USBVIEW > > application: > > > > ConnectionStatus: DeviceConnected > > Current Config Value: 0x01 > > Device Bus Speed: High > > Device Address: 0x03 > > Open Pipes: 3 > > > > Endpoint Descriptor: > > bEndpointAddress: 0x01 OUT > > Transfer Type: Bulk > > wMaxPacketSize: 0x0200 (512) > > bInterval: 0x01 > > > > Endpoint Descriptor: > > bEndpointAddress: 0x82 IN > > Transfer Type: Bulk > > wMaxPacketSize: 0x0200 (512) > > bInterval: 0x01 > > > > Endpoint Descriptor: > > bEndpointAddress: 0x83 IN > > Transfer Type: Interrupt > > wMaxPacketSize: 0x0040 (64) > > bInterval: 0x08 > > > > > > It indicates that device has one 'interrupt' type endpoint,is it the control > > endpoint used for responding to IOCTL requests ? > > If yes,then why it is not bi-directional as a control endpoint is always > > bidirectional ? > > If no,then why USB view has not given information regarding control endpoint ? > . Here is the configuration descriptor for my device,it shows only one interface,what is the role of interrupt endpoint here(is it for interrupting CPU for start of I/O etc. ?) ? Configuration Descriptor: wTotalLength: 0x0027 bNumInterfaces: 0x01 bConfigurationValue: 0x01 iConfiguration: 0x00 bmAttributes: 0x80 (Bus Powered ) MaxPower: 0x31 (98 Ma) Interface Descriptor: bInterfaceNumber: 0x00 bAlternateSetting: 0x00 bNumEndpoints: 0x03 bInterfaceClass: 0x08 bInterfaceSubClass: 0x06 bInterfaceProtocol: 0x50 iInterface: 0x00 Endpoint Descriptor: bEndpointAddress: 0x01 OUT Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x01 Endpoint Descriptor: bEndpointAddress: 0x82 IN Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x01 Endpoint Descriptor: bEndpointAddress: 0x83 IN Transfer Type: Interrupt wMaxPacketSize: 0x0040 (64) bInterval: 0x08
|
Pages: 1 Prev: USB device name Next: Error code:0xc00000bb |