I have compiled ALSA as per BLFS -6.1 but cannot successfully execute any
commands to demonstarte the installation is correct. To more fully explain
the situation a Record of the results follows. Any suggestions for compling
or troubleshooting the problem would be appreciated.
This record is comprised of four parts:
1. The results of executing alsa "commands" after installation of linux-2.6.13
and alsa version 1.0.9.
2. The pertinent "dev" , "proc" and "etc" files
3. The configuration files for installation of linux-2.6.13 and alsa-*-1.09.
4. Audio card system information
********************************************************************************
********************************************************************************
PART 1.
TESTS
The following are command line executions that were performed after compiling
the alsa source files.
All commands were executed by root.
#alsamixer
alsamixer: function snd_ctl_open failed for default: No such file or directory
root:#/amixer set Master 100 unmute
amixer: Mixer attach default error: No such file or directory
root:#/amixer set Center 100 unmute
amixer: Mixer attach default error: No such file or directory
root:#/amixer set PCM 100 unmute
amixer: Mixer attach default error: No such file or directory
root:#/amixer -c 0
amixer: Mixer attach hw:0 error: No such file or directory
root:#/alsactl store
alsactl: get_controls:456: snd_ctl_open error: No such file or directory
root:/etc/rc.d/init.d# ./alsasound restart
Shutting down sound driver: ALSA lib seq_hw.c:455:(snd_seq_hw_open) open /dev
/snd/seq failed: Is a directory
can't open sequencer
/usr/sbin/alsactl: get_controls:456: snd_ctl_open error: No such file or
directory
done
ALSA driver is already running.
root:/etc/rc.d/init.d# ./alsasound stop
Shutting down sound driver: ALSA lib seq_hw.c:455:(snd_seq_hw_open) open /dev
/snd/seq failed: Is a directory
can't open sequencer
/usr/sbin/alsactl: get_controls:456: snd_ctl_open error: No such file or
directory
done
root:/etc/rc.d/init.d# ./alsasound start
ALSA driver is already running.
root:/# speaker-test -Dplug:front -c2
ALSA lib confmisc.c:560:(snd_determine_driver) could not open control for card
0
ALSA lib conf.c:2686:(snd_config_hooks_call) function
snd_config_hook_load_for_
all_cards returned error: No such file or directory
ALSA lib pcm.c:1959:(snd_pcm_open_conf) Invalid type for PCM front definition
(id: front, value: cards.pcm.front)
## (The last entry is continually repeated)
## END speaker-test
root:/# aplay -D test.wav
ALSA lib pcm.c:2090:(snd_pcm_open_noupdate) Unknown PCM test.wav
aplay: main:533: audio open error: No such file or directory
root:/# aplay -D default
aplay: main:533: audio open error: No such file or directory
## End aplay -D default
root:/# aplay -L
PCM list:
hw {
@args.0 CARD
@args.1 DEV
@args.2 SUBDEV
@args.CARD {
type string
default {
@func getenv
vars {
0 ALSA_PCM_CARD
1 ALSA_CARD
}
default {
@func refer
name 'defaults.pcm.card'
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars {
0 ALSA_PCM_DEVICE
}
default {
@func refer
name 'defaults.pcm.device'
}
}
}
@args.SUBDEV {
type integer
default {
@func refer
name 'defaults.pcm.subdevice'
}
}
type hw
card $CARD
device $DEV
subdevice $SUBDEV
}
plughw {
@args.0 CARD
@args.1 DEV
@args.2 SUBDEV
@args.CARD {
type string
default {
@func getenv
vars {
0 ALSA_PCM_CARD
1 ALSA_CARD
}
default {
@func refer
name 'defaults.pcm.card'
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars {
0 ALSA_PCM_DEVICE
}
default {
@func refer
name 'defaults.pcm.device'
}
}
}
@args.SUBDEV {
type integer
default {
@func refer
name 'defaults.pcm.subdevice'
}
}
type plug
slave.pcm {
type hw
card $CARD
device $DEV
subdevice $SUBDEV
}
}
plug {
@args.0 SLAVE
@args.SLAVE {
type string
}
type plug
slave.pcm $SLAVE
}
shm {
@args.0 SOCKET
@args.1 PCM
@args.SOCKET {
type string
}
@args.PCM {
type string
}
type shm
server $SOCKET
pcm $PCM
}
tee {
@args.0 SLAVE
@args.1 FILE
@args.2 FORMAT
@args.SLAVE {
type string
}
@args.FILE {
type string
}
@args.FORMAT {
type string
default raw
}
type file
slave.pcm $SLAVE
file $FILE
format $FORMAT
}
file {
@args.0 FILE
@args.1 FORMAT
@args.FILE {
type string
}
@args.FORMAT {
type string
default raw
}
type file
slave.pcm null
file $FILE
format $FORMAT
}
null {
type null
}
cards 'cards.pcm'
front 'cards.pcm.front'
rear 'cards.pcm.rear'
center_lfe 'cards.pcm.center_lfe'
side 'cards.pcm.side'
surround40 'cards.pcm.surround40'
surround41 'cards.pcm.surround41'
surround50 'cards.pcm.surround50'
surround51 'cards.pcm.surround51'
surround71 'cards.pcm.surround71'
iec958 'cards.pcm.iec958'
spdif 'cards.pcm.iec958'
modem 'cards.pcm.modem'
default 'cards.pcm.default'
dmix 'cards.pcm.dmix'
dsnoop 'cards.pcm.dsnoop'
via82xx {
type hw
card 0
}
# END aplay -L
********************************************************************************
********************************************************************************
PART 2.
Device, process and system files related to ALSA
root:/#ls -al /dev/snd
lrwxrwxrwx 1 root root 12 Oct 27 10:54 /dev/snd ->
/proc/asound
root:/#ls-al /dev/snd
dr-xr-xr-x 5 root root 0 Oct 31 16:34 .
dr-xr-xr-x 68 root root 0 Oct 31 06:51 ..
lrwxrwxrwx 1 root root 5 Nov 1 05:57 V8237 -> card0
dr-xr-xr-x 7 root root 0 Nov 1 05:57 card0
-r--r--r-- 1 root root 0 Nov 1 05:57 cards
-r--r--r-- 1 root root 0 Nov 1 05:57 devices
dr-xr-xr-x 2 root root 0 Nov 1 05:57 oss
-r--r--r-- 1 root root 0 Nov 1 05:57 pcm
dr-xr-xr-x 2 root root 0 Nov 1 05:57 seq
-r--r--r-- 1 root root 0 Nov 1 05:57 timers
-r--r--r-- 1 root root 0 Nov 1 05:57 versioni
root:/#ls -al /dev/snd/card0
dr-xr-xr-x 7 root root 0 Nov 1 06:17 .
dr-xr-xr-x 5 root root 0 Nov 1 06:17 ..
dr-xr-xr-x 2 root root 0 Nov 1 06:17 codec97#0
-r--r--r-- 1 root root 0 Nov 1 06:17 id
-rw-r--r-- 1 root root 0 Nov 1 06:17 oss_mixer
dr-xr-xr-x 3 root root 0 Nov 1 06:17 pcm0c
dr-xr-xr-x 6 root root 0 Nov 1 06:17 pcm0p
dr-xr-xr-x 3 root root 0 Nov 1 06:17 pcm1c
dr-xr-xr-x 3 root root 0 Nov 1 06:17 pcm1p
dr--r--r-- 1 root root 0 Nov 1 06:17 via82xx
root:/#ls -al /dev/snd/card0/codec97#0
dr-xr-xr-x 2 root root 0 Nov 1 06:24 .
dr-xr-xr-x 7 root root 0 Nov 1 06:24 ..
-r--r--r-- 1 root root 0 Nov 1 06:24 ac97#0-0
-r--r--r-- 1 root root 0 Nov 1 06:24 ac97#0-0+regs
root:/#ls -al /dev/snd/card0/pcm0c
dr-xr-xr-x 3 root root 0 Nov 1 06:29 .
dr-xr-xr-x 7 root root 0 Nov 1 06:29 ..
-r--r--r-- 1 root root 0 Nov 1 06:29 info
-rw-r--r-- 1 root root 0 Nov 1 06:29 oss
dr-xr-xr-x 2 root root 0 Nov 1 06:29 sub0
root:/#ls -al /dev/snd/card0/pcm1c
dr-xr-xr-x 3 root root 0 Nov 1 06:32 .
dr-xr-xr-x 7 root root 0 Nov 1 06:32 ..
-r--r--r-- 1 root root 0 Nov 1 06:32 info
-rw-r--r-- 1 root root 0 Nov 1 06:32 oss
dr-xr-xr-x 2 root root 0 Nov 1 06:32 sub0
root:/#ls -al /dev/snd/card0/pcm1p
dr-xr-xr-x 3 root root 0 Nov 1 06:32 .
dr-xr-xr-x 7 root root 0 Nov 1 06:32 ..
-r--r--r-- 1 root root 0 Nov 1 06:32 info
-rw-r--r-- 1 root root 0 Nov 1 06:32 oss
dr-xr-xr-x 2 root root 0 Nov 1 06:32 sub0
root:/#ls -al /dev/snd/oss
dr-xr-xr-x 2 root root 0 Nov 1 06:17 .
dr-xr-xr-x 5 root root 0 Nov 1 06:17 ..
-r--r--r-- 1 root root 0 Nov 1 06:17 devices
-r--r--r-- 1 root root 0 Nov 1 06:17 sndstat
root:/#ls -al /dev/snd/seq
dr-xr-xr-x 2 root root 0 Nov 1 06:13 .
dr-xr-xr-x 5 root root 0 Nov 1 06:13 ..
-r--r--r-- 1 root root 0 Nov 1 06:13 clients
-r--r--r-- 1 root root 0 Nov 1 06:13 drivers
-r--r--r-- 1 root root 0 Nov 1 06:13 oss
-r--r--r-- 1 root root 0 Nov 1 06:13 queues
-r--r--r-- 1 root root 0 Nov 1 06:13 timer
root:/#ls -al /dev/aload*
crw-rw---- 1 root audio 116, 0 Aug 17 2004 aloadC0
crw-rw---- 1 root audio 116, 32 Aug 17 2004 aloadC1
crw-rw---- 1 root audio 116, 64 Aug 17 2004 aloadC2
crw-rw---- 1 root audio 116, 96 Aug 17 2004 aloadC3
crw-rw---- 1 root audio 116, 1 Aug 17 2004 aloadSEQ
root:/# less /etc/asound.conf
pcm.via82xx {
type hw
card 0
}
ctl.via82xx {
type hw
card 0
}
## END /etc/asound.conf
root:/# less /etc/dev.d/snd/alsa.dev
#!/bin/sh -e
# This script is called by udevd when a change in a device is
# detected, including initial detection upon bootup.
# udevd sets the environment variables ACTION and DEVNAME.
[ "$ACTION" = "add" ] || exit 0
DEV_BASENAME="${DEVNAME##*/}"
N="${DEV_BASENAME#controlC}"
case "$DEV_BASENAME" in
controlC[0-7])
x=0
while [ $x -lt 20 ]; do
# Wait up to 20 seconds for /usr to be mounted if necessary
if [ -f /usr/sbin/alsactl ]; then
/usr/sbin/alsactl restore $N
exit 0
fi
sleep 1
x=`expr $x + 1`
done & # Put the while command in the background and continue
;;
esac
exit 0
# END /etc/dev.d/snd/alsa.dev
root:#/less /root/.asoundrc
pcm.via82xx {
type hw
card 0
}
ctl.via82xx {
type hw
card 0
}
pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
## END /root/.asoundrc
********************************************************************************
********************************************************************************
PART 3.
LINUX INSTALLATION
Installation of linux-2.6.13 was done to update the kernel from linux-2.6.5.
root:/usr/src/linux-2.6.13# make mrproper
root:/usr/src/linux-2.6.13# cp ../linux-2.6.5/.config .
The existing config file was used to avoid the long process of selecting
all of the pertinent options when compiling the new kernel.
root:/usr/src/linux-2.6.13# make menuconfig
##Verified "device file" and "file system" settings.
##Exited and saved the configuration. Excerpts from the .config file follow;
root:/usr/src/linux-2.6.13# less .config (Edited)
#
# Sound
#
CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=y
CONFIG_SND_VERBOSE_PRINTK=y
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
CONFIG_SND_MPU401_UART=y
CONFIG_SND_VIRMIDI=m
#
# PCI devices
#
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_VIA82XX=y
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_HDA_INTEL is not set
#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
END of kernel 2.6.13 SND Configuration
root:/usr/src/linux-2.6.13# make all
root:/usr/src/linux-2.6.13# cp arch/i386/boot/bzImage /boot/lfskernel-2.6.13
Note lilo.conf was edited to add a new menu option for selecting the new
2.6.13 version.
root:/usr/src/linux-2.6.13# make install
root:/usr/src/linux-2.6.13# make modules_install
##END of installation of linux-2.6.13
ALSA INSTALLATION
Installation of ALSA was comprised of executing the following as "root"
from the appropriate source directories.
# Configure.alsa-lib-1.0.9/
./configure --enable-static &&
make &&
make install
# End
# Configure.jack-audio-connection-kit-0.100.0
./configure --prefix=/usr --sysconfdir=/etc \
--infodir=/usr/share --mandir=/usr/share \
--with-default-tmpdir=/mnt/ramfs &&
make &&
make install
# End
# Configure.alsa-plugins-1.0.9
./configure &&
make &&
make install
# End
# Configure.alsa-uitls-1.0.9a
./configure &&
make &&
make install
# End
Installed the "alsa" bootscripts.
# Configure.alsa-tools-1.0.9
./configure --prefix=/usr &&
make &&
make install
# End
# These commands were used to install alsa-tools, however no "tools" were
installed:
# None
# Configure.alsa-firmware-1.0.9
./configure --prefix=/usr &&
make &&
make install
# End
# Configure.alsa-oss-1.0.9
./configure &&
make &&
make install
# End
End of installation of alsa-*-1.0.9
********************************************************************************
********************************************************************************
PART 4.
SYSTEM DATA
root:/# lspci | grep audio
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233 AC97 Audio
Controller (rev 60)
root:/# dmesg | grep -A1 ALSA
ALSA device list:
#0: VIA 8237 with ALC850 at 0xd800, irq 22
End of system data
Respectfully submitted for constructive comment,
Jim McConville
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page