04-24-2009 02:33 AM
I try to install the DAQmx Base 3.2 package for PCIe 6259 card on Ubuntu with kernel 2.6.27-14-generic. I was following the suggestions from other messages to convert the packages of the base software to *.deb packages, install these, and rpm install the original RPM packages on top. All this worked fine, and I can update the driver with updateNIDrivers, which prints out the message as shown below. But when I try lsdaq, I get the error (as also reported by many others):
--------------------------------
Detecting National Instruments DAQ Devices
Found the following DAQ Devices:
libnipalu.so failed to initialize
Perhaps you need to run updateNIDrivers
/usr/local/bin/lsdaq: line 7: 25859 Aborted /etc/natinst/nidaqmxbase/bin/daqmxbase_listdevices
--------------------------------
As a note, I do NOT have more than 4Gb memory installed, and I DO use the mem=4096M option during booting of the kernel.
The log files indicate:
Apr 24 00:25:43 xenomai daqmxbase_listdevices: [libnipalu.so.2.3] Warning: source/lib/linux/linLoadKern.cpp:168 - libKernelDriverLoad: Failed to open nipalk, errno: 2
Apr 24 00:25:43 xenomai daqmxbase_listdevices: [libnipalu.so.2.3] Warning: source/initcln/initcln.cpp:147 - Posix: Init kInitClnPackage: kernelDriver: failed! status=-50204
Apr 24 00:25:43 xenomai daqmxbase_listdevices: [libnipalu.so.2.3] Warning: source/package/posix/ulibEntry.cpp:199 - initialize: unable to load NI-PAL. status=-50204
I.e., libnipalu.so does not load due to problems with nipalk. I appended the niSystemReport output to this file.
How would I continue debugging this issue? Any help would be greatly appreciated!
-Stefan
Printout of updateNIDrivers:
------------------------------------
Configuring for linux kernel version 2.6.27-14-generic.
********************************* NOTE *********************************
Using kernel headers found in /lib/modules/2.6.27-14-generic/build.
If this does not correspond to the location of the 2.6.27-14-generic headers,
then define KERNELHEADERS in your environment to point to the location
of the kernel headers, define KERNELTARGET as the version of the
kernel for which to compile, and then rerun ./configure.
********************************* NOTE *********************************
Kernel has reparent_to_init(): no
Number of arguments for do_munmap(): 3
pte_offset function: pte_offset_kernel()
Levels in page table: 4
Kernel has remap_pfn_range: yes
USB altsetting name: cur_altsetting
Kernel has usb_get_intf(): yes
Kernel has intf_cache member in usb_host_config: yes
Kernel has ep[] members in usb_device: yes
Kernel exports usb_set_configuration(): no
Units of USB_CTRL_GET_TIMEOUT: msec
Kernel has owner member in usb_driver: no
Kernel has put_page_testzero(): yes
Kernel has mutex method: yes
Kernel has kthread: yes
Kernel has config.h: no
Kernel has ioctl32.h: no
IRQ handlers have pt_regs: no
Kernel has work_struct and delayed_work: yes
Kernel supports fault method in vm_operations_struct: yes
Storing configuration in Makefile.in
If the values stored are incorrect they can be changed before running make.
Uninstalling NI-KAL (nikal): done
/bin/rm -rf objects
Updating NI-KAL:
NI-KAL successfully updated.
Updating client modules:
/usr/local/natinst/nikal/src
NiViPciK.ko successfully updated.
/usr/local/natinst/nikal/src
NiViPxiK.ko successfully updated.
Rebooting is required to ensure that National Instruments drivers
have been successfully updated.
Solved! Go to Solution.
04-27-2009 10:40 AM
Stefan,
There are known issues that come up with running our Linux drivers on versions of Linux that have not been tested on yet and are not officially supported. I would recommend looking at our Linux Users' Community and search for similar "lsdaq" problems or post a new topic. The board is fast becoming a good development tool as many of our Linux Users are joining. I would recommend taking a look as they are always working through similar problems. Hope this helps.
05-21-2009 03:30 AM
After a while of research and trying, I finally found a solution:
1) Install Ubuntu 9.04
2) Downgrade the kernel to 2.6.24.2 from source at http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.2.tar.bz2
3) Get NIDAQMX base 3.2, and NIVISA 4.5, convert rpm to deb packages with alien, install deb packages, install rpms on top (make sure that Ubuntu does not use the dash shell (dpkg-reconfigure dash)
4) Fix missing symbolic links for additional kernel modules such that in /usr/local/natinst/nikal/etc/clientkdb you find:
nicore/nidimk-unversioned.o -> /usr/local/natinst/.nicore/src/objects/nidimk-unversioned.o
nicore/niorbk-unversioned.o -> /usr/local/natinst/.nicore/src/objects/niorbk-unversioned.o
nipal/nipalk-unversioned.o -> /usr/local/natinst/nipal/src/objects/nipalk-unversioned.o
nipxi/nipxirmk-unversioned.o -> /usr/local/natinst/nipxi/src/objects/nipxirmk-unversioned.o
vxipnp/NiViPciK-unversioned.o -> /usr/local/vxipnp/src/objects/NiViPciK-unversioned.o
5) then updateNIDrivers should compile fine, and lsdaq works
6) As an aside, I could even patch this kernel with xenomai http://download.gna.org/xenomai/stable/xenomai-2.4.2.tar.bz2 , and the NI driver still works.
Some minor fixes may be needed in this procedure to fix compile problems due to gcc-4.3.3, but all the errors can be googled and fixed trivially by minimal changes in makefiles or C-files.
05-22-2009 09:45 AM
sschall,
Thank you for posting this to our Forums, I know quite a few individuals are using Ubuntu these days and I am sure this will help a lot of people. I would encourage you to place an "Accepted Solution" on your answer so it is easier for individuals to find the solution easier. You might also post this to the Linux Users Community. Thanks again.
07-08-2009 02:01 PM
Hi,
I also need to install DQAmx driver on Ubuntu 8.04 system.
what do you mean by "install deb packages, install rpms on top"?
Should I first install deb package, and then install the corresponding rpm file again?
I am a beginner of Ubuntu, thank you for your patience.
07-09-2009 10:34 AM
lock in,
Thanks for posting on the NI Forums. I have not personally tried this, but I am guessing that you would install the deb packages first and then do the install for rpms afterwards. My recommendation for you though would to be to use one of our supported linux platforms. These would include Suse, Mandriva, and RedHat, the install for DAQmx Base will be much more simple as we have tested this and would be able to provide you better support on these platforms. Thanks!
09-08-2009 12:49 AM
Hi all,
Could someone make more detail solution for this. I got a USB-6009 device but be stuck on installing DSQmx Base 3.2 to my Ubuntu. I found the accepted solution here is quite difficult for Linux beginners.
Thank you so much.
Bests,
09-09-2009 09:25 AM
Phan,
The process of getting DAQmx Base to install on Ubuntu is going to be a fairly in-depth process and will require a pretty good understanding of Linux. If you are new to linux and need to install DAQmx Base I would recommend using a supported version of Linux such as Suse, Red Hat or Mandriva, the installation procedure would be much more strait forward. Thanks.