Several Linux drivers have been written by different groups in the world.
All of them have different features (kernel version, need for bigphysarea
patch, ability to handle several S-LINK to PCI cards, ability to handle
PCI to S-LINK cards) and are freely available.
The Olivetti & Oracle Research Laboratory (ORL, now AT&T) and KFKI/RMKI
were in 1997 the first to have written a Linux driver for the SPCIS:
Simple PCI to S-LINK interface and SSPCI:
Simple S-LINK to PCI interface. Those drivers have been used in a PC
Those drivers had their limitations and therefore the NA48 experiment has
written its own driver based on Andrea Cisternino's generic AMCC driver.
With this driver they have measured a speed from S-LINK into the main
memory of the PC of 117 MByte/sec. NA48 has used this driver since
1998 in the NA48
Data Acquisition PC Farm to take the physics data.
Lars Schmitt of the COMPASS
experiment modified in 1999 the NA48 driver so you can have three
S-LINK to PCI cards in one PC.
Wolfgang Suttrop from the Max-Planck Institut für Plasmaphysik in
Germany has rewritten Lars Schmitts driver to be used in the Asdex
Upgrade Plasma physics experiment.
Juanba Romance of the University of Valencia has written a Linux driver
for the PCI to S-LINK cards.
Sidik Isani of the CFHT Telescope project
in Hawaii has rewritten the driver for the S-LINK to PCI cards which can
handle several cards in one PC. It works with 2.2 and 2.4 kernels
It doesn't even need the bigphysarea patch. It also works with Real-time
Linux with an interrupt response time with RTAI Linux is always less than
a few usec. This driver will become available under GPL. (June 2000)
Jan Evert van Grootheest of the company Control Application Engineering
(CAE) has written for NIKHEF a fully interrupt driven driver for the SSPCI
interface for generic linux kernels. It has a zero-copy architecture and
does not use the normal read system call to retrieve data. The driver has
been released under the GPL. The bigphysarea patch is not required. (July
David Francis from ATLAS/CERN has ported the LynxOS S-LINK~PMC library
from F. Pennerath to Linux. (March 2001)
21 August 1997. Márton Zsenei will evaluate drivers from
ORL and KFKI and make recommendations.
25 September 1997. Both drivers evaluated. Hardly any differences.
Márton will make one driver having "best of both worlds"
17 October 1997. NA48
has tried ORL and KFKI drivers. They observed crashes with ORL driver.
KFKI driver works fine, but has no DMA. NA48 decided to write their own
driver based on Andrea Cisternino's generic AMCC driver.
December 1997. NA48 has modified the Linux driver for the
S-LINK to PCI interface to be as lightweight as possible. With the
SLIDAS generating data, they now have measured a speed from S-LINK
into the main memory of the PC of 117 MByte/sec.
December 1998. Lars Schmitt is modifying the NA48 driver for the
February 1999. Juanba Romance has made performance measurements
of PCI to S-LINK
May 1999. Vinod Gupta wrote a program that logs and timestamps received
datawords. Used in special radiation test setups
July 1999. Lars Schmitt modified the driver so you can have three
S-LINK to PCI cards in one PC. Used in COMPASS testbeam.
March 2000. Wolfgang Suttrop of Asdex Upgrade modified the Linux
driver so that it can be used also with both Linux 2.0.* and 2.2.* kernels
and that it can do DMA transfers larger than 64 MB (they do 410
MB in one go).
June 2000. Sidik Isani of CFHT wrote a new driver for Real-time
Linux. The driver does not need a bigphysarea patch and works with 2.2
and 2.4 kernels.
July 2000. Jan Evert van Grootheest has written for NIKHEF a fully
interrupt driven driver (called SLD) for the SSPCI interface for generic
linux kernels. It has a zero-copy architecture and does not use
the normal read system call to retrieve data. Multiple interface support.
October 2000. Sidik Isani of the CFHT Telescope project in Hawaii
has released the driver for the S-LINK to PCI cards which can handle several
cards in one PC. Interrupt driven.
March 2001. Port of LynxOS S-LINK library almost finished by David
Not active anymore on this project
CERN - High Speed Interconnect
Erik van der Bij - 20 September