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
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.
Q3: I'm running Windows XP and am having problems getting the drivers installed.
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).
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.
Q4 : Now I can load the DLL drivers but XP still tries to load VCP drivers every time I connect a board.
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.
Q5 : I can send only 2 bytes of data to the DLP-USB245M, on the third send the application hangs. It's as if the buffer is only 2 bytes long. What wrong with this picture?
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.
Q6 : MPROG will not allow me to reprogram the EEPROM in my FT2232C based module to change the VID/PID or reconfigure the module for driver selection or interface type. What am I doing wrong?
: 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.)
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.
Q7 : I have a DLP Design module that works well but have been unable to integrate it into our system when I have another manufacturer's USB device attached to the same PC. The device manager window says "This device is not working properly because Windows cannot load the drivers required for this device." The other manufacturer's device also uses an FTDI USB IC. What do I need to do to allow both products to share the driver?
A : It is perfectly reasonable for multiple FTDI devices with multiple VID/PID combinations to co-exist on one computer. Start with USBView.exe to determine the VID and PID values that the USB devices are reporting to Windows. Run FT_Clean to remove all FTDI drivers. FT_Clean can be downloaded from the bottom of the page at www.dlpdesign.com. Then edit the .inf driver files to include all of the VID/PID combinations you intend to use on your PC by adding additional lines below the existing lines that contain VID/PID pairs. Instructions on editing .inf files are included in the appendix section of MPROG user's manual. Finally, reinstall the devices and verify the drivers load correctly in Device Manager.
Q8 : My DLP-2232PB won't allow me to communicate with the 16F877A microcontroller. The green LED is blinking but I can't get any response. What might be wrong?
If the LED is blinking then the drivers are most likely loaded correctly. This board does not have any
issues with XP as the PID is 6010 by default. Only the single channel adapters with a PID of 6001 have
any issues with XP.
Look in Device Manager to see how channel B is appearing to the system. Channel B is either reporting as a VCP port and has been given a COM port number (COM5 for example) in the COM & LPT section, or it is reporting as a D2XX device in the USB Controllers section. If reporting as a COM port then select that port number (with the up/down scroll control) and send the test packet that reads the board ID. If reporting as a D2XX device then click on Search, select the channel B entry, click on Open and then send the test packet. Be mindful of the different sections for DLL and VCP functions. If you want to use the VCP drivers then don't click on the DLL functions (Open, Search, etc...) or you will change the program's operating mode back to DLL.
The test packet is comprised of these bytes:
1 A7 A6
with a 3 in the far right-hand "Xmit" window.
When you click on Send you should get 7 bytes back per the datasheet for command A7.
Note that only channel B can be used to talk to the microcontroller, the DLL drivers must be used for channel A and both channels must be set up for 245FIFO mode in the EEPROM. Channel B can be set for either VCP or DLL drivers.
Q9 : In trying to install the DLL drivers on a Windows 98SE machine, I'm geting an error message stating that a .cat file was not found.
A : *.CAT files are provided by Microsoft if the driver is certified. It prevents that irritating warning popping up in Win XP. The *.cat file has no functional worth after the driver has been installed. When prompted for a *.cat file you can simply skip past it to ignore it. The warning message could be removed by deleting reference to *.cat files in the .inf file before installation.
DLP Design, Inc.