FTDI Broke my Arduino Nano
Written by Bryce Ringwood   

I know, I know ... the Arduino isn't an old radio. I just didn't know where to put this annoying topic. I'm sure plenty of my er, followers have Arduinos, and some might be banging their heads against this problem, like I did. Here's what happened.

I purchased an Arduino Nano from a reputable firm, along with some attitude (that's "xyz" not "mental") sensors hoping to make a magnetometer among other things. I installed everything on a Windows 8.1 computer, wired it all up, programmed and everything worked well.

Then everything stopped. I looked in the computer's device manager and saw a yellow triangle plus exclamation mark with the cryptic wording FT232RL. To compound matters, the program on the Nano was clearly running - the Nano just didn't want to talk to me over the USB port any more.

Even more puzzling - the Nano showed as an FT232RL on my other computers - but wouldn't work.

I did what anyone would do in this situation, namely PANIC.  I frantically googled everything I could. I assumed it must be my software. I then found that Future Technology Devices International  (FTDI) had updated their device driver to prevent fake chips from working, but didn't think that could apply to me - after all my chips had authentic FTDI trademarks and markings.

The Fakeduino FTDI chip with fake trademark and markings waiting to trap its unsuspecting victim i.e. Me

I bought another Nano - genuine Arduino - branded. It worked perfectly. I bought an In-System-Programmer (ISP - worth every penny) and reprogrammed the bad Nano to blink - which it did. Still no response from the USB. OK - If push came to shove, I would replace the FDTI chip, but not out of choice, since the hot-air pencil used to remove the bad chip would probably melt the plastic round the  header pins.

Eventually I had to face the facts - my Nano's UART had been prevented from working ("bricked") by FTDI. They had done this via a Microsoft update.

The important thing to note is that not only did they prevent the driver software from operating with the chip, but they also modified the chip itself so that it would no longer operate with earlier software on my old XP computers. At this point there were a few possibilities:

  1. Return the Nano to the supplier and ask to be refunded. Use the refund towards a genuine Arduino. Under ZA law, the supplier is obliged to refund you.
  2. Buy a (hopefully) genuine FT232RL from RS electronics and replace the bad chip. The replacement will cost about R80-00 and somewhat chillingly, they are ex-stock - meaning the demand must be large.
  3. Ignore the  problem. Use the genuine Nano for development, which needs the serial port, but program the bad Nano with the ISP and use it for deployment.
  4. Fix the problem by reprogramming the chip and reinstalling the driver software from an earlier time.

Of course, you should opt for the first option, but real men don't return stuff. Naturally, I went for option 4 as it was the least sensible. Here's what you have to do:

  1. Understand the problem fully. Its not just the device driver software that is preventing the chip from working properly. Changes have been made to the firmware - in this case data inside the chip. 
  2. Prevent Microsoft update from installing further unwanted changes.
    1. System properties->Hardware->Windows Update-> Check "Never Search Windows update ..." (The phraseology is different for different Windows versions).
  3. With the chip plugged in :
    1. System properties->Hardware->FT232R USB UART->Properties->Details->Hardware IDs
    2. You will see USB\Vid_0403&Pid_6001&Rev_0600 on a "fixed" chip. ....Pid_0000... on a bricked chip.
    3. If you see 6001 as above - you have a dfifferent problem. Maybe the driver needs to be installed.
  4. Uninstall the FTDI driver software completely. Delete all the files and clean the registry using regedit. and or Ccleaner. Check the WINDOWS\SYSTEM32\DRIVERS\FTDI directory
  5. Reinstall the old drivers.
    1. Download them and unzip them to a directory of your choice.
    2. System Properties->Hardware->FT232R->Install from a list->USB Converters->FTDI and select the drivers from the location you specified.Mprog Program - alter the PID
  6. Remove the changes to the FTDI EEPROM. This isn't a choice - you have to do it:
    1. Download "Mprog3.5.zip" from FTDI's web site and extract the file to a folder. This program has been superseded - read the warnings!
    2. Run Mprog3.5.
    3. scan for devices - you should find at least 1.
    4. tools->read and parse  - all the edit windows will come to life.
    5. File -> Edit.
    6. Change the PID from 0000 to 6001
    7. Program.
  7. Unplug the Nano and Plug it in again - all should be well. 

I don't believe FTDI did the right thing, since the end-user is the helpless victim and like me, is unaware that the product they buy contains counterfeit chips. I can understand FTDI's rage at having their property (and their employee's jobs) stolen and in a normal society, we should return all counterfeits and get our money back all the way back down the chain, so the counterfeiters eventually lose. In this context, a normal society is one where honesty prevails and money represents an honest exchange of values.  Sadly, the only people to emerge from this unscathed are the counterfeiters who can only operate because a sick society allows them to do so.

 

 
Joomla template by a4joomla