Month: March 2015

Unbrick bricked FTDI chip

Last year around October, FTDI, the manufacturer of the popular USB to Serial converter used by many Arduinos released a driver (2.11.0 and 2.12.0) that bricks chips that it believes to be counterfeit. What it did was to set the PID (Product ID) to 0000 instead of 6001 which renders the chip unusable as Windows cannot find a driver for it. However, there seems to be a fix created by the maker community out there and so today we will be seeing on how to do it. I was given an Arduino Nano by my classmate but when I got it I could not program it. I then checked the PID at the device manager and it was showing 0000.

(This tutorial is largely based on Rei-labs.net tutorial here, but I decided to do my own version)

First thing to do is to uninstall the drivers. You can do this by going to device manager > Ports (COM & LPT) > FT232R USB UART. Right click and select Uninstall. Tick Delete the drivers software for this device and click OK.

Now go to C:\Windows\System32\DriverStore\FileRepository and delete anything that starts with FTDI (ftdibus and ftdiport)

FTDIBUSPORT

Now its time to install an older version of the FTDI drivers. Go to this website here and scroll all the way down. Download the 2.08.30 version of the drivers and depending on your computer’s OS, download the WIndows 8.1 if you have windows 8.1 or the Windows**** for all other versions.

DriverFolder

Extract the folders and double click on the exe file. Click next and accept all the license terms. Once done, restart your computer. Do not plug in your FTDI device yet.

Now go back to the  C:\Windows\System32\DriverStore\FileRepository folder and open ftdibus.inf. Open the ftdibus.inf file using any text editor. (Notepad will do)

First change the version of the driver. Find this line “DriverVer=07/12/2013,2.08.30” and change it to DriverVer=07/12/2023,12.08.30 ,without quotes. This is to fool Windows that this is the newest driver

Next go to [FTDIHw] and add this line just below it.

%USB\VID_0403&PID_0000.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_0000

Next go to [FTDIHw.NTamd64] and add this line just below it.

%USB\VID_0403&PID_0000.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_0000

Next go to [Strings] and add this line below DriversDisk=”FTDI USB Drivers Disk”

USB\VID_0403&PID_0000.DeviceDesc=”USB Serial Port 0000″

Save the file to desktop and then move it back to the original folder that you opened it.

Now open ftdiport.inf. Basically we are doing the same thing as above, but slightly different

Find this line “DriverVer=07/12/2013,2.08.30” and change it to “DriverVer=07/12/2023,12.08.30” ,without quotes.

Go to [FtdiHw] and add this line just below [FtdiHw]

%VID_0403&PID_0000.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_0000

Now go to [FTDIHw.NTamd64] and add this line just below [FTDIHw.NTamd64]

%VID_0403&PID_0000.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_0000

Now go to [Strings] and add this line just below PortsClassName = “Ports (COM & LPT)”

VID_0403&PID_0000.DeviceDesc=”USB Serial Port 0000″

Save the file to desktop and then move it back to the original folder that you opened it.

Although a restart is recommended, it seems to work for me without a restart. Now you can plug in your FTDI device and Windows will automatically install the drives. If not, go to device manager and click on Ports (COM& LPT) and right click “FT232R USB UART” and select update driver software. Select Browse my computer for driver software paste the line below as the location. Then click next. Windows should automatically find it and install it.

C:\Windows\System32\DriverStore\FileRepository

Once done, you should see “USB Serial Port 0000 (COMx). Your device can now be used, but the PID is still 0000. You can even try uploading a blink sketch if your FTDI device is an arduino . However, if you plug in your device to other computers, it will still not work. The next step is to change the PID back to default using FT_Prog

Download the software here or go to http://www.ftdichip.com/Support/Utilities.htm and scroll to FT_Prog and download the “Previous Version”

Once installed, launch the program and click on the magnifying glass. Then go to “USB Device Descriptor” on the left. Go to Custom VID/PID and select FTDI default. It should set the Vendor ID to 0403 and the Product ID to 6001. Or you can select Custom PID and set the Product ID to 6001.

FT_Prog6001FT_Prog6001default

Once done, click on the lightning icon. Double check that the Product ID is correct and then click on program. It should only take a few seconds. Then click close.

FT_Prog Program

Then unplug and plug in your device. Go to device manager and your device should not appear as USB Serial Port 0000. That means you’ve done everything correctly!

If you have any problems and/or questions, feel free to comment below 🙂

Advertisements