06-04-2012 01:37 PM
I'm developing a Windows 7 embedded application in C++ using a NI USB-4065 DMM. I'm using the NI-DMM 3.0.2 driver. Our system contains several different USB (2.0) peripherals of which
the DMM is one. All of the peripherals remain connected to the system except for one USB port to the outside world which is used for external thumb drives.
The problem we are experiencing is that 95% of the time when the user removes the thumb drive while the system is powered on, the DMM begins to return errors immediately. The error string
returned is usually: "An error was returned by one of the internal function calls". When this error occurs, I have tried both resetting and re-initializing the device through software, neither of which
work. The only solutions I have had success with are 1) unplugging the DMM's USB cable from the system and reconnecting it, and 2) Rebooting the system. Obviously, neither of these
solutions is desirable for an embedded application. Also note that the USB-4065 is the only peripheral in our system that suffers from this problem.
Can someone please advise on a fix to this issue? Thank you very much.
06-04-2012 03:52 PM
If you look in device manager, you should see your USB drive and our 4065 DMM in the tree. If you right click on each of those devices, you'll see the port and hub number. Thanks!
06-05-2012 04:29 PM
Try moving the DMM to a USB port that is on a different root hub. Maybe switch it with one of the other peripherals you have connected to the system.
The DMM and thumb drive are on the same root hub, so it's possible that this is just a problem with that particular USB root hub. It might also be worth doing a google search for updated USB firmware for your computer/motherboard. I've seen some USB connectivity issues fixed by updating the USB firmware for the computer.