Topics on RME Hammerfall Card RME9652
The usage of the linux driver for this card should be discussed. There are at least two of them the OSS/free and ALSA driver, now both in the kernel-source.
Note: This ist not the Hammerfall/DSP, but old discontinued one. For Notebook and Hammerfall see ( http://pd.klingt.org/files/hdsp-howto.html )
RME9652 has one AES/EBU(or SPDIF)and three Optical in/outs for 8 channel ADAT I/O. The first optical can be switched in SPDIF and there are a Wordclock in/out on the expansion board. A 9pin female is used for coax AES-EBU/SPDIF and the ADAT Sync.
OSS/free (guenter geiger, ...)
- in kernel 2.4.x +
- ctrl programm at gige~ and rme_x.x_iem.tgz: ftp://iem.at/LINUX/soundcard/
- based on OSS/free (ens1371), but with an OSS-Multichannel Mode (also nonstandard, until now ;-), but now the device dsp can be opened in multichannel mode.
- there is a software stereo device mapped on two channels (default the first two but can be changed with rmectrl)
- a ctrl programm rmectrl can be used to control the card and a xrmectrl is a graphical gui of this.
- with the low latency kernel-patch on 2.4 kernels I got latencies down
to 3ms, (when not in edit-mode moving objects :-).
(trick: we start a seperate pd with -nogui, and one with gui but -noadc, - nodac and contol the first over netsend/receive)
- memorymapping is not working until now.
- I think only pd can use the multichannel mode.
ALSA Driver: (please ALSA-Specialist help on this)
- in linux kernel 2.5.X+
- lowlevel-ALSA driver does one device for all channels in one mode: 32bit, each channel a signal-vector. So usally no Application (except ardour) can handle this, there some utilities are needed (provided by alsa or other servers).
- so when using jack you can map any channel to pd
- using sw:X,Y on ALSA devices ?????
- using portaudio ????
- jack needs very high latency
- when using in stream mode, or memory mapped mode, there is no real memory map since the ALSA driver always copies to a memory which is mapped by the user program
- now hardware bufferpointer...
- the first one, but not compatible to any standard rme9652.c
is discontinued, (features: memory mapping and hardware pointer lookup for smallest latency and rt-linux driver on slow computers ;-)
Functional and Latency discussion:
The "trick" on the hammerfall is that the card itself writes to/reads from the main memory, so the software only has to read/write a defined RAM space for new samples and no copy operation is needed if memory mapping is used, but... ...there is only one format which is 24Bit and each channel on one 16k block. Since there is a hardware pointer what the actual sample is read/written from the card, you can theoretically read/write with a 4 sample latency to from the card (4 samples is the ADDA chip buffer).
..but there is te pci bus which bursts always at about 64 Samples and "nobody" knows (except the pci controller, which doesnt tell you anything ;-) which sample is now read/written or old within this region, so the smallest buffer is 1.5ms. But for the driver you need two of them. I think therfore 3ms is the lowest latency you can get with this card (and maybe with any pci card, since hammerfall has 26 channels so on each burst less samples are transfered than on other cards so maybe its faster ).
Any comments suggestions ???