PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim Laden eines Moduls für Soundkarte


El Fantastico
2002-11-23, 14:14:48
Hi!

Ich habe ein Problem mit meiner Soundkarte und hoffe ihr könnt mir helfen. Bei der Beschreibung muss ich jetzt etwas ausholen:

Meine Soundkarte ist eine Terratec XLerate Pro mit dem Aureal Vortex 2 Chipsatz. Die Firma Aureal hat ja leider das Zeitliche gesegnet, aber kurz vor dem Konkurs hat die Firma noch einen Linuxtreiber für die Soundkarte veröffentlicht. Dieser Treiber enthält sowohl Quell- als auch Binärbestandteile. Unter aureal.sourceforge.net gibt es nun eine verbesserte Version des Treibers, der wohl ziemlich viele Bugs behebt und mit kernel 2.4 läuft. Die Entwickler haben natürlich keinen Zugriff auf den nur als Binary vorliegenden Teil. Nun zu meinem Problem:

Ich benutze Red Hat Version 8 mit dem gcc 3.2. Von sourecforge habe ich mir aus dem CVS die aktuellste Version des Aureal Treibers geholt und compiliert.

Erstes Problem: Der mitgelieferte Binärteil von Aureal wurde noch mit einem 2er gcc kompiliert, mein Kernel dagegen mit dem gcc 3.2. Wenn ich versuche das Modul mit modprobe zu laden, bekomme ich eine entsprechende Fehlermeldung, dass dies nicht kompatibel ist.
Zweites Problem: Weil das Modul proprietären Code enthält gilt das Modul zudem als "tainted", auch dafür bekomme ich eine Fehlermeldung.

Im Forum von sourceforge habe ich nun gelesen, man könne das Laden des Moduls ruhig mit insmod -f erzwingen. Das funktioniert auch tatsächlich, Sound läuft. Also dachte ich mir, ich trage diese Zeile in rc.local ein, damit das Modul bei jedem Start geladen wird. Dann läuft es merkwürdigerweise nicht. Wenn ich insmod -f normal aus der Konsole ausführe gibt er zwar die Warnungen aus, lädt das Modul dann aber (mit dem Hinweis, dass das Laden erzwungen wurde). Bei der Ausfürhung in rc.local werden nur die Warnungen ausgegeben, das Modul aber nicht geladen.

Gibt es da für insmod irgendwelche Einschränkungen, wann das Laden erzwungenw erden kann?

Vielen Dank schonmal für eure Hilfe!

Ciao

widerstand
2002-11-30, 09:10:15
Was ist wenn Du das in die /etc/modules (oder, wo bei Dir eben die Datei ist, welche die Module angibt, die beim Starten geladen werden) einträgst? Siehe manpage dazu ...

El Fantastico
2002-11-30, 15:58:55
Hi!

Danke für deine Antwort. Das geht leider nicht, weil er dann versucht es "sanft" zu laden. Ich muss es aber erzwingen. Bei mir steht in der modules.conf ein Mapping auf char-major-5. Also versucht er es zu laden, die entsprechende Fehlermeldung steht in der "boot.log".

Ich habe das Problem jetzt anders "gelöst". In dem Binärteil des Treibers habe ich den String "gcc2_compiled" auf "gcc3_compiled" mit einem Editor geändert und den treiber neu kompiliert. Jetzt läuft es, aber irgendwie fühle ich mich jetzt sehr schmutzig ;)

Ciao