Wiener pci drivers:
Wiener PCIADA installation
- First check the firmware with the plxeep.exe - on some motherboards (pundit) this does not work and you have to change the motherboard.
Installation of drivers
sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package
sudo apt-get build-dep linux
chmod a+x debian/scripts/misc/*
chmod a+x /home/f9daq/linux-2.6.32/debian/scripts/misc/../config-check
- Ubuntu linux kernel source installation:
apt-get source linux-image-$(uname -r)
chmod a+x debian.master/scripts/misc/*
fakeroot debian/rules clean
AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules binary-generic
- wienerpciada.iso -> plxeep.exe: upload the correct firmware (CAMAC/VME)
- driver: pcicc32-6.9.tgz
- cd pcicc32-6.9/driver
- edit Makefile and adjust the kernel source path
- sudo make install
- sudo ./pcicc32_load 1
- lsmod | grep pcicc32
- connect module
- compile and run test program pcicc32-6.9/test/pcicc32_test
- I've got the newest driver code from the author Klaus (email@example.com). But you may also go to http://www.wiener-d.com and click "Download" under "support" (there you may have to register with them first) and then click "PCI-CAMAC (PCIADA - CC32)" to find their latest driver (which may not be as new as what Klaus can give you).
- Go to the sub-directory "pcicc32-x.x/".
- Do (for example)
In new Linux (such as SL5.3 etc.) but not so new pcicc32 driver (such as pcicc32-6.9), driver/Makefile didn't get the correct "VERSION". You need to include "VERSION=2.6.18-164.11.1.el5PAE" or just change the driver/Makefile to get VERSION just by "shell uname -r" (instead of the complicated method which doesn't work any more).
- As "root", do (for example):
make KERNEL_LOCATION=/usr/src/kernels/2.6.18-164.11.1.el5PAE-i686 install
This would install various libcc32.so*, libcc32.h & pcicc32.h, pcicc32_make_devices and pcicc32.ko as well as put a few lines into /etc/modprobe.conf. Consistent with our current softwares, I have actually changed the location of pcicc32.h & libcc32.h to be under /usr/local/include and libcc32.so* to /usr/local/lib.
And I also put in local.conf (which has one line of "/usr/local/lib") in /etc/ld.so.conf.d/ so that they'll be loaded.
- To allow the system to load the pcicc32 module, I have created the pcicc32 file under /etc/init.d with the line "modprobe pcicc32". I then link the file to S68pcicc32 (the name S68.... is kind of random) /etc/rc3.d/ and /etc/rc5.d so that it'd load in under the init levels 3 and 5.
- If everything works, * "/sbin/lsmod" would see pcicc32; * /dev/cc32_1(among others) is created; * /proc/pcicc32 would like:
pcicc32 information. Version 6.6 of Oct 8 2005 from Klaus Hitschler.
Interfaces found : 1
--- 1 ---------------
LCR phys/virt/size : 0xdcef7f00/0xf89caf00/128
User phys/virt/size : 0xdcef8000/0xf8bc0000/32768
Irq : 201
CC32 is or was : (software) connected.
Module-Number : 1
FPGA-Version : 4
- "/usr/local/bin/pcicc32_make_devices" creates three new device nodes (/dev/cc32_0, /dev/cc32_1 & /dev/cc32_2) 'on stock'. The numbers "0" or "1" or "2" corresponds to the module number set by the jumpers on the CC32 module. With this, it is possible to address various CC32 modules. The PCIADA cards are not distinguishable. As shown in the above /proc/pcicc32, we are using "/dev/cc32_1".
- During testing in the test module of "pcicc32-6.12/test", I see error message:
- error while loading shared libraries: /usr/local/lib/libcc32.so.3: cannot restore segment prot after reloc: Permission denied
This is due to "SElinux" being enforced. So, I've registered the relevant libraries in the security module:
chcon -t texrel_shlib_t /usr/local/lib/libcc32.so.3
chcon -t texrel_shlib_t /usr/local/lib/libcc32.so
chcon -t texrel_shlib_t /usr/local/lib/libcc32.so.0.0
After that, the pcicc32_test++ works fine. ( pcicc32_test doesn't show a message at the end that it should show like pcicc32_test++, which makes you puzzle a bit. )
The original installation documentation is here. I've also copied the "User Manual" from here. Ask Klaus (firstname.lastname@example.org
) for help. He is the author of the driver and he is very responsive and keen to solve problems.
Last updated by Kin Yip on Mar. 19, 2010.
Public Relations Sound Generation from scintillation detectors
rok@surla:~/siggen-2.3.10$ ./tones :50 1000,2000@-6 2000 3000 4000 5000 6000
-- Main.rok - 19 Mar 2010