Manchmal muß über eine serielle Schnittstelle mit Geräten wie Modems kommuniziert werden.
Ich werde am Beispiel eines USB UMTS Modems so einen Ablauf beschreiben.
Viele serielle Geräte (Devices) fangen unter Linux mit /dev/tty* an, bei UMTS Modems fast immer /dev/ttyUSB0 , kann aber auch ttyUSB1 oder ttyACM0 sein.
Zwei Varianten werden hier kurz angetestet:
1) Automatisches Protokoll mit dem chat Kommando
2) Ein interaktives Terminal mit minicom
CHAT
chat -sv "" ATI OK 'AT&V' OK >/dev/ttyUSB0 </dev/ttyUSB0
Chat Scripts sind eine Abfolge von <Warte_auf_String> und <Sende_Kommando>.
Ich warte auf nix ("") und sende das AT Kommando "ATI", welches Hersteller Info liefert, dann warte ich auf eine Antwort "OK" und sende das Kommando "AT&V" und sehe den Inhalt der Register, u.a. eine voreingestellte APN des Service Providers etc.
Nachteile: Automatisch, ich muß das Protokoll vorher kennen. Probleme mit manchen Sonderzeichen.
Vorteile: chat ist bereits installiert, einfach zu konfigurieren (Einzeiler im einfachsten Fall).
MINICOM
Für interaktive Terminal Sitzungen muß minicom herhalten, das Paket zum Download heißt ebenso.
sudo minicom -s # Startet minicom mit Konfigurationsmenü, nur beim 1. Mal so aufrufen
Menü "Serial port setup"
Serial Device : /dev/ttyUSB0
Menü "Save setup as dfl" # einfach nur anwählen, speichert Settings
Ein Aufruf von minicom baut eine interaktive Verbindung mit dem seriellen Gerät auf.
Kommandos wie ATZ, ATI, oder AT&V können jetzt reingetippt werden. Beenden sollte man mit "Strg-a x".
Damit sollte der Start ins Reich der Modemkommunikation (oder Hardware Terminals, Laplink etc.) gelegt sein.