You are not logged in.
EDIT : Solved. Windows messes up with the sound card and I have to shutdown the laptop completely after Windows has booted at least once before booting Arch again.
Hi,
I've got my new laptop (Asus UX430UNR) last week and reinstalled Arch following the guide on the wiki. Everything went smoothly and was working great and I was transferring my data until I realized I couldn't get sound on the speakers anymore. I know it was working earlier and the only thing I can think of that could have changed that is the fact that I installed TLP to try to get the best out of the battery (according to this page, at the bottom TLP works well with this model).
According to hwinfo, my sound card is an Intel HDA :
16: PCI 1f.3: 0403 Audio device
[Created at pci.378]
Unique ID: nS1_.NEgBIjfC6n8
SysFS ID: /devices/pci0000:00/0000:00:1f.3
SysFS BusID: 0000:00:1f.3
Hardware Class: sound
Model: "Intel Audio device"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0x9d71
SubVendor: pci 0x1043 "ASUSTeK Computer Inc."
SubDevice: pci 0x1c20
Revision: 0x21
Driver: "snd_hda_intel"
Driver Modules: "snd_hda_intel"
Memory Range: 0xef228000-0xef22bfff (rw,non-prefetchable)
Memory Range: 0xef200000-0xef20ffff (rw,non-prefetchable)
IRQ: 129 (631 events)
Module Alias: "pci:v00008086d00009D71sv00001043sd00001C20bc04sc03i00"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Although dmesg also talks about realtek somewhere :
[ 27.939022] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC294: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 27.939028] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 27.939032] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 27.939035] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 27.939038] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 27.939042] snd_hda_codec_realtek hdaudioC0D0: Mic=0x12
TLP seems to have special handling of these Intel HDA. I tried to modify the configuration, disable the power saving, disable TLP in systemd, remove it with pacman... (I rebooted each time) with no success.
# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
# A value of 0 disables, >=1 enables power saving (recommended: 1).
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=0
# Disable controller too (HDA only): Y/N.
SOUND_POWER_SAVE_CONTROLLER=N
An USB sound card I had lying around works fine, and my bluetooth speaker also works perfectly. This problem is specifically with the integrated sound card (I tried the laptop speakers and headphones port).
There is something strange though : I still manage to get some sound for a fraction of a second sometimes. The first time after boot that the system tries to output some sound I hear something and it then shuts. I managed to reproduce this artifact reliably by doing this :
// Switching to a different console with ctrl+alt+2
systemctl stop lightdm // This is because otherwise rmmod complains that the driver is in use
rmmod snd_hda_intel
modprobe snd_hda_intel
aplay /usr/share/sounds/alsa/Front_Center.wav
aplay /usr/share/sounds/alsa/Front_Center.wav
After the second aplay call (the first does nothing) I hear "Center" (just "Center", not "Front Center") exactly once. Subsequent calls do nothing, and I have to re-load the snd_hda_intel module again with rmmod/modprobe (a trick I found somewhere on this forum).
This sounds like something is "killing the sound driver", and that is also why I was thinking of TLP, but I can't manage to get it to work.
Did I miss something?
Thanks in advance for any help!
EDIT : there is also this post that makes me think of a TLP problem : https://bbs.archlinux.org/viewtopic.php?id=176271
Last edited by Foaly (2018-03-12 13:10:18)
Offline
If you disable power save configuration any effect TLP could have on this should be disabled, I doubt it's at fault here. Symptoms otherwise sound like something either sets the volume or actively blocks the device.
The thread you link to refers to the sound pop that happens when a device needs to be woken from power save, that shouldn't have a lasting effect, other than the annoyance from the pop.
What's the output of
sudo fuser -v /dev/snd/*
systool -vm snd_hda_intel
amixer -c0
during such a non working scenario?
Offline
Check that the output profile is correct, that it is actually set to the output you are using.
Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
Hi V1del,
I think I (kind of) found the source of the problem : if I reboot into Windows then reboot into Arch, no sound. I can reboot Arch as much as I want, sound will not come back. But if I power down the laptop completely (or maybe go into firmware mode, not sure) then boot Arch, I can have sound as much as I want. To say it differently : if windows was booted at some point since since the last system shutdown, sound doesn't work. I'm completely lost as to why this happens though.
You could say that the issue is kind of solved because it's not much trouble to shut down the computer when rebooting from Windows one you know it, but if possible I'd like to find the true cause of the issue. Here are the outputs of the commands you asked :
Non working (after Windows reboot) :
~ sudo fuser -v /dev/snd/*
[sudo] password for foaly:
USER PID ACCESS COMMAND
/dev/snd/controlC0: foaly 1093 F.... pulseaudio
~ systool -vm snd_hda_intel
Module = "snd_hda_intel"
Attributes:
coresize = "45056"
initsize = "0"
initstate = "live"
refcnt = "3"
srcversion = "896AC25D031EBBBA56FFDC6"
taint = ""
uevent = <store method only>
Parameters:
align_buffer_size = "-1"
bdl_pos_adj = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
beep_mode = "Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y"
enable_msi = "-1"
enable = "Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y"
id = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
index = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
jackpoll_ms = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
model = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
patch = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
position_fix = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
power_save = "0"
power_save_controller= "N"
probe_mask = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
probe_only = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
single_cmd = "-1"
snoop = "-1"
Sections:
~ amixer -c0
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 58 [67%] [-21.75dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 0 [0%] [-65.25dB] [off]
Front Right: Playback 0 [0%] [-65.25dB] [off]
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 'PCM',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 254 [100%] [-0.20dB]
Front Right: Playback 254 [100%] [-0.20dB]
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: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',3
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',4
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 63
Front Left: Capture 63 [100%] [30.00dB] [on]
Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Enabled'
Working :
~ sudo fuser -v /dev/snd/*
[sudo] password for foaly:
USER PID ACCESS COMMAND
/dev/snd/controlC0: foaly 1095 F.... pulseaudio
/dev/snd/pcmC0D0c: foaly 1095 F...m pulseaudio
~ systool -vm snd_hda_intel
Module = "snd_hda_intel"
Attributes:
coresize = "45056"
initsize = "0"
initstate = "live"
refcnt = "4"
srcversion = "896AC25D031EBBBA56FFDC6"
taint = ""
uevent = <store method only>
Parameters:
align_buffer_size = "-1"
bdl_pos_adj = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
beep_mode = "Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y"
enable_msi = "-1"
enable = "Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y"
id = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
index = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
jackpoll_ms = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
model = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
patch = "(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)"
position_fix = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
power_save = "0"
power_save_controller= "N"
probe_mask = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1"
probe_only = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
single_cmd = "-1"
snoop = "-1"
Sections:
~ amixer -c0
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 75 [86%] [-9.00dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 0 [0%] [-65.25dB] [off]
Front Right: Playback 0 [0%] [-65.25dB] [off]
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 'PCM',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 255 [100%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB]
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: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',3
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',4
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 63
Front Left: Capture 63 [100%] [30.00dB] [on]
Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Enabled'
And here is a "diff working.txt not_working.txt" of them :
1c1
< ~ sudo fuser -v /dev/snd/*
---
> ~ sudo fuser -v /dev/snd/*
4,6c4,5
< /dev/snd/controlC0: foaly 1095 F.... pulseaudio
< /dev/snd/pcmC0D0c: foaly 1095 F...m pulseaudio
< ~ systool -vm snd_hda_intel
---
> /dev/snd/controlC0: foaly 1093 F.... pulseaudio
> ~ systool -vm snd_hda_intel
13c12
< refcnt = "4"
---
> refcnt = "3"
39c38
< ~ amixer -c0
---
> ~ amixer -c0
44c43
< Mono: Playback 75 [86%] [-9.00dB] [on]
---
> Mono: Playback 58 [67%] [-21.75dB] [on]
64,65c63,64
< Front Left: Playback 255 [100%] [0.00dB]
< Front Right: Playback 255 [100%] [0.00dB]
---
> Front Left: Playback 254 [100%] [-0.20dB]
> Front Right: Playback 254 [100%] [-0.20dB]
I don't see anything relevant, except maybe the "pcmC0D0c" line but this line doesn't appear right now even though this is now working, so it might be "random". Any clues?
Edit @Mr.Elendig : I'm using Cinnamon's Sound settings pannel to check the volume and use the "Test Sound" button to output something. I also checked everytime that the only available source, "Speakers/Built-in Audio" is selected.
Last edited by Foaly (2018-03-12 10:45:15)
Offline
Broken firmware + windows messing up sound like that is not uncommon sadly.
Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
Windows now has this strange thing called "Fast Startup" or "Hybrid Boot", which seems to be killing all processes and then hibernating the kernel. You should make sure to disable it if you dual-boot.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Online
@Mr.Elendig : I did update the firmware by the way, and I even thought it fixed the problem at first, but that was only because the update process acted like a shutdown.
@progandy : Thanks for the tip, that was something I read on the wiki and told myself to do but I forgot it. I disabled it but that didn't fix the issue.
I guess it's just a hardware/firmware bug and there isn't much I can do then. I'll just keep things like this and remember to completely shutdown after dualbooting. Should I edit the wiki to warn about this? I'm not sure if this should be in Dual_boot_with_Windows or if this is more specific to my laptop (ASUS_Zenbook_UX430/UX530).
Offline
Yeah the most likely fix potential is updating your UEFI, something you might want to try is running
alsactl init
that might be able to restore state to a working baseline.
Offline
I'll keep checking for updates. I didn't try "alsactl init" but I tried "alsactl restore" multiple times (something I found at a few places while researching this problem) and it didn't do much.
I added the mention to the UX430 page on the wiki and I'll mark this topic as solved. Thanks for your time!
Offline
Sorry to up a [Solved] topic, but here is a quick update that might be interesting if someone has the same issue :
The "shut down completely" solution wasn't a good solution for me after all because it had another side effect which I didn't realize at first. Asus provides a (Windows-only obviously) software which allows the user to choose between 3 "Battery Health" settings, to customize the amount of energy (s)he wants to keep in the battery. For example, the "Maximum lifespan" mode only charges the battery up to 60% capacity and stops there, and from my experience of a hobbyist using a bunch of LiPo batteries, this is an effective way to increase the longevity of a pack so I think it's a pretty interesting feature to have on a thin notebook on which replacing the battery is not always easy. Fortunately this setting is kept across a reboot (I can set it on Windows then reboot to Arch and work all day with the battery kept at 60%), but unfortunately not after a complete shutdown, just like the audio problem.
Long story short : I now completely removed the soundcard drivers from Windows to "solve" the issue. I don't use Windows much anyway and I don't care about sound when I do (I can still use my Bluetooth speaker anyway). This allows me to have both sound and "maximum battery lifespan" mode on a day-to-day basis in Arch.
Hope this helps if someone has the same problem.
Offline