I recently bought an Edirol M-16DX and am trying to get it working with Linux. I'm almost there but would appreciate some help in getting it over the line.
The M-16DX (http://www.rolandus.com/products/productdetails.aspx?ObjectId=860&Parent... 114) is a fairly new and pretty neat piece of kit - it works as a standalone 16-channel hardware mixer, with a USB2.0 connection which can send each separate input to the computer, with the ability also to send a stereo stream back to the mixer. In addition it can be put in a DAW controller mode where it acts a control surface with almost all the mixer knobs usable.
It's set up as a vendor specific device so at first nothing happens when the usb cable connected. The usb configuration has three interfaces, like some of the other Edirol devices. So I put a new quirk in usbquirks.h for the appropriate device id, with a QUIRK_AUDIO_STANDARD_INTERFACE on interfaces 1 and 2, and a QUIRK_MIDI_FIXED_ENDPOINT on interface 3. Accodring to lsusb -v, each interface provides what looks like a proper class-specific descriptor.
Having recompiled, the system now detects the device and loads the usb-audio module when the device is plugged in. It successfully creates alsa devices for capture and playback, as well as midi, with the correct sample rate (44.1, 48 or 96 as set on the device), correct number of channels (18 in and 2 out). All looks as it should.
When I aplay an audio file to the device, it plays fine - almost. Everything sounds good, except that every 9-10 seconds, there is a kind of nasty high pitched digital distortion which lasts for a second. (definitely not in the audio file!) This seems to be synchronised to the start of the stream - when I aplay a file, it opens a new stream and the distortion is always in the same places in the song. If I open the ports on jack so the stream stays open, and play music through it on ardour, the distortion is at different points in the song (always about 9-10 seconds apart).
I haven't tried capture yet.
It all runs fine under windows in the same configuration.
I'm at a bit of a loss as to the problem here - perhaps there is something wrong with the detection, and I haven't yet tried creating an AUDIO_FIXED_ENDPOINT quirk to play with the settings manually. But I would have thought in that case it just wouldn't work at all. I know the sample rate and # channels is correct.
My system's pretty up to date (2.6.24.3 kernel, alsa-libs 1.0.16). I can provide full lsusb and /proc/asound information as necessary.
Suggestions welcome!
James