Skip to content

Latest commit

 

History

History
792 lines (699 loc) · 73.4 KB

enumeration.md

File metadata and controls

792 lines (699 loc) · 73.4 KB

PicoUSB Enumeration

Using a Pico as USB Host and an FTDI board as a USB Device

picousb

Example console output (November 27, 2024)

==[ PicoUSB Host ]==

USB host reset

•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00001111 11111111 11111011 │ 0x000ffffb │
•───────•──────•─────────────────────────────────────•────────────•

=> 1) New ISR, device

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │    0 │ Interrupt Handler                   │ D0 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│SIE    │      │ 00000000 00000000 10001110 00000000 │ 0x00008e00 │
│SSR    │      │ 00000000 00000000 00000010 00000101 │ 0x00000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000000 │ 0x00000000 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 00000000 00000000 00000000 00000000 │ 0x00000000 │
•───────•──────•─────────────────────────────────────•────────────•
│CONNECT│      │ New device connected                │ Task #2    │
•───────•──────•─────────────────────────────────────•────────────•

=> 2) New task, TASK_CONNECT

Device connected (full speed)
Enumeration started
Starting GET_MAXSIZE
Get device descriptor
•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  173 │ Transaction started                 │ D0 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 00000000 00000000 00000010 00000101 │ 0x00000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000000 │ 0x00000000 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100100 00001000 │ 0x00006408 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 80 06 00 01 00 00 08 00                          │ ........
•───────•──────•─────────────────────────────────────•────────────•

=> 3) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  291 │ Interrupt Handler                   │ D0 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00001001 │ 0x50040209 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000000 │ 0x00000000 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100000 00001000 │ 0x0000e008 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 11100000 00001000 │ 0x0000e008 │
│IN/1   │ 0000 │ 12 01 00 02 00 00 00 08                          │ ........
•───────•──────•─────────────────────────────────────•────────────•
│XFER   │    8 │ Device 0                              Task #4    │
│Data   │ 0000 │ 12 01 00 02 00 00 00 08                          │ ........
•───────•──────•─────────────────────────────────────•────────────•

=> 4) New task, TASK_TRANSFER

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  509 │ Transaction started                 │ D0 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000000 │ 0x00000000 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100100 00000000 │ 0x0000e400 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 0                            │            │
•───────•──────•─────────────────────────────────────•────────────•

=> 5) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  627 │ Interrupt Handler                   │ D0 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000000 │ 0x00000000 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 0                            │ Task #6    │
•───────•──────•─────────────────────────────────────•────────────•

=> 6) New task, TASK_TRANSFER

Starting SET_ADDRESS
Set device address to 1
•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  834 │ Transaction started                 │ D0 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000000 │ 0x00000000 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100100 00000000 │ 0x00006400 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 00 05 01 00 00 00 00 00                          │ ........
•───────•──────•─────────────────────────────────────•────────────•

=> 7) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  952 │ Interrupt Handler                   │ D0 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000000 │ 0x00000000 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100000 00000000 │ 0x0000e000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 11100000 00000000 │ 0x0000e000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ IN   │ Device 0                            │ Task #8    │
•───────•──────•─────────────────────────────────────•────────────•

=> 8) New task, TASK_TRANSFER

Starting GET_DEVICE
Get device descriptor
•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1159 │ Transaction started                 │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 00000100 00001000 00100100 00001000 │ 0x04082408 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 80 06 00 01 00 00 12 00                          │ ........
•───────•──────•─────────────────────────────────────•────────────•

=> 9) New ISR, buffer

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1277 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00010000 │ 0x00000010 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00001001 │ 0x50000209 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
│IN/1   │ 0000 │ 12 01 00 02 00 00 00 08                          │ ........
│IN/2   │ 0000 │ 03 04 01 60 00 06 01 02                          │ ...`....
•───────•──────•─────────────────────────────────────•────────────•

=> 10) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1450 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100000 00000010 │ 0x0000e002 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 11100000 00000010 │ 0x0000e002 │
│IN/1   │ 0000 │ 03 01                                            │ ..
•───────•──────•─────────────────────────────────────•────────────•
│XFER   │   18 │ Device 1                              Task #11   │
│Data   │ 0000 │ 12 01 00 02 00 00 00 08 03 04 01 60 00 06 01 02  │ ...........`....
│Data   │ 0010 │ 03 01                                            │ ..
•───────•──────•─────────────────────────────────────•────────────•

=> 11) New task, TASK_TRANSFER

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1675 │ Transaction started                 │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100100 00000000 │ 0x0000e400 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │            │
•───────•──────•─────────────────────────────────────•────────────•

=> 12) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1792 │ Interrupt Handler                   │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │ Task #13   │
•───────•──────•─────────────────────────────────────•────────────•

=> 13) New task, TASK_TRANSFER

Connected Device:
  Total Length:       18
  USB Version:        2.0
  Device Class:       0
    Subclass:         0
    Protocol:         0
  Packet Size:        8
  Vendor Id:          0x0403
  Product Id:         0x6001
  Version:            6.0
  Manufacturer:       [#1]
  Product:            [#2]
  Serial:             [#3]

Starting GET_CONFIG_SHORT (9 bytes)
Get configuration descriptor
•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 2031 │ Transaction started                 │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 01000100 00000001 00100100 00001000 │ 0x44012408 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 80 06 00 02 00 00 09 00                          │ ........
•───────•──────•─────────────────────────────────────•────────────•

=> 14) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  102 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 11000000 00000001 10100000 00001000 │ 0xc001a008 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 11000000 00000001 10100000 00001000 │ 0xc001a008 │
│IN/1   │ 0000 │ 09 02 20 00 01 01 00 a0                          │ .. .....
│IN/2   │ 0000 │ 2d                                               │ -
•───────•──────•─────────────────────────────────────•────────────•
│XFER   │    9 │ Device 1                              Task #15   │
│Data   │ 0000 │ 09 02 20 00 01 01 00 a0 2d                       │ .. .....-
•───────•──────•─────────────────────────────────────•────────────•

=> 15) New task, TASK_TRANSFER

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  327 │ Transaction started                 │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100100 00000000 │ 0x0000e400 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │            │
•───────•──────•─────────────────────────────────────•────────────•

=> 16) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  444 │ Interrupt Handler                   │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │ Task #17   │
•───────•──────•─────────────────────────────────────•────────────•

=> 17) New task, TASK_TRANSFER

Starting GET_CONFIG_FULL (32 bytes)
Get configuration descriptor
•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  653 │ Transaction started                 │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 00000100 00001000 00100100 00001000 │ 0x04082408 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 80 06 00 02 00 00 20 00                          │ ...... .
•───────•──────•─────────────────────────────────────•────────────•

=> 18) New ISR, buffer

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  771 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00010000 │ 0x00000010 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00001001 │ 0x50000209 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
│IN/1   │ 0000 │ 09 02 20 00 01 01 00 a0                          │ .. .....
│IN/2   │ 0000 │ 2d 09 04 00 00 02 ff ff                          │ -.......
•───────•──────•─────────────────────────────────────•────────────•

=> 19) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  944 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 11000000 00001000 10100000 00001000 │ 0xc008a008 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 11000000 00001000 10100000 00001000 │ 0xc008a008 │
│IN/1   │ 0000 │ ff 02 07 05 81 02 40 00                          │ ......@.
│IN/2   │ 0000 │ 00 07 05 02 02 40 00 00                          │ .....@..
•───────•──────•─────────────────────────────────────•────────────•
│XFER   │   32 │ Device 1                              Task #20   │
│Data   │ 0000 │ 09 02 20 00 01 01 00 a0 2d 09 04 00 00 02 ff ff  │ .. .....-.......
│Data   │ 0010 │ ff 02 07 05 81 02 40 00 00 07 05 02 02 40 00 00  │ ......@......@..
•───────•──────•─────────────────────────────────────•────────────•

=> 20) New task, TASK_TRANSFER

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1178 │ Transaction started                 │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100100 00000000 │ 0x0000e400 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │            │
•───────•──────•─────────────────────────────────────•────────────•

=> 21) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1295 │ Interrupt Handler                   │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │ Task #22   │
•───────•──────•─────────────────────────────────────•────────────•

=> 22) New task, TASK_TRANSFER

Detail  │ 0000 │ 09 02 20 00 01 01 00 a0 2d                       │ .. .....-

Configuration Descriptor:
  Total Length:       32
  Interfaces:         1
  Config Value:       1
  Config Name:        [#0]
  Attributes:         Remote Wakeup
  Max Power:          90 mA

Detail  │ 0000 │ 09 04 00 00 02 ff ff ff 02                       │ .........

Interface Descriptor:
  Interface:          0
  Alternate:          0
  Endpoints:          2
  Class:              0xff
  Subclass:           0xff
  Protocol:           0xff
  Name:               [#2]

Detail  │ 0000 │ 07 05 81 02 40 00 00                             │ ....@..

Endpoint Descriptor:
  Length:             7
  Endpoint number:    EP1
  Endpoint direction: IN
  Attributes:         0x02 (Bulk Transfer Type)
  Max Packet Size:    64
  Interval:           0

Detail  │ 0000 │ 07 05 02 02 40 00 00                             │ ....@..

Endpoint Descriptor:
  Length:             7
  Endpoint number:    EP2
  Endpoint direction: OUT
  Attributes:         0x02 (Bulk Transfer Type)
  Max Packet Size:    64
  Interval:           0

Device 1 is now enumerated
Starting SET_CONFIG
Set configuration to 1
•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1607 │ Transaction started                 │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100100 00000000 │ 0x00006400 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 00 09 01 00 00 00 00 00                          │ ........
•───────•──────•─────────────────────────────────────•────────────•

=> 23) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1725 │ Interrupt Handler                   │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100000 00000000 │ 0x0000e000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 11100000 00000000 │ 0x0000e000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ IN   │ Device 1                            │ Task #24   │
•───────•──────•─────────────────────────────────────•────────────•

=> 24) New task, TASK_TRANSFER

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1928 │ Transaction started                 │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 00000100 00001000 00100100 00001000 │ 0x04082408 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 80 06 01 03 00 00 40 01                          │ ......@.
•───────•──────•─────────────────────────────────────•────────────•

=> 25) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 2047 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 10000000 00000010 10100000 00001000 │ 0x8002a008 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 10000000 00000010 10100000 00001000 │ 0x8002a008 │
│IN/1   │ 0000 │ 0a 03 46 00 54 00 44 00                          │ ..F.T.D.
│IN/2   │ 0000 │ 49 00                                            │ I.
•───────•──────•─────────────────────────────────────•────────────•
│XFER   │   10 │ Device 1                              Task #26   │
│Data   │ 0000 │ 0a 03 46 00 54 00 44 00 49 00                    │ ..F.T.D.I.
•───────•──────•─────────────────────────────────────•────────────•

=> 26) New task, TASK_TRANSFER

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  224 │ Transaction started                 │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100100 00000000 │ 0x0000e400 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │            │
•───────•──────•─────────────────────────────────────•────────────•

=> 27) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  342 │ Interrupt Handler                   │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │ Task #28   │
•───────•──────•─────────────────────────────────────•────────────•

=> 28) New task, TASK_TRANSFER

[String #1]: "FTDI"
•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  547 │ Transaction started                 │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 00000100 00001000 00100100 00001000 │ 0x04082408 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 80 06 02 03 00 00 40 01                          │ ......@.
•───────•──────•─────────────────────────────────────•────────────•

=> 29) New ISR, buffer

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  666 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00010000 │ 0x00000010 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00001001 │ 0x50000209 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
│IN/1   │ 0000 │ 20 03 46 00 54 00 32 00                          │  .F.T.2.
│IN/2   │ 0000 │ 33 00 32 00 52 00 20 00                          │ 3.2.R. .
•───────•──────•─────────────────────────────────────•────────────•

=> 30) New ISR, buffer

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  839 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00010000 │ 0x00000010 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
│IN/1   │ 0000 │ 55 00 53 00 42 00 20 00                          │ U.S.B. .
│IN/2   │ 0000 │ 55 00 41 00 52 00 54 00                          │ U.A.R.T.
•───────•──────•─────────────────────────────────────•────────────•

=> 31) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1011 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 00000100 00001000 10100000 00000000 │ 0x0408a000 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 00000100 00001000 10100000 00000000 │ 0x0408a000 │
•───────•──────•─────────────────────────────────────•────────────•
│XFER   │   32 │ Device 1                              Task #32   │
│Data   │ 0000 │ 20 03 46 00 54 00 32 00 33 00 32 00 52 00 20 00  │  .F.T.2.3.2.R. .
│Data   │ 0010 │ 55 00 53 00 42 00 20 00 55 00 41 00 52 00 54 00  │ U.S.B. .U.A.R.T.
•───────•──────•─────────────────────────────────────•────────────•

=> 32) New task, TASK_TRANSFER

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1230 │ Transaction started                 │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100100 00000000 │ 0x0000e400 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │            │
•───────•──────•─────────────────────────────────────•────────────•

=> 33) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1348 │ Interrupt Handler                   │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │ Task #34   │
•───────•──────•─────────────────────────────────────•────────────•

=> 34) New task, TASK_TRANSFER

[String #2]: "FT232R USB UART"
•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1554 │ Transaction started                 │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 00000100 00001000 00100100 00001000 │ 0x04082408 │
•───────•──────•─────────────────────────────────────•────────────•
│SETUP  │ 0000 │ 80 06 03 03 00 00 40 01                          │ ......@.
•───────•──────•─────────────────────────────────────•────────────•

=> 35) New ISR, buffer

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1673 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00010000 │ 0x00000010 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 10000000 00001000 10100000 00001000 │ 0x8008a008 │
│IN/1   │ 0000 │ 12 03 42 00 30 00 30 00                          │ ..B.0.0.
│IN/2   │ 0000 │ 30 00 35 00 42 00 51 00                          │ 0.5.B.Q.
•───────•──────•─────────────────────────────────────•────────────•

=> 36) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │ 1846 │ Interrupt Handler                   │ D1 EP0 IN  │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00001010 │ 0x00008e0a │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR    │      │ 00000100 00001000 10100000 00000010 │ 0x0408a002 │
•───────•──────•─────────────────────────────────────•────────────•
│2BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 11010000 00000000 00000001 10000000 │ 0xd0000180 │
│BCR0   │      │ 00000100 00001000 10100000 00000010 │ 0x0408a002 │
│IN/1   │ 0000 │ 53 00                                            │ S.
•───────•──────•─────────────────────────────────────•────────────•
│XFER   │   18 │ Device 1                              Task #37   │
│Data   │ 0000 │ 12 03 42 00 30 00 30 00 30 00 35 00 42 00 51 00  │ ..B.0.0.0.5.B.Q.
│Data   │ 0010 │ 53 00                                            │ S.
•───────•──────•─────────────────────────────────────•────────────•

=> 37) New task, TASK_TRANSFER

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │   23 │ Transaction started                 │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000000 00000010 00000101 │ 0x50000205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 11100100 00000000 │ 0x0000e400 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │            │
•───────•──────•─────────────────────────────────────•────────────•

=> 38) New ISR, buffer, last

•───────•──────•─────────────────────────────────────•────────────•
│Frame  │  140 │ Interrupt Handler                   │ D1 EP0 OUT │
•───────•──────•─────────────────────────────────────•────────────•
│INT    │      │ 00000000 00000000 00000000 00011000 │ 0x00000018 │
│SIE    │      │ 00000000 00000000 10001110 00000100 │ 0x00008e04 │
│SSR    │      │ 01010000 00000100 00000010 00000101 │ 0x50040205 │
•───────•──────•─────────────────────────────────────•────────────•
│DAR    │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR    │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR    │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│1BUF   │      │ 00000000 00000000 00000000 00000001 │ 0x00000001 │
│ECR0   │      │ 10100000 00000000 00000001 10000000 │ 0xa0000180 │
│BCR0   │      │ 00000000 00000000 01100000 00000000 │ 0x00006000 │
•───────•──────•─────────────────────────────────────•────────────•
│ZLP    │ OUT  │ Device 1                            │ Task #39   │
•───────•──────•─────────────────────────────────────•────────────•

=> 39) New task, TASK_TRANSFER

[String #3]: "B0005BQS"
Device 1 is configured