"Feisty vs. /dev/dsp1" [ megoldva ]

Fórumok

Szervusztok!

Az a probléma, hogy van egy gép amin van Ubuntu 7.04 a beleépített "csodálatos automatikus hangkártya-felismerővel", ami minden (2K)-adik indításra beletalál, hogy melyik hangkártyát tegye be /dev/dsp1-nek a gép alaplapi és PCI-os hangkártyája közül.

És minden (2K+1)-edi indításra csak a csöndet adják azok a programok, amik OSS-en keresztül hajtanák a /dev/dsp1-et pl: Flashplugin (és ezért full el kell indítani a számítógépet, hogy aztán kib*sszon velem és ne szólaljon meg...), aztán XMMS (nagy csend...) Xine (igen, van aki még ilyent is használ...), MPlayer (naná, hogy nem szól...)

Azért használok bizonyos programokra OSS-t mert csak. Ebben nem akarok vitát nyitni. És ebben az esetben tényleg fontos hogy nem az ALSA OSS-emulációján keresztül az eszköz nevével (pl Ensoniq 1371) hivatkozik a hangkártyára a program, hanem direktben /dev/dsp1 (dev-/-dé-es-pé-EGY)

DE ez azért idegesítő feature, hogy ilyenkor restart kell, hogy megszólaljon.
Nem lehet valahogy ezt a "csodálatos automatikus baromságát" kikapcsolni?

UI: korábban is kísérleteztem vele, és végül le is gyalultam a gépről, csak nemrég egyik ismerősöm kipróbálta az ubuntut és tetszett neki, majd tőlem kért segítséget, így (hogy ne mondjak a kezdőnek hülyeséget) feltettem ismét a gépre.

Köszi előre is a segítséget.
/mazursky

Hozzászólások

Nekem USB 5.1 headsetemmel van UGYANEZ. KDE alatt viszonylag gondtalan, mindösze programokban vannak gondok, és én is csak így tudom megoldani. Próbálkoztam már sok dologgal de semmi haszna. Nekem Kubuntu 7.04 és 7.10-en is jelentkezett ugyanez a hiba. Azt hittem csak nálam van ilyen siker hiszen én USB Headsetezek nem pci-os hangkártyázok.

Valaki tud megoldást jelezze.

MEGOLDVA!

megoldás = script az /etc/rc.local -ba, tartalma:
----------------------------------------------------------------
#!/bin/sh
/usr/bin/asuondconf set-default-card /dev/dsp1
/sbin/alsactl/restore AudioPCI
echo Loading ALSA settings for Creative Sound Blaster AudioPCI
----------------------------------------------------------------
És hogy ez rendesen lefusson, előtte a következők a teendők:

1. sudo alsamixer -ben beállítod az értékeket
(esetleg alsamixer -c 1 : itt a -c = card number utána a szám, pedig hogy hanyadik)

2. asoundconf list
kilistázza a hangkártyáid alias neveit, innen van nekem az AudioPCI

3. sudo alsactl store AudioPCI

És innentől nem a KDE/GNOME kezeli a hangkártya beállítást. (ott jobb, ha beállítod OSS-re, vagy arra a hangkártyára, amit használni szeretnél)

Üdv. mindekinek

/mazursky

Huhh ne haragudj az elírásért valóban: ASOUNDCONF ;~))

A billentyűzetem egy DIN-es csatlakozójú ACER (az a lapos régi, tudod) és már egy kicsit olyan rajta gépelni, mintha egy tál lekvárban zongoráznál, szóval kicsit másképp reagál minden leütésre, viszont szép opálosan fényes sötétkékre lefújtam (MOTIP kék lámpabúra spray-vel á lá TESCO) tavaly nyáron az agyonsárgult csontszínű cuccost. Így sok irigyem lett, hogy milyen szép... persze már nem tökéletes, de ők ezt nem tudják

;~))
/mazursky

A megoldás viszont még nem teljes.
Újabb indítás után ismét a csend fogadott, így kicsit szétnéztem az
/etc/modprobe.d (vagy vmi ilyesmi könyvtárban) és van egy olyan file, hogy
blacklist és blacklist-bla-bla...

Szóval ha ezt megnyitod és tudod, hogy milyen modult tölt be a hangkártyádra, akkor nézd meg hogy szerepel-é a blacklist file-okban ez a modul...
Ha igen, kommentezd ki.
Sőt ha kiadsz egy parancsot:

#whereis alsa

megkapod eredményül a könyvtárat, ott is érdemes szétnézni, mert ott is van valami
blacklist.noOSS és blacklist.noALSA vagy hasonló nevű
amiket szintén érdemes megnézegetni a kérdéses modul miatt!

Szerintem még ez sem teljes megoldás, mert igazából azt kell valahogy megtiltani, hogy a modprobe blacklist-re vegye a hangkártyádat rendszerindításkor.

/mazursky

UI: azért vagyok gondban a nevekkel és elérési utakkal, mert most egy másik gépről netezek, slackware alapokon, ami pedig eléggé más ;~)) de ilyenem is van.

Szervusztok!

Tovább tesztelgettem a dolgot:

ha egyszer kiadom az asoundconf set-default-card /dev/dsp1 parancsot, akkor el is lehet felejteni az ALSA-t, mivel ekkor már az OSS kezeli a hangkártyát, amit aumix-ben tudsz állítani.

Az OSS viszont mintha kevesebb szabályzót adna a kártyára. Plusz megszűnik az a lehetőséged, hogy pl XMMS (ami nálam OSS - /dev/dsp1 ként adja a hangot) programban a hangerőt a csúszkával is tudod változtatni.
De a VLC esetén is (ALSA - hw:1,0 ként ad hangot) egyáltalán nem fog működni a hangerőszabályzás a programban.

A visszaálításhoz viszont újra kellett telepítenem a Synaptic-ban a Search => sound témakör csomagjainak már telepített részét. Most újra van alsamixer, és van két hangkártya, amik teljesen random módban tötődnek be.

Viszont, a megoldás az /etc/modprobe.d/alsa-base file
Van egy olyan rész benne, hogy:
...
options cx88_alsa index=-2
...
ez azt jelenti, hogy a cx88_alsa "hangkártya-modul" ne vegyen fel index=0 -t, tehát ne töltődjön be, vagy vlami ilyesmi.
Namármost:
rövid úton kideríthető, hogy milyen modulokat használ a gép a hangkártyákon, ez nálam az alaplapi snd-intel8x0 és a PCI-os snd-ens1371 volt, tehát ezért az options részhez hozzáírtam:

options snd-intel8x0 index=0
option snd-ens1371 index=1

Így mostmár az alaplapi intel = /dev/dsp és hw:0.0
a PCI-os SoundBlaster = /dev/dsp1 és hw:1.0

Arra érdemes odafigyelni, hogy a fenti modulok ne legyenek blacklist-en.
És itt találod meg blacklist-en:

whereis alsa

/etc/... és /lib/...

;~))

ezután már az egyes hangkártyákat így lehet álítani:

alsamixer -c 0 (alsamixer a card-0 án)
alsamixer -c 1 (alsamixer a card-1 en)

/mazursky