Win-Modem mit SIS Chipsatz unter Linux

Original dieses Dokuments

Stand 28. Februar 2002

Dieses Dokument beschreibt die Nutzung eines Win-Modems mit einem SIS 630 Chipsatz unter Linux (ab Kernel 2.4). Das Notebook-interne Modem befindet sich in einem Gericom Overdose T PIII 1200 und sollte unter Debian zum Laufen gebracht werden.

1. Einleitung

1.1. Warum dieses Dokument?

Das SIS630 zählt zu den sogenannten Winmodems, welches keine Orginalen Hayes-Modems sind, sondern nur über Software die Funktionalität eines Modems nachbilden. Treiber findet man meist nur für MS-Windows-Versionen.

Wer versucht, eine Lösung zu finden, wird sich einer Flut von (zum grossen Teil unwichtigen) Informationen ausgesetzt sehen. Diese Doku soll ein wenig Abhilfe schaffen.

1.2. Hinweis

Die Doku erhebt keinen Anspruch auf Vollständigkeit und Fehlerfreiheit. Für Hinweise auf Fehler oder konstruktive Kritik bin ich sehr dankbar. Bitte an fabian@wickborn.net schicken. Für die Richtigkeit der gemachten Angaben gebe ich keine Garantie (obwohl ich mich natürlich um Korrektheit bemüht habe). Genausowenig übernehme ich die Haftung für eventuelle Beschädigungen an Hard- und Software.

1.3. Vorhandene Systemumgebung

2.Notwendige Software

Folgende Software wird benötigt:

3. Vorgehensweise

Zuallererst besorge man sich das Treiberarchiv. Dieses entpacke man. Man erhält eine Reihe von Dateien. Für die Kernel 2.4.4-2.4.15 genügt es an dieser Stelle schon, ein "make all;make install" zu machen. Dadurch werden die Module in /lib/modules/misc und die anderen Dateien in /usr/lib/slmdm abgelegt. In letzterem finden sich auch zwei Skripte ./load_slmdm und ./unload_slmdm. Diese müssen zum Laden und Entladen der Module verwendet werden! Ein manuelles Ausführen von modprobe reicht nicht aus, da für das Winmodem noch eine entsprechende Umgebung geschaffen wird.
Bei neueren Kerneln treten jedoch beim Linken oder Laden der Module Fehler auf, da bestimmte Symbole nicht aufgelöst werden können. Abhilfe schaffen da folgende Workarounds:
Bei Kernel 2.4.16 ist die Datei os.c um folgende Zeile zu ergänzen (VOR DEM KOMPILIEREN!):

	unsigned securebits = SECUREBITS_DEFAULT;

Die Zeile sollte im direkten Anschluss an die #include-Direktiven stehen.
Dies fügt eine zusätzliche Variable ein, die ansonsten nicht gefunden wird. Für Kernel ab 2.4.17 reicht dies jedoch nicht aus. Dort müssen nach dem Installieren noch bestimmte Symbole angepasst werden. Dies lässt sich am bequemsten mit dem oben verlinkten PERL-Skript machen. Wendet man es im Verzeichnis /lib/modules/misc an, schafft es zwei neue Dateien: slmdm.o.hacked und slamrmo.o.hacked, welchen man das Suffix ".hacked" entfernen sollte, um die originalen Dateien zu ersetzen.

Nun sollten sich auch hier die Module durch load_slmdm laden lassen. Das Skript erzeugt ein Device /dev/slmdm und schafft einen Link /dev/modem. Dieser kann nun zum DialIn mit ppp benutzt werden. Einfach wie üblich die Verbindung einrichten und als Device /dev/modem angeben. Das war's...

4. Links zu Quellen und weiterführenden Informationen

Titel Informationen
Hibernation and winmodem under Linux on Gericom Webboy TFT 13.3/14.1 Quelle 1
Winmodem under Linux on the Gericom OverdoseS notebook with any 2.4.x kernel Quelle 2
MobiliX - Mobile Computers and UniX Bei MobiliX findet man jede Menge Infos zu Linux, BSD und anderen UniXen mit mobilen Computern (Laptops, PDAs, Handy).