From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Testing product with USB Port

Solved!
Go to solution

Hi everyone,

 

I am working on a project which requires testing products in production environment.

These product have USB Port and the only way we can talk to the product is through USB Port.

The USB inside the device under test is using a USB to Serial Converter chip from FTDI.

 

The issue is that everytime when we plug in a new product on the tester, windows detects it and takes its own time to install the drivers, which is leading to a long cycle time. Once the drivers are installed, we need to configure the FTDI Chip for product description.

After configuring the FTDI Chip we configure the microcontroller on the product talking through the FTDI chip. 

 

Is there any other way this communication could be achieved, I mean using any other Embedded platform, or if some how the process can be accelerated on windows?

 

Any ideas would be appreciated.

 

Kind Regards

0 Kudos
Message 1 of 13
(3,541 Views)

Why does Windows need to install the same driver multiple times?

Using as an example, once the same USB flash drive is used more than once on the same PC, the driver does not need to be reloaded.

 

 

0 Kudos
Message 2 of 13
(3,532 Views)

Hi nyc,

 

As mentioned in my post, it is not the same product being tested multiple times. Everytime there is a new product.

The Product ID and Vendor ID of the FTDI chip is same, but the Serial number is different for each product and thus windows installs it as a new device.

 

Kind Regards

0 Kudos
Message 3 of 13
(3,528 Views)

Hey shane5ab,

 

Is it possible to bypass the FTDI chip and use direct serial? I realize you said you needed to use the USB port, but that'd be one of the easier ways I can think of to have Windows not detect it every time.

 

Otherwise, I'm not familiar with any methods of forcing Windows to not detect the new device, and you'd need the device to be detected by Windows to use it with our software.

 

Is this a third-party device or something your company created? If it's a third-party device, maybe we can work on figuring out another solution for you.

 

0 Kudos
Message 4 of 13
(3,481 Views)

Hi Daniel,

 

No, we can't use serial, this is our own product and it uses the FTDi chip to provide the USB to Serial interface to talk to the microcontroller.

So we are stuck with using FTDI chip.

 

Kind Regards

Tajinder Singh

0 Kudos
Message 5 of 13
(3,464 Views)

Tajinder,

 

I see. I did some searching and found a page on the FTDI site that seems to describe the problem:

 

http://www.ftdichip.com/Products/ICs/FT232Rfaq.htm

 

And they suggest setting it up to install the device based on its physical location on the USB bus, rather than by serial number. Here's the PDF from FTDI on how to do that: http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-07_LocIDs.pdf

 

I hope this helps some, and let us know if you need any more help!

0 Kudos
Message 6 of 13
(3,450 Views)

Hi Daniel,

 

We are using the USB location as basis of communication with the device and using the DLL provided by the FTDI to communicate, we have disabled enumuration of device as Virtual Com Port.

Our issue is the loading time for the drivers by Windows.

Some time ago I saw an application which was testing USB based products, when the application was launched, it some how takes control over the USB ports and detects the USB devices straight away without need of Windows Loading the drivers.

 

I was wandering if there could be any other possible solution than windows, such as embedded.

 

Kind Regards

 

0 Kudos
Message 7 of 13
(3,415 Views)

What type of device are you working with? It may be possible to bypass the drivers and create your own which uses the device's default USB driver. We did this to allow us to communicate with our printers using USB. We wrote a driver which directly accessed the default USBPrint driver. From there we could look at what is connected to the bus and establish a connection. No driver install was necessary.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 8 of 13
(3,408 Views)
Solution
Accepted by topic author shane5ab

Try adding a Windows Registry entry:

 


Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags]

"IgnoreHWSerNum04036001"=hex:01


 

where 0403 is the Vendor ID (hex) and 6001 is the Product ID (hex)

 

I've used this hack successfully on test machines that run the FTDI USB to serial controller before.

 

edit:

As a side note, if the device is plugged into a different port, Windows will "load drivers" and assign it a new COM port.  Take care it always has the same physical connections and double check the port assignment after replacing USB hubs, power failures etc.

Message 9 of 13
(3,404 Views)
"Devcon" can install/uninstall devices from commandline (It's a CLI for Device Manager).

Another nice tool to have is "Device Remover", that'll let you view only unplugged/detached devices, select them all, and nuke them from the system reclaiming your COM ports.
http://www.pro-it-education.de/software/deviceremover/

Use both with caution though.
0 Kudos
Message 10 of 13
(3,395 Views)