Yamaha Steinberg UR22 Support (Yamaha USB chipset 0499:1509)
Joseph Salisbury
joseph.salisbury at canonical.com
Wed May 7 15:57:27 UTC 2014
On 05/07/2014 08:00 AM, dj at decstasy.de wrote:
> Hello,
>
> is it possible to add this lines in the next patch somewhere in
> sound/usb/quirks-table.h?
> When there is a kernel update, I have to add it and compile it
> everytime on my own to get this device woking.
>
> {
> 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
> }
> }
> }
> },
>
>
> Thanks and best regards,
> Dennis
>
>
> P.S. Here are some additional device informations:
> $ lsusb -v -d 0499:1509
>
> Bus 002 Device 014: ID 0499:1509 Yamaha Corp.
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 0
> bDeviceProtocol 255
> bMaxPacketSize0 64
> idVendor 0x0499 Yamaha Corp.
> idProduct 0x1509
> bcdDevice 1.00
> iManufacturer 1 Yamaha Corporation
> iProduct 2 Steinberg UR22
> iSerial 0
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 442
> bNumInterfaces 5
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0xc0
> Self Powered
> MaxPower 500mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 1
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 0a 24 01 00 01 34 00 02 01 02
> ** UNRECOGNIZED: 0c 24 02 01 01 01 00 02 03 00 00 00
> ** UNRECOGNIZED: 09 24 03 02 01 03 00 01 00
> ** UNRECOGNIZED: 0c 24 02 03 03 06 00 02 03 00 00 00
> ** UNRECOGNIZED: 09 24 03 04 01 01 00 03 00
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 0
> iInterface 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 01 01 01 00
> ** UNRECOGNIZED: 0e 24 02 01 02 03 18 02 44 ac 00 80 bb 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x07 EP 7 OUT
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x002a 1x 42 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 2
> bNumEndpoints 1
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 01 01 01 00
> ** UNRECOGNIZED: 0e 24 02 01 02 03 18 02 88 58 01 00 77 01
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x07 EP 7 OUT
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x004e 1x 78 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 3
> bNumEndpoints 1
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 01 01 01 00
> ** UNRECOGNIZED: 0e 24 02 01 02 03 18 02 10 b1 02 00 ee 02
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x07 EP 7 OUT
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x0096 1x 150 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 0
> iInterface 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 04 01 01 00
> ** UNRECOGNIZED: 0e 24 02 01 02 03 18 02 44 ac 00 80 bb 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x86 EP 6 IN
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x002a 1x 42 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 2
> bNumEndpoints 1
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 04 01 01 00
> ** UNRECOGNIZED: 0e 24 02 01 02 03 18 02 88 58 01 00 77 01
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x86 EP 6 IN
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x004e 1x 78 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 3
> bNumEndpoints 1
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 2
> bInterfaceProtocol 0
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 04 01 01 00
> ** UNRECOGNIZED: 0e 24 02 01 02 03 18 02 10 b1 02 00 ee 02
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x86 EP 6 IN
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x0096 1x 150 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 3
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 3
> bInterfaceProtocol 255
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 00 01 24 00
> ** UNRECOGNIZED: 06 24 02 02 01 00
> ** UNRECOGNIZED: 09 24 03 02 01 01 01 01 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x01 EP 1 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 4
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 255 Vendor Specific Subclass
> bInterfaceProtocol 255 Vendor Specific Protocol
> iInterface 0
> ** UNRECOGNIZED: 07 24 01 00 01 24 00
> ** UNRECOGNIZED: 06 24 02 02 01 00
> ** UNRECOGNIZED: 09 24 03 02 01 01 01 01 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x03 EP 3 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x84 EP 4 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Device Qualifier (for other device speed):
> bLength 10
> bDescriptorType 6
> bcdUSB 2.00
> bDeviceClass 0 (Defined at Interface level)
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 64
> bNumConfigurations 1
> Device Status: 0x0000
> (Bus Powered)
>
I would suggest opening a bug in Launchpad. You can do this by running
the following from a terminal:
ubuntu-bug linux
Did you write that section of code, and if so, have you sent it upstream
for inclusion in the mainline kernel? If not, we can work through that
in the bug report.
Thanks,
Joe
More information about the kernel-team
mailing list