I've added the device id to .device and this to the oss_usb.c known_devices array :
{0x582, 0xad, "Roland SH-201"}
$ sudo ossdetect -v
Detected Intel High Definition Audio (ICH7)
Detected Roland SH-201
USB support available in the system, adding USB driver
Detected Generic USB audio/MIDI device (BETA)
But no device files are created when I modprobe oss_usb.
What tricks are required to make it work on OSS?
In the alsa kernel there is this quirks entry:
- Code: Select all
/* Roland SH-201 */
+ USB_DEVICE(0x0582, 0x00ad),
+ .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+ .vendor_name = "Roland",
+ .product_name = "SH-201",
+ .ifnum = QUIRK_ANY_INTERFACE,
+ .type = QUIRK_COMPOSITE,
+ .data = (const struct snd_usb_audio_quirk[]) {
+ {
+ .ifnum = 0,
+ .type = QUIRK_AUDIO_STANDARD_INTERFACE
+ },
+ {
+ .ifnum = 1,
+ .type = QUIRK_AUDIO_STANDARD_INTERFACE
+ },
+ {
+ .ifnum = 2,
+ .type = QUIRK_MIDI_FIXED_ENDPOINT,
+ .data = & (const struct snd_usb_midi_endpoint_info) {
+ .out_cables = 0x0001,
+ .in_cables = 0x0001
+ }
+ },
+ {
+ .ifnum = -1
+ }
+ }
+ }
