Hi, I've written a low level, i.e. it is not ALSA/OSS but a device specific interface, driver for the Emagic Audiowerk8 audio card. I still need to implement I2C (for setting the sample rate) and switching the input (analog/digital) and the buffer size is currently fixed (set at compile time) at 128 frames.
The interface as it is now is ioctls for START, STOP, XFER and mmap()'ed buffers. XFER blocks until the device switches buffer half (double buffered) and returns the position (in frames, since START) for writing, so xruns can be detected. I've also written an application that outputs a (loud) test signal. I'd appreciate any comments. I'd especially like to hear if you have an Audiowerk8 and the driver (doesn't) work for you. Also I have not been able to test the driver on a platform other then x86. I'll probably try writing a JACK driver next so the device can actually be used. With ALSA not being documented I have no idea where to start with writing an ALSA driver (and I really don't like having a common kernel interface for different hardware anyway. This would really complicate the driver, whereas with the device specific kernel driver much can be done in user-space). The driver is available at: http://www.sipkema-digital.com/~msipkema/ --martijn
