From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

Which driver for PCI-6254 and 3.14 Kernel

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.

0 Kudos
Message 1 of 15
(9,664 Views)

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

/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

0 Kudos
Message 2 of 15
(6,444 Views)

Isn`t there a way to get the nirplk working on 64bit with 3.14 kernel?

0 Kudos
Message 3 of 15
(6,444 Views)

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)

0 Kudos
Message 4 of 15
(6,444 Views)

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.

0 Kudos
Message 5 of 15
(6,444 Views)

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

/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

0 Kudos
Message 6 of 15
(6,444 Views)

Ok seems as this was my fault. I changed some Kernel-configs and now it works.. NI-KAL installed successfully....

Thx!

Message 7 of 15
(6,444 Views)

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!

0 Kudos
Message 8 of 15
(6,444 Views)

Yeah of course... plain text here or can I upload it anywhere?

BTW: Where can I find some C/C++ sample code?

Message 9 of 15
(6,440 Views)

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.

0 Kudos
Message 10 of 15
(6,440 Views)