PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Yamaha OPL3SA2 - Alsa Problem? (kann /dev/dsp nicht öffnen)



Giant Hogweed
20.01.04, 00:21
Hi!

Nach 6 Stunden habe ich es entlich geschafft, dieses Soundkarten Biest unter Gentoo zum laufen zu bekommen. Die Treiber werden jetzt ohne Widerspruch geladen und ich kann mit dem Befehl aplay Wave Files abspielen.

Jedoch kann keine Anwendung auf das Gerät /dev/dsp zugreifen.

Ich bin nach dem Alsa How-To von Gentoo.de gegangen. Die einzige Abweichung, die ich aufgrund der nicht PnP fähigen Soundkarte machen mußte, ist wohl in der alsa Konfigurationsdatei zu finden. Dort habe ich ein

options snd-opl3sa2 <parameter> ........ ........ ......

anfüngen müßen. Ohne die Adressen ging garnichts. Auch /dev/audio verweigert die Arbeit. Jetzt bin ich mit meinem Latein am Ende :(

Ich hab Gentoo noch auf meinem Hauptrechner installiert - ebenfalls Alsa. Hier hab ich absolut keine Probleme was /dev/dsp betrifft.

Weiß irgendjemand Rat?

P.S. Unter SuSE lief es einwandfrei. Zu dumm das ich die modules.conf nicht gesichert hab *grummel*

Giant Hogweed
20.01.04, 20:04
Ich bin ein Schritt weiter gekommen (denke ich mal)
Das Modul snd-pcm-oss wird garnicht geladen .. obwohl es angegeben ist. Ob das jetzt an der Kernelkonfiguration oder an fehlenden Packeten liegt, versuche ich gerade herauszufinden. Wenns klappen sollte, werde ich meinen Lösungsweg posten.

Wenn ich der Suchfunktion trauen kann, scheinen ja mehrere mti dieser &§%$ Soundkarte gestraft zu sein :)

Nachtrag: Okay sie funktioniert. Es lag wirklich an diesem Modul. Allerdings tritt jetzt ein anderes Problem auf.

Folgendes: Ich lade die Module per Hand nach

modprobe snd-mixer-oss
modprobe snd-pcm-oss

starte alsa neu

/etc/init.d/alsasound restart

lade wieder diese module - wie oben geschrieben und es funktioniert!
Anders geht es nicht. Ich muß die Module laden - alsa beenden - alsa neustarten - module laden und dann geht es .. beim booten will er einfach nicht die module snd-mixer-oss und snd-pcm-oss laden :l

Giant Hogweed
22.01.04, 22:14
Okay, hab das Problem nach 3 Tage in den Griff bekommen. :)
Damti sich andere nicht so rumquälen müssen, hier die Lösung, wie ich das Teil zum laufen gebracht habe:

Nach langer Suche hab ich hier im Forum ein Posting gefunden, bei dem jemand von den Standard Gentoo-Sources abgeraten hatte. Ich habe darauf mich für die Gaming-Sources entschieden und diese kompiliert und installiert.

Vorbereiten der Soundkartenkonfiguration:

Bei der Soundkarte des Typs Yamaha OPL3SA2, die in Notebooks wie meinem Tecra 8000, handelt es sich um eine Non-PnP Soundkarte. Kein Plug & Play also. Somit werden die Port, IRQ's etc. nicht vom Betriebsystem vergeben, sondern durch eine feste Konfiguration im BIOS. Diese gilt es zu notieren.

Ins BIOS einsteigen: Notebook einschalten -> ESC gedrückt halten -> F1 drücken

Meine BIOS-Einstellungen sehen wie folgt aus:

WSS I/O: 530
SBPro I/O: 220
Synthesizer I/O: 380
IRQ: 5
WSS(Play) DMA: 1
WSS(Rec.) DMA: 0
Control I/O: 538
MPU401: 330



Kernel-Konfiguration:

Da es sich um wie oben schon erwähnt um eine Non-PnP Soundkarte handelt, muß man später Alsa mit der Option isapnp=0 starten. Das hat bei mir jedoch nur bedingt zum Erfolg geführt (wie dieser Thread beweist ;) )

Bei dem Gaming-Source Kernel habe ich die isapnp Funktion nicht miteingebunden (auch nicht als Modul). Da die Soundkarte die einzige Karte ist, die den ISA Bus benutzt und man auch vermutlich keine weiteren ISA Karten einbauen wird (geht das überhaupt?), denke ich, dass man die Plug & Play Unterstützung für ISA ruhig deaktivieren kann.

Folgt also dem ALSA How-To (http://www.gentoo.de/inhalte/doku/alsa-guide/)

Zu "2.2 Kernel Module":
Kickt nicht nur die Soundkarten Module raus, sondern auch die Plug & Play Unterstützung für die ISA Schnitstelle. Das sollte dann so aussehen:

|
-> Plug & Play configuration
|
-> <M> Plug and Play support
-> < > ISA Plug and Play support

Speichert eure Konfiguration ab und baut den Kernel nach dem How-To zusammen.

Zu "2.3 Das richtige ALSA Modul":

Das Modul für die Soundkarte heißt snd-opl3sa2. Also:

env ALSA_CARDS='opl3sa2' emerge alsa-driver



Zu 2.4 - Teil 7: Konfiguration von ALSA

Hierzu mal meine ALSA-Config File:

##
## IMPORTANT:
## You need to customise this section for your specific sound card(s)
## and then run `update-modules' command.
## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
##
## ALSA portion
alias snd-card-0 snd-opl3sa2
options snd-opl3sa2 port=0x538 sb_port=0x220 wss_port=0x530 midi_port=0x388 fm_port=0x530 irq=5 dma1=1 dma2=0
## alias snd-card-1 snd-ens1371
## OSS/Free portion
## alias sound-slot-0 snd-card-0
## alias sound-slot-1 snd-card-1

Sehr wichtig ist hier die options Zeile. Passt meine Werte gegebenfalls an die von euch notierten Werte an.

Hinweis: Solltet ihr den ISA PnP in den Kernel einkompiliert haben, so fügt noch ein isapnp=0 zur Optionszeile hinzu:

options snd-opl3sa2 isapnp=0 port=0x538 sb_port=0x220 wss_port=0x530 midi_port=0x388 fm_port=0x530 irq=5 dma1=1 dma2=0

Jedoch wie gesagt: Mit der isapnp=0 Option konnte ALSA das snd-opl3sa2 Modul laden, jedoch fehlten bzw. wurden die Module snd-pcm-oss & snd-mixer-oss bei mir nicht nachgeladen.

Natürlich hätte man auch alsaconf verwenden können. Nur lief das bei mir nicht :l

And now ... Have fun & Sound :)