Hi all,

I've recently decided to revisit Ubuntu, and found that my Steinberg CI1 USB Audio Interface was not being recognized.

Doing some sleuthing for a fix, I found many users with the same problem, having to return the device for a more Linux-friendly brand or model. I want to share my experience in fixing this issue for whoever may be affected, as I have found a fix that seems to work and may alleviate (or cause ) someone a headache.

I'm going to start out and say that while I'm familiar with Linux, and am a programmer, I'm not going to pretend I've come up with any of this information. I've just found the information and applied some common sense is all

So, the problem will manifest itself with no audio. On closer inspection:

Code:
$ aplay -l
(yeilds no results)


$ lsusb
...
Bus 002 Device 016: ID 0499:1501 Yamaha Corp.
...

So it is recognized at least. $ lsusb -v -d 0499:1501 will show more information.


So I came across this post in regards to a similar device: http://linux-audio.4202.n7.nabble.co...9-td82888.html

On there, a helpful user Clemens Ladisch posted a fix:


Please try adding the following entry somewhere in sound/usb/quirks-table.h:

{
USB_DEVICE(0x0499, 0x1509),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
/* .vendor_name = "Yamaha", */
/* .product_name = "Steinberg UR22", */
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = (const struct snd_usb_audio_quirk[]) {
{
.ifnum = 1,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = 2,
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = 3,
.type = QUIRK_MIDI_YAMAHA
},
{
.ifnum = 4,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = -1
}
}
}
},

All I did was change the bolded lines to:

Code:
USB_DEVICE(0x0499, 0x1501),

and

/* .product_name = "Steinberg CI1", */

In the end, all I had to do was download the latest kernel for 12.04.2, add the modified above lines to the sound/usb/quirks-table.h file, compile the kernel, install it, and rebooted. And everything seems to be in working order now


This was the first time I've had to tweak the kernel, but the changes I needed to make were pretty basic, so I just followed this guide:

https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel


If anybody needs a step-by-step I'll certainly do my best to help!


- Cheers