[LAD] Support for Steinberg UR22 (Yamaha USB chipset 0499:1509)?

From: <cullinan@email-addr-hidden>
Date: Sat Feb 23 2013 - 17:43:24 EET

Hi, there!

I just got a Steinberg UR22 USB<->Audio / MIDI interface for my
semi-prof. DJ work.
I am working on Linux (only), but wanted to give this new product a chance.
Well, it's basically a nice device but with an Yamaha chipset in it which
seem unfortunately not supported from the latest (3.7.9) linux kernel(s).

My questions are:
- How likely is it to get this device fully supported on linux?
- What needs to be done to get this device fully supported?

I am an electrical engineer and did some linux device driver development
in the past on some DMA stuff, but I am quite new to linux audio.
But I am willing to help somewhere...
I could try to reverse-engineer the USB stuff on Windows with the
usbmon/usbsnoop/libusb things...
But if it's too much work, to get it working, I could also just decide to
send it back to Steinberg and thank them for not supporting Linux with their
products.

The USB information I could get is:
$ aplay -l doesn't list that device

$ lsusb
...
Bus 002 Device 016: ID 0499:1509 Yamaha Corp.
...
(See the more comprehensive $ lsusb -v below...)

Related USB devices are:
0499:1501 Yamaha
0499:1507 Yamaha THR10
0499:1509 Yamaha Steinberg UR22 (what I am talking about)
0499:150c Yamaha THR10C

Related search resuls are:
Getting a Steinberg CI1 USB audio interface to work
http://ubuntuforums.org/showthread.php?t=1696336

Yamaha THR10 amp / USB2.0 audio interface
http://linux-audio.4202.n7.nabble.com/Yamaha-THR10-amp-USB2-0-audio-interface-Clemens-td52011.html

Thank you,

Clemens (different one as in last link)

-----8<-----
$ 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)

-----8<-----
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sat Feb 23 20:15:02 2013

This archive was generated by hypermail 2.1.8 : Sat Feb 23 2013 - 20:15:03 EET