new FTDI driver deliberately bricking devices

Status
Not open for further replies.

Nantonos

Well-known member
This does not affect Teensies directly but will affect anyone who uses Arduino as well, or who is using FTDI serial to USB chips to connect the additional teensy Serial1,2,3 pins to an additional USB socket.

USB-to-serial chip manufacturer FTDI has deployed a new version of their Windows device driver, with a small bug: it doesn't work with many Arduinos and is damaging devices that used to work. Turns out that it isn't a bug -- FTDI's new driver is deliberately "bricking" devices if it thinks the chip is counterfeit (which is fairly easy to see). FTDI says it is in the license agreement and claims that they are "definitely not targeting end users", despite the fact that their actions are destroying end-user devices where the purchasers had no idea about the provence of the chips inside. Various communities respond and some question if the new driver is malware.
http://www.metafilter.com/143836/FTDI-driver-destroys-devices
 
This episode reminds me of that infamous DirecTV Network hack where they downloaded a logic bomb over weeks to brick receivers with fraudulent credentials just before a big sporting event.

I can understand FTDI's exasperation re: fake chips. They like charging a premium and these clones are undercutting their efforts. Is this a good tactic though? I'm skeptical. Seems to me that many of these USB-Serial chips are legacy products that their makers are trying to wring one last drop out of. Thus, this stunt may very well accelerate the tendency of folk to use small MCUs as USB interface chips instead, just like the Arduino Uno.

Uno.jpg

On the Arduino Uno, the 16U2 Atmega does the heavy lifting re: USB. Looks like the actual UNO MCU gets a ceramic resonator (with its comparatively awful accuracy and temperature-sensitivity) while the USB-interface (circled red) gets a proper crystal. A solution based on the FTDI chip should be a less expensive option than the 16u2 approach chosen by the Arduino team in its latest revision of the Uno. However, using a 16u2 allows the Arduino team to set its own USB Vendor ID and Product ID for Plug and Play happiness on Windows and other platforms. I presume that was the reason for the switch, i.e. making the product that much easier to support from the OS side.

It's interesting that they included a dedicated ICSP pin header for flashing the 16u2 rather than relying on a few pads to program it via a bed of nails. I guess it speaks to the confidence the Arduino team has re: the reliability of its USB solution? :-D Just kidding!

Last but not least, Hack a Day published a link to a workaround - i.e. a means of resetting the PID to 6001 from 0 to re-enable the bricked devices. But every time that product is used with an updated Windows machine, it will be bricked again. Bottom line, the clone vendors should be creating bona-fide clones with their own set of drivers, etc. instead of copying FTDI's stuff. But in a day and age where LM7805's are being counterfeited (!!!) I suppose that's a long shot.
 
Last edited:
Status
Not open for further replies.
Back
Top