USB Debugging – FT231XS Not Recognized by Windows

debuggingftdiserialusb

I am trying to implement a USB to serial bridge using an FT231XS to program an ATmega over USB using Optiboot.

My breadboard is exactly the application circuit for a bus-powered application (it draws 20 mA max), but when I plug the USB in the computer I get the error message "USB device not recognised". In the Device Manager it says "Unknown USB device (Device Descriptor Request Failed)".

The schematic is the following (I'm only missing the ferrite bead which is replaced here with a short, but I doubt it's the cause):

enter image description here

The circuit is implemented on a very clean breadboard (I hate wiring looms) that I made step by step crossing every wire off until none are left, and I triple-checked all connections. I've probed the USB lines in 10x mode and there is symmetric traffic, but since it's half-duplex it's difficult to tell if the device is replying at all without an in-depth knowledge of the protocol.

It's not a new computer; I've already used devices with FTDI chips in them so the drivers are installed correctly. I tried requesting an update for the driver in the device manager, but it says I'm already using the latest one.

Any ideas?


Update:

First, I had noticed my LEDs were connected to 5 V and not 3.3 V like the datasheet suggested. All other inputs are 5 V tolerant and I couldn't find an absolute max. for these ones (plus, any current drawn would mean this voltage collapsing to less than ~3 V), but just in case I fixed it to VCCIO instead and replaced the chip. No dice.

Second, I've started a brand new breadboard with ONLY this minimal circuit from the datasheet (still bus-powered), measuring every single component before putting it in. I've continuity-tested all pins of the IC with my phone in microscope mode and I have ESD-safe equipment.

enter image description here

With yet another brand new FT231XS, my last one… and still unrecognised.

The devices come from DigiKey (first one) and Mouser (other ones), so they can't be fake. I've already used many FTDI-based cables on this computer and a FT4222 without an issue.

I've finally updated my VCP and D2XX drivers using the all-included Windows installer from FTDI. No progress.

What's going on?

I've probed the USB signals at the legs of the IC breakout; they look very clean to me with nice constant dV/dt and barely any noise.

enter image description here

enter image description here

Strangely enough these waveforms look low-speed, whereas it's supposed to be a full-speed device. I don't know if that's normal. The IC shows high-Z on both pins with a multimeter, but there must be a switched pull-up because DP looks high most of the time.

I've also analysed the enumeration process with the trial version of USBTrace which stopped capturing after the notification "unrecognised" popped up, so it should be accurate. I don't understand it yet, perhaps someone here does? [Link removed by a moderator]

Best Answer

Finally solved it. It doesn't really make sense to me because I had checked everything about that end-to-end, but apparently D+ and D- were swapped. As soon as I swapped them, the USB traffic switched frequency from 1.5MHz to 12MHz and the device was recognized properly. The host was seeing the pull-up from the full speed device on D- and so the communication was never initiated at full speed. I had tried that at the very beginning, but it may have been with the previously-damaged IC from the 5V VCCIO.

So it's not exactly the definition of insanity to do the same thing and expect a different result, after all!

Related Topic