All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Maya44+ Support in ALSA
@ 2013-11-16 13:44 Simone Camporeale
  2013-11-16 18:04 ` Clemens Ladisch
  0 siblings, 1 reply; 5+ messages in thread
From: Simone Camporeale @ 2013-11-16 13:44 UTC (permalink / raw)
  To: alsa-devel

I found some problems on Maya44+ USB support in linux.
Using ubuntu 13.04 , Ubuntu 13.10 with alsa driver alsa-driver-1.0.25+dfsg
i found that this card isn't supported.
Only 2 of 4 channels work and they are mixed .
This card mounts TI TUSB3200AC chip.
This chip is also used in Re Loop devices and in Herlcues DJ Console.
To fix this problem i found on google a patch for Reloop device. I chanaged
VID and PID for MAYA44+ and now it works .
This patch involves in edititing ./sound/usb/quirks-table.h according to
attached patch

Also i provide an .asoundrc. With this .asoundrc you are able to use each
input and output channel

maya44+ patch

--- a/sound/usb/quirks-table.h    2013-11-12 12:43:24.380251603 +0100
+++ b/sound/usb/quirks-table.h    2013-11-06 12:28:20.000000000 +0100
@@ -320,6 +320,93 @@
 #undef YAMAHA_DEVICE
 #undef YAMAHA_INTERFACE

+
+/* Reloop Play */
+{
+    USB_DEVICE(0x200c, 0x100b),
+    .bInterfaceClass = USB_CLASS_PER_INTERFACE,
+    .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
+        .ifnum = QUIRK_ANY_INTERFACE,
+        .type = QUIRK_COMPOSITE,
+        .data = &(const struct snd_usb_audio_quirk[]) {
+            {
+                .ifnum = 0,
+                .type = QUIRK_AUDIO_STANDARD_MIXER,
+            },
+            {
+                .ifnum = 1,
+                .type = QUIRK_AUDIO_FIXED_ENDPOINT,
+                .data = &(const struct audioformat) {
+                    .formats = SNDRV_PCM_FMTBIT_S24_3LE,
+                    .channels = 4,
+                    .iface = 1,
+                    .altsetting = 1,
+                    .altset_idx = 1,
+                    .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
+                    .endpoint = 0x01,
+                    .ep_attr = USB_ENDPOINT_SYNC_ADAPTIVE,
+                    .rates = SNDRV_PCM_RATE_44100 |
+                         SNDRV_PCM_RATE_48000,
+                    .rate_min = 44100,
+                    .rate_max = 48000,
+                    .nr_rates = 2,
+                    .rate_table = (unsigned int[]) {
+                        44100, 48000
+                    }
+                }
+            },
+            {
+                .ifnum = -1
+            }
+        }
+    }
+},
+
+/* Maya44 USB+ Play */
+{
+    USB_DEVICE(0x2573, 0x0008),
+    .bInterfaceClass = USB_CLASS_PER_INTERFACE,
+    .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
+        .ifnum = QUIRK_ANY_INTERFACE,
+        .type = QUIRK_COMPOSITE,
+        .data = &(const struct snd_usb_audio_quirk[]) {
+            {
+                .ifnum = 0,
+                .type = QUIRK_AUDIO_STANDARD_MIXER,
+            },
+            {
+                .ifnum = 1,
+                .type = QUIRK_AUDIO_FIXED_ENDPOINT,
+                .data = &(const struct audioformat) {
+                    .formats = SNDRV_PCM_FMTBIT_S24_3LE,
+                    .channels = 4,
+                    .iface = 1,
+                    .altsetting = 1,
+                    .altset_idx = 1,
+                    .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
+                    .endpoint = 0x01,
+                    .ep_attr = USB_ENDPOINT_SYNC_ADAPTIVE,
+                    .rates = SNDRV_PCM_RATE_44100 |
+                         SNDRV_PCM_RATE_48000,
+                    .rate_min = 44100,
+                    .rate_max = 48000,
+                    .nr_rates = 2,
+                    .rate_table = (unsigned int[]) {
+                        44100, 48000
+                    }
+                }
+            },
+            {
+                .ifnum = -1
+            }
+        }
+    }
+},
+
+
+
+
+
 /*
  * Roland/RolandED/Edirol/BOSS devices
  */

.asoundrc example:

pcm.dshare {
    type dmix
    ipc_key 2048
    slave {
        pcm "hw:1"
        rate 44100
        period_time 0
        period_size 1024
        buffer_size 8192
        channels 4
    }
    bindings {
        0 0
        1 1
        2 2
        3 3
    }
}

pcm.dsnooped {
    type dsnoop
    ipc_key 2048
    slave {
        pcm "hw:1"
        rate 48000
    periods 0
        period_time 0
        period_size 1024
        buffer_size 4096
        channels 4
    }
}

pcm.mayaAin1 {
   type plug
   slave {
    pcm "dsnooped"
    channels 4
   }
   ttable.0.0 1
}
pcm.mayaAin2 {
   type plug
   slave {
    pcm "dsnooped"
    channels 4
   }
   ttable.0.1 1
}
pcm.mayaAin3 {
   type plug
   slave {
    pcm "dsnooped"
    channels 4
   }
   ttable.0.2 1
}
pcm.mayaAin4 {
   type plug
   slave {
    pcm "dsnooped"
    channels 4
   }
   ttable.0.3 1
}

pcm.mayaAout1 {
    type plug
    slave {
        pcm "dshare"
        channels 4
    }
    ttable.0.0 1
}
pcm.mayaAout2 {
    type plug
    slave {
        pcm "dshare"
        channels 4
    }
    ttable.0.1 1
}
pcm.mayaAout3 {
    type plug
    slave {
        pcm "dshare"
        channels 4
    }
    ttable.0.2 1
}

pcm.mayaAout4 {
    type plug
    slave {
        pcm "dshare"
        channels 4
    }
    ttable.0.3 1
}

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Maya44+ Support in ALSA
  2013-11-16 13:44 [PATCH] Maya44+ Support in ALSA Simone Camporeale
@ 2013-11-16 18:04 ` Clemens Ladisch
  2013-11-19 11:42   ` Simone Camporeale
  0 siblings, 1 reply; 5+ messages in thread
From: Clemens Ladisch @ 2013-11-16 18:04 UTC (permalink / raw)
  To: Simone Camporeale; +Cc: alsa-devel

Simone Camporeale wrote:
> I found some problems on Maya44+ USB support in linux.
> Only 2 of 4 channels work and they are mixed .
> To fix this problem i found on google a patch for Reloop device. I chanaged
> VID and PID for MAYA44+ and now it works .

What is the output of "lsusb -v" for this device?


Regards,
Clemens

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Maya44+ Support in ALSA
  2013-11-16 18:04 ` Clemens Ladisch
@ 2013-11-19 11:42   ` Simone Camporeale
  2013-11-19 12:03     ` Clemens Ladisch
  0 siblings, 1 reply; 5+ messages in thread
From: Simone Camporeale @ 2013-11-19 11:42 UTC (permalink / raw)
  To: Clemens Ladisch; +Cc: alsa-devel

Hi Clements,
this is lsub output

[simone@ubuntu: ~]$ lsusb
Bus 007 Device 002: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 2573:0008
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 0a5c:5800 Broadcom Corp.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Best Regards,
Simone


On Sat, Nov 16, 2013 at 7:04 PM, Clemens Ladisch <clemens@ladisch.de> wrote:

> Simone Camporeale wrote:
> > I found some problems on Maya44+ USB support in linux.
> > Only 2 of 4 channels work and they are mixed .
> > To fix this problem i found on google a patch for Reloop device. I
> chanaged
> > VID and PID for MAYA44+ and now it works .
>
> What is the output of "lsusb -v" for this device?
>
>
> Regards,
> Clemens
>



-- 
Dott. Simone Camporeale

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Maya44+ Support in ALSA
  2013-11-19 11:42   ` Simone Camporeale
@ 2013-11-19 12:03     ` Clemens Ladisch
  2013-11-20 11:05       ` Simone Camporeale
  0 siblings, 1 reply; 5+ messages in thread
From: Clemens Ladisch @ 2013-11-19 12:03 UTC (permalink / raw)
  To: Simone Camporeale; +Cc: alsa-devel

Simone Camporeale wrote:
> this is lsub output

And what is the output of "lsusb -v -d 2573:0008"?


Regards,
Clemens

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Maya44+ Support in ALSA
  2013-11-19 12:03     ` Clemens Ladisch
@ 2013-11-20 11:05       ` Simone Camporeale
  0 siblings, 0 replies; 5+ messages in thread
From: Simone Camporeale @ 2013-11-20 11:05 UTC (permalink / raw)
  To: Clemens Ladisch; +Cc: alsa-devel

This is lsusb -v -d 2573:0008 output:

Bus 006 Device 002: ID 2573:0008
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x2573
  idProduct          0x0008
  bcdDevice            3.01
  iManufacturer           1 ESI Audiotechnik GmbH
  iProduct                2 MAYA44 USB+
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          295
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x00
      (Missing must-be-set bit!)
      (Bus Powered)
    MaxPower              250mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0
      iInterface              0
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength          142
        bInCollection           2
        baInterfaceNr( 0)       1
        baInterfaceNr( 1)       2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             5
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0603 Line Connector
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 4
        bSourceID               3
        bControlSize            1
        bmaControls( 0)      0x01
          Mute
        bmaControls( 1)      0x02
          Volume
        bmaControls( 2)      0x02
          Volume
        iFeature                0
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0603 Line Connector
        bAssocTerminal          9
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 2
        bSourceID               1
        bControlSize            1
        bmaControls( 0)      0x01
          Mute
        bmaControls( 1)      0x02
          Volume
        bmaControls( 2)      0x02
          Volume
        iFeature                0
      AudioControl Interface Descriptor:
        bLength                15
        bDescriptorType        36
        bDescriptorSubtype      4 (MIXER_UNIT)
        bUnitID                 6
        bNrInPins               3
        baSourceID( 0)          5
        baSourceID( 1)          4
        baSourceID( 2)          2
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        bmControls         0x00
        iMixer                  0
        junk at descriptor end: 00
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 7
        bSourceID               6
        bControlSize            1
        bmaControls( 0)      0x01
          Mute
        bmaControls( 1)      0x02
          Volume
        bmaControls( 2)      0x02
          Volume
        iFeature                0
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             8
        wTerminalType      0x0301 Speaker
        bAssocTerminal          0
        bSourceID               7
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             9
        wTerminalType      0x0603 Line Connector
        bAssocTerminal          1
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                10
        bSourceID               9
        bControlSize            1
        bmaControls( 0)      0x01
          Mute
        bmaControls( 1)      0x02
          Volume
        bmaControls( 2)      0x02
          Volume
        iFeature                0
      AudioControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      4 (MIXER_UNIT)
      Warning: Descriptor too short
        bUnitID                11
        bNrInPins               1
        baSourceID( 0)         10
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        bmControls         0x00
        iMixer                  9
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            12
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID              11
        iTerminal               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           5
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                14
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             4
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            2 Discrete
        tSamFreq[ 0]        44100
        tSamFreq[ 1]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            9
          Transfer Type            Isochronous
          Synch Type               Adaptive
          Usage Type               Data
        wMaxPacketSize     0x0180  1x 384 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay              0 Undefined
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink          12
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                14
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             4
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            2 Discrete
        tSamFreq[ 0]        44100
        tSamFreq[ 1]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes           13
          Transfer Type            Isochronous
          Synch Type               Synchronous
          Usage Type               Data
        wMaxPacketSize     0x0180  1x 384 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay              0 Undefined
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      52
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              16
Device Status:     0x0001
  Self Powered


On Tue, Nov 19, 2013 at 1:03 PM, Clemens Ladisch <clemens@ladisch.de> wrote:

> Simone Camporeale wrote:
> > this is lsub output
>
> And what is the output of "lsusb -v -d 2573:0008"?
>
>
> Regards,
> Clemens
>



-- 
Dott. Simone Camporeale

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-11-20 11:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-16 13:44 [PATCH] Maya44+ Support in ALSA Simone Camporeale
2013-11-16 18:04 ` Clemens Ladisch
2013-11-19 11:42   ` Simone Camporeale
2013-11-19 12:03     ` Clemens Ladisch
2013-11-20 11:05       ` Simone Camporeale

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.