cancel
Showing results for 
Search instead for 
Did you mean: 

How to enumerate 2nd configuration of USB device.

Hank Lee
Associate II
Posted on April 16, 2018 at 05:26

I porting USB host CDC class driver on stm32469-disco. And then plug in USB device have two configuration as below.

But driver only enumerate first configuration.  How to enumerate 2nd configuration of USB device? Thanks.

Bus 002 Device 005: ID 0bda:8152 Realtek Semiconductor Corp.

Device Descriptor:

bLength 18

bDescriptorType 1

bcdUSB 2.10

bDeviceClass 0 (Defined at Interface level)

bDeviceSubClass 0

bDeviceProtocol 0

bMaxPacketSize0 64

idVendor 0x0bda Realtek Semiconductor Corp.

idProduct 0x8152

bcdDevice 20.00

iManufacturer 1 Realtek

iProduct 2 USB 10/100 LAN

iSerial 3 00E04C36108B

bNumConfigurations 2

Configuration Descriptor:

bLength 9

bDescriptorType 2

wTotalLength 39

bNumInterfaces 1

bConfigurationValue 1

iConfiguration 0

bmAttributes 0xa0

(Bus Powered)

Remote Wakeup

MaxPower 100mA

Interface Descriptor:

bLength 9

bDescriptorType 4

bInterfaceNumber 0

bAlternateSetting 0

bNumEndpoints 3

bInterfaceClass 255 Vendor Specific Class

bInterfaceSubClass 255 Vendor Specific Subclass

bInterfaceProtocol 0

iInterface 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x81 EP 1 IN

bmAttributes 2

Transfer Type Bulk

Synch Type None

Usage Type Data

wMaxPacketSize 0x0200 1x 512 bytes

bInterval 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x02 EP 2 OUT

bmAttributes 2

Transfer Type Bulk

Synch Type None

Usage Type Data

wMaxPacketSize 0x0200 1x 512 bytes

bInterval 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x83 EP 3 IN

bmAttributes 3

Transfer Type Interrupt

Synch Type None

Usage Type Data

wMaxPacketSize 0x0002 1x 2 bytes

bInterval 8

Configuration Descriptor:

bLength 9

bDescriptorType 2

wTotalLength 80

bNumInterfaces 2

bConfigurationValue 2

iConfiguration 0

bmAttributes 0xa0

(Bus Powered)

Remote Wakeup

MaxPower 100mA

Interface Descriptor:

bLength 9

bDescriptorType 4

bInterfaceNumber 0

bAlternateSetting 0

bNumEndpoints 1

bInterfaceClass 2 Communications

bInterfaceSubClass 6 Ethernet Networking

bInterfaceProtocol 0

iInterface 5 CDC Communications Control

CDC Header:

bcdCDC 1.10

CDC Union:

bMasterInterface 0

bSlaveInterface 1

CDC Ethernet:

iMacAddress 3 00E04C36108B

bmEthernetStatistics 0x00000000

wMaxSegmentSize 1514

wNumberMCFilters 0x0000

bNumberPowerFilters 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x83 EP 3 IN

bmAttributes 3

Transfer Type Interrupt

Synch Type None

Usage Type Data

wMaxPacketSize 0x0010 1x 16 bytes

bInterval 8

Interface Descriptor:

bLength 9

bDescriptorType 4

bInterfaceNumber 1

bAlternateSetting 0

bNumEndpoints 0

bInterfaceClass 10 CDC Data

bInterfaceSubClass 0 Unused

bInterfaceProtocol 0

iInterface 0

Interface Descriptor:

bLength 9

bDescriptorType 4

bInterfaceNumber 1

bAlternateSetting 1

bNumEndpoints 2

bInterfaceClass 10 CDC Data

bInterfaceSubClass 0 Unused

bInterfaceProtocol 0

iInterface 4 Ethernet Data

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x81 EP 1 IN

bmAttributes 2

Transfer Type Bulk

Synch Type None

Usage Type Data

wMaxPacketSize 0x0200 1x 512 bytes

bInterval 0

Endpoint Descriptor:

bLength 7

bDescriptorType 5

bEndpointAddress 0x02 EP 2 OUT

bmAttributes 2

Transfer Type Bulk

Synch Type None

Usage Type Data

wMaxPacketSize 0x0200 1x 512 bytes

bInterval 0

Binary Object Store Descriptor:

bLength 5

bDescriptorType 15

wTotalLength 12

bNumDeviceCaps 1

USB 2.0 Extension Device Capability:

bLength 7

bDescriptorType 16

bDevCapabilityType 2

bmAttributes 0x00000002

Link Power Management (LPM) Supported

Device Status: 0x0000

(Bus Powered)
0 REPLIES 0