« Close

Datasheets and User Guides

App Notes

Software & Driver

 

USB Communication Failure (App Note)

Failure modes:  What is required to recover?

A. Nothing, temporary communication disruption.

B. Close and restart software.  Or close your software and run the test panel in LJControlPanel.

C. Close all software, go to Windows Device Manager, find the USB entry for the device, right-click and "Disable", and then right-click and "Enable".

D. Close all software and power-cycle device.

E. Reboot the host.

F. Does not recover.  USB never enumerates.

 

Solutions and troubleshooting ideas:

All:  Configure Windows Updates to not happen automatically.  Depending on the type of testing you are doing, you might want to disable other automatic Windows features and other programs that run automatically (such as virus scanners).  For example, if you are setting up a test designed to stream and process high-speed data continuously for a long time, uninstall (or at least turn off) everything on the computer that is not needed for the test itself.

All:  Try disabling various power-saving features.  Particularly on a laptop, but this can help on desktops also.  In Windows 7, you are shown a few basic settings at first, but there is an advanced screen with many more options including "Turn off hard disk" and "USB selective suspend" which seem like good ones to try disabling.

All:  On Windows XP, disable Selective Suspend.

All:  Check for current driver and firmware versions.  See the "Updates" section on your device's support homepage (e.g. /support/t7 for the LabJack T7).

All:  Use a different USB host.  We have found that some computers are more susceptible to transients than others.

 

C & D:  The most likely issue is an electrical transient hitting the USB host, causing it to "forget" that a device is connected.  Some hosts seem to be more susceptible to this problem than others.  The transient could be radiated or conducted.  It could be entering at any point (I/O cable, device, USB cable, host port).  One common source of such transients is a motor (or other inductive load) that is turning on/off, particularly with a mechanical relay.

Set up the watchdog on the device to reset it if there is no communication for some time.  For example, if your program constantly talks to the device once per second, you might set up the watchdog to reset after a 10 second timeout.  This reset will likely be enough to signal the host that a device is connected.  You can enable the watchdog using "Config Defaults" in LJControlPanel, but if there is no applicable software running the U6 will continuously reset (not a problem for the LabJack, but not sure if the computer will like that).  The best method is to enable and disable the watchdog in your actual software (U12, U3, U6, UE9, T7) so it is not active when the LabJack is sitting idle.

This problem is usually caused by a transient (e.g. EMI or ESD) getting on some wire connected to the LabJack (could be an I/O line or VS/GND), and then conducting through the LabJack through USB to the host.  Remove all connections from the device, except for USB, and see if the problem goes away.  If the problem does not go away, try a different location, computer, and USB cable.  If the problem does go away, start adding back connections and see if you can isolate a particular connection that causes the problem, and then you can consider adding extra protection (chokes/ferrites/inductors, series resistors, parallel capacitors & TVS diodes) to problem lines.  We found that a 1mH inductor in series with each line can be useful, but you have to do this on all lines including those to GND.

If you have any relays switching loads, look at adding snubbers to those relays.

Look at replacing any mechanical relays with solid-state relays specifically rated for inductive loads.

If using a USB hub, make sure it has its own power supply.  Hubs that take power from the upstream USB connection are generally inferior.

We have found that 5 meter cables (max length per USB spec) seem to provide more protection for the USB host, and in particular found this cable from Amazon and this cable from Digikey to be the best.  If you have a weak host and/or particularly tough environment, these cables can provide dramatic improvement.

Try a different host.  We have found that some hosts are noticeably inferior to others in terms of resistance to EMI.

Consider switching to Ethernet using the UE9 or T7.  By spec, Ethernet is a more industrial interface than USB, and thus you can avoid the issue of running into a USB host that is not particularly robust.

 

F:  For troubleshooting enumeration problems remove all connections except USB to confirm a user connection is not causing a problem.

If a device will enumerate on some computers but not others, a driver install issue is likely.  On Windows go to the Windows Device Manager and look for any entries that appear/disappear when you connect/disconnect the LabJack.  While the LabJack is connected go to the entry, right-click, and choose Remove or Uninstall.  When Windows is done uninstalling the device, disconnect it and reconnect it to go through the add-new-hardware process again.

Go to the LED section of your device's datasheet.  Compare your power-up LED behavior to what is described there.

If it appears the device is constantly resetting (the LED behavior will typically indicate this), it could be the watchdog.  Look at the watchdog section of your device's datasheet and a power-up jumper will be mentioned to disable the watchdog.

On T-series devices a script can interfere with normal device operation severely enough to prevent enumeration.  See the SPC section of your device's datasheet for a jumper to disable scripts.

 

4 comments

I have been having the problem described and it's related to the usb cord from the U3. I have placed chokes and rerouted wires but it is hit and miss. The device that shuts down the usb port is a microscope light and a light on a comparator, both have transformers. To restart requires rebooting the computer as it can't find the U3 after the problem. I haven't had this issue with other equipment attached such as a usb to rs-232 device that talks to an instrument. I really like the U3 but this is a pain. I don't know why this is the only affected device.

We can cause the same types of issues with any USB device here on our test beds.  The reason why you are more likely to see it with the U3, though, compared to other USB devices, is that the U3 is such an open device with a variety of unknown-to-us user connections.  I suggest you email [email protected] or post on our forum to go into more details.  Some things to start with:

    - How often does the problem occur.  Can you reproduce it easily?

    - If you remove all wires from the U3 except for USB, does the problem go away?

    - Having to reboot the computer is very unusual and suggests something very nasty is hitting your computer.  Have you tried just power-cycling the U3, or doing the disable/enable in Windows Device Manager?

 

amead's picture

I had a communication error whenever I would try to connect to the device.  The T7 also seemed to be constantly restarting.

Solution:  I jumpered FIO2 and SPC to reset to factory defaults then re-uploaded current firmware.  This was all that was required.

LabJack Support's picture

Sounds like you might have had the watchdog enabled with too short a timeout:

https://labjack.com/support/datasheets/t7/watchdog

... or could have had a Lua script that was causing trouble.