Pakete im Vergleich #

divine #

Divine scheint (laut man divine und man divine.conf) die gestellte Aufgabe recht gut zu lösen. Leider wird dafür natürlich eine neue Konfigurationsdatei /etc/divine.conf eingefügt. Divine wird in /etc/pcmcia/network.opts als start_fn eingetragen. Das heisst, die Konfiguration findet zuerst ganz normal statt, wie dort angegeben, so dass eine Default-Konfiguration besteht. Danach startet dann divine und prüft, ob eines der Netze, die es kennt, gefunden werden. Dann wird ggf. die Konfiguration geändert. Seltsamerweise wird in der Konfiguration kein Nameserver gesetzt, sondern ein Link auf eine resolv.conf-Kopie. Also hat man diese Dateien auch noch herumfliegen.

Ein Betrieb mit einer nicht-PCMCIA-Karte sollte kein Problem sein, da man auch dort einen Befehl aufrufen kann, der nach erfolgter Standard-Konfiguration gestartet wird.

intuitively #

Das Programm soll (lt. manpage) ein kompletter Rewrite von divine sein. Ansonsten sind die manpages sehr knapp und erklären alleine nicht, wie man das Programm einsetzen soll. Ich empfehle, vorher die manpage von divine zu lesen. Die Konfigurationsdatei hat ein anderes, etwas übersichtlicheres Format, was aber keinen grossen Unterschied macht. Ein Nameserver kann auch nicht in der Konfigurationsdatei gesetzt werden. Dafür wird nicht nur eine resolv.conf verlinkt, sondern der Inhalt eines ganzen Verzeichnisses, das alle möglichen Dateien für /etc enthalten kann. Eigentlich eine gute Idee, um z.B. die printcap, etc. anzupassen.

laptop-netconf #

Dieses Programm erkennt das Netzwerk anhand einer einfachen Konfigurationsdatei und startet dann ein entsprechendes Skript. In diesen Skripten wird dann resolv.conf und interfaces durch einen Link auf eine spezielle Version vertauscht, danach ein ifdown; ifup gemacht. Diese Methode sieht mir etwas nach Brechstange aus und führt zu einer Vervielfachung von Konfigurationsdateien.

guessnet #

guessnet ist eigentlich nicht für PCMCIA geeignet. Es ist auf das mapping-Feature in /etc/interfaces abgestimmt. Auch hier wird kein DNS eingestellt, allerdings kann man auch hier up-Skripte angeben, die eine spezielle resolv.conf verlinken (oder erzeugen) können.

Prinzipiell erscheint mir diese Lösung als sehr gut, weil für die eigentlichen Netzwerkeinstellungen eine vorhandene Konfigurationsdatei benutzt wird. Es muss lediglich start_fn in den Konfigurationsskripten einmalig geändert werden, damit das normale ifup von Debian aufgerufen wird. Dann hat man alle Netzwerk-Einstellungen in einer Datei zusammengefasst.

laptop-net #

Hierbei handelt es sich um ein Paket mit einer sehr umfangreichen Dokumentation, die aussieht, als ob alle möglichen Eventualitäten erschlagen werden sollen. Es scheint der Mercedes unter den Kandidaten zu sein. So kann z.B. nicht nur ein /etc-Verzeichnis kopiert werden, sondern es gibt auch ein rc.d-Verzeichnis, so daß Dienste automatisch gestartet oder gestoppt werden können. Als einziges Programm unterstützt es Karten, die den Link-Beat angeben, d.h. es merkt auch ohne PCMCIA, wenn das Netzwerkkabel herausgezogen wird. Natürlich bedarf die ganze Geschichte völlig eigener Konfigurationsdateien. :-( Dennoch scheint es möglich zu sein, eine Grundfunktionalität in nur zwei Konfiguratiosdateien unterzubringen (eine, um Netzwerke zu erkennen und eine, um die Konfiguration des entsprechenden Netzwerks vorzunehmen). Und auch der DNS kann hier ganz einfach angegeben werden.

Normale Karten werden sofort unterstützt, die Anbindung an PCMCIA-Karten findet auch über start_fn statt.

whereami #

Im Sourcecode der PCMCIA-Skripte findet sich ein Verweis auf whereami, also habe ich das auch noch untersucht. Es muss irgendwo aufgerufen werden und bietet eine Konfigurationsdatei, mit der man recht komfortabel verschiedenste Tests durchführen kann, um den Rechnerstatus festzustellen. So kann z.B. auch auf bestimmte PCI-Karten (sprich: Docking-Station) oder auch ganz einfach auf einen DHCP-Server etc. getestet werden. Dann kann ein bestimmter Befehl ausgeführt werden. Hier wäre z.B. ein cardctl angebracht. Leider wird das Programm im momentanen PCMCIA-Skript so aufgerufen, dass es erst läuft, wenn das PCMCIA-Schema bereits feststeht. :-( Natürlich kann man das auch ändern...

Fazit #

Das beste Konzept ist IMHO guessnet, da es ohne zusätzliche Konfigurationsdateien auskommt. Allerdings läuft es ohne weiteres nicht mit dem normalen PCMCIA-Konfigurationssystem. Falls man sich damit abfindet, ein neues Konfigurationssystem einzufügen, scheint laptop-net alle Eventualitäten abzudecken. Andererseits ist intuitively einfach und unkompliziert aufzusetzen. laptop-netconf und divine scheinen beide nicht aktuell genug zu sein und sind von Nachfolgeprojekten abgelöst. whereami bietet eine Erkennung nicht nur mit ARP-Paketen, aber praktisch brauche ich nur diese (höchstens DHCP als Fallback).

Alle Pakete, die über die start_fn-Funktion ansetzen, könnten viel besser in die PCMCIA-Skripte integriert werden, wenn sie vor der Ausführung von network.opts laufen würden und dann das Schema mit cardctl setzen würden, so daß network.opts darauf reagieren könnte. Leider macht das keines von Ihnen. Da also sowieso eine Modifikation der PCMCIA-Skripte nötig ist, kann man auch auf guessnet setzen, das Interfaces normal über /etc/network/interfaces konfiguriert und damit die PCMCIA-Konfiguration ganz abschaffen. -- ThomasBayen

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-2) was last changed on 14-Nov-2006 10:00 by MarkusMonderkamp