Fake-GPS Neo 6M Module von AliExpress aus China

Neulich bin ich so bei der Suche nach neuen Elektronik-Items bei AliExpress über ein vermeintlich tolles Angebot EstarDyn GY-NEO6MV2 Neues NEO-6M GPS-Modul NEO6MV2 mit Flight Control EEPROM MWC APM2.5 große Antenne für Arduino gestolpert.
Ein Neo 6M-GPS-Modul mit UART-Schnittstelle im Angebot für gerade mal 1.70 Euro! Und das samt Keramik-Antenne. Da ich nur noch eines von den Modulen hatte, habe ich gleich zwei bestellt. Beim Händler EstarDyn habe ich auf AliExpress schon öfters bestellt und ich finde ihn seriös, denn es gab bisher nie Probleme mit ihm - bis heute!
Die Platine auf dem Foto sah - bis auf den Umstand, dass die Marken und Zeichen des Herstellers uBlox geweißt (kann man das so sagen als farbliches Gegenteil von geschwärzt?) wurden - genauso aus, wie das GY-GPS6MV2-Modul, dass ich bereits bei mir zuhause hatte.
Wer wissen möchte, wie das Modul anzuschließen ist und wie es funktioniert, dem sei mein Artikel Mit dem NEO-6M-GPS-Empfänger-Modul die geografische Position ermitteln empfohlen.

Die beiden Module kamen auch schon nach 5 Tagen aus China bei mir an. Normalerweise wäre ich vielleicht so leichtsinnig gewesen, sie einfach bis zum Einsatz bis zum nächsten Projekt in meinen Sortimentskasten zu packen, doch eine Kleinigkeit machte mich stutzig: beide uBlox Neo 6M-Chips hatte die gleiche Seriennummer, nämlich 24237167664. Auch ansonsten sahen die Labels auf beiden SOCs absolut gleich aus.
Auch wenn der QR-Code zu dieser einen Seriennummer passt: wie kann es sein, dass zwei Chips die gleiche Seriennummer haben? Nein, dass kann nicht sein. Jeder Chip hat seine eigene Seriennummer!
Das hat mich dann dazu veranlasst, die Modul mal einem kurzen Test zu unterziehen. Das sollte einfach sein, denn die Module schicken über RX und TX ja ein serielles NMEA-Protokoll heraus. Das nochmal mit meinem schon vorhandenen Modul probiert: klappt einwandfrei. Dann den Test noch einmal mit den neu eingetroffenen Modulen durchgeführt... Fällt euch ein Unterschied auf? Links das mit Haken markierte, funktionierende Modul; rechts das neu gekaufte. Schon mit entferntem Label und mit F für "Fail" markiert:


Und? Ist es euch aufgefallen? Richtig. Die LED unten links leuchtet schwach bei dem Fake-Modul. Beim echten, funktionierenden Modul leuchtet die LED aber nicht. Und das ist auch richtig so, wie man im Artikel Mit dem NEO-6M-GPS-Empfänger-Modul die geografische Position ermitteln im Abschnitt "Das NMEA-0183 Format" nachlesen kann:
Solange allerdings die kleine blaue LED auf dem GPS Modul nicht blinkt, haben wir noch keinen GPS-Fix, das heißt, wir empfangen noch nicht genügend Satelliten, nämlich mindestens drei, um einen 2D-Fix (also ungefähre Position ohne Höhe) zu haben oder anders ausgedrückt: die eigenen Geo-Koordinaten können vom Neo-6M noch nicht berechnet werden mit diesen Daten.Das die LED leuchtet ist also falsch. Und das erhärtete meinen Verdacht, dass es hier um einen Betrug handeln könnte. Denn wenn da beim Anschließen was leuchtet, dann funktioniert es doch auch, oder? Nein, in diesem Fall nicht. Aber der Laie, der sein erstes NEO-6M-GPS-Empfänger-Modul bestellt, würde eine leuchtende LED erwarten. Und wenn die LED leuchtet, dann muss ich das Teil doch auch nicht weiter testen, oder? Wieder falsch. Genau DANN sollte man das Teil ganz genau testen.
Falls wir einen Fix haben, dann blinkt die kleine blaue LED. Wir müssen also nicht ständig auf die Ausgabe im Terminalfenster schauen, sondern erst, wenn die LED blinkt. Für besseren Empfang brauchen wir möglichst freie Sicht auf den Himmel. Bäume, Gebäude, Wolken, das alles ist störend. Den besten Empfang hat man mitten auf der Wiese an einem wolkenlosen Sommertag.
Und Ergebnis des Tests ist: Mit dem Modul kann man nicht mal eine serielle Verbindung aufbauen, ganz zu Schweigen davon, dass es irgend etwas senden würde. Elektroschrott also.

So wie rechts auf dem Foto sollte eine Verbindung mit einem NEO-6M aussehen, wenn man keinen GPS-Empfang hat, weil man im Keller hockt: Sekündlich wird bei den Latitude und Longitude-Daten "999999" ausgegeben als Platzhalter dafür, dass es noch keinen Fix gibt. Die LED ist dabei aus und zwar solange, bis es einen Fix gibt, was heißt, dass genügend Satelliten empfangen wurden, um die Position zu berechnen.
Das Fake-Modul hingegen, wie gesagt: LED leuchtet schwach und keine Verbindung möglich.
Als nächstes habe ich mal das Label (Etikett auf dem 6M-SOC) von dem guten Modul mit dem Fake-Label verglichen. Diesmal ein anderes Gut-Modul (links), was ich noch ausgraben konnte, daher die andere Seriennummer.


Während man zum Beispiel bei den Labels auf den funktionierenden Exemplaren das (R), das Bleifrei und das e4-Symbol glasklar und fein lesen kann, sind diese Logos beim Fake-Label fetter gedruckt und schlecht zu lesen.
Ansonsten sind die Platinen aber gleich:


Bis auf ein paar Widerstände, die aber auch auf den funktionierenden NEO-6M-Platinen differieren.
Da habe ich mir die Frage gestellt: Warum sollte man sich die Mühe machen, den etwas teureren Co-Chip 24C32A, ein serielles EEPROM (so 20 ct) oder die Batterie (oben links) einzulöten, wenn man doch nur betrügen will? Okay, das NEO-6M-System on a Chip (SoC) ist jetzt schon das Teuerste und die Lötqualität ist auch eher am unteren Rand angesiedelt, was für "möglichst schnell und billig" spricht.
Also habe ich mir das NEO-6M-SoC ein wenig näher angeschaut und erst einmal das Label abgezogen und mit dem guten NEO-6M-SoC verglichen:


Zum einem fällt auf, dass das gute Label hinten so eine Art Plastikschicht hat, so ähnlich wie bei Kapton-Tape. Während das Fake-Label einfach nur billiges Papier ist. Und zum Anderen, dass das gute SoC drei Löcher in der Abdeckung hat, während das SoC auf dem Fake nur ein Loch hat. Außerdem ist der "gute" SoC-Deckel sauber und das Fake sieht sehr schmutzig aus.
Sehen wir uns das doch mal unter dem Mikroskop näher an:

Woran erinnert euch das Muster auf dem Deckel? Also, mich erinnert das daran, wenn man was mit Fett in der Pfanne gemacht hat und das Fett dann wieder erkaltet und erstarrt. Das gibt auch so hübsche Muster.
Und jetzt kommt mir ein Verdacht, den ich für wahrscheinlich und plausibel halte:
- Der Hersteller der Fakes hat irgendwoher billig gebrauchte NEO-6M-SoC-Chips eingekauft, die noch irgendwo eingelötet sind
- Er lässt diese SoCs irgendwo günstig auslöten. Das geschieht oft in chinesischen Hinterhöfen, wo sich arme Familien die Gesundheit ruinieren, indem sie in Pfannen voller Blei PCBs werfen, um Chips, die noch ein bisschen was wert sind, abzulösen. Traurige Geschichte. Und in Afrika soll das mit der Elektroschrott-Verwertung nochmal schlimmer sein :(
- Diese SoCs sehen natürlich übel aus. Besonders die weißen Etiketten sind nun dreckig und verbrannt. Also werden schöne, neue Etiketten, die wie das Original aussehen, gefälscht und auf das SoC geklebt.
- Hier kommt der Knackpunkt: Alles wird schnell (und manchmal schief) eingelötet. Einen Test, ob das GPS-Modul überhaupt funktioniert, gibt es nicht. Es soll ja alles super-billig sein, weil man will auch billig verkaufen
- Der Händler Estardyn kauft beim Hersteller die Module günstig ein. Auch er macht keinen Funktionscheck. Zu teuer.
- Die Module werden bestellt und verschickt und wenn der Käufer jetzt nicht testet, fällt der Schwindel nicht mal auf

Diese paar negativen Bewertungen gehen leider unter unter den ganzen "Schnell geliefert. Teste später. 5 Sterne-Bewertungen, die dann zu eine gut aussehenden 4.6 Sterne-Durchschnitts-Bewertung für das Produkt führen. Interessanterweise kann man eine Bewertung sofort abgeben, nachdem man gesagt hat: "Angekommen, alles gut.". Wenn man allerdings sagt: "Hey, die funktionieren nicht, ich will mein Geld zurück!", ja dann muss man bis zum Ende des Refund-Prozesses warten, bis man eine Bewertung abgeben kann. Wer dann wohl noch daran denkt? Und ob bei der Gestaltung dieses Business Cases nicht doch irgendwelche Hintergedanken präsent waren?
Aber ich werde auch nicht müde, zu betonen, dass die Bewertungen bei AliExpress so gut wie keine Aussagekraft haben.
Da das Modul ja nicht funktioniert und unbrauchbar ist, können wir nichts mehr kaputt machen und auch mal ins Innere des NEO-6M-SoCs, (NEO-6M-SoC-Datenblatt hier) schauen:

Dreh-und Angelpunkt ist hier der AT6558-Chip (AT6558-Datenblatt hier), was genau genommen wieder ein System on a Chip ist, nämlich ein "BDS/GNSS Full Constellation SOC Chip". Der hat alles, was man braucht, schon an Bord: GNSS-Empfang (GNSS steht für Global Navigation Satellite System und schließt außer GPS (USA) auch noch die anderen Kandidaten wie GLONASS (Russland), Galileo (Europa) und Beidou (China) ein); serielle UART, SPI und I2C-Schnittstelle; eine Realtime Clock (RTC). Dann braucht es noch einen Oszillator, ein paar Kondensatoren und Widerstände und einen Antennenschluss (siehe Abschnitt 9: Reference Design), schon ist das (Fake-) NEO-6M-Modul fertig.
Bei so winzigen Bauteilen, wie sie im "NEO-6M"-SoC (eigentlich ja kein uBlox-SoC, sondern ein AT6558-"Kompatibler") unter der Blechhaube verbaut sind, wundert es nicht, dass sich da bei Hitze mal was verschieben oder lösen kann. Und das war wohl hier der Fall. Die Artefakte auf dem SoC-Blech-Deckel unter dem Label sprechen da eher für eine brutale Hitzebehandlung.
Was natürlich auch bedeutet, dass die Module, die man aus dieser Charge gekauft hat, auch bald ausfallen könnten. So eine Überhitzung tut der Lebensdauer nicht gut. Für Hobbyisten vielleicht kein Problem, die können das bei Defekt dann austauschen. Aber wenn ich ein Gewerbe hätte und eine Gewährleistung geben müsste: ich würde lieber Neuware von renommierten Händlern in Europa oder den USA kaufen. Das Risiko lohnt nicht.
Wie bei meinen Recherchen entdeckt habe, ist as Thema nicht neu (der Neo-M6 ja auch nicht). Tipps, um Fakes von echten uBlox-Chips zu unterscheiden gibt es schon seit vielen Jahren (1).
Mein Fazit
Ich glaube nicht, dass EstarDyn hier absichtlich betrügen wollte. Wahrscheinlich sind diese selbst auf einen Gauner hereingefallen, der gebrauchte Neo 6M-Chips auslötet, ein neues Fake-Label draufklebt und dann auf ein PCB lötet und das Ganze als neues Modul verkauft.Was beweist: Auch wenn man einen Händler als vertrauenswürdig kennt, sollte man seine in China bestellte Elektronik bei Ankunft immer prüfen, ob sie auch funktioniert. Sonst ist die Einspruchsfrist abgelaufen und man kann nichts mehr umtauschen. Und noch schlimmer: man denkt, man hat das und das Teil zuhause, startet ein Projekt, wo man das Teil braucht und stellt erst dann fest, dass es wohl kaputt sein muss. Oder nochmal schlimmer: Man kommt erst gar nicht darauf, dass das Hardware-Modul kaputt ist und debuggt sich einen Wolf in der Software.
Ich habe mich übrigens beim Händler und AliExpress beschwert und nach einem Tag mein Geld zurückbekommen. Allerdings hatte ich im Chat mit dem Händler-Agenten das Gefühl, dass denen nicht klar geworden ist, dass sie da Schrott verkaufen und ihre Ware mal überprüfen sollten, den Schrott entsorgen und das Angebot dann löschen. Obwohl ich mehrmals die Umstände erklärt habe. Der Agent war wohl überfordert und meinte dann auch, das "Higher Team" würde sich bei mir per e-mail melden. "Natürlich" - nichts anderes hatte ich erwartet - hat sich niemand bei mir per mail bis heute gemeldet. Und das Angebot ist immer noch online. Der Agent hat auch immer so getan, als ob das allein ein Problem sei, dass mich und mein bezahltes Geld umfassen würde. Und nicht, dass das ja ein breiteres Problem ist, dass wohl die allermeisten Besteller betrifft.
Aber es kann natürlich auch sein - auch wenn es unwahrscheinlich ist - dass die meisten Exemplare die Hitze-Tortur beim Auslöten überlebt haben und ich jetzt gerade zwei defekte Exemplare bekommen habe. Trotzdem: uBlox-Labels nachzumachen / zu faken, was ja die zweifache gleiche Seriennummer beweist, wäre hierzulande ein Copyright- und ein Markenrechtsverstoß. Gebrauchte/recycelte Ware zu verkaufen und diese dann im Anschein zu verkaufen, es ginge um Neuware, fiele hierzulande wohl unter Betrug. Aber im fernen China sieht man das wohl nicht so eng. Darum niemals darauf verlassen, dass man wohl auch das bekommt, was man bestellt hat.