udev - ALSA "already running"

Jakub Piotr Cłapa loc w toya.net.pl
Pon, 12 Gru 2005, 23:37:51 CET


lobo w chello.pl wrote:
> On Sun, Dec 11, 2005 at 04:35:19PM +0100, Jakub Piotr Cłapa wrote:
>> Obecna ALSA jest niedostosowana do hotpluga i trzeba sie z tym pogodzić. 
>> Restorowanie mixerów powinno iść z eventów hotplugowych, ale nie mam 
>> pojęcia jak to zrobić.
> Ja sobie poradziłem w następujący sposób:
> 
> 1. /etc/modprobe.conf
> options snd cards_limit=2
> options snd-emu10k1 index=0 extin=0x000f extout=0x1f0f
> options snd-intel8x0 index=1
> 
> 2. /etc/udev/rules.d/alsa.rules
> SUBSYSTEM=="sound", KERNEL=="controlC*", RUN+="/etc/udev/scripts/salsa
> %n"
> SUBSYSTEM=="sound", KERNEL=="pcm*", RUN+="/sbin/modprobe -q snd_pcm_oss"
> SUBSYSTEM=="sound", KERNEL=="pcm*", RUN+="/sbin/modprobe -q snd_seq"
> SUBSYSTEM=="sound", KERNEL=="seq", RUN+="/sbin/modprobe -q snd_seq_oss"
> SUBSYSTEM=="sound", KERNEL=="seq", RUN+="/bin/asfxload ch12msup.bnk"
> 
> 
> 3. /etc/udev/scripts/salsa
> #!/bin/sh -e
> 
> [ "$ACTION" != "add" ] && exit 0
> 
> [ "$#" != 1 ] && exit 0
> 
> if [ -x /usr/sbin/alsactl ]; then
>     /usr/sbin/alsactl restore "${1}"
>     exit 0
> fi
> 
> Uwagi:
> Nie wiem czy 1. zadziała dla dzwięku po usb.

Pewnie tak.

> W punkcie 2 i 3 powalczyłem z opisem na jakiejś stronce i wyszło mi coś
> takiego po dostosowaniu do moich potrzeb (emulacja oss, midi).
> Teoretycznie można by pozbyć się punktu trzeciego i wstawić alsactl
> restore bezpośrednio do alsa.rules, ale jak mi działa to już nie chcę
> eksperymentować.

Ogólnie wygląda bardzo nieźle. Nie miałbyś ochoty dorzeźbić tego trochę 
i wrzucić do distro? (np. ładowanie emulacji powinno być kompleksowe i w 
skrypcie, żeby do /etc/sysconfig/alsa można było dodać konfigurację)

> Jeśli chodzi o zachowywanie ustawień, to ręcznie zrobiłem 'alsactl
> store' po ustawieniu alsamixerem.

To dałoby się chyba zrobić na siłe dla wszystkich kart przy shutdown lub 
jeśli udev obsługuje REMOVE to na evencie? Może jeszcze jakoś inaczej 
dałoby się zapisywać także ustawienie dla kart, które zostały wypięte 
przed shutdownem.

-- 
Regards,
Jakub Piotr Cłapa



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