# Confirm that you have the board the computer with VID=1a4a ("SLAC") and PID=2030 ("AXI Stream DAQ") $ lspci -nn | grep SLAC 04:00.0 Signal processing controller [1180]: SLAC National Accelerator Lab TID-AIR AXI Stream DAQ PCIe card [1a4a:2030] # Clone the driver github repo: $ git clone --recursive https://github.com/slaclab/aes-stream-drivers # Go to the driver directory $ cd aes-stream-drivers/data_dev/driver/ # Build the driver $ make # Load the driver $ sudo /sbin/insmod ./datadev.ko cfgSize=0x200000 cfgRxCount=256 cfgTxCount=16 # Give appropriate group/permissions $ sudo chmod 666 /dev/datadev* # Check for the loaded device $ cat /proc/datadev_0
# Clone the repo in /u1 as root $ cd /u1 $ sudo git clone https://github.com/slaclab/aes-stream-drivers.git # Copy a working load script from another machine $ sudo scp $AFS_USERNAME@rdsrv407:/u1/aes-stream-drivers/data_dev/driver/load /u1/aes-stream-drivers/data_dev/driver/load # Configuration the load script to your liking $ sudo nano /u1/aes-stream-drivers/data_dev/driver/load # Copy a working rc.local script from another machine $ sudo scp $AFS_USERNAME@rdsrv407:/etc/rc.local /etc/rc.local # Configuration the rc.local script to your liking $ sudo nano /etc/rc.local # Enable the rc.local service: Based on https://www.linuxbabe.com/linux-server/how-to-enable-etcrc-local-with-systemd $ sudo chmod +x /etc/rc.local $ sudo systemctl enable rc-local $ sudo systemctl start rc-local.service $ sudo systemctl status rc-local.service
$ cat /u1/aes-stream-drivers/data_dev/driver/load #!/bin/sh # remove old driver /sbin/rmmod -s datadev # add new driver /sbin/insmod /u1/aes-stream-drivers/data_dev/driver/datadev.ko cfgSize=0x200000 cfgRxCount=256 cfgTxCount=16 || exit 1 # give appropriate group/permissions chmod 666 /dev/datadev*
$ cat /etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # ################################################################### # mount according to /etc/fstab (in case a drive didn't mount during boot up) mount -a ################################################################### # Load the SLAC DMA driver cd /u1/aes-stream-drivers/data_dev/driver/; make clean; make /u1/aes-stream-drivers/data_dev/driver/load ################################################################### exit 0