05-27-2014 09:11 AM
Hi,
where can I find a suitable driver for PCI-6254 which works with my kernel?
I am using 3.14.3-rt4-PASU4-v1 #3 SMP PREEMPT RT Tue May 27 08:09:13 CEST 2014 x86_64 x86_64 x86_64 GNU/Linux on OpenSuse 13.1
NI-DAQmx Base 3.7.0-f0 for Linux/x86/x86_64 doesnt work because NIVISA can`t be installed
What am I doing wrong?
Preparing... | ################################# [100%] |
file /usr/local/natinst conflicts between attempted installs of nispyi-2.8.1-f0.i386 and nipalki-2.9.1-f0.x86_64 | |
file /usr/local/natinst conflicts between attempted installs of nipalerri-2.9.1-f0.i386 and nispyi-2.8.1-f0.i386 | |
file /usr/local/natinst conflicts between attempted installs of nipxipfki-1.5.1-f0.x86_64 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/bin conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/etc conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/etc/errors conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/etc/errors/ChineseS conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/etc/errors/English conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/etc/errors/French conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/etc/errors/German conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/etc/errors/Japanese conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 | |
file /usr/local/natinst/.nicore/etc/errors/Korean conflicts between attempted installs of niapalerri-2.2.1-f0.i386 and nimxdfi-3.0.0-f0.i386 |
Error installing NI-VISA for Linux 5.4.0f0.
05-27-2014 09:25 AM
Ok.... I got that one fixed with this hack https://decibel.ni.com/content/message/52494#52494
But it goes on and on ....
Installing NI-KAL:
NI-KAL update failed.
CC
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL200_destroyDeviceProcDirs’:
/usr/local/natinst/nikal/src/nikal/nikal.c:1042:32: error: dereferencing pointer to incomplete type
remove_proc_entry(d->rootDir->name, nNIKAL200_sProcRootDir);
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL200_createKALInterfaceProperties’:
/usr/local/natinst/nikal/src/nikal/nikal.c:1116:4: error: implicit declaration of function ‘create_proc_read_entry’ [-Werror=implicit-function-declaration]
entry = create_proc_read_entry(nNIKAL200_kDeviceInterfacesPathFile,
^
/usr/local/natinst/nikal/src/nikal/nikal.c:1116:10: warning: assignment makes pointer from integer without a cast [enabled by default]
entry = create_proc_read_entry(nNIKAL200_kDeviceInterfacesPathFile,
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL220_registerDeviceInterfaceCommon’:
/usr/local/natinst/nikal/src/nikal/nikal.c:1163:7: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=]
snprintf(di->dirName, sizeof(di->dirName), "%s\\%d", name, interfaceNum);
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL200_registerProperty’:
/usr/local/natinst/nikal/src/nikal/nikal.c:1346:14: warning: assignment makes pointer from integer without a cast [enabled by default]
procEntry = create_proc_read_entry(pd->name,
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL100_mmap’:
/usr/local/natinst/nikal/src/nikal/nikal.c:1993:24: error: ‘VM_RESERVED’ undeclared (first use in this function)
vma->vm_flags |= VM_RESERVED | VM_LOCKED | VM_DONTCOPY | VM_DONTEXPAND;
^
/usr/local/natinst/nikal/src/nikal/nikal.c:1993:24: note: each undeclared identifier is reported only once for each function it appears in
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL190_vmaPageFaultHandler’:
/usr/local/natinst/nikal/src/nikal/nikal.c:2148:11: error: ‘VM_CAN_NONLINEAR’ undeclared (first use in this function)
return VM_CAN_NONLINEAR;
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL220_vmaPageFaultHandler’:
/usr/local/natinst/nikal/src/nikal/nikal.c:2161:11: error: ‘VM_CAN_NONLINEAR’ undeclared (first use in this function)
return VM_CAN_NONLINEAR;
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL100_remapPageRange’:
/usr/local/natinst/nikal/src/nikal/nikal.c:2625:22: error: ‘VM_RESERVED’ undeclared (first use in this function)
vma->vm_flags |= (VM_RESERVED | VM_IO);
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL100_doMMap’:
/usr/local/natinst/nikal/src/nikal/nikal.c:2658:4: error: implicit declaration of function ‘do_mmap’ [-Werror=implicit-function-declaration]
mmapAddress = do_mmap((nLinux_fileHandle*)file, address, length, PROT_READ|PROT_WRITE,
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL100_enumeratePCIBuses’:
/usr/local/natinst/nikal/src/nikal/nikal.c:3818:43: error: ‘nLinux_pciBus’ has no member named ‘secondary’
pciBusInformation.secondary = bus->secondary;
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL190_vmaPageFaultHandler’:
/usr/local/natinst/nikal/src/nikal/nikal.c:2149:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL220_vmaPageFaultHandler’:
/usr/local/natinst/nikal/src/nikal/nikal.c:2162:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
cc1: some warnings being treated as errors
make[2]: *** [/usr/local/natinst/nikal/src/nikal/nikal.o] Error 1
make[1]: *** [_module_/usr/local/natinst/nikal/src/nikal] Error 2
make: *** [all] Error 2
05-27-2014 09:31 AM
Isn`t there a way to get the nirplk working on 64bit with 3.14 kernel?
05-27-2014 09:52 AM
create_proc_read_entry is a kernel symbol that disappeared around the 3.10 timeframe. You're going to need a newer kal to use such a new kernel (bit-ness matters not here)
05-27-2014 10:32 AM
The create_proc_read_entry change was addressed in NI-KAL 2.4. The latest KAL on the web is NI-KAL 2.5.
Having said that, that is not the only change required for 3.14 kernel support. While I can't talk specifics about future releases, I can say that we are constantly working to update NI-KAL for our supported Linux distributions.
06-06-2014 03:57 AM
Ok.. I tried installing NI-KAL 2.5
I also downgraded Kernel to 3.10.39-rt40 PREEMPT RT x68_64 because OpenSuse 13.1 (which is supported by 2.5 NIKAL) has 3.11.6* as default.
Looks good so far ... BUT... when calling updateNIDrivers it sucks again....
What to do in order to get the NI stuff working???
# updateNIDrivers
Configuring for linux kernel version 3.10.39-rt40-PASU4-v2.
********************************* NOTE *********************************
Using kernel headers found in /lib/modules/3.10.39-rt40-PASU4-v2/source.
If this does not correspond to the location of the 3.10.39-rt40-PASU4-v2 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 version.h in include/generated/uapi/: yes
Kernel has reparent_to_init(): no
Number of arguments for do_munmap(): 3
Kernel has vm_mmap(): yes
Kernel has vm_munmap(): yes
Kernel has VM_RESERVED: no
Kernel struct pci_dev has busn_res member: yes
pte_offset function: pte_offset_kernel()
Levels in page table: 4
Kernel has remap_pfn_range: yes
Kernel has kzalloc: yes
Kernel has chained SGL support: 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 has ioremap_wc: yes
Kernel has pgprot_writecombine: yes
Kernel has cred.h: yes
Kernel has UMH constants: yes
Kernel has create_proc_read_entry: no
Kernel has namespaced generic netlink API: yes
Kernel has genlmsg_new: yes
Kernel has family genlmsg_put: yes
Kernel has usleep_range(): yes
Kernel has RS-485 serial_core support: no
Storing configuration in Makefile.in
If the values stored are incorrect they can be changed before running make.
Installing NI-KAL:
NI-KAL update failed.
CC
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL230_getCurrentEffectiveUserID’:
/usr/local/natinst/nikal/src/nikal/nikal.c:7309:4: error: incompatible types when returning type ‘kuid_t’ but ‘nNIKAL100_tU32’ was expected
return current_euid();
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL100_insertCharToSerialRxBuffer’:
/usr/local/natinst/nikal/src/nikal/nikal.c:7564:4: warning: passing argument 1 of ‘tty_insert_flip_char’ from incompatible pointer type [enabled by default]
if (tty_insert_flip_char(tty, ch, (unsigned int)errorFlag) == 0)
^
In file included from /usr/local/natinst/nikal/src/nikal/nikal.c:93:0:
include/linux/tty_flip.h:16:19: note: expected ‘struct tty_port *’ but argument is of type ‘struct nLinux_ttyStruct *’
static inline int tty_insert_flip_char(struct tty_port *port,
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL100_pushSerialRxBufferToUser’:
/usr/local/natinst/nikal/src/nikal/nikal.c:7582:4: warning: passing argument 1 of ‘tty_flip_buffer_push’ from incompatible pointer type [enabled by default]
tty_flip_buffer_push(tty);
^
In file included from /usr/local/natinst/nikal/src/nikal/nikal.c:93:0:
include/linux/tty_flip.h:13:13: note: expected ‘struct tty_port *’ but argument is of type ‘struct nLinux_ttyStruct *’
extern void tty_flip_buffer_push(struct tty_port *port);
^
/usr/local/natinst/nikal/src/nikal/nikal.c: In function ‘nNIKAL230_getCurrentEffectiveUserID’:
/usr/local/natinst/nikal/src/nikal/nikal.c:7313:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
make[2]: *** [/usr/local/natinst/nikal/src/nikal/nikal.o] Error 1
make[1]: *** [_module_/usr/local/natinst/nikal/src/nikal] Error 2
make: *** [all] Error 2
ERROR: make of nikal kernel module failed, not installing kernel module.
updateNIDrivers should be called again after fixing the problem.
Logging failure...
Include the file /tmp/niSystemReport.out.gz when contacting
National Instruments for support
06-06-2014 05:55 AM
Ok seems as this was my fault. I changed some Kernel-configs and now it works.. NI-KAL installed successfully....
Thx!
06-06-2014 06:04 AM
Great news! Was this originally a default kernel config for OpenSUSE 13.1? Would you mind sharing the config parameters that you tweaked in order to help out fellow users? Thanks!
06-06-2014 06:22 AM
Yeah of course... plain text here or can I upload it anywhere?
BTW: Where can I find some C/C++ sample code?
06-06-2014 01:29 PM
I was hoping you would just summarize in this thread the config params that you had to change and the values you changed them to.
I don't know anything about sample code, but I'm sure someone on these forums can point you in the correct direction.