You are not logged in.

#1 2014-09-04 02:09:27

Gradient
Member
Registered: 2013-05-19
Posts: 99

[Solved] No sound with ALSA (change default sound card)

I installed Arch on another laptop and I am unable to get sound working.

# lspci | grep -i audio
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 9840
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller (rev 02)

Two devices show up in alsamixer. The first (the default, I assume) shows up only an S/PDIF button that I can toggle. If I select the other sound card, I can change volume normally.

I followed this solution in the wiki with no success.

How can I make the second sound card the default one?

Last edited by Gradient (2014-09-09 18:17:14)

Offline

#2 2014-09-04 09:20:50

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [Solved] No sound with ALSA (change default sound card)

$ cat /etc/modprobe.d/50-alsa.conf
options snd-hda-intel index=1,0

 Your HDMI is the default sound card, which is the reason it shows only digital output.

Edit: In the future post 'lspci -vnn | grep -A 1 -i audio'.

Last edited by emeres (2014-09-04 09:21:55)

Offline

#3 2014-09-04 09:49:11

juliendz
Member
Registered: 2013-05-13
Posts: 12

Re: [Solved] No sound with ALSA (change default sound card)

Try using 'pavucontrol' . It has a GUI to manage sound devices and levels.

pacman -S pavucontrol

Offline

#4 2014-09-04 09:57:49

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [Solved] No sound with ALSA (change default sound card)

This is not recommended since it applies to PA only, should OP actually use PA. Setting the default sound card using modprobe is universal in that matter.

Offline

#5 2014-09-04 16:19:18

Gradient
Member
Registered: 2013-05-19
Posts: 99

Re: [Solved] No sound with ALSA (change default sound card)

emeres wrote:
$ cat /etc/modprobe.d/50-alsa.conf
options snd-hda-intel index=1,0

 Your HDMI is the default sound card, which is the reason it shows only digital output.

I tried that and it kind of works. The second card (the one I want to use) is the only one displayed by alsamixer. However, I did the following and it works:

options snd_hda_intel enable=1 index=0
options snd_hda_intel index=1

Both are now displayed by alsamixer, with the second card being the first.

I think I understand what happens with these options. I would have liked to find some kind of official documentation explaining how to use those options. A search for 'snd_hda_intel options' did not lead to good results, unfortunatly.

Offline

#6 2014-09-04 16:57:24

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [Solved] No sound with ALSA (change default sound card)

 Post those using what I suggested and what you came up with.

aplay -lL;
for i in /proc/asound/card[0-9]*; do echo "--- $i ---";amixer -c $(cat $i/id); done;

 Also post this please:

lspci -vnn | grep -A 1 -i audio

 That first line is redundant, simply using this should be sufficient:

options snd-hda-intel index=1

 But I recommend using both values. Read this alsa documentation and 'man modprobe'.
 What do you mean 'is visible in alsamixer'? F6 does not list it? Did you use index or enable?

Edit: man not mad modprobe.

Last edited by emeres (2014-09-04 23:58:46)

Offline

#7 2014-09-04 23:35:29

Gradient
Member
Registered: 2013-05-19
Posts: 99

Re: [Solved] No sound with ALSA (change default sound card)

Here is the requested info with the cards in the corrected order:

$ aplay -lL;
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=Generic_1
    HD-Audio Generic, ALC3227 Analog
    Default Audio Device
sysdefault:CARD=Generic_1
    HD-Audio Generic, ALC3227 Analog
    Default Audio Device
front:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC3227 Analog
    Front speakers
surround21:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC3227 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC3227 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC3227 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC3227 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC3227 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC3227 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=Generic,DEV=0
    HD-Audio Generic, HDMI 0
    HDMI Audio Output
**** List of PLAYBACK Hardware Devices ****
card 0: Generic_1 [HD-Audio Generic], device 0: ALC3227 Analog [ALC3227 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ for i in /proc/asound/card[0-9]*; do echo "--- $i ---";amixer -c $(cat $i/id); done;
--- /proc/asound/card0 ---
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [off]
  Front Right: Playback 31 [100%] [12.00dB] [off]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [36.00dB]
  Front Right: 3 [100%] [36.00dB]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 39 [62%] [12.00dB] [on]
  Front Right: Capture 39 [62%] [12.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [36.00dB]
  Front Right: 3 [100%] [36.00dB]
Simple mixer control 'Mute-LED Mode',0
  Capabilities: enum
  Items: 'On' 'Off' 'Follow Master'
  Item0: 'Follow Master'
--- /proc/asound/card1 ---
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
$ lspci -vnn | grep -A 1 -i audio
00:01.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:9840]
	Subsystem: Hewlett-Packard Company Device [103c:22cd]
--
00:14.2 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller [1022:780d] (rev 02)
	Subsystem: Hewlett-Packard Company Device [103c:22cd]
emeres wrote:

What do you mean 'is visible in alsamixer'? F6 does not list it? Did you use index or enable?

Yes, that is what I meant; F6 did not list them both when I use your options. I must have done something wrong the first time, because now it does.

emeres wrote:

Read this alsa documentation and 'mad modprobe'.

Thanks for the link. That was what I was looking for.

Offline

#8 2014-09-04 23:52:09

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [Solved] No sound with ALSA (change default sound card)

Gradient wrote:
options snd_hda_intel enable=1 index=0
options snd_hda_intel index=1

 From the experience I gathered so far: The first line enables the first device, which according to lspci is the hdmi/gpu card and then sets its index to 0, ergo this line changes nothing, which is the reason I said it is redundant. The second line sets the first card according to hardware order, which again is the gpu/hdmi to the second slot, ergo index is set to 1. This pushes the next available card to index 0 and since there only is one other sound card, it is set as default.

 You must reboot, after changing modprobe options or reload the modules correctly, ergo with no alsa sound active. Simply using only the second line is discouraged, since with multiple sound card the other card might get the index 0. Snd-hda-intel accepts multiple values, up to 31 it seems, so what I proposed seems to be the most appropriate approach irrelevant of the setup used, since the second parameter addresses the second sound card on the bus, which is the FCH Azalia/ALC3227 in this case and sets it to index 0 making it default.

$ cat /etc/modprobe.d/50-alsa.conf
options snd-hda-intel index=1,0

 Should you consider this issue solved, then please mark the thread as such.

Edit: Added the solution for further clarification.

Edit2: I would like to know what this is if you do not mind:

Simple mixer control 'Mute-LED Mode',0
  Capabilities: enum
  Items: 'On' 'Off' 'Follow Master'
  Item0: 'Follow Master'

 What is its purpose?

Last edited by emeres (2014-09-04 23:56:49)

Offline

#9 2014-09-09 07:22:41

Gradient
Member
Registered: 2013-05-19
Posts: 99

Re: [Solved] No sound with ALSA (change default sound card)

Sorry for the late response.

emeres wrote:
Gradient wrote:
options snd_hda_intel enable=1 index=0
options snd_hda_intel index=1

 From the experience I gathered so far: The first line enables the first device, which according to lspci is the hdmi/gpu card and then sets its index to 0, ergo this line changes nothing, which is the reason I said it is redundant. The second line sets the first card according to hardware order, which again is the gpu/hdmi to the second slot, ergo index is set to 1. This pushes the next available card to index 0 and since there only is one other sound card, it is set as default.

...

Thanks for the explanation.

emeres wrote:

 Should you consider this issue solved, then please mark the thread as such.

Done! Thanks for your help.

emeres wrote:

Edit2: I would like to know what this is if you do not mind:

Simple mixer control 'Mute-LED Mode',0
  Capabilities: enum
  Items: 'On' 'Off' 'Follow Master'
  Item0: 'Follow Master'

 What is its purpose?

I'm sorry. I have no idea either.

Offline

#10 2014-09-09 10:11:32

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [Solved] No sound with ALSA (change default sound card)

 You are welcome. The thread is still not marked as solved however. Prepend [SOLVED] to the topic by editing the first post. https://wiki.archlinux.org/index.php/Fo … ow_to_Post

Offline

#11 2014-09-09 15:28:30

firekage
Member
From: Eastern Europe, Poland
Registered: 2013-06-30
Posts: 511

Re: [Solved] No sound with ALSA (change default sound card)

Gradient wrote:
options snd_hda_intel enable=1 index=0
options snd_hda_intel index=1

.

Sorry for posting here but i have a question - why you put order on the same card? What is the purpose of settiing it for the same card? What's more - if he has hdmi sound trough hdmi chip from AMD and onboard audio from onboard sound card, there should be different names, right? I have something similar,

card 0: XFi [Creative X-Fi], device 4: ctxfi [IEC958 Non-audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
[firekage@arch_desktop ~]$ 

and above these lines thare are many of something like that:

card 0: XFi [Creative X-Fi], device 3: ctxfi [Side]
  Subdevices: 256/256
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2

I can set order here by setting index =0 for reative xfi, but hdmi output is being done by nvidia hdmi on my graphic card...so?

Offline

#12 2014-09-09 15:32:53

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [Solved] No sound with ALSA (change default sound card)

 @firekage Start your own thread, then link to this one. I elaborated this configuration in this thread, reread it. And take your time writing it, this is very hard to understand.

Offline

#13 2014-09-09 16:31:20

firekage
Member
From: Eastern Europe, Poland
Registered: 2013-06-30
Posts: 511

Re: [Solved] No sound with ALSA (change default sound card)

Ok, letf forget about my example, but one thing still remains - why give order 1/0 to the same sound card?

options snd_hda_intel enable=1 index=0
options snd_hda_intel index=1

For what purpose there is order here for the same card, driver, output?

Offline

#14 2014-09-09 16:56:18

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: [Solved] No sound with ALSA (change default sound card)

 Both cards use the same module. https://git.kernel.org/cgit/linux/kerne … n.txt#n851

emeres wrote:

The first line enables the first device, which according to lspci is the hdmi/gpu card and then sets its index to 0, ergo this line changes nothing, which is the reason I said it is redundant. The second line sets the first card according to hardware order, which again is the gpu/hdmi to the second slot, ergo index is set to 1. This pushes the next available card to index 0 and since there only is one other sound card, it is set as default.

Edit: The example you are quoting is incorrect firekage, reread the whole thread.

options snd-hda-intel index=1,0 # Correct way

Last edited by emeres (2014-09-09 16:59:02)

Offline

Board footer

Powered by FluxBB