Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

After I upgraded my Asrock ion330 to ubuntu 11.10 the center speaker has moved to rear left. This is the output from aplay -L:

 Discard all samples (playback) or generate zero samples (capture)
default:CARD=NVidia
    HDA NVidia, VT1708S Analog
    Default Audio Device
front:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Front speakers
surround40:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
dmix:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Direct sample mixing device
dmix:CARD=NVidia,DEV=1
    HDA NVidia, VT1708S Digital
    Direct sample mixing device
dmix:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample mixing device
dsnoop:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=1
    HDA NVidia, VT1708S Digital
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample snooping device
hw:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=1
    HDA NVidia, VT1708S Digital
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=1
    HDA NVidia, VT1708S Digital
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Hardware device with all software conversions

I have also edit /etc/pulse/daemon.conf with this line:

default-sample-channels = 6

Do I have to edit the line: default-channel-map = front-left,front-right ??

I have sound in right, left. reverse sound in center and rear left, and no sound i rear right, subwoofer OK.

Restart pulseaudio (and also tried to restart ubuntu). No luck.

I have also selected HDMI 5.1 in audio -> hardware

What has gone wrong ?? It worked like an charm in 10.10 and 11.04

share|improve this question
    
Problem solved, I found an fix: –  Mats Kohkoinen Nov 4 '11 at 15:23
    
The next two files will fix the wrong channel mapping of multi-channel PCM. sudo wget pastebin.com/download.php?i=f5f9654bb -O /etc/asound.conf sudo wget pastebin.com/download.php?i=f2e38265 -O /usr/share/alsa/cards/HDA-Intel.conf –  Mats Kohkoinen Nov 4 '11 at 15:23
add comment

1 Answer

This question was answered by the OP

The next two files will fix the wrong channel mapping of multi-channel PCM.
sudo wget pastebin.com/download.php?i=f5f9654bb -O /etc/asound.conf
sudo wget pastebin.com/download.php?i=f2e38265 -O /usr/share/alsa/cards/HDA-Intel.conf

the first file, /etc/asound.conf looks like this

pcm.!hdmi-remap {
    type asym
    playback.pcm {
        type plug
        slave.pcm "remap-surround71"
    }
}

pcm.!remap-surround71 {
      type route
      slave.pcm "hw:0,3"
      ttable {
            0.0= 1
            1.1= 1
            2.4= 1
            3.5= 1
            4.2= 1
            5.3= 1
            6.6= 1
            7.7= 1
       }
}

The second file, /usr/share/alsa/cards/HDA-Intel.conf looks like this

#
# Configuration for the Intel HD audio (ICH6/ICH7)
#

<confdir:pcm/front.conf>

HDA-Intel.pcm.front.0 {
@args [ CARD ]
@args.CARD {
    type string
}
type softvol
slave.pcm  "remap-surround71"

control {
    name "PCM Playback Volume"
    card $CARD
}
}   

# default with dmix+softvol & dsnoop
HDA-Intel.pcm.default {
@args [ CARD ]
@args.CARD {
    type string
}

   type asym
    playback.pcm {
            type plug
            slave.pcm {
                    type softvol
                    slave.pcm "remap-surround71"
                    control {
                            name "PCM Playback Volume"
                            card $CARD
                    }
            }
    }

capture.pcm {
    type plug
    slave.pcm {
        type softvol
        slave.pcm {
            @func concat
            strings [ "dsnoop:" $CARD ]
        }
        control {
            name "Digital Capture Volume"
            card $CARD
        }
        min_dB -30.0
        max_dB 30.0
        resolution 121
    }
    # to avoid possible phase inversions with digital mics
    route_policy copy
}
hint.device 0
}

<confdir:pcm/surround40.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
<confdir:pcm/surround71.conf>

HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0

<confdir:pcm/iec958.conf>

HDA-Intel.pcm.iec958.0 {
@args [ CARD AES0 AES1 AES2 AES3 ]
@args.CARD {
    type string
}
@args.AES0 {
    type integer
}
@args.AES1 {
    type integer
}
@args.AES2 {
    type integer
}
@args.AES3 {
    type integer
}
type asym
playback.pcm {
    type hooks
    slave.pcm {
        type hw
        card $CARD
        device 1
    }
    hooks.0 {
        type ctl_elems
        hook_args [
        {
            name "IEC958 Playback Default"
            lock true
            preserve true
            value [ $AES0 $AES1 $AES2 $AES3 ]
        }
        {
            name "IEC958 Playback Switch"
            lock true
            preserve true
            value true
        }
        ]
    }
}
capture.pcm {
    type hooks
    slave.pcm {
        type hw
        card $CARD
        device 1
    }
    hooks.0 {
        type ctl_elems
        hook_args [
        {
            name "IEC958 Capture Switch"
            lock true
            preserve true
            value true
        }
        ]
    }
}
hint.device 1
}

<confdir:pcm/hdmi.conf>

HDA-Intel.pcm.hdmi.0 {
@args [ CARD AES0 AES1 AES2 AES3 ]
@args.CARD {
    type string
}
@args.AES0 {
    type integer
}
@args.AES1 {
    type integer
}
@args.AES2 {
    type integer
}
@args.AES3 {
    type integer
}
type hooks
slave.pcm {
    type plug
    slave.pcm "remap-surround71"
}
hooks.0 {
    type ctl_elems
    hook_args [
    {
        name "IEC958 Playback Default"
        lock true
        preserve true
        value [ $AES0 $AES1 $AES2 $AES3 ]
    }
    {
        name "IEC958 Playback Switch"
        lock true
        preserve true
        value true
    }
    ]
}
hint.device 3
}

<confdir:pcm/modem.conf>

HDA-Intel.pcm.modem.0 {
@args [ CARD ]
@args.CARD {
    type string
}
type hw
card $CARD
device 6
hint.show off
}
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.