[alsa-devel] USB mixer on MixVibes U46DJ

Mark Hills mark at pogo.org.uk
Mon Apr 5 18:07:16 CEST 2010


The audio input and output of this USB soundcard works well, but I could 
not make much sense of the hardware mixer.

The hardware is relatively simple: 2 stereo pairs in, 3 stereo pairs out 
(or 2 stereo pairs out when operating at 48kHz) for DJs.

The mixer presented by 'alsamixer' is not a good match for the hardware. I 
hoped to create a mapping to fix this, but then it was more difficult 
because it seems that the mixer controls behave inconsistently. For 
example, to mute the monitoring of inputs 1-4 one must use:

  $ amixer cset numid=4 off,off
  $ amixer cset numid=5 off
  $ amixer cset numid=4 on,on

This, on its own, does not work:

  $ amixer cset numid=5

It was trial-and-error which got me to this conclusion.

Is this common behaviour for a USB device like this, and can I map around 
it? Or does it mean the hardware is buggy?

The mixer presented by the Windows software is nothing special, with 
normal controls (see http://www.pogo.org.uk/~mark/tmp/u46.png), and it 
behaves consistently. So it is possible.

How can I get this device to sensible mixer controls? Thanks!

$ amixer -c 1 contents
numid=1,iface=MIXER,name='U46DJ Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=2,iface=MIXER,name='U46DJ Capture Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=3,iface=MIXER,name='U46DJ Capture Volume'
  ; type=INTEGER,access=rw---R--,values=4,min=0,max=15,step=0
  : values=0,0,0,0
  | dBminmax-min=0.00dB,max=22.50dB
numid=4,iface=MIXER,name='U46DJ Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=5,iface=MIXER,name='U46DJ Playback Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=7,iface=MIXER,name='U46DJ Playback Switch',index=2
  ; type=BOOLEAN,access=rw------,values=4
  : values=on,on,on,on
numid=8,iface=MIXER,name='U46DJ Playback Switch',index=3
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=6,iface=MIXER,name='U46DJ Playback Volume'
  ; type=INTEGER,access=rw---R--,values=4,min=0,max=31,step=0
  : values=23,23,23,23
  | dBminmax-min=-34.50dB,max=12.00dB
numid=9,iface=MIXER,name='U46DJ Playback Volume',index=1
  ; type=INTEGER,access=rw---R--,values=6,min=0,max=31,step=0
  : values=31,31,31,31,31,31
  | dBminmax-min=-46.50dB,max=0.00dB

$ lsusb -v -d 0a92:00e1

Bus 003 Device 009: ID 0a92:00e1 EGO SYStems, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.01
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0a92 EGO SYStems, Inc.
  idProduct          0x00e1 
  bcdDevice            1.00
  iManufacturer           1 ESI
  iProduct                2 U46DJ
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          264
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              2 U46DJ
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength          117
        bInCollection           2
        baInterfaceNr( 0)       2
        baInterfaceNr( 1)       1
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             4
        wTerminalType      0x0201 Microphone
        bAssocTerminal          6
        bNrChannels             4
        wChannelConfig     0x000f
          Left Front (L)
          Right Front (R)
          Center Front (C)
          Low Freqency Enhancement (LFE)
        iChannelNames           0 
        iTerminal               2 U46DJ
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 5
        bSourceID               7
        bControlSize            1
        bmaControls( 0)      0x01
          Mute
        bmaControls( 1)      0x03
          Mute
          Volume
        bmaControls( 2)      0x02
          Volume
        bmaControls( 3)      0x03
          Mute
          Volume
        bmaControls( 4)      0x02
          Volume
        iFeature                2 U46DJ
      AudioControl Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      5 (SELECTOR_UNIT)
        bUnitID                 7
        bNrInPins               1
        baSource( 0)            4
        iSelector               2 U46DJ
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             6
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          4
        bSourceID               5
        iTerminal               2 U46DJ
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          3
        bNrChannels             6
        wChannelConfig     0x003f
          Left Front (L)
          Right Front (R)
          Center Front (C)
          Low Freqency Enhancement (LFE)
          Left Surround (LS)
          Right Surround (RS)
        iChannelNames           0 
        iTerminal               2 U46DJ
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 8
        bSourceID               4
        bControlSize            1
        bmaControls( 0)      0x01
          Mute
        bmaControls( 1)      0x03
          Mute
          Volume
        bmaControls( 2)      0x02
          Volume
        bmaControls( 3)      0x03
          Mute
          Volume
        bmaControls( 4)      0x02
          Volume
        iFeature                2 U46DJ
      AudioControl Interface Descriptor:
        bLength                20
        bDescriptorType        36
        bDescriptorSubtype      4 (MIXER_UNIT)
        bUnitID                 9
        bNrInPins               2
        baSourceID( 0)          8
        baSourceID( 1)          1
        bNrChannels             6
        wChannelConfig     0x003f
          Left Front (L)
          Right Front (R)
          Center Front (C)
          Low Freqency Enhancement (LFE)
          Left Surround (LS)
          Right Surround (RS)
        iChannelNames           0 
        bmControls         0x00
        bmControls         0x00
        iMixer                  0 
        junk at descriptor end: 00 00 00 00 00 02
      AudioControl Interface Descriptor:
        bLength                14
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 2
        bSourceID               9
        bControlSize            1
        bmaControls( 0)      0x01
          Mute
        bmaControls( 1)      0x03
          Mute
          Volume
        bmaControls( 2)      0x02
          Volume
        bmaControls( 3)      0x03
          Mute
          Volume
        bmaControls( 4)      0x02
          Volume
        bmaControls( 5)      0x03
          Mute
          Volume
        bmaControls( 6)      0x03
          Mute
          Volume
        iFeature                2 U46DJ
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0301 Speaker
        bAssocTerminal          1
        bSourceID               2
        iTerminal               2 U46DJ
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              2 U46DJ
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              2 U46DJ
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           1
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             6
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        44100
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            9
          Transfer Type            Isochronous
          Synch Type               Adaptive
          Usage Type               Data
        wMaxPacketSize     0x0220  1x 544 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          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              2 U46DJ
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              2 U46DJ
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           6
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             4
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        44100
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes           13
          Transfer Type            Isochronous
          Synch Type               Synchronous
          Usage Type               Data
        wMaxPacketSize     0x01a0  1x 416 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bLockDelayUnits         0 Undefined
          wLockDelay              0 Undefined
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Devices
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              2 U46DJ
        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              20
Device Status:     0x0001
  Self Powered

-- 
Mark


More information about the Alsa-devel mailing list