Making M-Audio’s 2496 work with Pulseaudio

I had problems with my M-Audio 2496 working with Pulseaudio, sound was working but the volume was too loud and envy24control was not working, after some search I found this bugreport. the comments #52 and #53 by muttnik solved my problems:

  1. install envy24control, if not already done:
    sudo apt-get install alsa-tools alsa-tools-gui
  2. Create the new udev rule in /lib/udev/rules.d/90-pulseaudio.rules. Here is the rule I added to the file to detect my 1010LT:

    SUBSYSTEMS=="pci", ATTRS{vendor}=="0x1412", ATTRS{device}=="0x1712", ENV{PULSE_PROFILE_SET}="via-ice1712.conf"

    The above rule is generic enough to match any pci card with the ICE1712 chipset. It defines a value for PULSE_PROFILE_SET that contains the name of the static profile definition to use with the card.

  3. Create the static profile definition file /usr/share/pulseaudio/alsa-mixer/profile-sets/via-ice1712.conf.

    # This file is part of PulseAudio.
    # PulseAudio is free software; you can redistribute it and/or modify
    # it under the terms of the GNU Lesser General Public License as
    # published by the Free Software Foundation; either version 2.1 of the
    # License, or (at your option) any later version.
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # General Public License for more details.
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software Foundation,
    # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
    ; Via ICE1712 multi-channel audio chipset
    ; This chipset has up to four stereo pairs of input and four stereo pairs of
    ; output, named channels 1 to 8. Also available are separate S/PDIF stereo
    ; channels (input and output), and a separate "system-out" stereo jack that
    ; supports 6-channel hardware mixing.
    ; The S/PDIF stereo channels can be controlled via the mixer for hw:0, and
    ; additionally, the 8 main outputs can be loop-routed to a separate stereo
    ; input pair, available as channels 11 and 12.
    ; Many cards available from vendors do not expose all channels from this chip
    ; to an external port, which effectively reduces the number of channels that
    ; are useful to the user. However, the ALSA driver still exposes all channels
    ; even if they are not connected.
    ; We knowingly only define a subset of the theoretically possible
    ; mapping combinations as profiles here.
    ; See default.conf for an explanation on the directives used here.
    auto-profiles = no
    [Mapping analog-mch-in]
    description = Analog Multi-Channel Main Input
    device-strings = hw:%f,0
    #channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1,aux2,aux3
    channel-map = aux0,aux1,front-left,front-right,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9
    direction = input
    [Mapping analog-mch-out]
    description = Analog Multi-Channel Main Output
    device-strings = hw:%f,0
    #channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1
    channel-map = front-left,front-right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7
    direction = output
    [Mapping digital-stereo]
    description = Digital Stereo Input/Output
    #device-strings = hw:%f,1
    device-strings = iec958:%f
    channel-map = left,right
    direction = any
    [Mapping analog-system-out]
    description = Analog Stereo System-Out
    device-strings = hw:%f,2
    channel-map = left,right
    direction = output
    [Profile output:mch]
    description = Multi-Channel Output Active (Digital Disabled)
    output-mappings = analog-mch-out analog-system-out
    input-mappings =
    priority = 90
    skip-probe = yes
    [Profile output:mch+input:mch]
    description = Multi-Channel Input/Output (Digital Disabled)
    output-mappings = analog-mch-out analog-system-out
    input-mappings = analog-mch-in
    priority = 100
    skip-probe = yes
    [Profile output:spdif]
    description = Digital Output (Multi-Channel Disabled)
    output-mappings = digital-stereo analog-system-out
    input-mappings =
    priority = 80
    skip-probe = yes
    [Profile output:spdif+input:spdif]
    description = Digital Input/Output (Multi-Channel Disabled)
    output-mappings = digital-stereo analog-system-out
    input-mappings = digital-stereo
    priority = 90
    skip-probe = yes
    [Profile output:system]
    description = System Output Only
    output-mappings = analog-system-out
    input-mappings =
    priority = 60
    skip-probe = yes

and then a restart…

Author: Stefan Schwaha


Leave a Reply