Custom Firmware auf dem Router und wie man sie loswird – Fall: Orderbird

Prin­zi­pi­ell habe ich nichts dage­gen, wenn Fir­men modi­fi­zier­te Firm­ware auf ihre Gerä­te flas­hen, um z.B. inkor­rek­te Bedie­nung sei­tens des Kun­den zu ver­hin­dern oder via Remo­te Sup­port anbie­ten zu kön­nen. Solan­ge man die Hard­ware nur mie­tet, ists voll OK. Doch im Fal­le von Order­bird, einem Anbie­ter für Soft­ware im Gastro­be­reich, wird das etwas anders prak­ti­ziert. Man kauft Order­bird die benö­tig­te Hard­ware ab und ist dann Besit­zer der modi­fi­zier­ten Gerä­te. Kon­kret geht es um den von Order­bird bereit­s­ge­stell­ten Rou­ter TP-LINK AC1750, der mit einer spe­zi­el­len Firm­ware ver­se­hen ist. Solan­ge der Rou­ter im Geschäft aktiv ein­ge­setzt wird, ist alles gut. Braucht man die­sen irgend­wann mal nicht mehr, dann kann man den Rou­ter nicht mehr ver­kau­fen, da sämt­li­che Funk­tio­nen gesperrt, Tas­ten­kom­bi­na­tio­nen deak­ti­viert und IP-Adres­sen ver­an­kert sind. Ein Zugriff auf die bekann­te Web­ober­flä­che ist nicht mög­lich, genau­so wenig wie ein Hardreset.

Mir lag ein solch modi­fi­zier­ter Rou­ter vor. Die­sen habe ich wie folgt von sei­nen Ket­ten befreit:

Als ers­tes muss man wis­sen, dass die meis­ten TP-Link Rou­ter hard­ware­sei­tig eine Fall­back­op­ti­on inte­griert haben, die es den Ent­wick­lern erlaubt, Daten auf den Rou­ter zu pushen. Die­se schaut im Fall des AC1750 (hier Ver­si­on 2.0) so aus: Hält man den WPS/Reset Schal­ter gedrückt und fährt den Rou­ter dann hoch, so fragt der Rou­ter nach einer bestimm­ten IP Adres­se und wenn die­se über­ein­stimmt, dann nach einem bestimm­ten Datei­na­men. Also muss­te ich mei­nem Fall her­aus­fin­den, was sich der Rou­ter wünscht, um ihm sei­nen Wunsch zu erfüllen.

Dazu wur­den sämt­li­che Netz­werk­ver­bin­dun­gen getrennt und der Port 1 des Rou­ters direkt am Rech­ner ange­schlos­sen. Dar­auf­hin habe ich Wire­shark — eine Soft­ware, die den Daten­aus­tausch über eine bestimm­te Schnitt­stel­le pro­to­kol­liert – instal­liert (+ Ether­net Adap­ter aus­ge­wählt), der Rou­ter über die Tas­ten­kom­bo „WPS/Reset + On/off“ geboo­tet und mir die Auf­zeich­nun­gen ange­schaut. Aus die­sen geht her­vor, dass der Rou­ter nach fol­gen­der IP fragt:

192.168.0.66 > „ARP: Who has 192.168.0.66?“

– Das ist für die­se Bau­rei­he typisch und auch im Netz nachzulesen.

Im nächs­ten Schritt kon­fi­gu­rie­re ich mei­nen LAN Adap­ter auf die IP (.66) und boo­te den Rou­ter erneu­ert, um mir im Pro­to­koll aus­ge­ben zu las­sen, nach wel­cher Datei der Rou­ter fragt. Der Rou­ter erkennt mei­nen Rech­ner anhand der IP und wünscht dich eine Datei mit dem Namen: 

„ArcherC7v2_tp_recovery.bin“

– Alles klar! Mit einer so benann­ten Datei muss ich ihn also füt­tern, damit er einen Update/­Re­co­very-Vor­gang initi­iert. Gut.

Jetzt hät­te ich die Mög­lich­keit eine modi­fi­zier­te Firm­ware ein­zu­spie­len oder eben die ori­gi­na­le Her­stel­ler­firm­ware mit den Werks­ein­stel­lun­gen. Zwei­te­re besor­ge ich mir auf der Web­sei­te des Her­stel­lers und benen­ne sie in den vom Rou­ter gewünsch­ten Datei­na­men. Jetzt fehlt nur noch ein TFTP Cli­ent, um den Daten­trans­fer zu bewerk­stel­li­gen. An die­ser Stel­le emp­feh­le ich die­se Soft­ware, da sie schlank ist und bei mir sofort funktioniert: 

http://tftpd32.jounin.net/tftpd32_download.html

Nach der Instal­la­ti­on von TFTP wählt man in der Ein­stel­lung „Cur­rent Direc­to­ry“ den Spei­cher­ort, an dem sich die umbe­nann­ten Firm­ware Datei befin­det, aus und unter „Ser­ver inter­faces“ die Netz­werk­kar­te mit der vor­kon­fi­gu­rier­ten IP Adres­se „192.168.0.66“. Das Pro­gramm ist nun im Stand­by­mo­dus und war­tet auf eine Anfra­ge nach der ent­spre­chen­den Datei über die ent­spre­chen­de Adres­se. Nun boo­tet man den Rou­ter ein wei­te­res Mal mit der „WPS/Reset + On/off“-Kombination, hält den WPS/­Re­set-But­ton solan­ge gedrückt, bis der TFTP Cli­ent eine Fort­schritts­an­zei­ge anzeigt. Ist der Vor­gang mit 100% mar­kiert, bedeu­tet es, dass der Rou­ter nun die neue Firm­ware „auf­ge­saugt“ hat und den Reco­ver­y­vor­gang initi­iert. Intern ent­packt er die Datei, checkt die Prüf­sum­me und die Ver­sio­nie­rung und flasht die neue Firmware.

Die modi­fi­zier­te Firm­ware ist nun über­schrie­ben und die ori­gi­na­le Firm­ware ist auf dem Rou­ter drauf. Nun lässt sich der Rou­ter mit den Stan­dard­op­tio­nen (Adres­se: 192.168.0.1 + admin/admin) ansteu­ern und die Web­ober­flä­che kann zur Kon­fi­gu­ra­ti­on genutzt wer­den. In die­sem Zustand ent­spricht der Rou­ter einem neu erwor­be­nen Gerät und kann nun an Inter­es­sen­ten ver­kauft werden.

Läuft.

Veröffentlicht am
Kategorisiert in Technik

4 Kommentare

  1. Hal­lo
    das ist eine sehr schö­ne Anleitung.
    Ich ver­su­che das gan­ze gera­de mit einem WDR3600. Ich bin auch bis zum letz­ten Schritt gekom­men. Aber der Rou­ter holt sich die Firm­ware nicht vom Lap­top. Kann bei Wire­Shark auch kei­ne Feh­ler­mel­dun­gen finden.
    Haben Sie viel­leicht eine Idee an was es lie­gen könnte?

    Vie­le Grüße

    1. Moin, dan­ke. Eine Fern­dia­gno­se ist kaum mög­lich. Ich ver­mu­te, es schei­tert an dem TFTP Cli­ent? Ist die­ser kor­rekt kon­fi­gu­riert, sprich Netz­werk­ad­ap­ter ist kor­rekt aus­ge­wählt sowie die Datei? Gibts ggf. ver­ges­se­ne Port­re­strik­tio­nen? Viel Erfolg!

  2. Hal­lo,
    vie­len Dank für die Ant­wort. Es scheint wirk­lich nur an der Fire­wall gele­gen zu haben. Hat also jetzt beim WDR3600 auch wun­der­bar geklappt!

    Vie­le Grü­ße und wei­ter so!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.