News arrow Erkenntnisse arrow Serielle Verbindung mit einem Linux PC Mittwoch, 20. August 2008

Main Menu
News
Einleitung
Linux Allgemein
Über Ubuntu
Installation
kleine Hilfen
grafische Oberfläche
Die Konsole
Downloads
Erkenntnisse
Sicherheit
Neuste Erkenntnisse
Serielle Verbindung mit einem Linux PC

Serielle Verbindungen werden heutzutage nur noch in Verwendung mit einem Router benötigt. Sollte man jedoch einen Server haben, der keinen Monitor, keine Tastatur und keine Maus hat, kann man sich mit Hilfe eines Laptops und eines seriellen Kabels, auch Nullmodem-Kabel genannt, mit diesem verbinden. Die Wahrscheinlichkeit ist zwar gering, dass jemand so eine Möglichkeit nutzt, jedoch ist die Beschäftigung damit lohnenswert. Im Rahmen einer IT-Ausbildung kann dieses Wissen nicht schaden!

Habe ich einen seriellen Anschluss?

Die meisten Computer verfügen über ein oder zwei serielle Schnittstellen. Um zu sehen, ob Du einen Seriellen Anschluss hast bemüht Du dich als erstes einmal unter Deinen Schreibtisch und guckst, ob auf der Rückseite Deines PCs ein solcher Anschluss zu finden ist

serieller Anschlus

Unter Ubuntu sind die seriellen Schnittstellen /Serial Ports) Standardmäßig nicht aktiviert. Um dies zu überprüfen können wir eine einfache Prozessabfrage machen und die Terminals (tty) herausgrebben.

user@linux:~$ ps -ef | grep tty

Die Ausgabe sollte dann wie folgt aussehen:

root      4159  4150  5 07:40 tty7     00:13:07 /usr/bin/X :0 -br
-audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7 root 4892 1 0 07:40 tty1 00:00:00 /sbin/getty 38400 tty1 root 4893 1 0 07:40 tty2 00:00:00 /sbin/getty 38400 tty2 root 4894 1 0 07:40 tty3 00:00:00 /sbin/getty 38400 tty3 root 4895 1 0 07:40 tty4 00:00:00 /sbin/getty 38400 tty4 root 4896 1 0 07:40 tty5 00:00:00 /sbin/getty 38400 tty5 root 4897 1 0 07:40 tty6 00:00:00 /sbin/getty 38400 tty6

Sind zwei Serial Ports unter Linux aktiviert müsste die Ausgabe mit ps -ef | grep tty dann so aussehen.

root      4159  4150  5 07:40 tty7     00:13:19 /usr/bin/X :0 -br

-audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7 root 4892 1 0 07:40 tty1 00:00:00 /sbin/getty 38400 tty1 root 4893 1 0 07:40 tty2 00:00:00 /sbin/getty 38400 tty2 root 4894 1 0 07:40 tty3 00:00:00 /sbin/getty 38400 tty3 root 4895 1 0 07:40 tty4 00:00:00 /sbin/getty 38400 tty4 root 4896 1 0 07:40 tty5 00:00:00 /sbin/getty 38400 tty5 root 4897 1 0 07:40 tty6 00:00:00 /sbin/getty 38400 tty6 root 20789 1 0 11:30 ttyS0 00:00:00 /sbin/getty -L ttyS0 9600
vt100 root 20790 1 0 11:30 ttyS1 00:00:00 /sbin/getty -L ttyS1 9600
vt100

Sind die seriellen Ports schon vorhanden, überspringe den nächsten Abschnitt, und lese weiter bei Verbindung herstellen!

Serielle Verbindung aktivieren!

Den Aufruf der tty übernimmt die Datei /etc/inittab. Bevor wir jedoch irgendeine Änderung an dieser Datei vornehmen machen wir ein Backup, da falsche Einträge in dieser Datei schnell unser ganzes System unbootbar machen können.

user@linux:~$ sudo cp /etc/inittab /etc/inittab_BACKUP

Danach kann die Datei geöffnet und die Änderungen durchgeführt werden. Als erstes öffnen wir also die inittab mit Root-Rechten:

user@linux:~$ sudo pico /etc/inittab

Innerhalb der inittab scrollen wir ganz nach unten und suchen Folgende Zeilen:

# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

Wie man sieht sind die beiden Seriellen Anschlüsse auskommentiert. Diese kommentieren wir also ganz einfach ein.

# Example how to put a getty on a serial line (for a terminal)
#
T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

Wie zu sehen ist, initialisiert der Befehl getty die Schnittstellen. Die Option-L sorgt dafür, dass eine lokale Verbindung zu ttyS0 (Identifikation der seriellen Schnittstelle) hergestellt wird. Das ist erforderlich wenn kein Modem an diesen Port angeschlossen ist. Die Zahl9600 Steht für die Verbindungsgeschwindigkeit in Bits pro Sekunde (bps), teilweise auch als BAUD-Rate bekannt. Hier mal eine Übersicht über die verwendbaren Geschwindigkeiten:

  • 110 bps
  • 300 bps
  • 1200 bps
  • 2400 bps
  • 4800 bps
  • 9600 bps
  • 19200 bps
  • 38400 bps (Linux-Terminal Standard)
  • 57600 bps
  • 115200 bps (max. Rate bei z.B einem HP Switch)

vt100 ist die Terminal-Emulation. VT100 ist der meist verwendete Standard. Ein weiterer Terminal-Typ istvt102 der ebenfalls weit verbreitet ist.

Es gibt noch weitere Optionen, die verwendet werden können. Bei der Option -i wird beim Einloggen keine Nachricht ausgegeben. Ganz anders bei der Option-f. Hiermit kann optional der Inhalt einer Textdatei, deren Inhalt beim Einloggen ausgegeben werden soll, angegeben werden. Ich persönlich habe eine solche Datei verwendet. Ich habe sie unter/etc/ als isuserserial gespeichert. So sieht die Datei aus

 Willkommen auf meinem PC!
Verbunden auf \1 mit \b bps
\U

eingebunden wird sie natürlich in die /etc/inittab in der Form:

# Example how to put a getty on a serial line (for a terminal)
#
T0:23:respawn:/sbin/getty -L -f /etc/isuserserial ttyS0 9600 vt100
T1:23:respawn:/sbin/getty -L -f /etc/isuserserial ttyS1 38400 vt100

Verbindung herstellen!

Um sich nun in den so konfigurierten Linuxrechner einzuloggen muss man man sich nur noch per Nullmodem-Kabel mit dem PC verbinden. Ich habe zum Testen ein Laptop mit Windows XP benutzt, es geht aber auch mit Linux. Sollte man es mit Linux versuchen wollen, sollte man sich "wy60" per apt-get installieren

Mein Beispiel bezieht sich auf das Hyper Terminal von Windows. Aufgerufen wird es mit Start --> Ausführen und dann hyperterm eingeben. Nach einem Druck auf Enter sollte das Programm starten. Nun sollte mann sich unter COM1 mit dem Linuxrechner verbinden können. Es können die Standardoptionen verwendet werden. Man sollte jedoch die in derinittab eingetragene Geschwindigkeit verwenden.

Ich hoffe einigen Leuten hilft diese Anleitung ein wenig. Sollten noch Verbesserungsvorschläge da sein, bitte ich um eine Mail. Sollte ich noch weitere Ausarbeitungen zu diesem Thema machen, werde ich sie natürlich nachtragen
 
LINUX LERNEN © by Kay Fichtelmann


Social Bookmarking