DK5DC

open all | close all

Gallery

058-2005-kayenta.jpg 068-2005-wupatki.jpg

Raspi und PITNC einrichten

Der von John Hansen entwickelte TNC-PI ist ein kleiner Kiss TNC, der nahtlos auf einen Raspberry Pi aufgepropft wird. Hier soll gezeigt werden, wie man den TNC mit dem Raspi Betriebssystem verheiratet. Für die krude Formatierung, speziell der Screenshots entschuldige ich mich. Ich habe kurz vor der HamRadio einfach keine Zeit mich noch tief mit feinen CSS-Stylesheets und WordPress zu beschäftigen. Das gleiche gilt für die korrekte Verwendung deutscher Begriffe. Ich gehe davon aus, dass einem interessierten Funkamateur ein paar angelsächsische Begriffe wie ‚Interface‘ geläufig sind. Manch englischer Ausdruck ist schlicht umd einfach griffiger.

Alle folgenden Erklärungen basieren auf

  • Einem Raspberry Pi 2
  • einem Raspian Wheezy aktueller Prägung auf einer, sagen wir 16 GB SD
  • Einer funktionierenden Netzwerkverbindung. Das vorliegende Beispiel arbeitet mit entfernten Konsolen, die eleganteste Möglichkeit, mit dem Raspi zu spielen.
  • Basiskentnisse in der Bedienung des Betriebssystems, speziell den Nano Editor und die Tatsache,
    dass man generell nur mit User Privilegien arbeitet.
  • Eine zu jeder Zeit vorhandene Internet Verbindung. Ich werde das nicht vor jedem ’sudo apt-get‘
    etc wiederholen.

Beginnen wir mit dem Login auf ein lauffähiges System, Der Einfachheit halber nimmt man den Putty für die ersten Einstellungen. Hier darf man getrost die ‚Portable Applications‘ der Portable Apps Plattform empfehlen. Die Anwendungen, die man dort findet sind brauchbar und klinken sich nicht unwiderruflich in sein (Windows) System ein.

putty login
Im nächsten Schritt wird das System aktualisiert. Da das Betriebssystem des Raspi auf einem Linux Derivat basiert, ist die Wahrscheinlichkeit sekündlicher Aktualisierungen recht gross :-). Die bekannten Aktualisierungsbefehle muss man nicht noch gross erklären.

  • sudo apt-get update
  • sudo apt-get upgrade

Bevor es nun weitergeht, verpasst man dem Raspi als erstes eine feste IP Adresse. DHCP ist ja für mobile Geräte interessant, aber wenn man den Raspi als Zielsystem für eigene Entwicklungen benutzt…..

interfacesDie originale Netzwerk-konfiguration wird gesichert und anschliessend verändert. Ein Beispiel zeigen die folgenden Zeilen und Screenshots. Natürlich passt man die Adressen seinem eigenen Netzwerk an und vergibt zumindest 5 Sterne als WPA-psk Phrase :-).

screenshot.101

Es existieren mehrere Möglichkeiten, einem WLAN Interface eine statische Adresse zu verpassen. Bei mir ist es halt so, dass
nur die obige Version zusammen mit einem AX.25 Interface funktioniert. Bei anderen Ausprägungen der Interface Definition ‚verschwindet‘ die WLAN Verbindung, sobald das AX.25 Interface per ‚kissattach‘, siehe unten, aktiviert wird.

Im nächsten Schritt verpassen wir den Raspi noch einen Xserver. Ich nehme dazu immer den tightvncserver.
1. weil er in Raspikreisen weit verbreitet ist und
2. weil die Einrichtung weitgehend schmerzfrei verläuft. Der erste Schritt ist wie üblich ein sudo apt-get install tightvncserver

screenshot.10

Nach der Installation ist es nötig, den Server einmal ohne Parameter zu starten. Es wird nach einem Password gefragt. Bitte eins wählen. Ein ‚View only‘ passwort darf man sich getrost sparen.

screenshot.11

Danach wird, weil man ja bequem ist, der Server für einen Autostart eingerichtet. Der Einfachheit halber nimmt man einen codeschnipsel, den man im Netz findet:

wget http//www.penguintutor.com/otherfiles/tightvncserver-init.txt
sudo mv tightvncserver-init.txt /etc/init.d/tightvncserver

 

 

Versieht das Ganze mit den richtigen Rechten

cd /etc/init.d
sudo chown root:root ./tightvncserversudo chmod 755 ./tightvncserver
sudo update-rc.d tightvncserver defaults

 

 

 

 

 

 

screenshot.4

 

Nach einem reboot sollte man nun in der Lage sein, von jedem beliebigem Windows Rechner (der natürlich den tightvncviewer oder einen anderen vnc Viewer installiert hat) einen login zum VNCserver auf dem Raspi hinzubekommen.

screenshot.5

screenshot.6

Von nun an werden wird hier aus Bequemlichkeit mit der graphischen Oberfläche gearbeitet. Zuerst gilt es einige kleinere Eingriffe (minor surgery) an Systemdateien vorzunehmen und relevante ax.25 Pakete nachzuinstallieren.
Der Basissupport für AX.25 ist bereits (wie in jedem Linux Kernel) vorhanden.

Im Grunde genommen bete ich ab nun lediglich die Anleitung von John Hansen und Friends auf deutsch nach und belege sie mit ein paar Bildern, damit man es auch glaubt. Man kann sie aber auch hier:

http://tnc-x.com/TNCPi.pdf

 

bekommen.

Zuerst entfernt man, falls vorhanden zwei Einträge in der Datei /boot/cmdline.txt. Diese Einträge sind in einer einzigen Zeile zu finden:

console=ttyAMA0, 115200 und kgdboc=ttyAMA0, 115200

 

Der zweite Eintrag war bei mir nicht vorhanden.

 

screenshot.7

Anschliessend wird in der /etc/inittab noch der Eintrag

T0:23:respawn:/sbin/getty
entfernt. Wer mit dem nano Editor keinen Vertrag hat, kann sich auch des Leafpad Editors bedienen. Der muss für diese Dateien natürlich mit ‚gksudo‘ gestartet werden.
screenshot.8
Übrigens ist es eine gute idee, wo immer möglich, solche Einträge nicht zu löschen, sondern auszukommentieren. In unserem /etc/inittab Fall mit Hilfe des Schweinegatters an der ersten Stelle der Zeile.
Man hat es schon fast geahnt, REBOOT!.
Nun greift man sich die ax.25 Pakete:
sudo apt-get install ax25-tools
sudo apt-get install ax25-apps
Nach der Installation kann man sich mit einem ‚find‘ Befehl überzeugen, ob sich das Zeug auf der Maschine befindet:
screenshot.9
Bevor man in den APRS und/oder Packet Radio over TCP/IP einsteigen kann, belibt noch ein Schritt zu tun. Wir müssen dem System die Schnittstellen bekannt machen.
Dazu bearbeitet man die Datei
/etc/ax25/axports
Achtung, diese Datei darf KEINERLEI Leerzeichen enthalten. Die Zwischenräume bestehen ausschliesslich aus Tab Zeichen und haben die folgende Bedeutung
Port |  Hardware Address | Speed in Bps | Packet Window | Kommentar
1        dk5dc-9                       19200               2                              APRS
screenshot.15
Nun kann man getrost versuchen, die erste Verbindung zum tnc herzustellen. Zuerst muss man den TNC an den TCP/IP Stack binden. Auch wenn vorerst die TCP/IP Services nicht benutzt werden:
pi@dk5dc-pi2-2 ~ $ sudo kissattach /dev/ttyAMA0 1  10.1.1.1
Natürlich wird eine zugeteilte IP Adresse oder eben ein nicht routendes Netzwerk wie hier gezeigt verwendet. Die Antwort auf obigen Befehl lautet: AX.25 port 1 bound to device ax0. Eine Überprüfung ist ziemlich einfach per ‚ifconfig‘ möglich.screenshot.11Der erste Eintrag in der Liste ist, like magic, unser AX.25 Interface. Welches natürlich wie jedes andere Netzwerk Interface benutzt werden darf. Zuerst jedenfalls wollen wir nur mal sehen, ob ein an den TNC angeschlossenes Funkgerät  überhaupt Packet Signale empfängt.
pi@dk5dc-pi2-2 ~ $  sudo axlisten -r
Das Ergebnis sollte, wenn alles in Ordnung ist wie folgt aussehen:
screenshot.12
Das war’s. Zuletzt trägt man tunlichst den kissattach Befehl noch in die eigene /etc/rc.local Datei ein, damit man nicht immer das Interface manuell anbinden muss:
#!/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.
# Print the IP address
_IP=$(hostname -I) || true
if [ „$_IP“ ]; then
printf „My IP address is %s\n“ „$_IP“
fi
logger „kissattach“
sudo kissattach /dev/ttyAMA0 1 44.130.17.60 |logger
sudo vncserver |logger
#logger „start aprx“
#sudo aprx |logger
#lcdp „rc.local ok“ „up&running“
exit 0

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>