Übersetzt aus dem englischen Original von L18L
Ursprünglich war Puppy gemacht für Internetzugang mit konventioneller Modem-Einwahl bei einem Internet-Service-Provider), über das Öffentliche Telefon Netzwerk (PSTN). Das Modem wird als analoges Modem bezeichnet, da es Daten durch hörbare Töne sendet und empfängt -- was man beim Einwählen zum ISP hören kann.
Ich bin jetzt weiter fortgeschritten zu verschiedenen Modus von digitalem Breitbandzugang, jedoch sind noch viele Leute, in bestimmten Teilen der Welt, bei analogem Einwählen. Deshalb ist dieser Abschnitt immer noch sehr relevant!
Traditionell funktionierte Linux nur richtig mit was wir „Hardware“ serielle Modems nennen -- wohingegen viele Modems das sind, was „soft“-Modem genannt wird, nur mit Treibern für Microsoft Windows verkauft. Falls Dein PC ein internes Modem hat, oder ein externes Modem via USB-Kabel, ist es höchstwahrscheinlich ein Soft-Modem.
Bitte beachten, dass ich hier analoge Modems beschreibe, zur Einwahl bei einem ISP (Internet Service Provider) -- diese unterscheiden sich von 3G-, ADSL- und Kabel-Modems, die zum digitalen Breitband-Internet-Zugang benutzt werden.
Was ist ein Soft-Modem? Grundsätzlich ist es ein billigeres Modem, das selbst weniger verarbeitet und die CPU einiges der Verarbeitung überläßt. Das bedeutet, die CPU wird zusätzlich belastet, was man bei modernen schnellen CPUs nicht bemerkt, aber es ist ein Factor für alte PCs. Meine persönliche Erfahrung ist auch, dass Hardware-Modems zu höheren Übertragungsgeschwindigkeiten tendieren, sogar bei modernen PCs.
Der wirkliche Nachteil eines Soft-Modems jedoch ist, dass, um die CPU einen Teil der Verarbeitung machen zu lassen, ein spezieller Treiber für das bestimmte Modem erforderlich ist, und die meisten Hersteller haben nur Treiber für Windows. Einige Hersteller sind jetzt jedoch mehr „Linux freundlich“ und auch einige Linux-Enthusiasten haben Treiber entwickelt.
Sei gewarnt, falls Du ein Soft-Modem hast, kann es vielleicht nicht mit Puppy funktionieren. Puppy-Enthusiast „ezeze5000“ (Forum-Name) schickte mir ein halbes Dutzend alter PCI-Soft-Modem-Karten zum Test. Das war 2008, und zu dieser Zeit bekam ich nur eine davon in Puppy zum Laufen. Seitdem wurde die Erfolgsrate erhöht, und 2010 bekam ich die Hälfte davon zum Laufen.
Hinweis: wenn ein Soft-Modem in Linux funktioniert, gibt es einen Jargon-Name dafür -- es wird „linmodem“ genannt.
Kurz und gut: Puppy wird das analoge Modem automatisch entdecken, und falls es ein unterstützter Typ ist, dann wird alles automatisch eingerichtet und man ist bereit zur Verbindung. Für serielle Modems geht das geradlinig, jedoch unterstützt Puppy jetzt auch viele Soft-Modems. Falls es unterstützt wird, wird es höchstwahrscheinlich automatisch entdeckt.
Hinweis: Automatik-Erkennung und Automatik-Einrichtung einiger Modems ist work-in-progress, und es gibt dazu einige andauernde Diskussionen im Puppyforum.
Zum Verbinden ist alles, was man tun muß, das Symbol „Netz“ auf dem Desktop anklicken. Das startet den „Internet-Verbindungs-Assisteneten“ in welchem man einen Button sieht, der mit „DFÜ- oder Drahtlosmodem“ beschriftet ist -- einfach darauf klicken und man ist im Geschäft -- ein von mir entwickeltes Programm namens PupDial läuft, und es gibt an, ob das Modem entdeckt worden ist oder nicht.
Hinweis: im Internet-Verbindungs-Assistent sind ein paar Radio-buttons am unteren Rand. Diese ermöglichen, das Desktop-Symbol „Netz“ zu konfigurieren, dass PupDial sofort startet, nicht der Assistenten -- mit einem Klick weniger ist man dann „drin“!
Dennoch ein was: obwohl Puppy viele Modems entdecken und
automatisch einrichten kann, so dass das Modem bereit ist, kann man in einigen
Fällen ein paar extra Einstellungen vornehmen müssen. Zum Beispiel: Puppy
entdeckt das Modem, aber es wählt nicht nach draußen -- Du forschst nach und
findest heraus, dass die „Initialisierungs-Zeichenkette“ des Modems geändert
werden muß, dann funktioniert es. Was auch immer Du an einem Soft-Modem gemacht
hast und es zum Laufen gebracht hast, laß' es mich bitte, bitte wissen und ich
werde diese Einstellungen in die nächste Ausgabe von Puppy einbauen.
Beispiel: einige Soft-Modems brauchen „dialtone check“ in PupDial ausgeschaltet.
Wenn das Modem Schwierigkeiten macht, empfehle ich im Puppy Forum zu browsen. Es gibt dort eine Sektion speziel für Modems, mit viel Feedback und Lösungen (alles englisch).
Am meisten kann Forum-Mitglied „rerwin“ helfen, der laufend daran arbeitet, Modems automatisch erkennen zu lassen und automatisch einzurichten. Rerwin ist auch am Updaten von PupDial.
Falls aus bestimmten Gründen PupDial bei Dir nicht funktioniert, hat Puppy zwei andere Modem-Einwahl-Programme, namens Gkdial und Xeznet, das sind PET-Pakete, die man installieren kann (siehe Symbol 'Install' auf dem Desktop) -- es sei nur gewarnt: ersteres ist eine GTK1-Anwendung, letzteres eine Tcl/Tk-Andung und im Fall von Puppy 4.x und später sind dies Abhängigkeiten, die auch installiert werden müssen (obwohl 4.20 und 4.21 haben Tcl/Tk, 4.3 und spätere haben nicht) -- also nach Möglichkeit bei PupDial bleiben. Hinweis zu Xeznet: beim Hinzufügen eines Accounts darf in die Felder „tty“ und „speed“ nichts eingegeben werden, da ihre Standardwerte /dev/modem und 115200bps betragen.
Falls man gerne mit dem Senden von Hayes-Kommandos an das Modem experimentieren möchte, hat Puppy a nettes kleines Kommandozeilenprogramm namens modem-stats. Eine Konsole öffnen und es so starten:
# modem-stats -c "ATZ" /dev/ttyS0
Es gibt dazu eine lokale Hilfedatei. Puppy hat auch ein anderes kleines Kommandozeilen-Dienstprogramm für Kommunikation über serielle Ports namens picocom. Englische Online-Hilfe für picocom: http://linux.die.net/man/8/picocom.
Es gibt eine weitere Anwendung namens Cutecom, ein Terminalprogramm für serielle Ports mit grafischer Benutzerschnittstelle, das im Menü Werkzeuge zu finden ist (Achtung, aktuelle Ausgaben von Puppy haben dieses Programm nicht mehr eingebaut -- es ist ein PET-Paket: siehe im Setup-Menü --> Puppy Paketmanager, oder das Symbol „Install“ auf dem Desktop anklicken -- es erfordert das Paket Qt library, was automatisch installiert wird). Die Benutzung ist sehr einfach: für mein Modem mußte ich nur die Checkbox „Handshake:software“ aktivieren und wählte „CR,LF line end“ von der Listbox nahe am unteren Fensterrand. Nach dem Öffnen des seriellen Ports für beliebige Hayes-Kommandos, die in das Feld „Input:“ eingegeben werden, wird die Antwort des Modems in der oberen Textfeld erscheinen. Beispiel: Eingabe von „AT“ gefolgt von der Enter-Taste, und das Modem sollte mit „OK“ antworten.
Diese Site hat mehr Infos zu Soft-Modems: linmodems.technion.ac.il/resources.html
Hier ein paar URLs mit Listen von Modem-Zeichenketten für bestimmte Modems:
Drahtlose Modems werden oft als 3G-Modems oder HSDPA-Modems bezeichnet. Kurz und gut: Sie geben einem Internetzugang ohne verkabelt zu sein. Sie erfordern auch eine „Einwahl“-Prozedur ähnlich der bei analogen Modems, sodass wir in Puppy das selbe GUI-Werkzeug PupDial für beide nutzen können.
Es gibt jedoch viele verschiedene Technologien für diese Modems, andere als 3G oder HSDPA, wie GPRS, der Hauptunterschied aus Benutzersicht bestreht in der Datenübertragungsgeschwindigkeit. Grundsätzlich ist die Reihenfolge zunehmender Geschwindigkeit GPRS, 3G, HSDPA.
Ich habe gerade nur angefangen diesen Abschnitt zu schreiben (im December 2010), basierend auf meiner Erfahrung mit drei verschiedenen 3G-Modems. Ich präsentiere ein paar Hinweise zu diesen, die Du nützlich finden magst. Ich lebe in Australien, also werden diese Hinweise bestimmt für andere Australier nützlich sein.
Vodafone | Access number: *99# APN: vfprepaymbb |
Optus Huwaei E160-E | Access number: *99# APN: preconnect |
Telstra | Access number: *99# APN: telstra.internet |
In PupDial die Felder „Access number“ und „APN“ ausfüllen. Die Felder „Benutzername“ und „Passwort“ spielen keine Rolle, also so lassen, wie sie sind -- nicht leeren wie wvdial ausführbare Objekte. Gewöhnlich kann alles andere gelassen werden wie es ist, und nur noch den Button „Verbinden“ anklicken.
Falls man in Australien lebt, ist diese Seite nützlich. Sie hat APN's für
all die 3G-Hersteller:
http://www.unlockguru.com/2011/06/australia-3g-apn-setting/
Wenn PupDial gestartet wird und ein neues/geändertes Modem entdeckt ist,
testet PupDial, dass das Modem antwortet und versucht, eine passende
„Initialisierungs-Zeichenkte“ zu bestimmen -- diese sind Kommandos, die zum
Modem gesendet werden, bekannt als Hayes-Kommandos. Sie werden auch für analoge
Modems benutzt, aber mit einigen Erweiterungen. Diese Wikipedia-Seite ist eine
gute Einführung, und stellt auch die 3G/GSM-Modem-Erweiterungen heraus:
http://de.wikipedia.org/wiki/AT-Befehlssatz
Es kann vorkommen, dass PupDial die Initialisierungszeichenkette für Dein Modem nicht ganz richtig hinbekommt. In diesem Fall, lass es mich wissen, wenn Du eine alternative Zeichenkette finden konntest, die funktioniert.
Huawei E1550 3G USB modem | Puppy-Forum-Mitglieder „zygo“ und „pakt“
berichteten, dass die Standardzeichenkette nicht funktionierte
(1
2),
aber diese tat es:AT &FE0 V1 X1 &D2 &C1 S0=0Update: Anscheinend ist das Problem beim Wiedereinstecken des Modem. Nur einmal eingesteckt und die von PupDial generierte Zeichenkette funktioniert. Es wurde auch herausgefunden, dass es am besten ist, das Modem erst nach dem Hochfahren einzustecken. |
Huawei E160-E 3G USB modem | Dieses Modem ist interessant, da es keinen
modeswitch erfordert. Es ist permanent in beidem, Speicher- und Modem-Modus.
Somit wird man, wenn man es einsteckt, ein Symbol optical-disc auf dem
Desktop erscheinen sehen, aber es funktioniert simultan als Modem (am Port /dev/ttyUSB0). Ich hätte gern Feedback zu jedem anderen Modem, das auf diese Weise funktioniert, da ich dafür dann einen Eintrag in /etc/udev/rules.d/52-usb_modem_puppy.rules machen kann, der die Erkennung startet, wenn das Modem eingesteckt wird. |
Es gibt ein paar Hinweise für diejenigen, die verstehen wollen, wie Puppy Dinge „unter der Haube“ macht. Benutzer brauchen diesen Stoff nicht zu kennen.
Es gibt zwei Typen von Modems, vom Gesichtspunkt der Erkennung in Puppy: intern (fest) oder extern (hotpluggable, oder entfernbar). Die internen Modems werden beim Hochfahren von Puppy erkannt, die entfernbaren können beim Hochfahren erkannt werden, aber auch wenn das Modem nach dem Hochfahren eingesteckt wird.
Beim Hochfahren läßt das Skript /etc/rc.d/rc.sysinit die richtigen Treiber (Module) für erkannte Hardware laden. Wenn Du in rc.sysinit schaust, wirst Du folgende wichtige Zeile von Code sehen:
echo add > ${ONEPATH}/uevent #generates an 'add' uevent.
Dies beauftragt den Kern, ein sogenanntes 'uevent' für ein entdecktes Stück Hardware zu generieren. Es gibt ein Dämon-Programm, „udevd“, das diese uevents liest und in Übereinstimmung mit Regeln in /etc/udev/rules.d und /lib/udev/rules.d den passenden Treiber, firmware (etc.) laden/installieren läßt.
Die wichtigste Datei mit Regeln für udev ist /etc/udev/rules.d/50-udev-puppy-basic.rules, die diese zwei Zeilen hat:
# kernel firmware loader
SUBSYSTEM=="firmware", ACTION=="add", RUN+="/sbin/pup_event_backend_firmware"
# Module autoloading
ACTION=="add", SUBSYSTEM=="?*", ENV{MODALIAS}=="?*", RUN+="/sbin/pup_event_backend_modprobe"
Die beiden Skripte „pup_event_backend_firmware“ und „pup_event_backend_modprobe“ kümmern sich um Laden von Treibern und Firmware. Firmware sind Daten-Dateien, die von einigen Treibern gebraucht werden, und diese werden in /lib/firmware gespeichert.
Die gesamte Hardware-Erkennung und Modul-Laden von Puppy wird speziell für Puppy entwickelt und ist verschieden von allen anderen Linux-Distributionen. Auch die Firmware (plus etwaige andere Daten-Dateien oder ausführbare) erforderlich für einen Treiber, kann anfangs nicht in /lib/firmware sein, sondern in einem „firmware tarball“ gespeichert in /lib/modules/all-firmware -- pup_event_backend_modprobe kümmert sich um Expandierung der betreffenden firmware tarballs.
Ein wichtiger Punkt anzumerken ist, dass Drahtlos-Modems oft hybrid sind, oder dual-personality Geräte. Meine 3G-USB-Modems haben zwei personalites -- sie können sich entweder als Speichergerät oder als Modem verhalten. In den meisten Fällen, wenn zuerst eingesteckt, sind sie im Speicher-Modus und funktionieren nicht als Modem. Sie müssen in den Modem-Modus umgeschaltet werden, und wir haben dafür ein Software-Program namens „usb-modeswitch“ ...
Es gibt spezielle udev Regeln, die die Anwendung usb-modeswitch triggern, /lib/udev/rules.d/40-usb_modeswitch.rules und /etc/udev/rules.d/41-usb_modeswitch-puppy.rules.
Wenn man ein USB-Modem im Betrieb einsteckt, sollte usb-modeswitch aktiv werden und das Modem wird in den Modem-Modus umgeschaltet.
Die Sequenz ist, dass eine udev Regel für eine bestimmte USB-Hardware bewirkt, dass
/lib/udev/usb_modeswitch läuft, was wiederum beide,
/usr/sbin/usb_modeswitch_dispatcher und /usr/sbin/usb_modeswitch_status startet.
Ersteres wird die aktuelle Umschaltung in den Modem-Modus vornehmen und, falls
erforderlich, den Treiber für das Modem laden. Letzteres ist speziell
für Puppy geschrieben und gibt Statusmeldungen auf dem Bildschirm aus.
In manchen Fällen wird usb-modeswitch nicht aufgerufen, wie wenn das Modem bereits beim Hochfahren eingesteckt ist. In diesem Falll, wenn PupDial läuft, läuft auch /usr/sbin/pupdial_init_hotpluggable, das das koprrekt eingesteckte Modem entdeckt und, falls nötig, uevents neustartet (was usb-modeswitch aufruft).
(c) Copyright Barry Kauler Dec. 2010