LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to Load USB Driver in LV for Total Phase's Aardvark I2C adaptor

Solved!
Go to solution

I have tried to instal Total Phase's Aardvark I2C USB driver for LabVIEW on two computers and two versions of LV (8.5 and 7.1) without success. The Windows driver seems to be working fine as their command center gui terminal-esque program works without a hitch, but the LV DLL doesn't seem to work.

 

Attached is the very simple vi to find connected Aardvark USB devices (aa_find_devices). It always returns the same error code, 8002, which resolves to:

 

AA_UNABLE_TO_LOAD_DRIVER

-2

unable to load USB driver

 

From their documentation: http://www.totalphase.com/docs/aardvark_datasheet/sect005/#s5.9

 

This looks like perhaps the LabVIEW DL, "aardvark.dll" maybe having a versioning issue. So my question is this: Using LabVIEW, how does one debug dll dependencies and resolve issues like this? Do I need the source code for the lib?

 

 Cheers,

Joe Gorse

0 Kudos
Message 1 of 9
(11,812 Views)

We've used an Aardvark unit in our lab here and not run into issues with the LabVIEW VIs. What makes you think it's a DLL version issue?

 

0 Kudos
Message 2 of 9
(11,809 Views)
Because error is -2 instead of -1, I figure the library is loading but the USB driver is not, which may entail some sort of dependency problem with the DLL.
0 Kudos
Message 3 of 9
(11,797 Views)

That doesn't sound like a DLL version problem. Do you by any chance have the Control Center running at the same time?

 

I'll have to see if I can dig up the Aardvark unit that we do have. It's around here somewhere, but we've stopped using it since we started using the Diolan U2C-12 boards.

Message 4 of 9
(11,793 Views)
Solution
Accepted by topic author gorsej

It was the "aardvark.dll".

 

I took a quick peak into the dll packaged with the LabVIEW and the one packaged with the Control center with IDA, saw the same entry points but that the files were different. So I figured that since the Control center worked and the LabVIEW didn't, perhaps the Control center dll would work for LabVIEW. After the swap it worked like a charm.

 

Thanks for the suggestions!

 Joe

0 Kudos
Message 5 of 9
(11,781 Views)
That's strange. I couldn't find our Aardvark unit (it's probably sitting in a drawer someplace), but based on what you found I took a look at the 2 DLLs I have, and they're both the same. I did not copy one from one folder to the other. The software is as I got it from Total Phase. Very strange.
0 Kudos
Message 6 of 9
(11,777 Views)
Dear Joe,

Let me start off by apologizing for the inconvenience you
have gone through.  I am an engineer at Total Phase.  We are
working on fixing this issue for our next release of the
Aardvark LabVIEW Driver.  This forum post was only brought
to our attention today.  In the future, you can also let
Total Phase know about these kinds of issues by emailing
support@totalphase.com.  We are very responsive through
email or phone.

The problem you are experiencing has to do with versioning
issues between our DLL and USB driver.  Specifically, DLLs
before v5.xx must use the older version of our USB driver.
By replacing the DLL from our latest version of Control
Center, you have effectively upgraded the DLL that the
LabVIEW driver is using and made it compatible with v2.xx of
the USB driver.

The most likely reason that smercurio_fc did not see a
difference between the DLL in Aardvark Control Center and
the LabVIEW driver is because he is using an older version
of Control Center and correspondingly an older version of
the USB driver.

The reason that we have not packaged the LabVIEW driver with
latest DLL is due to the fact that a few functions have
changed their function prototypes (for example aa_open_ext
and aa_spi_write), and the VIs have not yet been updated
accordingly.  Although updating the DLL solved your USB
driver issue, it introduced this new issue.  If you try to
use these certain VIs, LabVIEW will error out.

We are currently working on updating the LabVIEW drivers to
work cohesively with the new DLL and USB driver, and this
should be available soon.  If you need immediate
availability to the functions with new prototypes you will
have to change it manually.  The other recommended option is
to simply revert back to the DLL that is packaged with our
LabVIEW driver and downgrade the USB driver back to v1.xx.

I will make sure to post again once the update is released,
and I once again apologize for the inconvenience.

Best regards,
Etai
Message 7 of 9
(11,664 Views)

Etai,

 

Not a problem. Thanks for the informational post!

 

I'm pretty used to DLL versioning hell so I unit tested everything I needed (I2C Master) and it worked so I went with it. Good to know the caveats to the approach. It sounds like a downgraded USB driver with the packaged LabVIEW driver is The Right Way to go for the time being. When the new LabVIEW drivers are released I'll be sure to grab them.

 

Cheers,

Joe

0 Kudos
Message 8 of 9
(11,642 Views)
Dear Joe,

I am pleased to announce that v5.01 of the Aardvark LabVIEW
Driver has been posted to our website, and can be downloaded
for free from here:

http://www.totalphase.com/products/labview_aardvark/

This new driver is compatible with both the old and new USB
driver.  Although it is not required, I recommend updating
your USB driver to v2.xx.

You will also need to make sure to replace your aardvark.dll
with the one packaged in the latest LabVIEW driver.  Please
note that this is a v5.01 DLL, and thus requires your
firmware to be at least v3.40.  A firmware update utility is
available for download on the Aardvark adapter product page:

http://www.totalphase.com/products/aardvark_i2cspi/

I am also happy to say that we will be posting official
LabVIEW drivers for some of our other products within the
next week.  These drivers will provide support for our
Beagle I2C/SPI Protocol Analyzer, Beagle USB 12 Protocol
Analyzer, and Cheetah SPI Host Adapter.  More information
will be available on our website:

http://www.totalphase.com/

If you have any questions or comments, please let us know.
The best way to reach Total Phase regarding technical issues
is by emailing support@totalphase.com.

Best regards,
Etai
Message 9 of 9
(11,542 Views)