I odn’t know if I’ve been in a cave for the last few months – I certainly have for the last couple of weeks (literally), but when I came to program my little ESP8266 boards using the only trusty FTDI chip I have here in Spain (and as you can imagine they don’t sell them at the corner shop) – I was mortified to find that the FTDI board didn’t work.
Well, it did not take long to realise that I’d missed one of the biggest scandals of modern times, the bastards at FTDI have DELIBERATELY put out an update for Windows that BRICKED counterfeit chips (now removed but too late, the damage is done).. HOW THE HELL ARE WE END USERS SUPPOSED TO KNOW??? How many people out there go and buy a car and get the manufacturer to sign a document to state that every single component in there is genuine? I thought not. Think of all the schools who will have bought this kit on a budget, totally unaware of what was about to happen mid-lesson!!
So it turns out there are a number of counterfeit versions of the large chip you see on typical FTDI boards – and the Windows update has been deliberately BRICKING them – I would imagine this will bankrupt the company once a large manufacturer sues the ARSE off them.
Anyway, after spending the afternoon reading this up – it turns out the product ID is set to ZERO in the internal EEPROM. Windows can neither make use of this NOR can Windows 8 do anything about it – but Linux can – and guess what, I just happen to have a RASPBERRY PI 2 here with me.. .i.e. a Linux computer.
I scoured the web, one guy offered a solution for Windows – didn’t work as Windows can’t even SEE a device with product ID 0000… so that went out of the “window” – another fellow wanted you to download something to a Linux machine but didn’t say where. That would be fine for most Linux users but I wasn’t suer – anyway here’s his blog. http://www.minipwner.com/index.php/unbrickftdi000
Finally after much searching I found this. http://binefa.cat/blog/?p=80
It didn’t work – the last line was wrong somehow. but comparing the two I could see what was wrong in that last line from the OTHER blog… and so…
Firstly plug the knackered FTDI board into your PI and try this..
You’ll see a line with a reference to the board and a PID of 0000.
$ sudo apt-get install make gcc libftdi-dev
$ wget http://rtr.ca/ft232r/ft232r_prog-1.24.tar.gz
$ tar -zxvf ft232r_prog-1.24.tar.gz
$ cd ft232r_prog-1.24
$ sudo ./ft232r_prog –-old-pid 0x0000 -–new-pid 0x6001
So… unplug the board, plug it back in, run this checker again..
and hopefully, Voila - Bob’s your uncle – worked for me. I unplugged the FTDI – plugged it back into Windows and…. started blowing Arduino programs once again just like the good old days.
I’d like to say at this point – I do NOT condone piracy, the company obviously worked hard to make a chip and a driver to work together – so I’d say this – don’t consider this a long term solution. Go out and buy a proper board. BUT – I consider the tactic against the end user here to be an ATTROCIOUS mis-use of trust. I suggest if you really want long term success at programming your boards – find an alternative from a company who CARE about end users! Oh and I accept NO responsibility if this breaks anything – make sure the chip is 0000 before you do this – i.e. deliberately bricked.