LowPowerLab Forum

Hardware support => Moteino => Topic started by: Felix on December 15, 2014, 08:12:14 PM

Title: FTDI FT231 FT232 drivers
Post by: Felix on December 15, 2014, 08:12:14 PM
FTDI has dropped the ball big time with their ludicrous release of a driver that deletes the VID/PID of supposed fake chips. There is some indication this might happen on genuine chips as well, although I don't have definite proof.

The latest drivers released with the Arduino IDE should work with MoteinoUSBs and FTDIAdapters.
Otherwise please get the latest drivers from the FTDI site directly (http://www.ftdichip.com/Drivers/VCP.htm).
On my Win7x64 box I run FTDI drivers v2.12.0.0 and I've not had any problems with any of the MoteinoUSB or FTDIAdapter boards, nor with those that were returned by some of the LowPowerLab concerned customers.

Again, to all the folks that have gotten MoteinoUSB or FTDIAdapter boards:
The FTDI chips, as well as all other chips are genuine and sourced through Digikey/Mouser. I pledge I have NEVER had and NEVER will source chips from china or from dubious sources. That is why my products cost more than chinese $2 boards on ebay which are a gamble to be fakes or rejects.
Title: Re: FTDI FT231 FT232 drivers
Post by: HeneryH on December 16, 2014, 04:52:15 PM
I'll try the diagnostic steps sprinkled around the blogs to try to determine if this is the root cause of why my FTDI 231s work fine and 232s don't (or vice versa).

Mean while, here is a statement from FTDI - http://www.ftdichipblog.com/?p=1053

and a thread that started out civil then quickly went south at http://www.eevblog.com/forum/reviews/ftdi-driver-kills-fake-ftdi-ft232/
Title: Re: FTDI FT231 FT232 drivers
Post by: Felix on December 16, 2014, 09:09:28 PM
Mean while, here is a statement from FTDI - http://www.ftdichipblog.com/?p=1053
Yep, the one and only statement, designed to diffuse the guilt under the rug instead of apologizing. If they recognized they needed to pull the driver, they should have said "sorry we destroyed your property". Instead they lied that they value customers, it's plain obvious they don't and they don't care, and they will do whatever they want. What they did is basically cyber trespassing and vandalism, and they should go to cyber jail for that.
Title: Re: FTDI FT231 FT232 drivers
Post by: kobuki on December 17, 2014, 11:49:32 AM
I thought I just drop it here, might be a useful read: http://www.eevblog.com/forum/reviews/alternatives-to-ftdi-usb-to-uart-converter/ (http://www.eevblog.com/forum/reviews/alternatives-to-ftdi-usb-to-uart-converter/)
Title: Re: FTDI FT231 FT232 drivers
Post by: TomWS on December 17, 2014, 12:13:44 PM
I thought I just drop it here, might be a useful read: http://www.eevblog.com/forum/reviews/alternatives-to-ftdi-usb-to-uart-converter/ (http://www.eevblog.com/forum/reviews/alternatives-to-ftdi-usb-to-uart-converter/)
Kobuki (or is it Kobuki-san?), thanks for posting this (for two reasons)!

The first reason is that it avoids getting tangled into the WAY over-abused FTDI bashing - ok, they suck, let's move on.  Which brings me to the second reason, it provides a possible path to move on to!

I did a really quick scan of the thread, but didn't see any immediate reference to Arduino loading.  Did you see one or are aware of Arduino loaders that use any of these alternatives?

Tom
Title: Re: FTDI FT231 FT232 drivers
Post by: kobuki on December 17, 2014, 04:05:53 PM
Well, Arduino support is important for me too. I assume you mean support for auto-reset for programming, and all that is required is the presence of the DTR and/or CTS signal, IIRC. I remember reading that both is pulled for reset by the official IDE for compatibility reasons. I have a CP2102 adapter that works fine, for example. In many online shops the WCH one is recommended as alternative, explicitly advertising this capability, and it's probably the cheapest. Several Cypress parts are supposedly pin-compatible drop-in replacements, with their own driver, of course.

A little offtopic on TomWS' question: I have an interest in Japanese culture, but my nick actually originates from an old Hungarian cartoon, where a character from the future is called Köbüki, but by net customs I just write it as kobuki. It was kinda random to choose this nick, TBH. And it indeed has a little Japanese-sounding tone, so I left it as is :)

BTW, EEVBlog's author, Dave has a few hilarious vlogs of this incident, a recommended watch. He is quite the outspoken person...
Title: Re: FTDI FT231 FT232 drivers
Post by: TomWS on December 17, 2014, 06:18:55 PM
... but my nick actually originates from an old Hungarian cartoon, ...
Well, Egészségedre!

Again, thanks for the link.
Tom
Title: Re: FTDI FT231 FT232 drivers
Post by: HeneryH on December 19, 2014, 07:23:55 PM
Some of my recent experience... I've been in a real twilight zone of weirdness with driver situation but in the end I have it all worked out.  I can't explain it but a seemingly random combination of versions, reboots and using external powered usb hub seem to have gotten them all working.

The result of my experience is that I have them all working and using the latest .12 drivers.
Title: Re: FTDI FT231 FT232 drivers
Post by: Felix on December 19, 2014, 07:39:06 PM
Well glad to hear that sir :)
Title: Re: FTDI FT231 FT232 drivers
Post by: kobuki on December 19, 2014, 08:09:58 PM
I've also been through my share of the ordeal surrounding fake chips. Thankfully I've been able to debrick both disabled ones, using the open source Linux tool. The only reason I chose FDTI adapter boards instead of cheaper alternatives was their unique serial number exported on the USB bus. I need that to easily tell apart plugged in devices by creating symbolic names using udev rules on Linux, without juggling with USB bus/port numbers... I guess I'll need to find an easy alternative to that.
Title: Re: FTDI FT231 FT232 drivers
Post by: ggallant on December 20, 2014, 11:55:39 PM
I recently switched a Microchip PIC24 board from FTDI to use a Microchip MCP2221. Designed it prior to the driver flap as the 2221 comes in a easier to solder package. Don't have any idea how to control the GPIO lines that might be used for DTR/Reset. Still havn;t populated the boards.
Title: Re: FTDI FT231 FT232 drivers
Post by: ColinR on December 21, 2014, 02:52:22 AM
Holy crap. Thanks for the heads up.

C
Title: Re: FTDI FT231 FT232 drivers
Post by: kobuki on December 21, 2014, 05:05:34 AM
I recently switched a Microchip PIC24 board from FTDI to use a Microchip MCP2221. Designed it prior to the driver flap as the 2221 comes in a easier to solder package. Don't have any idea how to control the GPIO lines that might be used for DTR/Reset. Still havn;t populated the boards.
Can its USB driver change the state of the DTR line via the standard serial API? If so then there should be no problem. The DTR line is used to perform the reset of the chip when needed.

EDIT: it seems this chip is not a complete RS232 solution, it only has RX/TX and some GPIO lines. I guess it would be more difficult to use as replacement.
Title: Re: FTDI FT231 FT232 drivers
Post by: ggallant on December 21, 2014, 07:22:25 PM
I hand solder the prototypes and the FTDI is a pain. Microchip has a Windows only utility to exercise the extra features. I added a capicatively coupled GPIO to MCLR wire to attempt a remote reset similar to the Arduino.
Title: Re: FTDI FT231 FT232 drivers
Post by: DD9FL on December 25, 2014, 01:01:54 PM
Last 3 weeks I searched for my problems with Moteino-USB too. I tested a lot of drivers and had to reboot my PC (W7, 64 bit) for 100 times. But I didn't found the bug.
So I tested all my USB cabels I found here. The short cables (max. 1 ft) are working, but the longer cables (2 - 6 ft) didn't work.
So I studied the datasheet of the FT232RL and the FT231X. I found the difference: The FT231X must have 2 resistors (27R) in the USB data lines (to match the USB line impedance of 90 Ohm) and the RESET# have to be connected to 3V3OUT.
I cutted the datalines and soldered the 2 resistors in the lines (I only found some 1206 resitors).
For the RESET# connection I make a small solder bridge between pin 13 - 14 of FT231X.
Now my 2 Moteinos are working fine :-))

Merry Christmas from Germany
Wilfried
Title: Re: FTDI FT231 FT232 drivers
Post by: Felix on December 26, 2014, 11:27:15 AM
Last 3 weeks I searched for my problems with Moteino-USB too. I tested a lot of drivers and had to reboot my PC (W7, 64 bit) for 100 times. But I didn't found the bug.
So I tested all my USB cabels I found here. The short cables (max. 1 ft) are working, but the longer cables (2 - 6 ft) didn't work.
So I studied the datasheet of the FT232RL and the FT231X. I found the difference: The FT231X must have 2 resistors (27R) in the USB data lines (to match the USB line impedance of 90 Ohm) and the RESET# have to be connected to 3V3OUT.
I cutted the datalines and soldered the 2 resistors in the lines (I only found some 1206 resitors).
For the RESET# connection I make a small solder bridge between pin 13 - 14 of FT231X.
Now my 2 Moteinos are working fine :-))

Merry Christmas from Germany
Wilfried


Wilfried,
This is the consensus after some research and information from other sources as well. It looks like depending on static and other conditions like noise on longer cables, the resistors will make the difference. The datasheet contains the resistors but never mentions they are required or why they are 27ohm. Any future design revisions of all FT231xs chips will include these changes. Thanks for adding in your findings.
Merry Christmas!
Title: Re: FTDI FT231 FT232 drivers
Post by: HeneryH on December 27, 2014, 10:26:03 AM
...
The FT231X must have 2 resistors (27R) in the USB data lines (to match the USB line impedance of 90 Ohm) and the RESET# have to be connected to 3V3OUT...
The solder bridge for reset~ seems pretty easy since pin 14 (reset~) is right next to 13 pins (3.3) and 15 (vcc) .  The resistors in-line are much more challenging for me at my skill level.  Did you happen to try one fix without the other to see of you get any benefit from just pulling up the reset~ line?
Title: Re: FTDI FT231 FT232 drivers
Post by: Felix on December 27, 2014, 09:53:01 PM
If you follow the D+/D- lines they go through vias over the other side where you could cut the traces and scrape them to allow soldering a 0603 resistor on each trace. This is tedious but if you do it once it gets easy.
Title: Re: FTDI FT231 FT232 drivers
Post by: DD9FL on January 05, 2015, 04:16:16 PM
Here are the photos of my modified Moteino.
The 2 resistors (27R, 0603) are feed into the D- and D+ USB lines.
At the 2nd photo you will find the bridge between Pin 13 an 14 of the FT231X (Reset pin).
I don't checked the reset pin with and without the bridge.

The resistors are necessary because of the low impedance (~36 Ohm) of the FT231X input/output at the USB pins.
The ímpedance of an USB cable is 90 Ohm. If you will terminate the cable with 36 Ohm there will be a lot of reflections.
If you terminate the cable with 90 Ohm (27R + 36R + 27R) there are no reflections and the data transmission will be ok.
If you short the resistors and you use a very short USB cable, the echos are to short in relation to the transfer rate (12 Mbit/s @ USB 2.0). When you use a longer cable or an expensive lossless cable you will expect data transmission problems.

Wilfried
Title: Re: FTDI FT231 FT232 drivers
Post by: Felix on January 28, 2015, 01:47:09 PM
Heads up - MoteinoUSB and FTDI adapters are now shipping with the D+/- resistors and FT231 RST pullup. I will post photos of them soon on the product pages.
Title: Re: FTDI FT231 FT232 drivers
Post by: CapnBry on June 06, 2015, 09:31:02 AM
Here are the photos of my modified Moteino.
The 2 resistors (27R, 0603) are feed into the D- and D+ USB lines.
At the 2nd photo you will find the bridge between Pin 13 an 14 of the FT231X (Reset pin).
Wilfried, you are my hero. I use a Moteino to receive the power meter readings from an Black and Decker EM100B PowerCost 433Mhz transmitter (https://github.com/CapnBry/Powermon433) that is outside. The signal strength at my "base station" is pretty weak, leading to me needing to have an antenna stuck to my wall to get any sort of reliable signal. I had tried endlessly to run the moteino on a Raspberry Pi 2 Model B in another room closer to the transmitter and the FTDI USB driver would error out within 30 seconds claiming a USB bus error.

I've modded my moteino with your 27 ohm resistor fix and it has been working brilliantly for a day now. I assume the combination of the signal reflections and the Pi's garbage USB controller were just too much for the driver to deal with. Thank you so much for sharing your fix!
(http://i.imgur.com/joGa3ZIl.jpg) (http://imgur.com/joGa3ZI)
Title: Re: FTDI FT231 FT232 drivers
Post by: rpetz2007 on June 15, 2015, 10:43:31 AM
You guys rock - I was banging my head against a wall trying to get my USB moteino to come up as a proper device in Windows.  After moving to a short USB cable they register correctly

Thanks guys
Title: Re: FTDI FT231 FT232 drivers
Post by: HeneryH on August 05, 2015, 02:06:09 PM
I don't see renderings of the MotionMot on GitHub so I had to post pictures which aren't that great.  I don't have a macro lens.

Any suggestions for cutting traces and soldering in the resistors on the MotionMot?  I'm guessing it would be on the top view between the connector and that chip.  That could be very difficult to mod.  I only have a single FTDI adapter and that just got used by my Pi-Gateway master.  Now I need to fix my MotionMots or USBMot to get running again.

(https://lh3.googleusercontent.com/XbG3lnv0vemun4-ipVFvIz9RUtrfijbacTTLSwa1P1A=w1271-h970-no)

(https://lh3.googleusercontent.com/W0nLgltr7eV4ceMrMtd2b7TIxmaYbgJ3145bKoBAA_g=w1249-h969-no)

Here is a better image from Felix's web site
(https://farm4.staticflickr.com/3943/14933181623_9dbcac1648_o.jpg)

Hmm, images aren't showing up.  Hold please...  Frickin google photos has always been a PITA for sharing photos via link. 
Title: Re: FTDI FT231 FT232 drivers
Post by: Felix on August 05, 2015, 10:19:08 PM
HeneryH,
Unfortunately the traces are short and they don't transition on the bottom. If you're very good, you could cut the traces in the middle, scrape the mask off and solder the resistors in line. 0603 will be tight, 0402 might work well but difficult to handle due to the small size.
May I suggest trying a very short shielded cable and that might solve all your issues.

Anywsay here's what they look like in R2, notice the 0603 27ohm resistors:

(https://farm1.staticflickr.com/508/20143691178_2a9f550f95_o.jpg) (https://flic.kr/p/wG2FAj)

I've just done an exercise on a SonarMote which also had the same issue and it works ok, a bit tedious to get a very fine soldering tip in there but it works.
You have to first scrape the mask, but don't scrape it off anywhere but from the traces otherwise you risk making bridges when soldering, then cut 1/3 of the length of those traces in between the chip and the USB, then wet them with flux/solder, then wet flux resistors, then carefully solder each resistor. Results below. The D- trace is close to the VCC/5V from the USB so avoid making a bridge there.