FTDI removes clone chips bricking driver

http://m.slashdot.org/story/208915

Maybe publicity on this issue made manufacturer to change plans… They understood that intentionally breaking USB-serial hardware owned by somebody else is not a good idea (bad PR and could be illegal).

Posted from WordPress for Android

8 Comments

  1. Tomi Engdahl says:

    FTDI yanks chip-bricking driver from Windows Update, vows to fight on
    Next driver to battle fake chips with ‘non-invasive’ methods
    http://www.theregister.co.uk/2014/10/24/ftdi_bricking_driver_response/

    Chipmaker FTDI has pulled a driver from Windows Update that could brick devices containing knockoff versions of its USB-to-serial bridge chips, but says it won’t back down on its aggressive anti-counterfeiting stance.

    Earlier this week, hackers from various hardware forums began noticing that FTDI’s latest driver would set a USB device’s USB product ID to 0 if it contained a fake version of one of FTDI’s chips. Once zeroed, neither Windows, OS X, nor Linux would recognize the device anymore, rendering it useless.

    Naturally, owners of devices containing the counterfeit chips were less than pleased.

    “As you are probably aware, the semiconductor industry is increasingly blighted by the issue of counterfeit chips and all semiconductor vendors are taking measures to protect their IP and the investment they make in developing innovative new technology,” FTDI CEO Fred Dart said in a blog post on Friday. “FTDI will continue to follow an active approach to deterring the counterfeiting of our devices, in order to ensure that our customers receive genuine FTDI product.”

    Dart said FTDI is working on a new version of its driver that will still reject non-genuine chips but will “do so in a non-invasive way that means that there is no risk of end user’s hardware being directly affected.”

    Reply
  2. Tomi Engdahl says:

    FTDI Drivers Break Fake Chips, Again
    http://hackaday.com/2016/02/01/ftdi-drivers-break-fake-chips-again/

    Just over a year ago, FTDI, manufacturers of the most popular USB to serial conversion chip on the market, released an update to their drivers that bricked FTDI clones. Copies of FTDI chips abound in the world of cheap consumer electronics, and if you’ve bought an Arduino for $3 from a random online seller from China, you probably have one of these fake chips somewhere in your personal stash of electronics.

    After a year, we have the latest update to FTDI gate. Instead of bricking fake chips, the latest FTDI drivers will inject garbage data into a circuit. Connecting a fake FTDI serial chip to a computer running the latest Windows driver will output “NON GENUINE DEVICE FOUND!”, an undocumented functionality that may break some products.

    FTDI gate mk. 1 merely bricked fake and clone chips, rendering them inoperable. Because fakes and clones of these chips are extremely common in the supply chain, and because it’s very difficult to both tell them apart and ensure you’re getting genuine chips, this driver update had the possibility to break any device using one of these chips. Cooler heads eventually prevailed, FTDI backed down from their ‘intentional bricking’ stance, and Microsoft removed the driver responsible with a Windows update. Still, the potential for medical and industrial devices to fail because of a random driver update was very real.

    The newest functionality to the FTDI driver released through a Windows update merely injects unwanted but predictable data into the serial stream. Having a device spit out “NON GENUINE DEVICE FOUND!” won’t necessarily break a device, but it is an undocumented feature that could cause some devices to behave oddly.

    Topic: FTDIgate 2.0?
    http://www.eevblog.com/forum/microcontrollers/ftdi-gate-2-0/

    Reply
  3. Tomi Engdahl says:

    Comments from http://www.eevblog.com/forum/microcontrollers/ftdi-gate-2-0/

    FTDIgate 2.0?

    Edit: Confirmed to be the standard behavior of the FTDI driver for a year now, but now comes back up because of the new driver beeing spread out by windows update. For a fix look at #msg854401

    Okay… connecting RX to TX actually reads back “NON GENUINE DEVICE FOUND!”. A brief google search tells me that that’s actually not new.

    Because they’re tired of fakes on the market?

    Sure, as if I would buy genuine FTDI chips now :-DD
    All new devices I have use the CH340G. Sending random characters on the RS232 interface may cause really bad things to existing products and the buyer often had no chance to know that he bought a fake chip… |O But that all had been discussed a year ago.

    So, just a warning for you all, be aware of the new FTDI driver coming with windows update!

    I have no problem using FTDI, or buying anything that uses FTDI. Don’t buy knockoff crap and it’s not a problem. On the off-chance you do end up getting a knockoff chip in a legitimate product, talk to the manufacturer so they can RMA it and get their supply lines sorted out.

    I’ve tried older drivers 2.10.00 and 2.08.30, both give me “NON GENUINE DEVICE FOUND!”. Can these chips now be permanently bricked??

    I think the fake chips are fine. But since FTDI cannot brick the counterfeit chips anymore they just send some garbage (“NON GENUINE DEVICE FOUND!”) over their data endpoints. Doing so won’t brick the chips but they will still render the products using them useless. I guess only the Windows driver can do this scam because for Linux, the source code for FTDI driver should be available and such behavior won’t be tolerated into a Linux kernel driver. Can you try these boards on a Linux machine?

    I have no problem using FTDI, or buying anything that uses FTDI. Don’t buy knockoff crap and it’s not a problem. On the off-chance you do end up getting a knockoff chip in a legitimate product, talk to the manufacturer so they can RMA it and get their supply lines sorted out.

    That’s great if you are a patient end-user consumer with a non-critical application and no particular time schedule.
    And buying something expensive enough to come with the bare minimum of “Customer Service”.

    Okay, got it back working ;)
    If you manually select an older driver, like 2.08.30, you have to change the driver not only on the obvious “USB Serial Port (COMx)” (ftdiport.inf) but also the corresponding “USB Serial Converter” (ftdibus.inf) listed under “USB-Controller” in the device manager. After changing BOTH to 2.08.30, the chip works fine again. It is easy to see if you list the devices by connection.

    Guess with the new driver being rolled out by windows update at the moment that might be a trap for lots of us, not having had to deal with this pain in the ass stuff for more than a year now.

    Reply
  4. Tomi Engdahl says:

    Adafruit Interviews The CEO Of FTDI
    http://hackaday.com/2016/02/08/adafruit-interviews-the-ceo-of-ftdi/

    When it comes to electronic hobbyists and EEs, there is no company that deserves a few raised eyebrows than FTDI. They made their name with USB converter chips, namely USB to serial chips that are still very popular today. So popular, in fact, that clones of these chips are frequently found in the $2 Arduinos from China, and other very low-cost devices. A little more than a year ago, a few clever people noticed FTDI drivers were bricking these counterfeit chips by setting the USB PID to 0000. The Internet reacted to this move and FTDI quickly backed down from that position. The Windows driver was fixed, for about a year until the same shenanigans were found again.

    Adafruit recently sat down with [Fred Dart], CEO of FTDI, giving us all the first facts and figures that aren’t from people frustrated with Windows’ automatically updated drivers. The most interesting information from [Fred Dart] is how FTDI first found these counterfeit chips, what FTDI chips are being counterfeited, and how many different companies are copying these chips.

    The company first realized they were being cloned when they couldn’t reproduce results of a Chinese-made ‘FTDI’ USB to RS232 cable that behaved strangely. A sample of the cables were shipped to FTDI and after inspecting the chip inside, FTDI found it was a clone with a significantly different architecture than a genuine chip.

    Exclusive interview with Fred Dart – CEO of FTDI @FTDIChip #FTDI @adafruit
    https://blog.adafruit.com/2016/02/08/exclusive-interview-with-fred-dart-ceo-of-ftdi-ftdichip-ftdi-adafruit/

    Reply
  5. Tomi Engdahl says:

    Fixing Fake FTDIs
    http://hackaday.com/2017/03/07/fixing-fake-ftdis/

    If you know where to go on the Internet, you can pick up an FTDI USB to Serial adapter for one dollar and sixty-seven cents, with free shipping worldwide. The chip on this board is an FTDI FT232RL, and costs about two dollars in quantity. This means the chips on the cheap adapters are counterfeit. While you can buy a USB to serial adapter with a legitimate chip, [Syonyk] found a cheaper solution: buy the counterfeit adapters, a few genuine chips, and rework the PCB.

    Why is [Syonyk] replacing non-genuine chips with the real FTDI?
    The best reason is FTDIgate Mk. 1
    FTDIgate Mk. 2

    Comment:

    Or just don’t bother and buy a board/cable with another UART to USB chip – like the Chinese CH340, Microchip’s MCP2200 or similar.

    Reworking the counterfeit boards does not make any economical sense, IMO. If you really need the features of the FTDI chip (like the bitbang mode) then buy a board with genuine chip. If you don’t (and most people don’t), then just go for one of the above and be done with it – and you will still save money. They are equally well (or better) supported than the old FTDI chip that doesn’t use a standard CDC class driver.

    Fixing Fake FTDI FT232RL Adapters (SSOP-28 rework with an iron)
    https://syonyk.blogspot.fi/2017/03/fixing-fake-ftdi-ft232rl-adapters-ssop.html

    The chips aren’t fake in the “Oh, the factory ran an extra few shifts off the books” sense. They’re fake in the “The fake chips are actually a microcontroller programmed to behave (almost) exactly like the FT232R” sense – and, they do a pretty good job at low speeds!

    Zeptobars did some analysis and demonstrated that the fake chips are completely different under the hood, and then of course FTDI messed with their drivers to either brick the fake chips or insert garbage data if you’re using one on Windows.

    Fake FT232R Identification

    FT232R chips have a unique ID burned into them – at least, the legitimate ones do. The fakes have an ID, but it’s hardly unique – the same ID will be reused extensively before a new ROM is spun. This makes identifying the fakes easy – buy a few, and if they all have the same name, they’re fake!

    Another way is to search for your chip’s serial number. A50285BI is a common fake one, and if you see any hits for your serial number on Google, it’s almost certainly a fake.

    I set out to replace my fake chips with legitimate chips. I wanted reliable 3M baud communication, and also hands on experience with surface mount rework (I’ve not done it before). Since the adapters are cheap and the legitimate chips are cheap-ish ($4.50/ea in small quantities), it seemed like a good project to start out with.

    Reply
  6. Tomi Engdahl says:

    Using FTDI Chips With Python
    https://hackaday.com/2018/12/19/using-ftdi-chips-with-python/

    FTDI are a company known for producing chips for USB applications. Most of us have a few USB-to serial adapters kicking about, and the vast majority of them run on FTDI hardware (or, if we’re honest, counterfeit copies). However, FTDI’s hardware has a whole lot more to offer, and [jayben] is here to show us all how to take advantage of it using Python.

    Programming FTDI devices in Python
    https://iosoft.blog/ftdi-python/

    FTDI chips are frequently used as USB-to-serial adaptors, but the newer devices have the ability to drive more complex protocols such as SPI and I2C.

    I like to use Python when first experimenting with new PC hardware, and there are some Python libraries for interfacing to FTDI chips, but I couldn’t find any real projects or complete worked examples.

    Reply
  7. Tomi Engdahl says:

    Sarjaportin numeron voi halutessaan vaihtaa Windowsin Laitehallinnasta, mutta yleensä nuo driverit varaavat ensimmäisen vapaan porttinumeron l. sinulla on Windows varannut porttinumerot 1 – 4 johonkin muuhun tarkoitukseen.
    Porttinumeron vaihtaminen tapahtuu seuraavasti:
    - Avaa tietokoneen laitehallinta, tämä tapahtuu eri tavoilla riippuen Windows-versiosta
    - Etsi kohta Portit (LPT ja COM)
    - Täällä pitäisi näkyä tuon USB-Serial muuntimen ajurin asentama sarjaportti, sinun tapauksessasi COM 5
    - Avaa portin tiedot hiiren klikkauksella
    - Avaa portin asetukset-välilehti
    - Avaa täältä #Lisäasetukset#
    - Alaosassa vasemmalla on porttinumerovalikko, siinä näkyy nykyinen porttinumero ( l. 5)
    - Avaa alasvetovalikko, esiin tulee porttinumerolistaus, näet nyt mitkä porttinumerot ovat käytössä, niisä on perässä teksti “käytössä”
    - Valitse nyt haluamasi portti, jos portti on jo käytössä, kone heittää herjan, että “oletko nyt ihan varma valinnastasi”, laite X ei ehkä toimi tämän jälkeen oikein.

    Ylläolevalla ohjeella pystyt vaihtamaan sarjaportin numeron Windowsista käsin.

    Reply
  8. Tomi Engdahl says:

    muokannut FT232R:n EEPROM:a ftdi_clone_tool.py nimisellä ohjelmalla. FTDI rupes jossain vaiheessa brikkaamaan feikkejä FT232R-piirejä kirjoittamalla epäkuranttia dataa EEPROM:iin ja Marcan teki python-softan joka korjaa EEPROM:n. Scripti lukee EEPROM:n sisällön, muokkaa sitä ja laskee uuden ehjän checksumin, joten scripti voi olla helppo muokata omaan käyttöön sopivaksi:
    https://marcan.st/transf/ftdi_clone_tool.py

    Tässä selostus siitä mitä aikoinaan tapahtui:
    https://hackaday.com/2014/10/24/ftdi-screws-up-backs-down/

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

*

*