-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Operating System
Linux
Commit SHA
Board
LPC4330
Firmware
custom firmware for HackRF on LPC4330
What happened ?
When a multi-port FTDI device (FT4232H) is connected, only interface 0 enumerates successfully. The enumeration of interfaces greater than 0 enters an infinite loop, repeatedly re-enumerating interface 0.
In cdch_set_config function in cdc_host.c, wIndex is set to the interface number, i.e. xfer.request.wIndex = itf_num.
The xfer object is passed to cdch_process_set_config and subsequently, it uses get_itf_by_xfer to get cdch_data using wIndex as the channel.
case SERIAL_DRIVER_FTDI: {
const uint8_t channel = (uint8_t) tu_le16toh(xfer->setup->wIndex);
if (p_cdc->ftdi.channel == 0 || p_cdc->ftdi.channel == channel) {
return p_cdc;
}
break;
}usbh_driver_set_config_complete()callscdch_set_config(daddr, 0)for interface 0.cdch_set_config(daddr, 0)creates a fake xfer withwIndex=0,user_data=0(initial state), then callscdch_process_set_config(&xfer)cdch_process_set_configcallsget_itf_by_xfer(). It findscdch_data[0](channel==0 wildcard matches), then dispatches toftdi_proccess_set_config(p_cdc, xfer)ftdi_proccess_set_configreadsstate = xfer->user_data= 0 (CONFIG_FTDI_DETERMINE_TYPE)- Since
p_cdc->bInterfaceNumber == 0, it enters the if branch and calls ftdi_determine_type(p_cdc) ftdi_determine_typereads bcdDevice=0x800, then setsftdi.channel = CHANNEL_A + itf_num= 1 + 0 = 1- After
ftdi_proccess_set_configfinished all its setups, it returns tousbh_driver_set_config_complete, which increasesitf_numto 1 and callscdch_set_config cdch_process_set_configuseswIndex=1to find cdc_data(cdch_set_config->cdch_process_set_config->get_itf_by_xfer). Now, since cdc_data[0].ftdi.channel=1 (set by step 6), it returns the data for channle 0 instead of channel 1, hence looping back to the previous interface setup.
How to reproduce ?
Connect to FT4232HQ chip (In my case it's from Alveo U280's FT4232HQ USB-JTAG/UART Interface)
Debug Log as txt file (LOG/CFG_TUSB_DEBUG=2)
[0:] USBH Device Attach
High Speed
[0:0] O��0 iz88�
8 byte of Device Descriptor
[0:0] Get Descriptor: 80 06 00 01 00 00 08 00
[:0] on EP 00 with 8 bytes: OK
[:0] on EP 80 with 8 bytes: OK
[0:0] Control data:
0000: 12 01 00 02 00 00 00 40 |.......@|
[:0] on EP 00 with 0 bytes: OK
Set Address = 1
[0:0] Set Address: 00 05 01 00 00 00 00 00
[:0] on EP 00 with 8 bytes: OK
[:0] on EP 80 with 0 bytes: OK
[0:1] Open EP0 with Size = 64
Get Device Descriptor
[0:1] Get Descriptor: 80 06 00 01 00 00 12 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 18 bytes: OK
[0:1] Control data:
0000: 12 01 00 02 00 00 00 40 03 04 11 60 00 08 01 02 |.......@...`....|
0010: 03 01 |..|
[:1] on EP 00 with 0 bytes: OK
[0:1] Get Descriptor: 80 06 00 03 00 00 02 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 2 bytes: OK
[0:1] Control data:
0000: 04 03 [:1] on EP 00 with 0 bytes: OK
[0:1] Get Descriptor: 80 06 01 03 09 04 02 00
|..|
[:1] on EP 00 with 0 bytes: OK
[0:1] Get Descriptor: 80 06 01 03 09 04 0E 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 00 with 0 bytes: OK
[0:1] Get Descriptor: 80 06 02 03 09 04 02 00
|..|
[:1] on EP 00 with 0 bytes: OK
[0:1] Get Descriptor: 80 06 02 03 09 04 18 00
OK
[0:1] Get Descriptor: 80 06 03 03 09 04 02 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 2 bytes: OK
[0:1] Control data:
0000: 1A 03 7.6.0.2.0.|
0010: 31 00 52 00 30 00 30 00 4A 00 |1.R.0.0.J.|
n EP 00 with 8 bytes: OK
[:1] on EP 80 with 9 bytes: OK
[0:1] Control data:
0000: 09 02 65 00 04 01 00 80 32 80 32 09 04 00 00 02 FF FF |..e.....2.......|
0010: FF 02 07 05 81 02 00 02 00 07 05 02 02 00 02 00 |.............P 00 with 0 bytes: OK
Set Configuration = 1
[0:1] Set Configuration: 00 09 01 00 00 00 00 00
ransfer on EP 04
[1] Aborted transfer on EP 84
[1] Aborted transfer on EP 05
[1] Aborted transfer on EP 85
on EP 0C
[1] Aborted transfer on EP 8C
[1] Aborted transfer on EP 0D
[1] Aborted transfer on EP 8D
opened
Open EP 85 with Size = 512
Open EP 06 with Size = 512
[:1:2] CDCh FTDI open OK
CDC opened
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
0 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
ormat result = 0
[:1:0] CDCh FTDI set control line state dtr = 0 rts = 0
0
[FTDI] itf 0 mounted (idx=0)
[1] Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
512 bytes ...
OK
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
(idx=0)
CDC set config: itf = 1
[:1:1] CDCh FTDI set config
state = 0
[:1:0] CDCh FTDI FT4232H detected (bcdDevic
[:1:0] CDCh FTDI set line coding 115200 8N1
[:1:0] CDCh FTDI Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 00 with 8 bytes:[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
TDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
80 with 0 bytes: OK
stage2 set data format result = 0
[:1:0] CDCh FTDI set control line state dtr = 1 rts = 1
[0:1] Class Request: 40 01[0:1] Class Request: 40 00 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
s: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
line state dtr = 1 rts = 1
[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
: OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
80328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
0 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
0
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
rts = 1
[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
n EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
back
[1] Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
FTDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
es: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
0 00
[:1] on EP 00 with 8 byteK
[:1] on EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
s: OK
request result = 0
[FTDI] itf 0 mounted (idx=0)
CDC set config: itf = 1
[:1:1] CDCh FTDI set config
state = 0
[:1:0] CDCh FTDI FT4232H dete[:1:0] CDCh FTDI set line coding 115200 8N1
[:1:0] CDCh FTDI Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 00 with 8 bytes: OK
1 rts = 1
[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
n EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
ytes: OK
[:1] on EP 81 with 2 bytes: OK
CDC xfer callback
[1] Claimed EP 0x81
control line state dtr = 1 rts = 1
[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 8 8 bytes: OK
[:1] on EP 80 w�th 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
[:1] on EP 0et baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
config
state = 0
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
s: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
[:1:0] CDCh FTDI Baud0 with 0 bytes: OK
stage2 set data format result = 0
OK
[:1] on EP 80 with 0 bytes: OK
FTDI FT4232H detected (bcdDevice = 0x0800)
81 with 512 bytes ...
OK
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
t baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
[:1] on EP 80 with 0 bytes: OK
request result = 0
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
DCh FTDI Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
0 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
0 bytes: OK
stage2 set data format result = 0
[:1:0] CDCh FTDI set control line state dtr = 1 rts = 1
ed (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
request r0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
0 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage2 set data format result = 0
[:1:0] CDCh FTDI set control line state dtr = 1 r[1] Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
n EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
n EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
s: OK
CDC xfer callback
nted (idx=0)
CDC set config: itf = 1
[:1:1] CDCh FTDI set config
state = 0
OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
CDCh FTDI Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
0 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 81 with 2 bytes: OK
CDC xfer callback
[1] Claimed EP 0x81te = 0
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
Class Request: 40 02 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
80328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[FTDI] itf 0 mounted (idx=0)
CDC set config: itf = 1
[:1:1] CDCh FTDI set config
state = 0
OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 00 with 8 bytes: OK
= 1 rts = 1
[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
request result = 0
[FTDI] itf 0 mounted (idx=0)
01 00 00 00
[:1] on EP 00 with 8 bytes: OK
80328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
00 with 8 bytes: OK
[:1] on EP 81 with 2 bytes: OK
CDC xfer callback
unted (idx=0)
CDC set config: itf = 1
[:1:1] CDCh FTDI set config
state
[:1:0] CDCh FTDI FT4232H detected (bcdte = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
[:1:0] CDCh FTDI Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 00 with 8 bytes: OK
1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
request result = 0
[FTDI] itf 0 mounted (idx=0)
CDC set 0 02 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
80328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 81 with 2 bytes: OK
0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
EP 81 with 2 bytes: OK
CDC xfer callback
[1] Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
TDI Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
0 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 81 with 2 bytes: OK
CDC xfer callback
[1] Claimed EP 0x81
quest: 40 00 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
on EP 80 with 0 bytes: OK
state = 4
0 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
rts = 1
[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
config
state = 0
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
[:I Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage2 set data format result = 0
[:1:0] CDCh FTDI set control line state dtr = 1 r detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
on EP 81 with 2 bytes: OK
CDC xfer callback
[1] Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
ith 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
line state dtr = 1 rts = 1
[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
es: OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
0
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state0 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
2 bytes: OK
CDC xfer callback
[1] Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
[FTDI] itf 0 mounted (idx=0)
CDC set config: itf = 1
01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
lback
[1] Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
0 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
request result = 0
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
EP 80 with 0 bytes: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
es: OK
request result = 0
bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
[:1] on EP 81 with 2 bytes: OK
CDC xfer callback
[:1:0] CDCh FTDI set line coding 115200 8N1
[:1:0] CDCh FTDI Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
[:1] on EP 00 with 8 bytes: OK
1 rts = 1
[0:1] Class Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
[:1: OK
[:1] on EP 81 with 2 bytes: OK
CDC xfer callback
[1] Claimed EP 0x81
h 0 bytes: OK
request result = 0
(bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
lback
[1] Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 ss Request: 40 01 03 03 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
config
state = 0
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
tes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
[:1:0] CDCh FTDI Ba 80 with 0 bytes: OK
stage2 set data format result = 0
OK
[:1] on EP 80 with 0 bytes: OK
TDI FT4232H detected (bcdDevice = 0x0800)
81 with 512 bytes ...
OK
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
Claimed EP 0x81
Queue EP 81 with 512 bytes ...
OK
[:1] on EP 80 with 0 bytes: OK
80 with 0 bytes: OK
state = 3
[0:1] Class Request: 40 02 00 00 01 00 00 00
CDCh FTDI Baudrate divisor = 0x180328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
0 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
0 bytes: OK
stage2 set data format result = 0
[:1:0] CDCh FTDI set control line state dtr = 1 rts = 1
ted (bcdDevice = 0x0800)
[0:1] Class Request: 40 00 00 00 01 00 00 00
on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
state = 4
[:1:0] CDCh FTDI set line coding 115200 8N1
: OK
stage1 set baudrate result = 0
[0:1] Class Request: 40 04 08 00 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
set config: itf = 1
[:1:1] CDCh FTDI set config
state = 0
[:1:0] CDCh FTDI FT4232H detected (bcdDevice = 0x0800)
[ 512 bytes ...
OK
[:1] on EP 00 with 8 bytes: OK
0328
[0:1] Class Request: 40 03 68 C0 01 02 00 00
0 01 00 00 00
[:1] on EP 00 with 8 bytes: OK
[:1] on EP 80 with 0 bytes: OK
stage2 set data format result = 0
...
Screenshots
No response
I have checked existing issues, discussion and documentation
- I confirm I have checked existing issues, discussion and documentation.