On Friday 05 August 2016 16:33:40 deloptes wrote:
Gene Heskett wrote:
On Friday 05 August 2016 08:35:52 deloptes
wrote:
Gene Heskett wrote:
So it is. Owned by root but world rw. Then why,
if root can
access it during the init phase, is it not active for me until I
do an alsactl restore ? Something in starting the x stuff as the
usr after the login, is killing the sound UNTIL the user does a
restore. And its a right PIMA. Just for S & G, I just added an
aplay command to be executed by me, immediately after a line in
rc.local that does a theoretical restore, as me to play the
front-center channel id file. I'll see if that plays when I next
reboot. Which is not eminent ATM.
In my opinion the problem is somewhere else. This file is not meant
to be used by user. It is used when alsa framework is initialized.
When you do restore you actually load the settings from this file.
The question is why it is not restoring on boot. You should inspect
the scripts used to start/initialize alsa.
I can't look further ATM. I would actually trace the log files, but
the approach with playing something is also valid, only it will not
help understand why if not working.
BTW I don't have anything in rc.local. I have (jessie)
find /etc/rc* | grep alsa
/etc/rc0.d/K01alsa-utils
/etc/rc6.d/K01alsa-utils
/etc/rcS.d/S21alsa-utils
regards
Looking at S21alsa-utils, it seems to me that I should see a log msg
or 30 from it. I am not, but its appears to mute the system at one
point in the script. WTH is that for? What I see in the last dmesg
all comes from snd_intel, and says that msi has been disabled,
whatever the heck that means. I'm clueless about that.
Thanks.
Cheers, Gene Heskett
Hi Gene,
and what happens if you do a /etc/init.d/alsa-utils restart instead of
calling directly alsactl?
this is just an idea for your next reboot.
It still works after the restart.
In fact it is worth reading
/usr/share/doc/alsa-utils/README.Debian
There are some very good ideas where your problem might be.
You could also remove ">/dev/null" from the script and see if alsactl
gives something back
if MSG="$(alsactl -E HOME="$ALSACTLHOME" restore $CARD
2>&1
/dev/null)" && [ ! "$MSG" ]
; then
return 0
else
# Retry with the "force" option. This restores more
levels # but it results in much longer error messages. alsactl -F
restore $CARD >/dev/null 2>&1
log_action_cont_msg "warning: 'alsactl -E
HOME="$ALSACTLHOME" restore${CARD:+ $CARD}' failed with error
message '$MSG'"
return 1
fi
and further down there is a function mute_and_zero_levels, but is
commented out.
Check on your side somewhere there.
store_levels "$TARGET_CARD" || EXITSTATUS=1
#mute_and_zero_levels "$TARGET_CARD" || EXITSTATUS=1
BTW MSI stands for Message Signaled Interrupt (there is a driver
handling this)
https://www.kernel.org/doc/Documentation/PCI/MSI-HOWTO.txt
I hope this helps
It might well, when I am awake. Short night last night. Msg marked for
further reading. Thank you.
Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>