LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Switching Firmware to NI-DAQmx Base in Linux for USB-6221

Solved!
Go to solution

Our Windows machines are locked down -- even as developers, we have no Admin privileges.  That makes updating firmware impossible through the Windows Device Manager.  On the other hand, we have full control over our Linux machines.

 

Is it possible to download and verify firmware images on Linux?  In particular, I need to switch a USB-6221 to NI-DAQmx Base.  I have been unable to find any instructions for doing this on Linux.

 

wlbaker

 

0 Kudos
Message 1 of 10
(5,100 Views)
The 621x devices store their firmware in volatile memory, so each time a device is connected, the driver downloads the firmware to the device. The 600x devices, on the other hand, store their firmware in non-volatile memory, so manual firmware changes may be needed when switching between DAQmx and DAQmx Base or when upgrading DAQmx Base versions.

When you connect a USB-6211 to a Linux system with DAQmx Base 3.3, the driver will automatically load the correct firmware on the device. From there, the lsdaq command line utility will verify that the device has been properly configured.
Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 2 of 10
(5,087 Views)

 

No such luck.  I was hot-plugging from a Windows machine to the Linux machine, but rebooting the 6221 gave the same result: lsdaq returns an empty list.

 

I do see the device in lsusb, and the lsmod | grep ^ni shows the NI modules as being loaded.  However, there is an error on boot having to do with the udev rules not being found for certain NI devices.  Maybe my problem starts there.

 

The udev rules really exist in the appropriate location: /etc/udev/rules.d/???.  The error appears before the file systems are properly mounted, early in the initrd processing.  The NI rules are pulled in from etc by symlink to /usr/local/natinst..., maybe there is a problem in that regard?

 

I believe this to be a supported machine: RHEL 5.3.

 

Could my problem be related to the udev rules?  Any way to check this?

 

bbaker

 

0 Kudos
Message 3 of 10
(5,083 Views)

I tested the theory about udev rules not being loaded.  I removed the symbolic links and copied the files explicitly into /etc/udev/rules.d from /usr/local/natinst/nidaqmxbase/etc/etc/hotplug/usb/ni*.rules and one file from /usr/local/vxipnp/linux/NIvisa/USB/sys/nivisa_usbtmc.rules.

 

That fixed the "file not found" messages on bootup when udev is initialized, but lsdaq still gives no devices.  Now that you have indicated that the 6221 needs a firmware download with each power cycle, where would I find those firmware files and what module is responsible for downloading them?

 

Here is the machine detail:

 

[root@amedaisrrx0c6692 ~]# lsusb
Bus 001 Device 005: ID 3923:72dc National Instruments Corp.
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 003 Device 002: ID 04e6:e001 SCM Microsystems, Inc. SCR331 SmartCard Reader
Bus 003 Device 003: ID 0461:4d22 Primax Electronics, Ltd

 

[root@amedaisrrx0c6692 ~]# lsmod | grep ^ni
nimru2k               470356  1
nimxpk                 46712  0
nipxirmk              127828  1
nidimk                389024  5 nimru2k,nipxirmk
nimsdrk               358336  0
nidmxfk               632112  1 nimsdrk
nimxdfk               639360  5 nimru2k,nimsdrk,nidmxfk
nimstsk               125248  2 nimsdrk,nidmxfk
nimdbgk               510236  7 nimru2k,nimsdrk,nidmxfk,nimxdfk,nimstsk
niorbk                131156  8 nimru2k,nipxirmk,nidimk,nimsdrk,nidmxfk,nimxdfk,
nimstsk,nimdbgk
nipalk               1425680  15 NiViPciK,nimru2k,nimxpk,nipxirmk,nidimk,nimsdrk
,nidmxfk,nimxdfk,nimstsk,nimdbgk,niorbk
nikal                  74336  5 nipalk

 

[root@amedaisrrx0c6692 ~]# dmesg | tail -7
nipalk: no version for "nNIKAL100_unregisterPCIDriver" found: kernel tainted.
usbcore: registered new driver nidaqmx_NIES9x
usbcore: registered new driver nidaqmx_NISCXI9x
usbcore: registered new driver nidaqmx_NISWCH9x
usb 1-2: USB disconnect, address 2
usb 1-1: new high speed USB device using ehci_hcd and address 5
usb 1-1: configuration #1 chosen from 1 choice

 

[root@amedaisrrx0c6692 ~]# lsdaq
--------------------------------
Detecting National Instruments DAQ Devices
Found the following DAQ Devices:
--------------------------------

[root@amedaisrrx0c6692 ~]#


 

0 Kudos
Message 4 of 10
(5,072 Views)
Solution
Accepted by wlbaker

I had a complete dyslexic moment reading your first post -- the externally powered USB DAQ devices (USB-622x, USB-625x, USB-628x) are not supported in Linux (neither by DAQmx 8.0.1 nor by DAQmx Base 3.3), while the bus-powered USB DAQ devices (USB-621x) are supported by only DAQmx Base. The readmes for both drivers list which devices they support [1] [2].

 

The USB-6212 is the closest match to the USB-6221, although if you don't have extenstive digital IO in your application, the USB-6211 would also be a good fit.

 

[1] DAQmx 8.0.1 Readme
http://ftp.ni.com/support/softlib/multifunction_daq/nidaqmx/8.0.1%20Linux%20Only/readme.txt

[2] DAQmx Base 3.3 Readme
http://ftp.ni.com/support/softlib/multifunction_daq/nidaqmxbase/3.3/Linux/readme.txt

Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 5 of 10
(5,062 Views)

Oh well.  (Can I say "that sucks" in this forum?)  So, I'm dead in the water until I find supported hardware.

 

wlbaker

 

0 Kudos
Message 6 of 10
(5,059 Views)

Yeah, you're allowed to say that the situation sucks. I've added this thread to our list of customer requests for driver improvements. You're also welcome to log your roadblock and give feedback via the Product Suggestion Center [1]. Linux support for DAQ products is generally complete, but there are notable missing bricks in the wall.

 

[1] Product Suggestion Center

http://digital.ni.com/applications/psc.nsf/default?OpenForm&temp1=&node=

Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 7 of 10
(5,057 Views)

Hi all,

 

I realize that this is an old thread, but I am having similar issue with the "supported" hardware - USB-6211. I have managed to install NI-KAL and see the card in lsdaq output, but ut complains that the card has incompatible firmware:

 

linux-32jk:/usr/local/natinst/nidaqmxbase/bin # ./lsdaq
--------------------------------
Detecting National Instruments DAQ Devices
Found the following DAQ Devices:
Device Error: incompatible firmware.  Serial Number: 014DAB81
The installed versions of NI-DAQmx and NI-DAQmx Base are incompatible.

 

 

Now what?

0 Kudos
Message 8 of 10
(4,051 Views)

Thanks, been there, done that.

I am in strictly 32bit environment, everything has been installed in order. I still get the incompatible firmware message and I have seen the advice to prepare the card that was used with DAQmx in Windows earlier to accept the DAQmx Base firmware by going to Windows and followign the cumbersome protocol described here:

 

http://digital.ni.com/public.nsf/websearch/91CBCFE9E171C845862572CF0077D8F9?OpenDocument

 

However, in the links you suggested, i have noticed somethign that escaped my attention earlier: the usbfs has to be mounted fro teh firmware to get loaded. I need to make sure that it is the case before mowing on with other troubleshooting bits. I wish documentation was present in one place for such essential softwar as drivers... Ugh...

0 Kudos
Message 10 of 10
(4,034 Views)