Alsa i kernel z nesta [długie]
Jarosław Kruk
jareq w poczta.onet.pl
Śro, 29 Maj 2002, 10:02:04 CEST
Zainstalowałem sobie jądro 2.4.18 z nesta, a następnie alse którą w
całości przekompilowałem (alsa-driver, alsa-lib, alsa-utils, alsa-conf).
Skonfigurowałem sobie przy pomocy alsaconf swoją kartę (SB Live) i
wystartowałem. Moduły załadowały się prawidłowo i wszystko zaczęło
działać. Okazuje się jednak że amixer nie chce działać. Wtedy zrobiłem
strace amixer. Oto najciekawsze momenty:
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\10\333"...,1024) = 1024
fstat(3, {st_mode=S_IFREG|0755, st_size=1198916, ...}) = 0
old_mmap(NULL, 1215040, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x167000
mprotect(0x285000, 43584, PROT_NONE) = 0
old_mmap(0x285000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,3, 0x11d000) = 0x285000
old_mmap(0x28c000, 14912, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x28c000
close(3) = 0
munmap(0x126000, 22722) = 0
open("/dev/snd/controlC0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC0", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC0", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC0", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC0", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC1", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC1", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC1", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC1", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC2", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC2", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC2", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC2", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC3", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC3", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC3", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC3", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC3", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC3", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC4", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC4", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC4", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC4", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC5", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC5", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC5", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC5", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC5", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC5", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC6", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC6", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC6", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC6", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC7", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC7", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC7", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/snd/controlC7", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/aloadC7", O_RDONLY) = -1 ENOENT (No such file or directory)
close(-1) = -1 EBADF (Bad file descriptor)
open("/dev/snd/controlC7", O_RDWR) = -1 ENOENT (No such file or directory)
write(2, "The ALSA sound driver was not de"..., 55The ALSA sound driver
was not detected in this system.
) = 55
_exit(1)
Jak widać nie może on znaleźć urządzeń /dev/snd/controlC* ani
/dev/aloadC*. W katalogu /dev jest link snd do katalogu
/proc/asound/dev ale w katalogu /proc/asound (ten istnieje) nie ma już
kataloogu dev. Czy ktoś wie co zrobić, abym mógł korzystać z amixer.
(alsamixer zachowuje się podobnie jak amixer). Na razie korzystam z
mixera który jest wbudowany w program mp3blaster (ten działa) ale nie
jest zbyt wygodne. Niestety nie sprawdziłem do czego się odwołuje
mp3blaster (było zbyt późno, a teraz piszę już z pracy i nie mam już
dostępu)
PS. Na kernelu z RA (2.2) wszystko działało prawidłowo.
--
Sztuczna inteligencja nigdy nie wygra z naturalną głupotą
=========================================================
Jarek Kruk - jareq w poczta.onet.pl
Więcej informacji o liście dyskusyjnej pld-devel-pl