83 lines
3.2 KiB
Plaintext
83 lines
3.2 KiB
Plaintext
alsa-utils README.Debian
|
|
------------------------
|
|
|
|
Contents
|
|
--------
|
|
News
|
|
Restoring mixer levels
|
|
Storing mixer levels
|
|
Error messages
|
|
|
|
|
|
News
|
|
----
|
|
Last updated 12 April 2009
|
|
|
|
|
|
Restoring mixer levels
|
|
----------------------
|
|
ALSA drivers initialize hardware mixer levels to zero. It is usually
|
|
desirable to set things up so that the mixer levels for basic sound
|
|
output are automatically raised to reasonable levels after the drivers
|
|
have completed their initialization.
|
|
|
|
Currently, alsa-utils accomplishes this by having its initscript's
|
|
"start" method restore mixer levels to what they were the last time
|
|
they were saved (see below). The levels are stored in the file
|
|
/var/lib/alsa/asound.state. If either the latter file or the alsactl
|
|
program is not available then amixer is used to set mixer levels to
|
|
"reasonable" default values.
|
|
|
|
To set mixer levels to "reasonable" default values from the command
|
|
line (i.e., without trying first to restore saved values), run
|
|
"/etc/init.d/alsa-utils reset".
|
|
|
|
For modular drivers on a udev system, the /lib/alsa/udev script runs
|
|
the initscript "start" method after a driver has initialized and its
|
|
associated control device has been created.
|
|
|
|
For integral drivers and modular ones loaded very early in the boot
|
|
process, the initscript is configured to be run as part of runlevel
|
|
initialization. Restoration of mixer levels on bootup can be disabled
|
|
by configuring the alsa-utils "service" as stopped in runlevel S. On a
|
|
system that uses sysv-rc this means that you should RENAME
|
|
/etc/rcS.d/S50alsa-utils to /etc/rcS.d/K50alsa-utils. The symlink
|
|
should not be deleted---only renamed.
|
|
|
|
|
|
Storing mixer levels
|
|
-------------------------
|
|
By default mixer levels are stored before shutdown by the initscript's
|
|
"stop" method. The initscript is run with "stop" in runleves 0 and 6.
|
|
|
|
To disable this behavior, if you are using sysv-rc, REMOVE the
|
|
"K50alsa-utils" symbolic links from /etc/rc0.d/ and /etc/rc6.d/.
|
|
The symlinks should be removed, not just renamed.
|
|
|
|
Note that this scheme is different from and simpler than the scheme
|
|
that was used by the "alsa" initscript when it contained the code
|
|
that implemented mixer level storing and restoring. The runlevels_save
|
|
environment variable is no longer used---indeed, there is no
|
|
/etc/default/ file for alsa-utils at all---and there is no longer a
|
|
choice of values for "alsactl_store_on_shutdown". Now "alsactl store"
|
|
is run on shutdown unconditionally; however, this can be disabled by
|
|
configuring the alsa-utils "service" as floating in runlevels 0 and 6,
|
|
as described above.
|
|
|
|
|
|
Error messages
|
|
--------------
|
|
If the initscript "start" method is run early in the boot process,
|
|
before /usr/ is mounted, then it may print an error message. The
|
|
message can be ignored because the initscript gets run again later in
|
|
the boot process.
|
|
|
|
/etc/init.d/alsa-utils: Warning: No alsactl program available.
|
|
|
|
If you use the snd-cs46xx module then you may see messages like this:
|
|
|
|
Jan 26 14:32:50 foo kernel: ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:427: cs46xx: failure waiting for FIFO command to complete
|
|
|
|
This arises from a bug in the driver, but so far I have yet to
|
|
observe any consequent malfunction in the sound card.
|