Vorlage:Cs minicom

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche

Minicom ist ein sehr gängiges Tool zum Arbeiten in der seriellen Konsole innerhalb eines Linuxsystems. Sehr oft wird beim experimentieren oder entwickeln die serielle Konsole der Settopboxen benötigt worauf man mit Minicom Zugang erhält.

Die serielle Schnittstelle der Coolstream-Boxen ist als Nullmodem ausgeführt, das heißt man muss TX und RX über Kreuz (per female/female Stecker) zur COM Schnittstelle des PCs führen. Die serielle Schnittstelle wird benötigt um diverse Logmeldungen sehen zu können oder um z.B. Einstellungen im Bootloader U-boot verändern zu können oder auch um im U-boot ein Image einspielen zu können.

Installation

OpenSUSE 11.2 i386

zypper install minicom

Debian basierte Systeme

apt-get install minicom

Minicom Profil einrichten

Minicom unterstützt das Laden von vorgefertigten Profilen.
Ein Profil ist eine Datei in der die benötigten Parameter für eine Verbindung hinterlegt sind. Der Ablageort für diese Profile ist entweder global unter /etc/minicom/ (so das alle Benutzer des Systems diese Config nutzen können) oder unter $HOME/. Die Coolstream-Boxen als auch die Spark-Boxen benutzen die simpelste Variante der seriellen Kommunikation und folgende Parameter:

  • Geschwindigkeit (Speed) 115200
  • 8N1 Datenbits
  • keine Flusskontrolle (Flowcontrol)
  • keine Hardware Handshake (RTS/CTS).

Diese Parameter werden in der zu erstellenden Profildatei eingetragen. Als Profilnamen bietet sich einfach z.B. cs (für Coolstream) an der im folgenden benutzt wird. Der Name der Datei für das Profil setzt sich aus der statischen Vorgabe minirc. plus dem Profilnamen den man verwenden will zusammen. Will man das Profil unter $HOME/ ablegen muss noch ein "." vor den Profilnamen (.minirc.*) vorangestellt werden. Mehr dazu und zur Benutzung von minicom verrät die Manpage.

Für das Profil erstellt Ihr also als root eine Datei mit dem Namen minirc.cs. In diese fügt Ihr folgendes ein:

# minicom Config for my shiny CS SetTopBox
# start minirc.cs
# use /dev/ttyS0 for classical first COM Port
pu port /dev/ttyS0

# or use /dev/ttyUSB0 for the first USB2Seriell adapter
# pu port /dev/ttyUSB0

pu rtscts No
pu xonxoff No
# end minirc.cs

Diese Angaben bedeuten nun folgendes:

  • Als ComPort wird der erste serielle Port verwendet (/dev/ttyS0), wenn Ihr einen USB2seriell Adapter benutzt dann benutzt Ihr den anderen Eintrag (/dev/ttyUSB0) und kommentiert pu port /dev/ttyS0 entsprechend aus.
  • Kein Hardware Handshake (rtscts No) benutzen.
  • Keine Flusskontrolle (xonxoff No) benutzen.

Eine explizite Einstellung für die Geschwindigkeit als auch für die Datenbits ist normalerweise nicht von Nöten, da Minicom standardmäßig als Geschwindigkeit 115200 b/s und 8N1 für die Datenbits benutzt. Es ist aber auch nicht verkehrt wenn Ihr diese Parameter noch mit aufnehmt.

Minicom benutzen

Mit der obigen Einstellung lässt sich Minicom dann schon benutzen. Mit dem Parameter -o [Profil] wird das Profil übergeben das Minicom benutzen soll. Da Minicom aber auch Farben in der seriellen Konsole unterstützt, empfiehlt sich die zusätzliche Angabe des Parameters -c on. Somit sieht die Kommandozeile für die Benutzung von mincom so aus:

$ minicom -o cs -c on

Zum Beenden von Minicom benutzt Ihr die Tastenkombination Strg A + X (Beenden mit Reset) bzw. Strg A + Z (Beenden ohne Reset). Funktioniert dies nicht mehr könnt Ihr Minicom auch per killall minicom Befehl beenden.

Minicom Profilbenutzung vereinfachen

Die Eingabe dieser Kommandozeile ist auf Dauer etwas umständlich. Der Aufruf lässt sich vereinfachen, indem man einen Alias für diesen Aufruf setzt.

Ein Alias ist quasi eine Schnellverknüpfung auf ein Kommando oder mehrere Kommandos und wird auch genauso aufgerufen. Üblicherweise werden diese Aliase entweder in der .bashrc oder auch in einer Datei .bashrc.profile eingetragen. Dies hängt von der Distribution ab, die Ihr verwendet.

Stop hand.png HINWEIS:

Die aktuell verwendeten Aliase könnt Ihr mit der Eingabe alias in Erfahrung bringen!

Wir können nun einen Alias cs einrichten, der dann die obige Kommandozeile aufruft. Zur Einrichtung eines Alias tragt folgendes in die entsprechende Datei ein:

alias cs='minicom -o cs -c on'

Damit der Alias direkt benutzt werden kann, muss diese dann erneut "gesourced" werden. Hier im Beispiel die .bashrc.

$ . ~/.bashrc

Nun könnt Ihr diesen Alias durch die Eingabe des Aliasnamen in der Shell aufrufen. Im Hintergrund wird der Alias aufgelöst und das hinterlegte minicom -o cs -c on aufgerufen.

$ cs

Minicom Logmitschnitt

Minicom bietet eine Logfunktion an. Dies beschränkt sich aber auf das Protokollieren der Dateiübertragungen und auf den Verbindungsauf- und Abbau. Konfigurieren kann man dies nach dem Starten über:

Strg+a + o -> Dateinamen und Pfade -> F Einstellungen zur Protokollierung

Will man aber Teile des seriellen Outputs benutzen kann man diesen einfach kopieren und weiter verwenden. Allerdings besteht eine Zeile dann immer mit aus unnötigen Leerzeichen. Das einsteht daher da das Programm minicom beim Starten ein Fenster mit einer bestimmten Breite öffnet. In diesem Fenster wird nach dem letzten Schriftzeichen des Outputs in einer Zeile diese dann mit Leerzeichen aufgefüllt.
Per sed Befehl kann man diese entfernen um Platz zu sparen. Dazu am besten den markierten Teil zwischenspeichern und folgenden Befehl aufrufen.

sed -i 's/ *$//' abgespeicherte_Datei.txt