I have a c# windows form program which uses the FTDI FTD2XX_NET library to enumerate devices using the ftdi driver and get their comports.
My problem is I want to determine specifically if the hardware I am talking to is the specific device I am looking for. This is a custom piece of hardware, but it looks like the vendor left the generic PID/VID for the FTDI chipset.
Right now I have resorted to sending a command and waiting for a valid response/timeout but this seems likely to fail in the greater world given the large number of devices using this chipset.
What is the correct approach to tackle this? I am not a hardware programmer so I am not sure what the best practice recommendation for this would be. I can ask the vendor to modify the hardware- firmware if needed.
Even with a generic PID/VID, the vendor can change the device description, so you can check it before starting the communication:
You can check or change the device description, serial number, PID/VID, etc. using FT PROG. Using a custom description while leaving the generic PID/VID will allow you to use the signed drivers from FTDI without any modification.