[RFC] alsa i udev

lobo@chello.pl lobo w chello.pl
Wto, 27 Gru 2005, 11:43:26 CET


On Sun, Dec 25, 2005 at 01:44:46PM +0100, Michal Kochanowicz wrote:
[ciach]
> #v+
> [root w wieszak misiek]# lsmod | awk '$1 ~ /seq/ { print $0 }'
> snd_seq_device          6988  2 snd_opl3_lib,snd_rawmidi
> [root w wieszak misiek]# ls -l /dev/snd/seq
> ls: /dev/snd/seq: No such file or directory
> [root w wieszak misiek]#
> #v-
> 
> A w /etc/udev/scripts/alsa.sh jest coś takiego:
> #v+
>             [ -e /dev/snd/seq ] && /sbin/modprobe -q --ignore-install snd_seq_oss
> #v-
> 
> Czyli coś tu nie bangla. Został załadowany moduł OPL3, nie ma jednak
> /dev/sound/seq. Więc albo powyższa metoda sprawdzania czy załadować
> snd_seq_oss jest zła, albo mi czegoś brakuje.
Tutaj udev nie tworzy urządzenia, ponieważ nie załadował modułu snd_seq.
Nie wiem jaką masz kartę, ale możliwe, że trzeba jeszcze jakiś moduł
załadować, którego udev nie ładuje. U mnie w przypadku SB Live! musiałem
załadować moduł emu10k1_synth (wymaga między innymi snd_seq), aby
powstało urządzenie. Możesz sobie dopisać niewykrywane moduły do
/etc/sysconfig/alsa_udev. Dla każdej karty możesz zdefiniować dodatkowe
moduły które mają być ładowane. Kolejność operacji przy wykrywaniu karty
jest następująca:
1. Udev wykrywa kartę, i ładuje dla niej podstawowe moduły. Następnie
tworzy urządzenia dla niej.
2. Po utworzeniu controlC* jest odpalane /etc/udev/scripts/alsa.sh.
2a. Jeżeli są zdefiniowane dla karty dodatkowe moduły w
/etc/sysconfig/alsa_udev, to skrypt próbuje je załadować.
2b. Jeżeli w /etc/sysconfig/alsa_udev jest ustawiona zmienna
OSS_EMULATION na yes, ładuje moduły snd_*_oss (seq tylko wtedy gdy
istnieje urządzenie natywne alsy).
2c. Jeżeli dla karty jest ustawiona zmienna POST_INSTALL_$CARD, to
próbuje wykonać polecenia zawarte w tej zmiennej.
2d. Przywrócenie ustawień mixera dla danej karty.

Skrypt nie tworzy żadnych urządzeń. To zostawiam dla udeva. 

-- 
Pozdrawiam
Przemysław Białek




Więcej informacji o liście dyskusyjnej pld-devel-pl