09-20-2010 06:30 AM
Hi,
I am trying to use a NI-USB 9234 equipped with a NI-USB 9162 with DAQmx Base (NI-DAQmx Base 3.4.0f2). For this purpose, I have installed an all new OpenSuse 11.2 on my laptop. I have carrefuly followed the Suse-related section in the README to perform the NI software installation (make cloneconfig, make modules_prepare and make modules).
But after installing DAQmx Base through the INSTALL script and performing a reboot, I have a problem with libnipalu ...
koobo:/usr/local/natinst/nidaqmxbase/bin # lsdaq -------------------------------- 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: 10929 Abandon /etc/natinst/nidaqmxbase/bin/daqmxbase_listdevices
This problem has ever been mentionned in this forum. So I tried some proposed solutions.
- I have first uninstalled the soft, and then reinstalled DAQmxBase. No changes, still this libnipalu.so problem;
- Then, I tried the updateNIDrivers software. No problem I think, but the problem remains after a reboot:
koobo:/usr/local/natinst/nidaqmxbase/bin # updateNIDrivers Configuring for linux kernel version 2.6.31.12-0.2-desktop. ********************************* NOTE ********************************* Using kernel headers found in /lib/modules/2.6.31.12-0.2-desktop/source. If this does not correspond to the location of the 2.6.31.12-0.2-desktop 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 Kernel has kzalloc: 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 wait_for_completion_interruptible: 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 Kernel uses 'generated' dir: no Storing configuration in Makefile.in If the values stored are incorrect they can be changed before running make. Installing NI-KAL: NI-KAL successfully updated. Updating client modules: nipalk.ko successfully updated. niorbk.ko successfully updated. nidimk.ko successfully updated. NiViPxiK.ko successfully updated. nipxirmk.ko successfully updated. NiViPciK.ko successfully updated. Rebooting is required to ensure that National Instruments drivers have been successfully updated. Would you like to reboot now? [yes|no] no Please reboot manually before attempting to use your NI drivers and products.
- Next, I launched dmesg, looking for a message concerning USB device. All I have found is:
[ 1295.584145] usb 2-1: new high speed USB device using ehci_hcd and address 6 [ 1295.699040] usb 2-1: New USB device found, idVendor=3923, idProduct=719a [ 1295.699067] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1295.699368] usb 2-1: configuration #1 chosen from 1 choice
But the green light on the NI-USB 9162 is not blinking when connecting the device to my laptop.
- Still with dmesg, I found something concerning nikal:
koobo:/usr/local/natinst/nidaqmxbase/bin # dmesg | grep nikal [ 16.231425] nikal: no symbol version for module_layout
- Here are some additional information:
koobo:/usr/local/natinst/nidaqmxbase/bin # rpm -qa | grep ^ni nikali-2.0.0-f0.noarch nipxirmi-1.6.0-f0.i386 nivisa-devel-5.0.0-f0.i386 nidimi-1.10.0-f0.i386 nivisak-5.0.0-f0.i386 nidaqmxbase-usb-support-3.4.0-f2.i386 nirpci-4.2.0-f0.i386 nivisa-5.0.0-f0.i386 nidaqmxbase-cinterface-3.4.0-f2.i386 nimdnsresponder-1.1.0-f3.i386 nipali-2.5.4-f0.i386 nivisa-config-5.0.0-f0.i386 nidaqmxbase-common-3.4.0-f2.i386 niorbi-1.9.3-f0.i386 nicvirte-8.0-7.i386 nispyi-2.7.2-f0.i386 nidaqmxbase-board-support-3.4.0-f2.i386 nipalki-2.5.4-f0.i386 nivisaserver-5.0.0-f0.i386
The niSystemReport output is attached to this message.
Any idea ? Thank you for your help !
09-20-2010 10:50 AM
Some additional information :
sylar@koobo:/etc/init.d> sudo /etc/init.d/nipal restart FATAL: Error inserting nipalk (/lib/modules/2.6.31.12-0.2-desktop/kernel/natinst/nipal/nipalk.ko): Invalid module format error: nipalk failed to load possible causes: nipalk was not versioned for this kernel (2.6.31.12-0.2-desktop) modules are not enabled for this kernel (CONFIG_MODULES) unresolved symbols possible solution: if you recently installed a new kernel or have rebooted to a different kernel then you were previously running then run /usr/local/bin/updateNIDrivers to version your NI drivers for kernel 2.6.31.12-0.2-desktop
I definitely don't understand where is the problem ... updateNIdriver seems to work, so I wonder why nipalk.ko has an "invalid module format" ?
09-21-2010 11:39 AM
Hello,
Thanks for posting on National Instruments forums.
This is a tough problem, because the software and hardware you are using are supported. Therefore, such a problem should not occur.
Have you tried to run NI-PALKI before NI-PAL ? Does this change anything to the problem?
Are you facing the same error if you use another Linux distribution (for instance Open SUSE 11.1 with DAQmx base 3.4 or even Open SUSE 10.2 with DAQmx base 3.3) ?
Best regards,
Guillaume H.
National Instruments France
09-21-2010 12:54 PM
It seems that on newer openSUSE installs, you may need to copy the Module.symvers from the running kernel to the source directory.
To do this, run "make mrproper" in /usr/src/linux to clean everything up. Then, while in that directory, do "zcat /boot/symvers-<version>.gz > Module.symvers" to copy Module.symvers from the current kernel. Run "make modules_prepare" and updateNIDrivers.
09-22-2010 08:07 AM
Nathan2 a écrit :
To do this, run "make mrproper" in /usr/src/linux to clean everything up. Then, while in that directory, do "zcat /boot/symvers-<version>.gz > Module.symvers" to copy Module.symvers from the current kernel. Run "make modules_prepare" and updateNIDrivers.
Yessss, it works !
Maybe this instruction should be added in the Suse-related section of the README included in the last NIDaqmx Base version ?
Unfortunately, I was hopping that testing the NI9234 device with Linux would help me to solve the "Onboard device memory overflow" problem. Has someone achieved to acquired simultaneously the 4 channels with a sampling frequency setted to it maximum allowed value (fs = 51.2 kHz) ? The driver atually claims that this does not work because of "system and/or bud-bandwidth limitations". Maybe I should start another thread ...
09-23-2010 03:17 PM
@Sylar12 wrote:
Maybe this instruction should be added in the Suse-related section of the README included in the last NIDaqmx Base version ?
I've made a note of this, and it'll be corrected 🙂
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)
10-16-2010 09:03 PM
Hi Joe:
i experienced the same problem using OpenSuse 11.2 with
I did the following steps and it solved the problem:
1) make mrproper in /usr/src/linux to clean everything up
2) zcat /boot/symver-2.6.32.5-0.1-default.gz > Module.symvers
3) make cloneconfig
4) make modules_prepare
5) updateNIDrivers
Rebooted the system and then did:
lsdaq and it found the device but
I still get the the following error:
sh: modprobe: command not found
NI USB-6008 OEM1:"Dev1" (USB0::<HEX ID>)
Any info will be appreciated.
Thanks for the information.
10-16-2010 09:14 PM
I ran it as su and then I got this FATAL: Module NiViPciK not found
Should I UNINSTALL and INSTALL again after doing these steps?
Any info will be appreciated.
Thanks,
dave
10-16-2010 09:33 PM
I did the ./UNINSTALL and ./INSTALL for the nidaqmxbase and it fixed the problem but...
when I run the c example ./acquire1Scan it takes a long time to acquire 1 value (more than a minute)
so something is not right.
Please help.
Thank you,
David
10-18-2010 08:41 AM
Try updateNIDrivers again. Usually modprobe errors mean that lsdaq is trying to insert the DAQ modules, which should have been loaded automatically.
Also, run dmesg and see if there is anything interesting in the kernel message log.