Odroid XU4 als Komplettsystem für Rocrail

Die rasante Entwicklung der ARM-basierenden Kleinrechner bietet mittlerweile die Möglichkeit, ein komplettes Rocrail-System auf diesen Rechnern abzubilden. Angefangen beim Raspberry-Pi und dessen Derivaten, sind wir jetzt in der vierten Generation von ARM-Prozessoren angekommen. Lief auf dem in die Tage gekommenen Raspberry Pi bisher nur der Server, so ist es jetzt möglich, Rocview incl. Access Point und allen Diensten darauf laufen zu lassen. Probleme wie Secure-Ack in Verbindung mit einem BiDiB-System gehören ebenfalls der Vergangenheit an. Die Leistungsfähigkeit ist durchaus mit einem Laptop oder Minitower gleichzusetzen, liegt aber in der Anschaffung weit darunter. Die Montage auf der Schalttafel gestaltet sich leicht, da er nur die Fläche von zwei EC-Karten in Anspruch nimmt und mit eben mal 150gr. ein echtes Leichtgewicht ist.

Der Odroid XU4 kommt mit acht Prozessorkernen und Hyperthreading daher. 2GB RAM und die Verwendung einer schnellen MMC-Speicherkarte, USB3.0 und USB2.0 sowie ein 10/100/1000MBit Lan-Adapter sind inklusive. Eine Echtzeituhr mit Batteriepufferung rundet das Gerät ab. Der Preis für den Rechner und eine 16GB SD-Karte liegt dabei unter 100€. Ein weiterer Aspekt zum Einsatz dieser Rechner. In verschiedenen Threads wurde zu meiner großen Verwunderung der Lüfter moniert. Man kann den Lüfter auch demontieren, den Hitzetod stirbt der Odroid nicht. Aber wenn meine Züge fahren, die Soundmodule alles geben, die Bahnsteigdurchsage plärrt, die Drehscheibe knarzt….. ich habe ihn dran gelassen.

Im Folgenden will ich allen Interessierten die Installation eines kompletten Rocrail-Systems auf diesem Rechner in einer Schritt-für-Schritt Anleitung aufzeigen.

1. Ziel der Anleitung

Ziel soll es sein, am Aufstellort der Anlage alle Möglichkeiten der Steuerung und der Vernetzung zu haben. D. h., wer z. B. auf Ausstellungen oder im Verein, unabhängig von der IT-Infrastruktur AndRoc und/oder RocWeb verwenden will, ist mit dem Odroid XU4 und diesem Tutorial bestens gerüstet.

2. Benötigte Hardware

  • Odroid XU4 (In Deutschland gibt es nur einen Distributor, Tante Google findet den sofort).
  • Zwei USB WLan-Adapter mit Realtek Chipsatz (Den haben die meisten Adapter. Gibt's in der Bucht für unter 10€ oder beim Kistenschieber des Vertrauens, z. B. WL0145 oder Nachfolgemodelle).
  • Eine Micro SDXC-Karte mit mind. 16GB oder eine MMC-Karte (Man sollte schnelle Karten mit mind. 80-90 Mb/s verwenden. Oder die MMC-Karte mit 5Gb/s). Die MMC gibts auch da wo's den XU4 gibt.
  • 4-Port aktiver USB2.0 HUB (mit eigenem Netzteil. WICHTIG). Ein aktiver Hub ist zwingend erforderlich, weil die zwei WLan-Adapter und evtl. eine Funktastatur usw. ganz gut Strom saugen (>500mA).
  • Tastatur und Maus (evtl. vorübergehend).
  • HDMI-Kabel und Monitor (Fernseher), alternativ ein Touchmonitor (evtl. vorübergehend; es sei denn, man verbaut den fest zur Bedienung der Anlage).
  • SD-Karten Adapter (Hat, so glaube ich, mittlerweile jeder).


3. Installation des Grundsystems

  • Zuerst muss beim Hersteller ein Image mit dem Grundsystem heruntergeladen werden. Das neueste Image beinhaltet Ubuntu 15.10 und kann verwendet werden. Da es aber noch nicht sehr stabil läuft und diverse “Mekwürdigkeiten” enthält, verwende ich Ubuntu 15.04 mit Mate Desktop (Empfehlung). Das Image kann beim Hersteller des Odroid XU4 unter folgendem Link heruntergeladen werden: Ubuntu 15.04 Mate für XU4 und XU3
  • Im zweiten Schritt wird das Image auf die SD-Karte/MMC-Modul kopiert. Dazu lädt man z. B. das frei verfügbare Programm WinDiskImager oder WinFlashTool (Empfehlung) herunter, die Bedienung der Programme ist selbsterklärend und es gibt auch jede Menge Videos auf Youtube zum Thema.
  • Die fertige SD-Karte wird jetzt in den Slot des XU4 gesteckt. Das MMC-Modul kommt auf die Unterseite. Achtung: die Kontaktleiste ist sehr filigran. Bitte vorsichtig platzieren und mit leichtem Druck festclipsen.
  • Dann die Bootquelle mit dem kleinen Schiebeschalter neben der HDMI-Buchse auswählen. SD oder MMC auswählen, steht auf der Platine.
  • Tastatur, Maus, Netzwerkkabel und Monitor verbinden.
  • Netzkabel einstecken und das Maschinchen sollte jetzt hochfahren.

Anmerkung zum SD-Karten Kopierprogramm. Win32DiskImager ist einfach zu bedienen, hat aber den Nachteil, dass man damit nicht automatisch das Dateisystem auf die volle Größe der SD-Karte entpacken kann. Das muss dan nachträglich über die Konfiguration des Odroid erfolgen (zwingend erforderlich). Hier ist WinFlashTool deutlich besser, weil es diesen Schritt für uns beim Kopieren erledigt.

4. Grundkonfiguration des XU4 (Sprache, Tastatur, usw.)

Nach dem Start erscheint ein Anmeldebildschirm auf dem links ein Anmeldefenster erscheint. Hier einfach auf „Anmelden“ klicken. Die Eingabe eines Kennwortes ist nicht erforderlich. Wer will, kann hier über das Menü System → Systemverwaltung → Benutzer und Kennwörter ein Kennwort vergeben.

  • Diesen Schritt nur durchführen, wenn nicht mit WinFlashTool gearbeitet wurde oder Ubuntu 15.10 verwendet wird. Als nächstes „ODROID-Utility“ mit Doppeklick starten (liegt auf dem Desktop). Wenn das Kennwort eingegeben werden muss, odroid eingeben. Jetzt einzig das Filesystem expandieren. Wer hier Ubuntu 15.10 verwendet, kann diesen Schritt übergehen, da das System das selbst erledigt. Wie das geht, steht in dem kleinen Handbuch, welches mit dem Odroid geliefert wird. Ist anderenfalls auf der Homepage von Hardkernel zu finden (ist ähnlich raspi-config).
  • Reboot: System → Ausschalten → „neu starten“
  • Ein Terminal öffnen und ein Update und ein Upgrade der Software durchführen. Anwendungen → Systemwerkzeuge → Mate-Terminal HINWEIS: Ubuntu verlangt bei der Verwendung des Befehls sudo ein Kennwort. Wenn es nicht geändert wurde, ist dies odroid.
     sudo apt-get update
     sudo apt-get upgrade
  • Reboot
  • Terminal öffnen und Sprachumschaltung installieren. Danach haben wir eine deutsche Tastatur und die Zeitzone stimmt.
     sudo apt-get install language-selector-gnome

Jetzt durch das Menü hangeln und folgendes einstellen:

System → Einstellungen → Sprachen → „Sprache hinzufügen/entfernen anklicken → „Sprachunterstützung installieren“ → OK → Deutsch(Deutschland) auswählen → OK

Mit der Maus „Deutsch“ nach oben über Englisch in der Liste verschieben und dort fallen lassen → „Systemweit einstellen“ anklicken.

Tab „Regionale Formate“ anklicken → Deutsch (Deutschland) auswählen → „Systemweit anwenden“ anklicken.

Jetzt die deutsche Zeit einstellen:

System → Systemverwaltung → Datum und Uhrzeit → “Entsperren”

Zeitzone → „Europa/Berlin“ → Konfiguration → „Manuell“ → Zeit einstellen

Zurück auf „Abgleich mit Server“ stellen → „OK“ (Beenden)

Das ist etwas Gefummel, da Ubuntu die Zeitumstellung erst zuläßt, wenn man auf manuell umgeschaltet hat. Nach der Umstellung muss man dann wieder auf den Abgleich mit dem Zeitserver zurückstellen. Wer den Batteriepuffer verwendet, muss das nicht zwingend machen, aber die Realtimeclock hat doch schon Abweichungen.

5. XRDP (Remotedesktop) installieren

Wer keinen Remotedesktop braucht, kann den Punkt 5 komplett überspringen.

  • Terminal öffnen:
  • Mate Session als Standard für alle Remotesessions festlegen und XRDP installieren. Muss man nicht machen, aber es kann vorkommen, dass der Remotedesktop von Windows bei einem schwarzen Bildschirm hängen bleibt. Der Befehl unten trägt den Mate-Desktop als Standard ein.
      sudo echo mate-session > ~/.xsession
      sudo apt-get install xrdp
  • Deutsches Tastaturlayout für XRDP einstellen. Dazu muss die ini-Datei entsprechend geändert werden. Ansonsten hat man ein englisches Layout auf dem Remotedesktop.
      cd /etc/xrdp
      sudo mv km-0409.ini original-km-0409.ini
      sudo wget http://znil.net/images/3/3f/Km-0409.ini.gz
      sudo mv Km-0409.ini.gz km-0409.ini.gz
      sudo gzip –d km-0409.ini.gz
      sudo chown xrdp:xrdp km-0409.ini
      sudo service xrdp restart

Danach kann der XU4 über einen Windowsrechner mittels Remote-Desktop erreicht werden. Dazu den RDP unter Windows starten und die IP-Adresse des Odroid eingeben. Wenn der RDP startet als Benutzer: odroid und als Kennwort: odroid eingeben (wenn nicht geändert, ist das der Standard).

Wenn die Verbindung erfolgreich eingerichtet ist, braucht man keinen Monitor, keine Tastatur und Maus mehr um den Odroid zu bedienen. Da wir aber bei der Installation des Accesspoints u. U. ohne Netzwerk dastehen könnten (vor allem wenn was schief geht), lassen wir alles wie es ist. Jedoch, wenn alles läuft, und ein Gleisbildstellwerk, respektive RocView, nicht auf dem Odroid laufen soll, dann können alle Eingabegeräte und Monitore demontiert werden.

Noch ein Hinweis zur Verwendung des RDP mit Ubuntu: Die Sicherheitseinstellungen von Ubuntu sind sehr rigide wenn man auf dem Remotedesktop arbeitet. Es ist empfehlenswert, für Konfigurationsarbeiten grundsätzlich ein Root-Terminal zu öffnen (wie das geht, steht im nächsten Kapitel). Man kann auch die Gruppenberechtigungen von XRDP ändern. Da das aber nicht anfängerfreundlich ist und wir ja nur Rocrail darauf laufen lassen wollen, gehe ich nicht näher darauf ein. Für Interessierte empfehle ich Tante Google.

6. Netzwerk-Zusatzsoftware herunterladen

Standardmäßig ist auf dem Odroid der Netzwerkmanager von Ubuntu installiert und ermöglicht die Verbindung mit einem Wlan auf bequeme Weise über den Verbindungsdialog. Um einen Access Point zu betreiben, ist der Network-Manager jedoch im Weg und muss deinstalliert werden. Damit ist es allerdings auch mit dem Komfort vorbei und Handarbeit steht an. Da die Konfiguration jedoch einigermaßen übersichtlich ist, gehen wir jetzt ans Werk.

  • Zuerst ein Terminal öffnen. Um nicht immer „sudo“ vor jeden Befehl zu tippen öffnen wir ein sogenanntes „Root-Terminal“.
    1. Tasten ALT und F2 gleichzeitig drücken. → Eingabefenster öffnet sich
    2. gksu mate-terminal eintippen
    3. OK klicken.
    4. Kennwort: odroid eintippen → OK klicken.

Ab jetzt können wir das „sudo“ vor jedem Befehl weglassen, da wir als Benutzer „root“ alle Rechte besitzen. Aber Achtung, als root hat man vollen Zugriff auf das System. Damit nimmt Ubuntu alle Befehle ohne murren und knurren an, auch jeden Blödsinn!

  • Sodann alles Notwendige installieren. Netzwerkkonfiguration für ifup, ifdown und Accesspoint.
        apt-get install wpasupplicant
        apt-get install dnsmasq
  • Als nächstes einen speziellen Hostapd für Realtekadapter herunterladen. Der normale Hostapd funktioniert nicht, bzw. nur mit ausgesuchten Adaptern. Diese hier arbeitet mit allen Realtek-Adaptern und damit sind die meisten am Markt verfügbaren Adapter ausgerüstet. Das Verzeichnis enthält verschiedene Konfigurationsdateien für diverse Konfigurationen. Wir benötigen die Informationen aus der Datei rtl_minimal.conf. Aber der Reihe nach. Herunterladen und entpacken.
        mkdir /home/odroid/hpd
        cd /home/odroid/hpd
        wget builder.mdrjr.net/tools/hostapd_realtek.tar
        tar xf hostapd_realtek.tar
  • Zum Abschluss noch ein kleines Tool zum Auslesen der USB-Konfiguration. Da beim Odroid alle externen Anschlüsse intern wie USB-Adapter behandelt werden, ist dies genau das was wir brauchen um nachzusehen, ob alle Adapter erkannt worden sind.
        apt-get install lshw


7. Hardware zusammenbauen

Jetzt wird es Zeit, den Rechner herunterzufahren und den USB-Hub am USB 2.0 Host des Odroid anzuschließen (neben der Ethernetschnittstelle). Einer der beiden Wlan-Adapter wird ebenfalls gleich mit an den Hub angesteckt. Ich stecke noch die Funktastatur und den Touchscreen an den Hub. Die USB-Verbindung zur Zentrale, in meinem Fall BiDiB-Master, schließe ich an den USB 3.0-HOST an (die untere Buchse, die USB 3.0 Anschlüsse sind innen drin blau). Jetzt den Odroid neu starten.

  • Root-Terminal mit ALT-F2 wie oben öffnen.
  • Jetzt mit lshw die Wlan Konfig (wlan0 … wlan(n)) ermitteln.
        lshw -C network
  • Die Ausgabe zeigt uns, welche WLan Konfig unser erster Adapter hat.
        root@odroid:/home/odroid# lshw -C network
       *-network:0
            Beschreibung: Kabellose Verbindung
            Physische ID: 7
            BusInformationen:usb@1:1.3
            Logischer Name:wlan0
            Seriennummer: 80:1f:02:e1:85:9b
            Fähigkeiten: ethernet physical wireless
            Konfiguration: broadcast=yes **driver=rtl8192cu** multicast=yes wireless=IEEE 802.11bgn
       *-network:1 DEAKTIVIERT
            Beschreibung: Ethernet interface
            Physische ID: 8
            Logischer Name: eth0
            Seriennummer: 00:1e:06:31:00:aa
            Kapazität: 1Gbit/s
            Fähigkeiten: ethernet physical mii 10bt 10btfd 100bt 100btfd 1000btfd autonegotiation
            Konfiguration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v2.05.0 (2015/06/09) duplex=half link=no multicast=yes port=MII

Unser erster Wlan Adapter hat den Namen wlan0 bekommen. Um die beiden Adapter später auseinander halten zu können, macht es Sinn, den Adapter mit einem Aufkleber wlan0 zu versehen. Jetzt den zweiten Adapter am Hub einstecken und lshw erneut ausführen. Die sogenannte Seriennummer brauchen wir zwar nicht, aber diese Seriennummer wird eigentlich als MAC-Adresse bezeichnet.(Media-Access-Control) Diese Info kann aber noch wichtig sein, da z. B. die Fritzbox diese MAC-Adresse hinter dem Eintrag des Adapters anzeigt. So können wir feststellen, ob wir den richtigen Adapter konfiguriert haben. Bleibt nur noch die Bedeutung des Adapters eth0. Das ist unser kabelgebundener Ethernetanschluß. Wie man sehen kann, ist dieser bei mir deaktiviert. Wer also bis jetzt ein Lan-Kabel dort angesteckt hat, bekommt natürlich andere Werte. Später werden wir das Kabel nicht mehr benötigen und dann dürfte sich nur die Seriennummer (MAC) des eth0 unterscheiden.

  • Auf ein Neues
        root@odroid:/home/odroid# lshw -C network
       *network:0
           Beschreibung: Kabellose Verbindung
           Physische ID: 7
           BusInformationen:usb@1:1.3
           Logischer Name: wlan0
           Seriennummer: 80:1f:02:e1:85:9b
           Fähigkeiten: ethernet physical wireless
           Konfiguration: broadcast=yes driver=rtl8192cu multicast=yes wireless=IEEE 802.11bgn
       *network:1 DEAKTIVIERT
           Beschreibung: Ethernet interface
           Physische ID: 8
           Logischer Name: eth0
           Seriennummer: 00:1e:06:31:00:aa
           Kapazität: 1Gbit/s
           Fähigkeiten: ethernet physical mii 10bt 10btfd 100bt 100btfd 1000btfd autonegotiation
           Konfiguration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v2.05.0 (2015/06/09) duplex=half link=no multicast=yes port=MII
        *network:2
           Beschreibung: Kabellose Verbindung
           Physische ID: 9
           BusInformationen:usb@1:1.1
           Logischer Name: wlan1
           Seriennummer: 7c:dd:90:7c:32:e2
           Fähigkeiten: ethernet physical wireless
           Konfiguration: broadcast=yes driver=rtl8192cu multicast=yes wireless=IEEE 802.11bgn

Und siehe da, der zweite Adapter wurde erkannt und bekommt den Namen wlan1. Wlan1 wird unser Adapter für den Accesspoint. Auch noch wichtig: Unter driver=rtlxxxxcu kann man sehen, dass es sich um einen Realtek-Adapter handelt und somit mit unserer Hostapd kompatibel ist.

Wer will, der kann lshw auch einmal ohne Parameter aufrufen. Die Ausgabe ist sehr lange, deshalb habe ich hier darauf verzichtet. Wenn man die Liste aber durchgeht, kann man jeden einzelnen USB-Anschluß sehen, auch den HUB mit seinen 4 Ports und den Anschluß der Zentrale. Kurzum, wenn mal was nicht erkannt wird, ist lshw ein feines Tool, um den Fehler zu finden.

8. Netzwerkkonfiguration mit AP

  • Jetzt haben wir alles heruntergeladen und können uns daran wagen, den Netzwerkmanager zu deinstallieren. Danach haben wir erst einmal keine Netzwerkverbindung mehr! Es wäre auch möglich, nur den Adapter für den AP aus dem Manager zu nehmen. Allerdings zieht das einen Konfigurationsmarathon in den Adaptern hinterher. Ich habe das am Ende verworfen und die hier vorgestellte Methode verwendet.
           sudo apt-get remove --purge network-manager
  • Root-Terminal öffnen, wenn nicht schon geschehen. Wir müssen jetzt die Datei wpa-supplicant.conf an unsere Bedürfnisse anpassen. Ich verwende dazu den Editor nano.
           nano /etc/wpa_supplicant/wpa_supplicant.conf
  • Jetzt folgenden Inhalt in die Datei schreiben. Die Datei ist zuerst einmal leer, bzw. wird jetzt erst angelegt.
           ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
           update_config=1
           network={
                 ssid="NameDesHeimnetzwerks"             ← z.B. „FRITZ_Box……...“
                 psk="Passwort"                          ← Das Netzwerkkenwort auch Passphrase genannt.ACHTUNG: mindestens 8 Zeichen!
                 proto=RSN 
                 key_mgmt=WPA-PSK
                 pairwise=CCMP TKIP
                 group=CCMP TKIP
           }
  • Alternativ kann man auch mehrere Netzwerke definieren, z. B. “Heimnetz” und “Vereinsnetz”. Die Datei sieht dann etwas anders aus. WPASupplicant geht dann beim Aufstarten alle Netze durch und verbindet das erste Netz, das verfügbar ist.
            ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
            update_config=1
            network={
               ssid="NameDesHeimnetzwerks" 
               psk="Passwort"  
               proto=RSN 
               key_mgmt=WPAPSK
               pairwise=CCMP TKIP
               group=CCMP TKIP
               id_str=“daheim“           * ← Diese Zeile erweitern
               priority=1              ← Fortlaufende Nummer
            }
            network={
               ssid="NameDesVereinsnetzwerkes"
               psk="Passwort"
               proto=RSN
               key_mgmt=WPAPSK
               pairwise=CCMP TKIP
               group=CCMP TKIP
               id_str=“verein“
               priority=2
            }
  • Die Datei jetzt mit folgenden Tastenkombinationen speichern: STRG+O, dann die Nachfrage von nano mit ENTER bestätigen. Nano mit STRG+X beenden

Die soeben angelegte Datei wird zur Verbindung mit unserem Heimnetzwerk benötigt. Also nicht der AP, sondern unser normales Netzwerk benötigt diese Konfiguration. Als nächstes müssen wir die Interfaces-Konfiguration ändern.

  • Die Datei im Root-Terminal mit nano öffnen.
             nano /etc/network/interfaces
  • Jetzt die Datei mit nachfolgendem Inhalt versehen
             # interfaces(5) file used by ifup(8) and ifdown(8)
             # Include files from /etc/network/interfaces.d:
             # sourcedirectory /etc/network/interfaces.d
             auto lo
             iface lo inet loopback
             #auto eth0                               ← Der Ethernetadapter wird durch voranstellen eines # deaktiviert. Nur wer den Ethernetadapter permanent nutzt sollte den Adapter aktiviert lassen.
             #iface eth0 inet dhcp                      Linux versucht ansonsten beim Start bis zu 2 min eine Verbindung herzustellen bevor es den Versuch abbricht.Dann sieht es so aus,als ob der XU4
             allow-hotplug wlan0                       ← Das ist unser Adapter für das Homenetzwerk, umschalten auf Mehrfachkonfiguration. (Roaming)
             iface wlan0 inet manual 
                   wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
             iface wlan0 inet dhcp                    ← Bei Mehrfachkonfig diese Zeile weg.
             iface default inet dhcp
             iface daheim inet dhcp                   ← und diese hier einfügen
             iface verein inet dhcp
             auto wlan1                               ← Und hier unser AP-Adapter
             iface wlan1 inet static                  ← mit statischer also fester IP
             address 192.168.2.1                      ← diese IP passt zur dnsmasq.conf. Wer etwas anderes hier will muss das dort berücksichtigen.
             netmask 255.255.255.0                      
  • Die Datei jetzt speichern. STRG+O dann ENTER bestätigen. Nano mit STRG+X beenden.
  • Nach dem Reboot sollten wir jetzt via Wlan mit dem Netzwerk verbunden sein. Bei Mehrfachkonfiguration durchsucht wpa_supplicant alle verfügbaren Netzwerke, ob eine Verbindung möglich ist und verbindet automatisch.
  • Jetzt müssen wir noch den AP konfigurieren. Dazu müssen wieder einige Konfigurationsdateien eingestellt werden. Dazu nehmen wir wieder den Editor. Wir beginnen mit der Konfigurationsdatei für dnsmasq, welches wir am Anfang installiert haben. Dnsmasq fungiert hierbei als DHCP-Server für unseren AP. Den Job übernimmt auf dem anderen Wlan-Adapter (wlan0) unsere Fritzbox bzw. unser Heimnetzrouter o.ä.
             nano /etc/dnsmasq.conf

Die Datei enthält jede Menge vorkonfigurierte, aber mit einer Raute # auskommentierte Befehle. Jetzt folgende Einträge suchen und ändern.

            ........
            # If you want dnsmasq to listen for DHCP and DNS requests only
            # specified interfaces (and the loopback) give the name of the
            # interface (eg eth0) here.
            # Repeat the line for more than one interface.
            interface=wlan1                                     ← wlan1 ist unser APAdapter
            .........                           

Jetzt noch den Bereich des DHCP-Servers einstellen. Dazu folgenden Eintrag suchen und entsprechend ändern.

            .........
            # Uncomment this to enable the integrated DHCP server, you need
            # to supply the range of addresses available for lease and optionally 
            # a lease time. If you have more than one network, you will need to
            # repeat this for each network on which you want to supply DHCP
            # service.
            dhcprange=192.168.2.2,192.168.2.100,255.255.255.0,12h
            ..........
  • Die Datei jetzt speichern. STRG+O dann ENTER bestätigen. Nano mit STRG+X beenden.
  • Endspurt. Zum Schluß muss noch die spezielle Hostapd angepasst und automatisch gestartet werden. Hostapd ist das Programm, was sich auf unseren wlan1 Adapter hängt und auf eine Verbindungsanfrage lauscht. Wir bemühen wieder nano im Root-Terminal.
           nano /home/hpd/rtl_minimal.conf
  • Jetzt folgende Einträge ändern. Von dem Rest der Datei die Finger weg!
           # Configurable Parameters
           # wlan interface. Check ifconfig to find what's your interface
           interface=wlan1                                                             ← WLan1 unser AP Adapter
           # Network SSID (Your network name)
           ssid=RocrailAP                                                              ← Der Name meines AP. Mindestens 8 Zeichen ohne Leerzeichen. Der Name ist beliebeig
           # Channel to be used! preferred 6 or 11
           channel=6
           # Your network Password
           wpa_passphrase=12345678                                                     ← Das Wlan Kennwort. Ich gebe es zu. Phantasielos. Aber 8 Zeichen lang und damit klappt es!
           # Only change below if you are sure of what you are doing
           ctrl_interface=/var/run/hostapd
           wpa=2
           driver=rtl871xdrv
           beacon_int=100
           hw_mode=g
           ieee80211n=1
           wme_enabled=1
           ht_capab=[SHORTGI20][SHORTGI40][HT40+]
           wpa_key_mgmt=WPAPSK
           wpa_pairwise=CCMP
           max_num_sta=8
           wpa_group_rekey=86400
  • Die Datei jetzt speichern. STRG+O dann ENTER bestätigen. Nano mit STRG+X beenden.
  • Jetzt den hostapd automatisch starten lassen. Nano im Root-Terminal wie gehabt.
           nano /etc/rc.local
  • Den Inhalt wie unten ergänzen
           #!/bin/sh e
           #
           # rc.local
           #
           # This script is executed at the end of each multiuser runlevel.
           # Make sure that the script will "exit 0" on success or any other
           # value on error.
           #
           # In order to enable or disable this script just change th execution
           # bits.
           #
           # By default this script does nothing.
           #
           # Warten bis alle Adapter gestartet sind
           sleep 20                                                                        ← Diese Zeile rein um dem System Zeit zu geben die Adapter sauber zu starten. WICHTIG.
           # Startet den Hostapd von mdrjr
           /home/odroid/hpd/hostapd /home/odroid/hpd/rtl_minimal.conf &                    ← Diese Zeile rein.
           exit 0
  • Der Befehl sleep 20 ist nicht unbedingt erforderlich, das kommt darauf an, wie schnell der Odroid das wlan0 startet. Wenn der AP nicht startet, sollte man mit diesem Befehl bei 20s anfangen. Die 20 ist die Zeit in Sekunden die das Script wartet. Man kann mit der Zeit spielen. Sollte der AP nach dem Neustart nicht mehr erscheinen ist die Zeit zu verlängern. Bei meinem System hat sich 15s als gute Zeit herausgestellt. Bei meinem Testsystem brauche ich gar keine Verzögerung, da ich dies mit dem Ethernetkabel über eth0 betreibe. Es ist also individuell auszuprobieren. Die Datei jetzt speichern. STRG+O dann ENTER bestätigen. Nano mit STRG+X beenden.

Damit ist die Konfiguration beendet. Nach dem Neustart erscheint der AP auf jedem Handy oder Tablet mit dem Namen, dem ihm in der Datei rtl_minimal.conf gegeben wurde. Dem Einsatz von AndRoc und RocWeb steht nun nichts mehr im Wege.

9. Rocrail installieren

Zu diesem Thema gibt es zwar schon jede Menge gute Tutorials im Forum, aber der Vollständigkeit halber möchte ich das auch noch beschreiben. Besonders möchte ich Johannes' Tutorial für den Raspi erwähnen, welches mir damals den Einstieg sehr erleichtert hat.

Die Installation ist am einfachsten, wenn man von den Quellen kompiliert. Dazu ist bei Rob Versluis via Forum ein Kennwort und ein GitBlit-Link anzufragen. Einfach einen Post mit der Bitte um ein Kennwort hinterlassen.

Der Link sieht etwa wie folgt aus: Nein, zeige ich nicht, steht in der Mail. (Man muss das den Spitzbuben ja nicht erleichtern.) Im Folgenden nenne ich das einfach nur Download-Link. Ihr müsst den Begriff nur mit dem Link aus der Mail ersetzen.

  • Zuerst wieder ein Terminal öffnen. (Kein Root-Terminal, sonst passen die Pfade nicht!)
  • Dann die fehlenden Bibliotheken, die in der Standardinstallation von Ubuntu nicht vorhanden sind, nachinstallieren. Ansonsten bricht Rocrail beim Kompilieren mit Fehler ab
    sudo apt-get install libusb-1.0-0-dev
    sudo apt-get install wxgtk2.8-dev
  • Jetzt die benötigten Verzeichnisse erstellen.
    mkdir /rocrail
    cd rocrail
    mkdir /source
    cd source
  • Jetzt holen wir die Quellen. Dazu den Download-Link durch den aus der Mail ersetzen
    git clone Download-Link
  • Auf Nachfrage das Kennwort aus der Mail eintippen und Enter drücken.
  • Der Download dauert etwas, je nach Geschwindigkeit des Internetanschlusses. Ist alles heruntergeladen, geht es ans Kompilieren.
    cd Rocrail
    sudo make fromtar
  • Das Kompilieren dauert etwa 10min. Das stundenlange Warten, das wir vom Raspi kennen, gehört der Vergangenheit an. Jetzt noch installieren.
    sudo make install
  • Damit Rocrail startet und das Kopieren von Plan, Lizenzschlüssel usw. einfacher ist sollte noch das Verzeichnis /opt/rocrail auf den User und die Gruppe Odroid gesetzt werden. Dazu verwenden wir folgenden Befehl.
    sudo chown -cR odroid:odroid /opt/rocrail
  • Damit ist RocRail komplett installiert, incl. RocView. Jetzt sind nur noch die Links im Startmenü anzupassen und Rocrail kann über das Startmenü gestartet werden. Wer nur den Server benötigt und diesen automatisch starten möchte, der sollte noch folgende Zeile als letzten Eintrag vor „Exit 0“ an die Datei /etc/rc.local anfügen.
    /etc/rocrail/rocrail.sh


10. Sarter anpassen

Den Starter für Rocrail-Server und Rocview findet man nach der Installation unter dem Menüpunkt „Sonstige“. Der Starter für den Rocrail-Server muss modifiziert werden. Dazu unter System → Einstellungen → Hauptmenü auswählen.

Jetzt mit der rechten Maustaste auf Rocrail klicken und „Eigenschaften“ auswählen.

Wie man im ersten Bild sehen kann, habe ich den Eintrag auf die gleiche Weise von „Sonstige“ auf Modellbahn geändert. Wenn man auf das ICON klickt, kann man dieses ebenfalls ändern. Ich habe die BR86 aus den Images von Rocrail dazu verwendet. So, das war's. Ich wünsche allen viel Freude mit dem Tutorial und ich hoffe, es hilft. Dieses Tutorial wurde auf dem Odroid mit OpenOffice Writer, der zum Installationsumfang gehört, erstellt. Auch die Bildschirmfotos sind mit dem Bildschirmfoto-Tool aus dem Menü “Zubehör” erstellt.

11 Rechtliches

Alle Rechte der in diesem Tutorial genannten Marken und Markennamen, liegen bei den jeweiligen Markeninhabern. Die Rechte der Markeninhaber an den Marken und Markennamen werden durch dieses Tutorial nicht berührt oder verletzt. Die Nennung der Marken und Markennamen dient ausschließlich dem Verständnis des Inhaltes dieses Tutorials. Alle Angaben sind ohne Gewähr. Die Verwendung dieses Tutorials geschieht auf eigene Gefahr und Haftung. Der Autor übernimmt keine Haftung für Schäden, die aus der Verwendung dieses Tutorials entstehen. Dazu gehören alle Schäden an Personen, Dingen oder aus finanziellem Verlust. Fehlerhafte Informationen und technische Änderungen vorbehalten. Mit der Nutzung dieses Tutorials erklärt sich der Verwender mit den Bedingungen einverstanden.


Personal Tools