If you are not a member of INI and you have obtained a PCI-AER board made at INI, you, or someone in authority in your organisation should already have signed a Material Transfer Agreement (MTA) similar to the one linked to from here. If not, then the act of downloading the source code with the intent to use it with such a board will in any case be taken as agreement to the conditions of the MTA.
This is only a means of enforcing our MTA which relates primarily to the PCI-AER board hardware made by or for INI. For all other purposes, the driver code may be freely downloaded and distributed according to the terms of the GNU Public License (GPL), version 2.
The driver takes the form of a kernel module in a file called pciaer.ko, and there is a static-link library called libpciaer.a.
The current release of driver, library, test code and utilities can be downloaded here:
Once you have downloaded the appropriate file and un-tar'ed it using tar -xzvf filename, you should just need to change into the resulting directory and type make to build everything. Note that the driver module must be compiled with the kernel version with which it is to be used.
Once the driver has been built, it must be properly installed. To install the driver, run make install (you will need to be root to do this). As root, you will then be able to insert and remove the driver module into/from the kernel as often as you like by typing modprobe pciaer or modprobe -r pciaer respectively. If you are not root, you should ask your system administrator to perform the make install step and to allow you to run modprobe via sudo (*). The commands for inserting and removing the driver module as a non-root user will then be
sudo /sbin/modprobe pciaer
and
sudo /sbin/modprobe -r pciaer
respectively.
There are also binary RPMs available for SUSE Linux kernels which install the driver, library, header files and pciaercfg utility and create the required entries in the sudoers file:
| Kernel release | RPM |
|---|---|
| 2.6.22.19-0.1-default | pciaer-2.37-1.22.19.0.1.i586.rpm |
| 2.6.22.19-0.2-default | pciaer-2.38-1.22.19.0.2.i586.rpm |
| 2.6.22.19-0.4-default | pciaer-2.38-1.22.19.0.4.i586.rpm |
If you are a member of INI using a standard INI machine running SuSE 10.3, you can install the appropriate rpm via the normal iniswinstall mechanism.
If you are a member of INI, you can also access the sources via CVS.
You should make sure that your PCI-AER board is fitted with a PROM containing the following FPGA code versions:
| FPGA | Version |
|---|---|
| 1 | 0x4202 |
| 2 | 0x4203 |
Driver version info: {0x0226;0x4202;0x4203;0x00}
where the second and third numbers are the version numbers of FPGA1 and FPGA2 respectively. (The first number represents the version number of the driver, e.g. here 0x0226 should be interpreted as 0x02.0x26 or in decimal, 2.38.)
If when using a new release of the driver you are unable to open the Monitor (/dev/aermon*) or Sequencer (/dev/aerseq*) and errno == 524, or you see a message similar to the following in /var/log/messages:
pciaer: initialization failed for board 0 with error 524
please contact me. This error indicates that the NVRAM on the board needs to be re-programmed which can only be done by root. If you are a member of INI, I will do this re-programming for you. If you are not a member of INI, I will send you instructions explaining how to do it.
The entries to allow non-root users to insert and remove the module can be added to the sudoers file by running make instsudo in the driver directory.
The following useful documents are available:
The Google Groups group for discussing the PCI-AER board and related software can be found here: http://groups.google.ch/group/pci-aer
Institut für Neuroinformatik home page.