Configuring Sound on Linux/ALSA/Troubleshooting
Errors and Solutions
[edit | edit source]Kernel lacks appropriate modules
[edit | edit source]Symptom
[edit | edit source]Indicated by:
- The virtual directory /proc/asound is not present
- The command aplay -l returns no sound cards present
- The sound card shows up under some hardware detection mechanism, i.e., lspci
Sometimes the cause of this is selectively pulling out modules suggested by a dist-upgrade, such as the kernel, without the kernel modules.
Solution
[edit | edit source]Add the appropriate modules to your kernel. In Ubuntu you can upgrade to the newest kernel and modules by issuing the following command:
$ sudo apt-get install linux-generic
Invalid card specified
[edit | edit source]Symptom
[edit | edit source]If you encounter the following error it simply means you are targeting a non-existent or erroneous device:
$ cat /dev/urandom | aplay
ALSA lib pcm_hw.c:1207:(_snd_pcm_hw_open) Invalid value for card
aplay: main:546: audio open error: No such file or directory
Solution
[edit | edit source]This can often be remedied by simply specifying the device explicitly.
cat /dev/urandom | aplay -D hw:0,3
Bad sample
[edit | edit source]Symptom
[edit | edit source]This is a rather complex option . Essentially, hardware expects a certain datatype for the sound sample, and you're providing the wrong one.
aplay: set_params:901: Sample format non available
Solution
[edit | edit source]Specify the sample format, or amend the rate in the ALSA conf file.
cat /dev/urandom | aplay -f S16_LE ## Where S16_LE is your desired rate
No channel count
[edit | edit source]Symptom
[edit | edit source]If you do not provide to ALSA the amount of channels you wish to output to, you'll get the following error:
aplay: set_params:901: Channels count non available
Solution
[edit | edit source]Specify the amount of channels you wish to output too. Two is considered safe for the purpose of troubleshooting.
cat /dev/urandom | aplay -c 2 ## Two channels is stereo sound