PCI-AER board Driver, Library & Documentation

Material Transfer Agreement

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.

Driver & Library

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.

Latest Release in .tgz form

The latest release of the driver, library, test code and utilities can be downloaded here:

Once you have downloaded the 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.

Using the Driver

Once the driver has been built, it must be properly installed. To install the driver, run make install (as root). You will then be able to insert and remove the driver module into/from the kernel as often as you like using

sudo /sbin/modprobe pciaer


sudo /sbin/modprobe -r pciaer


Latest Source as a git Repository

Since July 2011, the sources for the driver, library, test code and utilities are being maintained in git.

If you are a member of INI, you can clone the repository from /users/amw/pciaer/pciaer.git.

If you are not a member of INI, and would like to get access to the git repository, please email me.

Change Log

Changes that are (or might be) user-visible in 2.46 are as follows:

Refer to the full change log under Documentation below for further details.

Hardware Prerequisites

You should make sure that your PCI-AER board is fitted with a PROM containing the following FPGA code versions:

You can determine these version numbers either by inspecting the label on component U26 on the bottom left corner of the board (between the PCI bus connector and the backpanel) or by running testcode/fpgaregs | grep version when the driver is installed. The result should look something like this:

Driver version info: {0x022E;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 0x022E should be interpreted as 0x02.0x2E or in decimal, 2.46.)

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. I can send you instructions explaining how to do this.



The following useful documents are available:

Google Groups Discussion Group

The Google Groups group for discussing the PCI-AER board and related software can be found here: http://groups.google.ch/group/pci-aer

INI logo Institut für Neuroinformatik home page.

Valid HTML 4.01 Transitional