Am Donnerstag, 7. Juli 2005 12:41 schrieb Werner Franke: ...
Interresanterweise sind alle meine Versuche das Soundmodul zu entfernen gescheitert. rcalsasound stop und anschliessendes modprobe -r snd_opl3... brachten zwar keine Fehlermeldung, aber beim anschliesenden 'runterfahren, kam die Fehlermeldung, dass alle snd* Module busy sind und ausschalten ging immer noch nicht. Kann mich auch schwach erinnern, dass der Tecra sich gleich nach der Linux- installation schon mal ausgeschaltet hatte. Das muss dann vor dem Einrichten des Sounds gewesen sein.
Bin auf Deinen Workaround gespant.
Gruss Werner
Hallo Werner, im Nachtrag zu meinem Workaround, habe ich einen einfacheren Weg gefunden, der nicht mit einer Neucompilierung des Moduls verbunden ist. Da die Aenderung im Sourcecode von init.c sehr gering ist, habe ich ueber einen binaeren Patch des Original Moduls snd.ko im Verzeichnis /lib/modules/2.6.11.4-21.7-default/kernel/sound/core das gleiche erreicht. Folgende Schritte musst Du dazu machen (an ein Backup des Originalfiles denken): 1. Suchen des Offsets in die Datei snd.ko, wo die Routine snd_card_set_generic_pm_callback beginnt. 2. Ueberschreiben von drei Bytes beginnend am Offset (entspricht return 0;) 3. Abspeichern und Kopieren des neuen Files nach /lib/modules/2.6.11.4-21.7-default/kernel/sound/core Die zu ueberschreibende Position ist bei mir 0x15B0 (ermittelt mit objdump), sie muss die Bytefolge 0x57 0x89 0xD7 0x56 0x89 0xCE 0x53 0x89 enthalten. Ueberschrieben werden hiervon die ersten 3 Bytes mit 0x31 0xC0 0xC3 Als Werkzeug fuer diese Manipulation habe ich den mcedit benutzt, der es ermoeglicht Hexzeichen zu suchen, sie zu aendern und das File wieder abzuspeichern. Ich habe dies mit Erfolg ausprobiert, es geht wesentlich schneller als der Weg ueber eine Neucompilierung des Treibers. Viel Erfolg Gruss Dieter