Wiederherstellung nach einem fehlgeschlagenen Firmwareupdate

Aus NAS Wiki

Wechseln zu:Navigation, Suche

Anleitung zum Wiederherstellen nach einem fehlgeschlagenen Firmwareupdate / Firmware Recovery / Unbricking

An english version can be found here.

Diese Anleitung bezieht sich auf die NAS-Systeme Macpower Taurus LAN und Raidsonic Icy Box IB-4220-b. Kompatibilitäten zu anderen NAS-Systemen sind derzeit nicht bekannt.

Bei einem Firmwareupdate kann einiges schief gehen. Beim Ausschalten oder Energieverlust während des Flashvorgangs lässt sich das NAS anschliessend nicht mehr hochfahren, da die Firmware unvollständig übertragen wurde. Mit etwas Glück ist in diesem Fall allerdings nur die Ramdisk beschädigt, der Bootloader funktioniert jedoch noch einwandfrei.

Für diesen Fall gilt die folgende Anleitung.


Die grundlegende Vorgehensweise ist dabei, sich über den seriellen Anschluss auf die Konsole des NAS zu verbinden, ins Bootmenü zu gelangen und dort ein neues Firmwareupgrade durchzuführen. Benötigt werden für diesen Vorgang die folgenden Dinge:

  • Schraubendreher
  • Datenkabel
  • Firmware
  • PuTTy
  • FTP-Server tftpd32

Wir beginnen mit dem Datenkabel. Für die Wiederherstellung bei funktionierendem Bootloader reicht ein einfaches Datenkabel, wie es beispielsweise für Nokia- oder Siemens-Mobiltelefone zu erwerben ist. Man kann entweder ein Kabel für den USB-Anschluss (auf PC-Seite) nutzen (siehe hier) oder ein Kabel für den seriellen Anschluss am PC. Beim Anschluss über ein USB-Kabel sind auf dem PC Treiber zu installieren, die einen seriellen Anschluss emulieren. Außerdem ist darauf zu achten, dass das Kabel 3.3V Spannung liefert. Mehr als 3.3V zerstört die Platine des NAS. Für andere mögliche Kabelvarianten lohnt ein Blick auf diese Seite.

Bild 1: mögliche Kabelendhülsen, einige davon erhältlich beim Kfz-Elektriker

In diesem Beispiel wird ein serielles Datenkabel für ein Siemens S45 Mobiltelefon verwendet. Die Bezeichnung des Kabels (zu finden auf dem seriellen Stecker) lautet S30880-S4501 A801-1. Es handelt sich dabei nicht um ein originales Siemenskabel, sondern einen chinesischen Nachbau. Von diesem Kabel entfernen wir zuerst den Stecker für das Mobiltelefon. Entweder man schneidet ihn ab oder versucht bei einem mehrteiligen Stecker diesen aufzubrechen. Bricht man den Stecker auf, hat man ohne weitere Arbeit abisolierte und verzinnte Kabelenden, was die Arbeit ein wenig erleichtert.

Das Kabel hat 6 Einzeladern. Wir benötigen nur die rote, grüne, gelbe und schwarze Ader, die anderen beiden sollten sicherheitshalber isoliert werden. Die Belegung der einzelnen Adern liegt wie folgt:

  • schwarz = GND/Masse
  • rot = Spannungsversorgung/3.3V
  • gelb = RxD/Empfangsrichtung
  • grün = TxD/Senderichtung

Es empfiehlt sich jetzt, die einzelnen Adern mit Kabelendhülsen zu versehen. Nur damit ist ein zuverlässiger und sicherer Kontakt herzustellen. Da auf der NAS-Platine kein Stecker aufgelötet ist, sondern nur Kontaktlöcher zu finden sind, eignen sich Kontakthülsen mit 1.5mm Durchmesser am besten (siehe Bild 1).

Bild 2: Platine eines Macpower Taurus LAN Version 1.0

Jetzt widmen wir uns der NAS-Platine. Zuerst entfernen wir die Festplatte(n) aus dem NAS (von der für den Fall der Fälle hoffentlich ein Backup existiert!), anschließend ziehen wir beide SATA-Stecker, den HDD-Stromstecker, den Stecker des Temperatursensors und den des Lüfters ab. Nicht abziehen sollten wir die Verbindung zum Ein- und Austaster an der Frontseite. Danach entfernen wir die durchsichtige Kratzschutzfolie auf dem vorderen Teil der Platine und lösen jetzt alle 4 Schrauben (2 kleine, 2 größere) an allen 4 Ecken der Platine. Wir können jetzt die Platine vorsichtig aus dem Gehäuse entfernen.

Der für uns interessante serielle Anschluss befindet sich auf nebenstehendem Bild in der rechten oberen Ecke (siehe Bild 2). Es handelt sich dabei um ein längliches Rechteck mit 10 (2x5) Löchern und der Aufschrift J2. An einige dieser Löcher müssen wir unsere Einzeladern anschließen. Dazu verbinden wir zuerst den seriellen Stecker mit unserem PC. Der PC sollte dafür ausgeschaltet sein, da der serielle Anschluss nicht hotplug-fähig ist. Durch das Anschließen im eingeschalteten Zustand können irreparable Schäden an PC-Bauteilen auftreten! Jetzt verbinden wir nach dem Anschlussplan in Bild 3 die einzelnen Adern des Kabels mit den Kontakten auf der NAS-Platine. Achtung: Bild 3 gilt allem Anschein nach für das Taurus LAN mit Platinenversion 1.0. Weitere Möglichkeiten folgen.

Bild 3: Anschlussplan J2-Kontakte

Nicht empfehlenswert ist die Art des Anschlusses in Bild 4. ;)

Bild 4

Als gute Alternative gibt es beim Elektronikversender ELV eine kleine Platine UM2102 für rund 6 EUR, die eine serielle UART-Schnittstelle mit TTL-Pegel (3,3V) bereitstellt und über USB an den Computer angeschlossen wird. Der Computer erkennt das Gerät als USB-COM-Port, unter Linux wird automatisch ein Device unter /dev/ttyUSBx angelegt. Die Pins an ST2 werden wie folgt angeschlossen:

  • Pin 2 (TxD) des USB-Moduls an Pin 2 der IB4220 (RxD)
  • Pin 3 (RxD) des USB-Moduls an Pin 3 der IB4220 (TxD)
  • Pin 4 (GND) des USB-Moduls an Pin 5 der IB4220 (GND)
Bild 5

Jetzt verbinden wir das Netzwerkkabel wieder mit dem NAS und können das NAS wieder ans Stromnetz anschließen.

Auf der Softwareseite benötigen wir jetzt noch 3 Dinge. Zuerst wäre da die Firmware, welche wir auf das NAS aufspielen wollen. Egal, ob wir die Macpower- oder Raidsonic-Firmware nutzen, in beiden Fällen handelt es sich um ein tar.gz-Archiv, welches wir für diesen Upgradevorgang entpacken müssen. In diesem Archiv finden wir die Dateien hddapp.gz, rd.gz und zImage. Die Datei ImageInfo ist nicht notwendig. Wir benötigen außerdem den FTP-Server tftpd32 (Open Source). Nach dem Herunterladen von der Seite des Authors Philippe Jounin können wir den FTP-Server ohne Installation starten. Die 3 Firmwaredateien legen wir ins Programmverzeichnis von tftpd32.

Jetzt starten wir PuTTy. Wir erstellen dort eine neue serielle Verbindung mit folgenden Parametern:

  • Baudrate: 19200
  • Data Length: 8 Bit
  • Parity: None
  • Stop Bit: 1
  • Flow Control: None

Diese Verbindung öffnen wir anschließend und starten das NAS. Im PuTTy-Fenster sollte jetzt der Bootvorgang des NAS sichtbar werden. Passiert nichts oder es tauchen wirre Zeichen auf, dann sollten wir nochmals überprüfen, ob wir die TxD- und RxD-Ader unseres Datenkabels korrekt angeschlossen haben. Eventuell unterscheidet sich das verwendete Kabel etwas vom hier beschriebenen, dann lohnt es sich, diese beiden Adern auf der Platine zu vertauschen. Ebenfalls möglich ist es, dass das NAS mit angeschlossener 3.3V Spannungsversorgung nicht startet. Dann sollte man diese entfernen und erst nach dem Einschalten des NAS wieder anschließen. Für den Fall, dass bei dem fehlgeschlagenen Firmwareupgrade auch der Bootloader beschädigt wurde, ist hier Schluss. Um diesen wiederherzustellen, benötigt man leider mehr als ein einfaches Datenkabel. Eine Recherche im Forum ist dann die erste Startadresse.

In einigen Fällen kann es passieren, dass der Bootvorgang durch eine Kernel Panic unterbrochen wird und steht. Man sollte einige Minuten warten, ob sich nicht vielleicht doch noch etwas tut, andernfalls half im vorliegenden Beispiel der Druck auf den Reset-Taster (welcher im PuTTy-Fenster übrigens schön dargestellt wird). Nach dem Reset und einem Druck auf den Reboot-Taster lief der Bootvorgang weiter bis zur Aufforderung, diesen durch CTRL-C zu unterbrechen. Dieser Aufforderung folgen wir und gelangen dadurch ins Bootloadermenü.

Da wir die Firmwaredateien übers Netzwerk auf das NAS transferieren, müssen wir zuerst schauen, welche IP das NAS momentan bekommen hat. Für den Fall, dass wir ein Reset ausgeführt haben, sollte es die 192.168.0.200 sein. Wir können das jedoch überprüfen, indem wir aus dem Menü "Show IP adress" (einfach die 6 drücken) wählen. Wir sollten an den jetzt angezeigten Einstellungen nichts ändern. Einfacher ist es, am PC die Netzwerkverbindung so zu ändern, dass wir uns im gleichen Subnetz befinden. Das Thema Subnetze würde hier jetzt zu weit führen, dieser Link sollte weiterhelfen. Für den Fall, dass der Link zur Erklärung benötigt wird: das NAS befindet sich in einem /24er Subnetz (255.255.255.0), der PC bekommt demnach die gleiche Subnetzmaske und eine IP (bei unserem Beispiel) von 192.168.0.1 bis 192.168.0.254, wobei x nicht 200 sein darf.

Haben wir NAS und PC im gleichen Subnetz vereint, kommen wir zum eigentlichen Upgradevorgang. Wir gehen dabei ausgehend vom Bootloadermenü wie folgt vor:

  1. Y drücken, 2 drücken, IP des PCs eingeben, Enter drücken, zImage eingeben, Enter drücken.
  2. R drücken, 2 drücken, IP des PCs eingeben, Enter drücken, rd.gz eingeben, Enter drücken.
  3. A drücken, 2 drücken, IP des PCs eingeben, Enter drücken, hddapp.tgz eingeben, Enter drücken.

Bei jedem dieser Einzelschritte wählt man aus, das man sich die benötigte Firmwaredatei von einem tftpd-Server herunterladen möchte, gibt dazu die IP des tftpd-Servers (unser PC) an, gibt anschliessend den exakten Namen (Groß- und Kleinschreibung beachten!) der gesuchten Datei an und bestätigt den Vorgang. Danach wird die Datei auf das NAS geladen, der Flashspeicher des NAS gelöscht und neu geschrieben. Im Anschluss daran wird man wieder ins Bootloadermenü versetzt. Sollte man sich während des Eingebens der IP oder Dateinamen vertippen, sollten man die linke Cursortaste verwenden. Diese übernimmt die Funktion der Backspacetaste. Hat man zuviel gelöscht (ja, man kann seltsamerweise auch die Bildschirmausgaben des NAS löschen), kann man den korrekten Dateinamen nicht mehr eingeben. Man sollte dann das NAS neustarten. Der Upgradevorgang lässt sich nach jedem der 3 Schritte unterbrechen und nach einem Neustart fortsetzen.

Hat man alle 3 Schritte durchlaufen, kann man entweder 1 drücken und das NAS wieder normal hochfahren oder man schaltet es aus, entfernt alle Kabel, setzt es vorsichtig wieder zusammen und fährt es dann manuell wieder hoch. Durch den Reset sind allerdings alle Einstellungen (inkl. Nutzer, Gruppen, Shares etc.) verloren. Sind diese wieder über das Webinterface eingerichtet, gelangt man auch wieder an seine Daten auf der Festplatte.

--Jger 14:21, 8. Feb. 2009 (CET)


Quellen: