02/02/2017

Raspberry Pi – Konsolen-Server

Ich hatte genau das schon vor einigen Jahren am Laufen, aber nachdem ich aktuell wieder viel hin und her laufe, um mein einzelnes Konsolenkabel umzustecken dachte ich mir, dass ich mir wieder eines Raspberry Pis behelfe 🙂

Was wir brauchen:
– Raspberry Pi 1 B, 1 B+, 2 B oder 3 – sollte mit Orange Pi, Banana Pi, … aber auch funktionieren
– RPi Gehaeuse
– RPi Netzteil
– (micro)SD Card
– USB auf 2x/4x/8x RS-232 Adapter – in meinem Fall ein DeLock 61887 (4x)
minibian or Raspian lite und ser2net

Das Zeug gibt es hier:
Raspberry Pi 3 Model B
Aukru 5V 3A Netzteil Ladegeräte für Raspberry Pi 3 Model B -3000mA- 150cm
Raspberry Pi 3 Modell B Gehäuse – Transparent
Transcend Extreme-Speed SDHC 8GB Class 10 Speicherkarte (bis 20MB/s Lesen) [Amazon Frustfreie Verpackung]
DELOCK USB 2.0 Seriell 4×9 Pin St

Ich verwende einen RPi 1, welcher auch leistungsstark genug ist, aber da es den nicht mehr zum kaufen gibt (idR) verlinke ich oben das neue Modell 3. Grundsaetzlich sind die Komponenten egal, nur der serielle Adapter sollte Linux-kompatibel sein.

Disclaimer: Alles auf eigene Verantwortung und so weiter. Daten auf der SD Karte werden beim Installieren von Raspbian geloescht, sollte das jemand nicht wissen.

 

Vorweg:

Ich gehe dasvon aus, dass wir Raspbian downgeloadet, auf SD geschrieben und gebootet haben. Diese Schritte sonst einfach googeln. Wenn wir nun das allererste Mal gebootet haben koennen wir uns mit den ueblichen Credentials einloggen (Standard Raspbian Benutzername ist pi und Passwort ist raspberry – sollte man dann aber aendern ;-). Weiters ist standardmaessig kein SSH erlaubt. Hierfuer muss man die /etc/ssh/sshd_config anpassen und (am einfachsten mit raspi-config unter Advanced) die Einstellung vornehmen, dass SSH beim Systemstart gestartet wird – zumindest sofern man das will, notwendig ist es nicht, koennte zum Troubleshooten aber fein sein. Die SD wird bei neuen Raspbian Versionen gleich resized und somit koennen wir schon loslegen.

 

Dann updaten wir mal:

sudo apt-get update
sudo apt-get dist-upgrade

 

ser2net koennen wir auch ueber apt installieren!

sudo apt-get install ser2net

 

Jetzt stecken wir mal den USB auf seriell Adapter ein und schauen was passiert 🙂

root@raspberrypi:/home/pi# dmesg
...
[   10.061554] usbcore: registered new interface driver usbserial
[   10.061719] usbcore: registered new interface driver usbserial_generic
[   10.061862] usbserial: USB Serial support registered for generic
[   10.213272] usbcore: registered new interface driver ftdi_sio
[   10.213455] usbserial: USB Serial support registered for FTDI USB Serial Device
[   10.213969] ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
[   10.214279] usb 1-1.3: Detected FT4232H
[   10.317571] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0
[   10.322426] ftdi_sio 1-1.3:1.1: FTDI USB Serial Device converter detected
[   10.322795] usb 1-1.3: Detected FT4232H
[   10.326286] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB1
[   10.335363] ftdi_sio 1-1.3:1.2: FTDI USB Serial Device converter detected
[   10.335738] usb 1-1.3: Detected FT4232H
[   10.357530] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   10.359408] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB2
[   10.359698] ftdi_sio 1-1.3:1.3: FTDI USB Serial Device converter detected
[   10.360066] usb 1-1.3: Detected FT4232H
[   10.414708] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB3
root@raspberrypi:/home/pi# 

 

Nachdem wir nun die Anschluesse wissen koennen wir die /etc/ser2net.conf editieren, damit sie danach ca so aussieht (beim Banner kann man natuerlich kreativ sein):

BANNER:banner:\r\nser2net port \p device \d [\s] (Debian GNU/Linux)\r\n\r\n

2000:telnet:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner
2001:telnet:0:/dev/ttyUSB1:9600 8DATABITS NONE 1STOPBIT banner
2002:telnet:0:/dev/ttyUSB2:9600 8DATABITS NONE 1STOPBIT banner
2003:telnet:0:/dev/ttyUSB3:9600 8DATABITS NONE 1STOPBIT banner

 

ser2net noch neu starten und danach testen wir mal

sudo /etc/init.d/ser2net restart

 

PuTTY auf IP und Port 2001

Geil, oder? 🙂

 

Wir greifen ueber den onboard Ethernet-Anschluss auf die seriellen Konsolen zu. Defaultmaessig hat dieser Anschluss eine per DHCP zugewiesene IP. Dies kann man, sofern gewuenscht, natuerlich auch aendern (/etc/network/interfaces), DHCP ist aber evtl fein, wenn man in unterschiedlichen Netzen anstecken will/darf/soll. Weiters gaebe es die Moeglichkeit einen WLAN USB Stick zu verwenden, dann waere man noch flexibler (ich selbst verwende das aber nicht). Sofern vom WLAN Stick unterstuetzt koennte der Raspberry Pi dann auch WLAN Access Point sein und wir uns mit WLAN auf den RPi verbinden und so auf die Konsolen zugreifen (auch das mach ich nicht, aber es ginge). Moeglichkeiten gibt es viele 😉

 

Wer mehr als vier serielle Ports braucht kann den oben angefuehrten Adapter natuerlich zweimal bestellen (oder 4x, ne nach Raspberry Modell) und die relevanten Schritte einfach wiederholen).

 

Ich hoffe ich konnte dem/der einen oder anderen ein paar Meter laufen ersparen 😉