Changing FTDI PID

There is a big fuss about the new FTDI driver which damaged many counterfeit FTDI chips (well, it actually changed their internal configuration rendering them useless to most people). This didn’t hurt the producer of the counterfeit chips, however made many users of the FTDI chips angry as their hardware stopped working after the automatic driver update. To make the matter worse, the counterfeit chips can’t be visualy distinguished. A very similiar step was taken a few years ago by Prolific and has proven to be a bad step for company reputation (they lost much of their market share to FTDI nad Silicon Labs).

When I started experimenting the “problematic” driver was already taken down from Windows update, so I had to manually install it from the FTDI site to brick my device 😛 What was interesting was that even after removing the new drivers completely the chips still kept changing their PID to 0000, I had to completely remove the drivers and reboot the computer twice. To remove the drivers first delete all ftdibus and ftdiport folders from C:\Windows\System32\DriverStore\FileRepository. Then in device manager right click on device and choose Remove, check remove the drivers. You can also show devices not currently plugged in by menu View -> Show hidden devices.

All the drivers less than 2.12.00 seem to work ok (I currently use 2.8.24) without trashing the PID and you can download them from FTDI site. Or if you want to be sure the 2.8.14 version of the driver is packaged with Arduino. Before plugging your device into PC again you should remove all drivers from the computer and then install the wanted version of the driver. After installation you can check that under C:\Windows\System32\DriverStore\FileRepository there should be only one ftdibus and only one ftdiport folder.

Even if the PID is changed to 0000 you can still use the chip if you have drivers version less than 2.12.00. With PID 0000 the driver won’t be automatically installed and the device will show under Unknown usb devices. You should right click it and select Update driver. Select “Browse the computer” option and then “Let me select from the list”. You can install just the COM port (Ports (COM / LPT) > FTDI >USB Serial port) or the full driver package (USB controllers>FTDI>USB Serial Converter). The second option will allow you to change the PID with FT_PROG and will also install a serial port. If you chose the first option and would like to change the PID you will have to do the Remove procedure and then the install again.

You can reprogram the PID back by FT_PROG from FTDI. The latest version seems to work just fine. There is no need for a linux machine or for digging out the old XP.

If you still have the “new”/latest driver installed the PID will just revert back after you plug in the device the second time. Eg. you plug it in with pid 0000, you program it to 6001, after replugging it will show as 6001 (FTDI com port), but at the next replugging it will be 0000 again. Properly removing the new driver and rebooting the machine a few times did the trick for me.

If you accidentally program the PID to something else than 0000 or 6001 the FT_PROG won’t detect the device anymore, but if you follow my procedure and manually install the correct driver it will pick it up again and you will be able to reprogram the PID again.

I tried the trick for tricking the Windows into not updating the driver that I used for the Prolific drivers, however as FTDI drivers are properly signed modifying the inf file is not possible. One possibility would be to find a device with OEM drivers and PID different than the generic FTDI PID. That way you would have a driver that would not be susceptible for further malware from the windows update.

Actually the INF changing trick after installing the driver works just OK, I for some reason saved the .inf file as .ini file which of course couldn’t work… You can check here how to do it.

(Another solution: Simply change the PID of the device to F460 and you will get a 2.8.28 driver from the Windows Update. Hopefully this vendor / manufacturer won’t be forced by FTDI to update to a new driver anywhere soon…)

For now I suggest any new users to avoid buying FTDI chips from unverified sources and if the design allows it to switch to another vendor. I guess it won’t be long before they trash/EOL the part like the Prolific did. Probably the other less-generic / more feature rich FTDI devices (which we really like) won’t be reverse engineered anywhere soon.

Lol, and I was just recently wondering why the FTDI suddenly became reasonably priced. It’s just luck that I didn’t switch any of my designs to FTDI recently (I was contemplating doing that before the driver / counterfeit chip issues).

0 Comments on “Changing FTDI PID

Leave a Reply

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