FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  


Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support

New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Author Topic: FT313H ASYNC List hang  (Read 558 times)


  • Newbie
  • *
  • Posts: 3
    • View Profile
FT313H ASYNC List hang
« on: May 08, 2020, 03:24:04 PM »

I am working on an embedded system trying to use of the FT313H Hi-Speed USB Host Controller. The system uses an ARM based SoC runnning an RTOS and a USB Host Stack from Micro-Digital (smxUSBH). Previous versions of the system used an ISP1761 USB HC. But, I am trying to replace this part with multiple FT313H parts (currently only 1 device is installed). Micro-Digital has provided me with an EHCI compliant Host Controller Driver. However, it must be modified to work with the FT313H.

Currently I am perfectly able to  communicate with the FT313 registers and can successfully access its internal memory via the MEMADDR, DATAPORT and DATASESSION registers.
I can detect insertion of a peripheral device, reset the port, and determine the speed of the peripheral from the registers. But, I am having trouble performing the device enumeration operation when a device is connected.

The driver creates the QH and QTD structures to perform the "Get Device Descriptor" operation, sets the ASYNCADDR register to point to the QH Head and then enables the Async list execution by setting the ASCH_EN (bit 5) of the USBCMD register. But, the device does not seem to complete the operation.

The ASYNCADDR does change to point to the second (terminating) QH. But I cannot tell if it attempted to perform the transfers in the linked QTDs.

I have a Beagle 480 USB Analyzer connected to the port and can not see any valid transfers. I would expect to see a SETUP, IN and OUT packets.

I've tried to use the TESTMODE and TESTPMSET1 registers to send the SETUP packet but I cannot figure how to accomplish this.

I would really appreciate any technical help anyone can provide. I can provide register and memory dumps. I feel that if I can get the first USB operation to complete, I should be able to everything else working.

FTDI Community

  • Administrator
  • Sr. Member
  • *****
  • Posts: 484
    • View Profile
Re: FT313H ASYNC List hang
« Reply #1 on: May 13, 2020, 04:31:16 PM »


All the information on the FT313H can be found on the product page:


The FT313H is quite an old product.
See the UMFT313EV which can be used for test, reference and evaluation.

There is only one FT313H Example.

The best USB Host solution we have is the FT90x.

Maybe other users in the community will be able to help with your issue.

Best Regards,
FTDI Community