tinyusb icon indicating copy to clipboard operation
tinyusb copied to clipboard

USB Host: Add support for Adafruit USB/Serial Converter (PID 18)

Open makermelissa opened this issue 4 months ago • 6 comments

Related area

USB Host detection

Hardware specification

RP2040

Is your feature request related to a problem?

I am trying to enumerate the device using the arduino Dual Role device_info example. Here is the descriptor info that I pulled off using a computer:

Information for device FT232R USB UART (VID=0x0403 PID=0x6001):

------------------------------
Connection Information:
------------------------------
Device current bus speed: FullSpeed
Device supports USB 1.1 specification
Device address: 0x0001
Current configuration value: 0x00
Number of open pipes: 0


------------------------------
Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0200	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x08	bMaxPacketSize0   (8 bytes)
0x0403	idVendor
0x6001	idProduct
0x0600	bcdDevice
0x01	iManufacturer   "FTDI"
0x02	iProduct        "FT232R USB UART"
0x03	iSerialNumber   "A979L8FK"
0x01	bNumConfigurations


-------------------------
Configuration Descriptor:
-------------------------
0x09	bLength
0x02	bDescriptorType
0x0020	wTotalLength   (32 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xA0	bmAttributes   (Bus-powered Device, Remote-Wakeup)
0x2D	bMaxPower      (90 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x02	bNumEndPoints
0xFF	bInterfaceClass      (Vendor specific)
0xFF	bInterfaceSubClass   
0xFF	bInterfaceProtocol   
0x02	iInterface   "FT232R USB UART"

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040	wMaxPacketSize    (64 bytes)
0x00	bInterval         

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x02	bEndpointAddress  (OUT endpoint 2)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040	wMaxPacketSize    (64 bytes)
0x00	bInterval         

Microsoft OS Descriptor:
------------------------------
0x00	bLength
0x00	bDescriptorType
Hex dump: 


--------------------------------
String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409 
0x01   0x0409  "FTDI"
0x02   0x0409  "FT232R USB UART"
0x03   0x0409  "A979L8FK"

------------------------------

Connection path for device: 
Intel(R) ICH9 Family USB Universal Host Controller - 2934
Root Hub
FT232R USB UART (VID=0x0403 PID=0x6001) Port: 1

Describe the solution you'd like

I would like it supported so I can connect tor RS-232 devices using the USB Host.

I have checked existing issues, dicussion and documentation

  • [x] I confirm I have checked existing issues, dicussion and documentation.

makermelissa avatar Jul 31 '25 00:07 makermelissa

@makermelissa what is your setup, I think this should be already supported. If you are using Arduino IDE, please try DualRole/CDC/serial_host_bridge, you can jumper wire tx <-> rx on the ftdi and that would echo back anything you type in arduino monitor. Let me know if it does not work for you, I will pull out a similar hw to test with and/or update tinyusb (core/arduino lib) if needed.

hathach avatar Jul 31 '25 04:07 hathach

I'll give that a try. Setup is just a feather rp2040 with usb host using arduino. I did have it work with some other devices like a mouse and 3D printer.

makermelissa avatar Aug 06 '25 22:08 makermelissa

Nothing is echoing back.

makermelissa avatar Aug 06 '25 23:08 makermelissa

@makermelissa ok, I will pull out the hw to test and post updat here.

Update: I think I reproduce the issue, working on the fix :)

hathach avatar Aug 07 '25 08:08 hathach

@makermelissa https://github.com/adafruit/Adafruit_TinyUSB_Arduino/pull/551 pull the latest from tinyusb, this should fix the issue with ftdi driver. Please give it a try and let me know if that works for you.

hathach avatar Sep 05 '25 09:09 hathach

@makermelissa let me know if you need any help to test this out.

hathach avatar Oct 04 '25 04:10 hathach