Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

libnipalu.so failed to initialize

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 !

 

 

0 Kudos
Message 1 of 12
(5,876 Views)

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" ?

 

0 Kudos
Message 2 of 12
(5,861 Views)

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

0 Kudos
Message 3 of 12
(5,823 Views)

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.

0 Kudos
Message 4 of 12
(5,817 Views)

 


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 ...

 

0 Kudos
Message 5 of 12
(5,781 Views)

 


@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)
0 Kudos
Message 6 of 12
(5,757 Views)

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. 

 

 

0 Kudos
Message 7 of 12
(5,588 Views)

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

0 Kudos
Message 8 of 12
(5,587 Views)

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

0 Kudos
Message 9 of 12
(5,586 Views)

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.

0 Kudos
Message 10 of 12
(5,558 Views)