News zur FCC-Umsetzung Ubiquiti

Roland Zimmermann Rolle at ff3l.net
Do Sep 29 00:06:57 CEST 2016


Guten Abend zusammen,
ich hatte heute Morgen 4 Stück neue Unifi-Funkteller auf dem Tisch und 
wollte Gluon Flashen. Nix is, die Teile weigern sich standhaft da die 
neue Software nicht Signiert ist. TFTP geht auch net. Falsche Signatur 
heisst kein Schreibzugriff auf den Flash. Ubiquiti macht also mit dem 
Lockdown ernst. Ich war aber natürlich sehr Neugierig und habe mal 
mittels JTAG den Flash ausgelesen oder es zumindest versucht. Auch da 
hat Ubiquiti was geändert, das Flash ist eines von Winbond (=der letzte 
Schrott, nicht Temperaturfest und wenns mal Warm wird wie in den 
Nanostations gibt das den Löffel ab) welches kein JTAG kann. Die 
betreffenden Lötinseln fürs JTAG sind auch einer Layoutänderung zum 
Opfer gefallen (Irgendwie muss der Hersteller die Soft da aber initial 
draufbekommen, da bin ich noch am Analysieren des Layouts). Vermutlich 
ist das Absicht das man nicht Loggen kann bzw. Alternativsoftware 
Flashen auf dem "direkten" Weg. Ich bin da bekanntlichermassen recht 
Schmerzfrei und habe das Flash schnell mit der Infrarotreworkstation 
rausgeholt. Dann ab in den Adapter und an den Programmer. SPI kann das 
Flash (muss es ja der SoC muss die Firmware ja irgendwie laden können 
beim Start), also konnte ich auslesen. Also erst mal nen Dump gemacht, 
dann Analysiert.

Dabei ist mir was gemeines Aufgefallen. Die größe der Daten welche in 
der ART-Partition liegen stimmt nicht mit dem bekannten Atheros Format 
überein, da sind einige Bytes zu viel drin. Weiterhin kann ich die 
Dinger nicht interpretieren, die Hexwerte ergeben keinen Sinn, auch 
nicht beim "zerlegen" mittels des Atheros  Tools. Vermutung meinerseits: 
Verschlüsselt... *grml* Somit funktioniert der Austausch des Bootloaders 
gegen einen ohne RSA-Kryptografie zwar weiterhin aber dieser kann die 
ART-Partition nicht entschlüsseln da dies nur der Bootloader von 
Ubiquiti kann. Die ART-Daten (ART = AtherosRadioTest) sind aber wichtig, 
ohne diese weigert sich der Funkteil des Atheros-Chips den Oszillator 
einzuschalten (=kein Wlan) da da drin Kalibrationsdaten stehen welche in 
einen speziellen Speicherbereich des SoC geladen werden müssen (in den 
für die PLL usw.). Deshalb ist die ART-Partition bei keinem Gerät 
gleich, eben wegen der Kalibration im Werk, einfaches Austauschen klappt 
also nicht. Nach langem hin und her habe ich nun Rausbekommen wie die 
ART-Daten entschlüsselt werden. (Danke an den Programmierer dieser 
Sche....e für die vielen nutzlosen Füllbytes hat mich 2 Stunden analyse 
gekostet, burn in hell du Penner...) Dazu gibt es auch ein Tool welches 
Atheros auf Druck der FCC entwickelt hat (NDA erforderlich zum Erhalt). 
Atheros selbst ist eigentlich pro Freifunk, zugegeben die Verdienen ja 
auch am Verkauf ihrer Chips und das nicht zu knapp aber auch wird da der 
Freie Software-Gedanke hochgehalten. Die Sache mit der Signatur ist von 
Seiten von Atheros kein Zwang, jeder Hersteller muss wissen ob er das 
machen will oder nicht. Das FCC-Gesetz hat mehr Löcher wie mein 
Autoauspuff, wenn jemand als Firma will gibt es genug Möglichkeiten auf 
Legalem Wege trotzdem das Flashen von alternativer Software zu 
ermöglichen. Wie gesagt, wenn man als Hersteller will... (oder im Fall 
von Ubiquiti halt eben nicht *bääääh*)

Nach dem Decodieren der ART-Partition und dem Flashen, Nebst richtigem 
Bootloader (ohne die RSA-Kagge drin), konnte ich Problemlos per TFTP 
OpenWRT draufbraten.

Noch etwas Insiderinfo bezüglich der Winbond-Flashchips: Es ist bekannt 
das die Winbond Flashchips das billigste vom Billigen sind und 
netterweise auch nicht temperaturfest, da es diese nur in "Commercial 
Grade" gibt und nicht in "Industrial Grade". Commercial Grade hat einen 
Temperaturbereich von 0-40 Grad, Industrial Grade von -25 - 95 Grad. Ich 
hatte dieses Jahr nach dem heissen Sommer eine Menge Nanostations welche 
auf einmal nicht mehr Starten. Diagnose war immer das der Flashchip 
platt war, dieser lies sich auch mittels externem Programmer nicht mehr 
beschreiben. Also ein gutes Macronix-Flash rein, das mittels JTAG 
initial geflasht und schon läufts wieder. Trotzdem sehr peinlich für 
Ubiquiti das ganze...

Fazit:
Ubiquiti macht nun tatsächlich ernst mit der umsetzung der FCC-Richtlinie.
Die Qualität der Hardware hat sich Verschlechtert und das ausgerechnet 
bei sehr wichtigen Bauteilen wie dem Flash.
Als Spannungsregler wird ein No-Name Chinachip (kein Datenblatt 
verfügbar) eingesetzt, kein guter TexasInstruments mehr. Mit etwas 
Reverse Engineering habe ich aber rausbekommen wie der funktioniert. Die 
nervig fiepende Schaltreglerdrossel wurde auch durch ein Billigteil 
ersetzt, ein tropfen Plastikspray reicht aber und das Ding ist ruhig.
Es gibt keinen Hardware-Watchdog (kleiner 8-Pin-Chip) mehr welche die 
Versorgung mittels Monitoring überwacht. Ein Brownout vom ca. 4ms Dauer 
(- Polarität) und die Hardware hängt sich Reproduzierbar weg. Nicht gut...
Ubiquiti selbst hat kein Interesse das alternative Software auf ihrer 
Hardware läuft und versucht das auch durchzusetzen mittels Signierung 
der Firmware, kastrierter ART-Datenpartition und Flashchip welcher kein 
JTAG mag.

Die Ubiquiti-Hardware war bis jetzt nicht schlecht, allerdings wird sich 
der weitere Nutzen in grenzen halten wenn bei allen Neugeräten die 
Signierung drauf ist.
Ich kann also momentan nur davon Abraten WiFi Hardware von Ubiquiti zu 
kaufen wenn diese für Freifunk mit Gluon eingesetzt werden soll.

Das beste zum Schluss: Alle drei Unifi-Funkteller laufen wunderbar mit 
Gluon. Nummer vier schmort im Moment noch in der Hotair (den letzten 
Flashchip wieder reinbraten)... :-)
Also wenn Ubiquiti meint alles dichtzumachen... Macht doch, verhindern 
können wir das ja sowieso nicht, aber irgendwie wird die freie Software 
Szene da schon an die leckere Hardware dran kommen (und wenn ich die 
Flashchips in Zukunft auslöten muss zum Proggen, ok, kein Problem hat 
der Lötrobot was zu tun und ich könnte da ja durch einen dummen Zufall 
ein paar Dumps im Netz "verlieren" höhö...)
Solange da kein Cryptoflash eingesetzt wird, wird man da immer an die 
Soft drankommen. Da die Atheros-Chips für den Massenmarkt aber 
glücklicherweise über keine Powerup-Crpytoengine in Hardware verfügen 
ist es nicht möglich da ein Cryptoflash anzuschliessen. Folge: Alles 
Safe... :-)

Grüße
Rolle



Mehr Informationen über die Mailingliste ff3l