Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

de:anleitungen:uart-debugging [2017/10/25 21:26] (aktuell)
Zeile 1: Zeile 1:
 +====== Anleitung UART Debugging ======
 +
 +=== Benötigte Hardware: ===
 +
 +    Router
 +    USB-Seriell-Adapter
 +    Raspberry Pi, mit Tastatur und Monitor, 8GB SD-Karte, ​
 +    (statt dem Raspberry kann auch ein beliebiger anderer Rechner mit USB und Terminalprogramm zum Einsatz kommen.
 +     Der Raspberry wird hier vorgeschlagen,​ da es vorkommen kann, das man das Debugging auch mehrere Tage 
 +     ​unbeaufsichtigt laufen lassen muss)
 +    Ethernet-Kabel
 +    ​
 +    Gegebenenfalls kann man das auch mit einem PC oder Laptop machen. Dann braucht man natürlich keinen Raspi. Allerdings muss der PC die ganze Zeit an bleiben und vor Ort stehen. ​
 +==== 1. Raspbian installieren ====
 +
 +
 +Siehe: https://​www.raspberrypi.org/​documentation/​installation/​installing-images/​
 +und https://​developer-blog.net/​raspberry-pi-sd-karte/​
 +
 +==== 2. Raspbian konfigurieren ====
 +
 +Einloggen in Raspbian mit: User "​pi"​ und Passwort "​raspberry"​ \\
 +Root werden: sudo -i\\
 +Tastaturlayout umstellen: dpkg-reconfigure keyboard-configuration \\
 +Außer der Sprache können alle Einstellungen auf default stehen bleiben.
 +
 +Konsole einstellen: dpkg-reconfigure console-setup\\
 +(Auswählen:​ UTF-8 dann Latin1 und Latin5 ​ den Rest unverändert lassen)\\
 +
 +Locale konfigurieren:​ dpkg-reconfigure locales\\
 +Es sollte de_DE@UTF-8 zusätzlich angewählt werden und dann auch als Default eingestellt werden.\\
 +
 +Zeitzone einstellen mit: dpkg-reconfigure tzdata\\
 +
 +Programme installieren:​\\
 +apt-get update\\
 +apt-get install mc screen\\
 +
 +Der Filemanager mc ist nicht zwingend erforderlich,​ aber macht das Leben für Windows-User einfacher (ähnlich Total Commander). Am besten gleich mc starten und noch den Editor in der Konfiguration umstellen (F9-Options-Configuration) auf intern und die Konfiguration speichern (sonst wird vi als Standard genutzt).
 +
 +Unbedingt das default Passwort ändern mit dem Befehl „passwd“ wenn der RasPi später am Netz hängen soll!
 +Wer will kann noch seinen public SSH-Schlüssel im Unterverzeichnis /​home/​pi/​.ssh in der Datei „authorized_keys“ ablegen und ssh aktivieren mit „systemctl enable ssh“. Wenn man sich jetzt noch die IPv6-Adresse des RasPi im Freifunk-Netz aufschreibt (wird angezeigt mit ifconfig), kann man sich später auch von fern per ssh/Putty einloggen (geht auch ohne SSH-Schlüssel mit dem neu vergebenen Passwort).
 +
 +Der ssh-Server muss noch aktiviert werden:\\
 +systemctl enable ssh\\
 +service ssh start\\
 +
 +==== 3. Seriell-Anschluss zum Router herstellen ====
 +
 +
 +Wie man die serielle Schnittstelle anschließt steht für den TL-WR1043 z.B. hier:
 +https://​www.loggn.de/​tl-wr1043nd-bricked-wlan-router-wieder-zum-leben-erwecken/​ hier: https://​wiki.freifunk-franken.de/​w/​Unbricken_eines_TP-Link_1043ND oder hier: https://​wiki.openwrt.org/​toh/​tp-link/​tl-wr1043nd.
 +
 +Für den TL-WR841: https://​wiki.openwrt.org/​toh/​tp-link/​tl-wr841nd//​
 +
 +Es brauchen nur 3 Pins angeschlossen werden (Rx, Tx und Ground). Den Pin für 3,3V bzw. 5V nicht anschließen! Spannung bekommt der Adapter über die USB-Schnittstelle vom RasPi.
 +==== 5. Logging starten ====
 +
 +Am Raspi einloggen (entweder über ssh oder mit angeschlossener Tastatur und Monitor)\\
 +
 +Ggf. eine neue Konsole öffnen (wenn man nicht ohnehin auf der Konsole eingeloggt ist).\\
 +USB-Adapter anstecken und mit dem Befehl "​dmesg"​ prüfen ob er erkannt wurde. Die letzten 3 Zeilen sollten die erforderlichen Daten anzeigen. Der Schnittstellenname ist in der Zeile "​converter now attached ....." zu erkennen (in der Regel ttyUSB0). Falls das nicht angezeigt wird muss erst der Fehler gefunden werden, bevor es weitergeht.\\
 +
 +Folgenden Befehl eingeben (ggf. ist im Folgenden der Schnittstellenname ttyUSB0 durch den oben angezeigten zu ersetzen):​\\
 +screen -L <​logfilename>​ /​dev/​ttyUSB0 115200\\
 +Es sollte sich eine Terminalsession zum Router öffnen.\\
 +
 +Weiter in der neuen Terminalsession:​\\
 +logread -f (damit werden Logmeldungen im Terminalfenster ausgegeben)\\
 +
 +In screen sind die wichtigsten Tastenkombinationen:​\\
 + ​Ctrl-a d  .... Damit verläßt man screen. Screen läuft im Hintergrund weiter, und damit auch das Logging.\\
 + ​Ctrl-a K  .... Damit beendet (killt) man screen\\
 + ​Ctrl-a H  .... startet das Logging (falls es mit dem Parameter oben nicht funktioniert hat)\\
 +
 +Man kann den RasPi alleine lassen und den Absturz/​Neustart abwarten.\\
 +
 +Falls alles geklappt hat kann man nach einem Neustart des Routers sich wieder im RasPi anmelden und die Screen-Session anzeigen lassen mit dem Befehl „screen -r“. Das geht auch von einem anderen Terminal als das von dem screen gestartet wurde.\\
 +
 +Um das Logging automatisch beim Booten des Raspi zu starten, kann man als root die Datei /​etc/​rc.local bearbeiten\\
 +(also z.B. mit "sudo mcedit /​etc/​rc.local"​) und vor der Zeile "exit 0" folgenden Befehl eintragen:​\\
 +
 +screen -dm -L <​logfilename>​ /​dev/​ttyUSB0 115200\\
 +
 +Screen wird im Hintergrund gestartet und man kann sich später mit "sudo screen -r" darauf verbinden (geht in dem Fall nur als root).\\
 +
 +Wenn man ohnehin einen PC neben dem Router stehen hat, kann der natürlich auch verwendet werden. Für PCs mit Linux kann man sich an obiger Anleitung orientieren.\\
 +
 +==== 5. Logging unter Windows ====
 +
 +Für Windows PCs geht man folgendermaßen vor:\\
 +1. Putty downloaden unter http://​www.putty.org/​\\
 +2. Herausfinden wie der Name der Schnittstelle ist. Das steht im Windows Geräte-Manager unter dem Abschnitt "​Anschlüsse (COM & LPT)". In der Regel hat eine eingebaute Schnittstelle die Bezeichnung COM1. USB-Adapter können aber auch eine beliebige andere Nummer haben, z.B. COM3 oder COM7\\
 +3. Putty starten. Bei "​Connection type" den Punkt "​Serial"​ auswählen. Unter "​Serial line" den gefundenen Schnittstellennamen eingeben. Unter "​Speed"​ 115200 eintragen und OPEN anklicken.\\
 +4. Wenn das Fenster sich geöffnet hat "​logread -f" eingeben und mit der ENTER-Taste bestätigen. Dann werden die Meldungen ausgegeben.\\
 +5. Oben links auf das Putty-Icon im Fensterrahmen klicken und auf "​Change Settings"​ klicken.\\
 +6. In dem Einstellungsfenster unter "​Session"/"​Logging"​ rechts auf "​Printable output"​ klicken und den "Log file-Name"​ eingeben. Danach auf "​Apply"​ gehen.\\
 +7. Um das Logfile zu speichern dann wieder diese Einstellungen aufrufen, unter "​Session logging"​ auf "​none"​ klicken und "​Apply"​. \\
 +