Serielle Konsole für QNAP mit Arduino

Mit dem Arduino Uno lässt sich leicht auf die serielle Konsole der QNAP zugreifen.

Gestern musste ich ein wild blinkendes QNAP NAS TS-212 reparieren, bei dem man weder per HTTP Web-UI noch per SSH dran kam. Außerdem führte das System einen regelmäßigen Neustart durch und es war nicht ersichtlich warum … Auch googlen brachte mich nicht weiter, außer auf wilde Spekulationen in alle möglichen Richtungen. Hmm … in so einem Fall wünscht man sich die gute alte serielle Konsole, die einem mehr Einblick in das System verschafft.

Der vorsorgliche Hinweis: Jeder bastelt auf eigene Gefahr! Man sollte außerdem ein paar Vorkenntnisse mitbringen, um die hier beschriebenen Schritte erfolgreich durchführen zu können! Also, jammert bloß nicht rum, wenn ihr einen Kurzschluss oder so verursacht und euch dadurch die QNAP geschrottet habt! 🙂

Nach dem Aufschrauben des Gehäuses die positive Überraschung: Auf dem Mainboard ist tatsächlich ein 4-Port Stecker zu finden, der lt. Infos im Netz tatsächlich auf eine RS-232 Schnittstelle hindeutet. Bei meinem Modell TS-212 ist der Konnektor mit CN9 beschriftet. Es handelt sich hier um einen 3.3V TTL Anschluss und bei den vier Pins handelt es sich um TX, VCC, RX, GND.

Jetzt ist nur die Frage, wie kann ich die serielle Schnittstelle abgreifen und per Serial-USB-Adapter an meinem Laptop benutzen? Die Lösung: Ein Arduino Uno Board bringt alles mit was ich benötige! Auf der einen Seite befindet sich eine digitale Input Leiste mit Anschlüssen für RX, TX und GND und auf der anderen Seite haben wir den USB Anschluss, um es direkt mit dem Laptop zu verbinden. Mit einem kleinen Adapterkabel klappt die Verbindung ganz leicht (siehe Bild).

Pinbelegung der seriellen Schnittstelle einer QNAP TS-212
Man verbindet die jeweiligen Pins RX, TX, GND mit den entsprechenden digitalen Inputs beim Arduino
… zum Schluss noch den USB Anschluss mit dem Laptop verbinden.

Dann starte ich auf meinem Linux Laptop das Programm Minicom mit dem Arduino Port /dev/ttyACM0 und mit den Terminal Einstellungen VT102, 115200 Baud, 8N1. Und siehe da, sofort habe ich den gesamten Output des QNAP Bootvorgangs in meinem Terminal.

Das bietet mir jetzt viel bessere Möglichkeiten der Fehleranalyse. Außerdem kann ich auch in die Bootschleife eingreifen, indem ich kurz nach dem Neustart, bei der Anzeige von „Marvell UBoot“ eine beliebige Taste drücke. Hier stehen dann einige Systembefehle zur Verfügung, die evtl. helfen können.