Yamaha Steinberg UR22 Support (Yamaha USB chipset 0499:1509)

Joseph Salisbury joseph.salisbury at canonical.com
Wed May 7 17:30:07 UTC 2014


On 05/07/2014 11:57 AM, Joseph Salisbury wrote:
> 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
>
>
Also, if you open a bug report, I'll put that code into a patch and
build a test kernel for you.  If it resolves the issue, I can submit it
for you.




More information about the kernel-team mailing list