Usb Vid 0403 Pid 6001

9 views
Skip to first unread message

Margorie Gomoran

unread,
Aug 3, 2024, 4:03:07 PM8/3/24
to prevalroten

AFAIK, get board info will only ever show custom info if the serial adapter isn't a generic one. I think if it uses an off the shelf serial adapter (like FT232RL, CH340G, CP2102, etc), it will always show as unknown board - only ones with native USB or the 16u2 as serial adapter (genuine and faithful clone uno/mega) will display custom data there.

The "BN" field is just populated by the name value in boards.txt for the board that has the matching vid.n and pid.n values. The problem with doing that for VID: 0403/PID: 6001 is that you would make any device (including things that aren't even Arduino boards) using an FTDI FT232 appear as Hogeduino. Actually I believe that VID/PID pair is also shared by FTDI FT245, VNC1L, VNC2. So I think that would lead to more trouble than it's worth. That will also require users to install a custom hardware package, which probably would not be necessary otherwise if your board is compatible with an existing board definition. The best way to go about this would be to get a custom PID from FTDI for your boards:

They claim "There is no charge for this service to bona-fide FTDI customers."

Then you can use the "FT_prog" utility provided by FTDI to change the PID on your FT232 accordingly. After that, you'll need to provide a custom driver with your boards. I believe it's pretty easy to modify the standard driver for your PID.

Hi Alex,
I am not sure if I get your answer right? Or my question was unclear ?
Yes the ftdi_sio is loaded when an FTDI device is plugged in. From the FTDI manuals, it looks like that this driver needs to be unloaded and a ftd2xx driver needs to be loaded in prior to using the D2XX interface.
Is there a way to switch from FTDI VCP to D2XX and from D2XX to FTDI VCP without restarting the system ?

Hi,
My device reported 0403:6001 for both cases.
I changed the EEPROM of the FTDI device to use D2XX driver. It works for Windows 10 but Torizon still detects it as VCP.
Maybe I need to change the PID in order to use D2XX as your example.

I'm attempting to get an FTDI USB-Serial device with a custom PID to automatically (or even manually) attach to ttyUSB%n, without much success. The device's normal VID/PID is 0403/6001. When programmed this way, it works perfectly and automatically attaches itself to ttyUSB0 when plugged in. Even with the driver recompiled to respect our new PID, when programmed with the custom one ttyUSB0 does not appear, but it does recognize it as an ftdi_sio device and loads the driver.

lsusb shows the correct custom VID/PID. The driver seems to recognize that it's supposed to use ftdi_sio with it, but doesn't attach it to ttyUSB0 like it would with the unmodified PID. Any suggestions as to what I'm doing wrong here?

The format of the number is: BUS-PORT(.PORT)+:1.INTERFACE. The only number that's not visible in the lsusb output is the first digit after the colon; and it's always been a 1 in my experience. Somebody with deeper kernel knowledge can probably tell me what it is and provide a counter-example.

I have connected my Cyclone V FPGA boards to a raspberry in my lab.
Using usbip I managed to make the USB devices, serial ports and jtagblaster ports, available on my linux desktop in my office.
I do see USB devices 0403:6001 (FT232 USB UART) and 09fb:6810 (Unknown) on my desktop machine. The latter being the devices for programming.
The UART devices are functional and work fine.

Two other boards seems to be recognized according the syslog, but jtagconfig does not report them. Why?
For all five devices I observe in usbview correct settings, like Manufacturer: Altera and 09fb:6010

Q2: I have a valid power source selected but when I attach my board to the host PC the Device Manager doesn't report a new USB device attached. I ran the serializer and the board has appeared dead ever since.

A: If the VID/PID in the EEPROM don't exactly match those in the driver files Windows won't know how to enumerate the FT2xxBM chip.

To correct this problem you have to reset the VID/PID in the EEPROM. This procedure requires the DLL version of FTDI's drivers to be installed. If the VCP drivers are installed, they must first be uninstalled using the Ftdiunin.exe program located in the directory where the VCP driver files are located on your hard drive or floppy disk. Start by shorting pins 3 and 8 on the EEPROM. Ensure you have selected a power source as described in Q1 above. Apply power to the USB245M by connecting it to the host PC via USB cable. With 3 and 8 shorted, the FT245BM will not be able to communicate with the EEPROM and will use the default 0403/6001 for the VID/PID. Verify the Device Manager reports "FTDI FT8U2XX Device" under Universal Serial Bus Controllers. Remove the short between 3 and 8. Run the program VIDPIDfix.exe (download here) ignoring the read errors. "Search" for the attached board to be programmed and "Open" it. Once Opened, click on "Write Default EE Data". Disconnect the board and verify all is working well again.

If you modified the VID or PID entries in the driver files, don't forget to delete the modified driver files from your hard drive and start with a fresh copy.

A: Windows XP Service Pack 1 comes with our VCP driver as part of the download. This uses our default VID (0403) and PID (6001). This is because a UK customer got our VCP driver WHQL certified by Microsoft. Copies of Windows XP with recent Microsoft updates installed may also include VCP.

As far as we know there are two possible ways to get around this;
1) To install D2XX on an XP system with Service Pack 1 installed : Make sure that you have a copy of the latest version of D2XX downloaded from our website. Unzipped it into a folder somewhere on your c drive, or (preferably) onto a floppy disk.
1.1) Plug in your USB device and allow it to install VCP by detecting new hardware and following the prompts in the add new hardware wizard.
1.2) Go to the device manager (found in ''control panel'' ''system''). Select view devices by connection from the view menu. You will find our device listed under ''BIOS > ACPI > PCI Bus > USB host controller > root hub > > high speed usb to serial converter > USB serial port (com port number)''.
1.3) Right click the ''USB serial port'' and select ''disable''.
1.4) Right click ''high speed USB serial converter'' and select ''update''.
1.5) A wizard for updating the driver should now appear. Follow the prompts. Choose the option ''Don't search I will select the driver to install'' then select ''Have disk''. Now point the Wizard to the location of the D2XX drivers on your system.
1.6) D2XX will now install successfully. You can check this by selecting ''View devices by Type'' from the ''View'' menu in the device manager. The com port which was listed in (1.2) should now be gone.

Alternatively you can do the following;
2) Program the EEPROM on your board(s) to use a different USB product ID (PID). We can provide you with a block of PID's for use along with FTDI USB Vendor ID. This service is free of charge. The EEPROM is programmed using a utility we provide called FTD2XXST.exe. This utility requires D2XX to be installed, so you would need to do this on a non-XP machine. This will then allow you to load D2XX on an XP machine. (Uninstall VCP using ''add / remove programs'' and install by plugging in the USB connector and following the add new hardware wizard) Note : you need to remember to edit the D2XX .inf file to include the new PID (and VID, if you have one).

Notes:
Don't try to install our drivers over a network. If you are connected to a network we would recommend that you disconnect during installation.
You should only ever install our drivers by plugging in the USB cable, detecting new hardware and following the add new hardware wizard.
You should only ever uninstall our drivers using ''add / remove programs'' from the control panel. The situation described in (1), above is the only exception to this. If you have tried to use another method at any point there is likely the system in question will have driver components left behind in the registry. Let me know if you think that this might be the case. We can send you instructions on how to remove our driver files from the registry by hand. I would recommend that (at least initially) you try using method (1). If it fails, let us know at which point, and the any error / failure messages that you see.
Keith Dingwall
FTDI Support

A : Some users of the D2XX drivers with FTDI's default VID and PID ( 0403 + 6001 ) have been experiencing problems installing under XP with Service Pack 1. This is due to Windows XP Update trying to automatically install XP certified VCP drivers in place of the D2XX drivers. An application note on this problem can be downloaded by CLICKING HERE ! A program that can fix this problem by reprogramming the default VID / PID to ( 0403 + 6006 ) can be downloaded by CLICKING HERE ! This should be used in conjunction with the latest drivers.

A : You must read the data from the FIFO using a micro (or some other means) or the board will appear dead to the host. The FIFO buffer that receives data from the host is actually multiple 64 byte buffers (62 bytes for data and 2 bytes for USB status). When one buffer fills up it is swapped out with another so that the data is available to the micro and so that more data can be received from the host.

If you send a byte and pause, after a short timeout period the buffer is swapped out so that byte will be available to the micro. If you do this a couple more times without the micro reading any data from the FIFO then there are no more 64 byte buffers available and the host application reports an error. So read the bytes from the FIFO whenever you see the RXF line go and this problem should go away.

A : More than likely, the VID and/or PID in the EEPROM no longer matches the VID/PID in the driver files. You can confirm this easily enough by downloading and running the USBView Program from the bottom of the page at www.dlpdesign.com. Run the program with the 2232 module connected and see what VID and PID values are being reported. The two entries look like this:

idVendor: 0x0403 (FTDI Ltd.)
idProduct: 0x6010

0x6010 is the default value for the FT2232C based modules.

Next, look in the .inf files of the currently loaded driver using Notepad and see if the VID/PID values match. If not, edit the .inf files to match both values making sure to change every occurance. Once changed, you must uninstall the currently loaded driver using Add-Remove-Programs in Control Panel and reinstall the modified drivers. Once the modified drivers are installed and the module shows up correctly in Device Manager, you can once again run MPROG and change the setup of the module. MAke sure you are using the latest version of the "Dual Mode" drivers.

Remember, the VID/PID values in the EEPROM must match those in the .inf driver files of all bets are off and the module won't even show up correctly in Device Manager. Also, if editing the .inf files, be sure to use the "Search" feature to ensure you find and change every VID/PID entry.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages