# New FTDI Windows driver bricks fake FTDI chips



## gxbfxvar (Oct 23, 2014)

As reported around the net, the new FTDI driver seems to kill fake FTDI FT232 chips:
http://www.eevblog.com/forum/reviews/ftdi-driver-kills-fake-ftdi-ft232/
http://hackaday.com/2014/10/22/watch-that-windows-update-ftdi-drivers-are-killing-fake-chips/
http://www.reddit.com/r/arduino/comments/2k0i7x/watch_that_windows_update_ftdi_drivers_are/
http://hardware-beta.slashdot.org/story/14/10/22/185244/ftdi-reportedly-bricking-devices-using-competitors-chips

Luckily, the fix on Linux is easy:
$ sudo ./ft232r_prog --old-pid 0x0000 --new-pid 0x6001

I tested my devices and some of them are indeed using those fake FTDI chips. This means that I no longer can use Windows to development software for them. Not that big loss, but still annoying. Only problem is that I don't know should I annoyed to
1) FTDI, who made such a feature to the driver
2) Device manufacturers, who went through the cheapest route and used the fake FTDI chips
3) The actual creators of fake FTDI chips, who were too lazy to get their own USB IDs for their devices
4) or Microsoft, who allows such drivers to be distributed through automatic updates

Probably I'll stop using FTDI chips (fake or not) completely and also try to do most of my development on Linux machines...


----------



## wlanboy (Oct 23, 2014)

Hell no.

Thank you for the warning.

That can kill a lot of USB to a serial port adapters and a lot of Ardunio stuff.

Why do they deliver this kind of drivers through the Windows automatic update?


----------



## HalfEatenPie (Oct 23, 2014)

So...

How about for those who don't deal with all these, care to give me a crash course on what a FTDI chip is and how it's most commonly used?  I'm assuming it has to do with Ardunio and whatnot, but just want to be sure.

Thanks!


----------



## wlanboy (Oct 23, 2014)

HalfEatenPie said:


> So...
> 
> How about for those who don't deal with all these, care to give me a crash course on what a FTDI chip is and how it's most commonly used?  I'm assuming it has to do with Ardunio and whatnot, but just want to be sure.
> 
> Thanks!



USB to serial port adapters
USB to I2C adapters
USB to SPI adapters
USB Host controllers
Last one will catch some SD Card adapters too.


----------



## HalfEatenPie (Oct 23, 2014)

wlanboy said:


> USB to serial port adapters
> USB to I2C adapters
> USB to SPI adapters
> USB Host controllers
> Last one will catch some SD Card adapters too.



So the title says bricks.  I'm assuming it simply won't read/acknowledge the fake ftdi chip and it'll still work on other computers without this kind of update?

Because my understanding of bricking (e.g. like a phone) is basically making the device unusable.


----------



## wlanboy (Oct 23, 2014)

HalfEatenPie said:


> So the title says bricks.  I'm assuming it simply won't read/acknowledge the fake ftdi chip and it'll still work on other computers without this kind of update?
> 
> Because my understanding of bricking (e.g. like a phone) is basically making the device unusable.


It is a soft brick.



> FTDI is intentionally breaking other devices.
> 
> 
> Someone sat down, and wrote a piece of code that resets the PID to 0, which breaks the device.
> ...


----------



## gxbfxvar (Oct 23, 2014)

FTDI FT232 chip shows serial port pins (uart tx/rx) found from many microcontrollers and bigger processors as USB serial console.

It is available in many forms, like as cables, small breakout boards, or embedded into various devices (Arduino Duemilanove, for example).

Premium electronics/Arduino shops like Sparkfun and Adafruit use real FTDI chips in their products, but many clone makers can possibly use the clones/fake ones to cut the costs.

The bricking is not actually fatal. The new FTDI Windows driver will issue an EEPROM write command which works only on certain fake FTDI chips and as the result of the command, PID of the fake FTDI chip is set to 0000. After this Windows no longer recognizes the fake chip as a serial port USB device.

You can reprogram the EEPROM and correct PID on Linux using an open source tool, but as soon as you connect the fake chip to Windows, the PID is zeroed again.

Also, new official Arduino devices starting from UNO use a separate AVR microcontroller instead of FTDI FT232 for USB serial console, so they are not affected by this in any way.

There are other TTL-UART-to-USB converters, like Prolific PL2303, but Prolific is using similar tactics in their drivers - they just BSOD the Windows instead of bricking the fake chip.


----------

