Problem Lösung – ASUS Tinker Board S – eMMC erscheint nicht mehr als USB Laufwerk auf dem PC
Mit dem neuen ASUS Tinker Board S ist nun ein neuer Einplatinenrechner verfügbar, welcher eine Besonderheit zur Verfügung stellt. Neben der üblichen Möglichkeit das Betriebssystem oder in unserem Fall die Homematic Firmware über eine micro-SDCard zu laden, hat dieses Board eine eingebaute 16 GB eMMC. Unter bestimmten Konstellationen erscheint diese eMMC nicht mehr als USB Laufwerk auf dem PC. Hier beschreibe ich, die Ursache des Problems und die Lösung.
Wie ich euch bereits beschrieben habe, gibt es seit einiger Zeit eine neue Version des ASUS Tinkerboards mit der Erweiterung „S“. Auf diesem neuen Board funktionieren bereits die neuesten Version von piVCCU und Raspberrymatic. Ich hatte jedoch beim Versuch ein Image auf die eMMC zu flashen das Problem, das diese nicht mehr als USB Laufwerk auf dem PC sichtbar war. Hier beschreibe ich euch was die Ursache für dieses Problem ist und wie ihr das Problem beheben könnt.
Grundlegende Informationen
Anforderungen
- Netzteil mit Micro-USB-Anschluss (2.5A empfohlen)
- Micro SD Karte (4GB +)
- Monitor mit HDMI-Kabel
- Tastatur und Maus
SD-Karte einrichten
Lade ein Betriebssystem Image herunter:
Offizielle ASUS TinkerOS – Download
(Android und andere Betriebssysteme sind ebenfalls verfügbar – siehe Software)
Schreibe das Image auf eine SD-Karte mit Etcher unter Windows / Mac / Linux (http://etcher.io/) oder Win32DiskImager (http://sourceforge.net)
Einrichten des eMMC Laufwerks
!! Bitte daran denken, ein aktuelles Image zu verwenden, da ältere Images den eMMC-Speicher (UMS – U-Boot) nicht unterstützen. !! Die aktuellen Images von piVCCU und RaspberryMatic unterstützen ebenfalls (UMS – U-Boot).
Offizielle ASUS TinkerOS – Download
Boot Priorität
Einführung
Während des gesamten Boot-Vorgangs gibt es 2 Prüfpunkte:
- Eine ist die SoC Suche nach U-Boot und die andere ist U-Boot Suche nach dem Kernel.
- Sobald Tinker mit Kernel bootet, lädt der Kernel das rootfs, das sich im selben Speicher befindet wie der Kernel, wenn du den Boot-Parameter root=/dev/xxx nicht in der Kernel-Befehlszeile angegeben hast. Mit anderen Worten, du kannst den rootfs-Pfad nach Kernel cmdline in der Datei extlinux.conf zuweisen
Kontrollpunkte
- SoC sucht U-Boot zuerst auf der eMMC, dann erst auf SD-Karte. Das bedeutet eMMC > SD-Karte.
- U-Boot sucht den Kernel zuerst auf eMMC, dann erst auf SD-Karte. Das bedeutet eMMC > SD-Karte.
Wie die obigen 2 Punkte zeigen, ist die Boot-Priorität immer zuerst eMMC. Asus bietet eine Möglichkeit, die eMMC zu deaktivieren und das Tinker Board S zum Booten von der SD-Karte zu zwingen. Dazu setzt du den Jumper einfach wie folgt (MASKROM-Modus), dann deaktiviert die Hardware die eMMC.
Bitte überprüfen, wie die Maskrom-Jumper gesteckt sind: (Diese Jumper-Funktion ist nur für Tinker Board S vorhanden
Was ist dem UMS-Modus
Einführung
UMS bedeutet das USB-Massenspeicher, wie eMMC als Festplatte unter Windows oder als Blockgerät unter Linux simulieret werden können. Dann kann der Benutzer Tools wie Etcher oder WIN32DiskImager verwenden, um das Image auf die eMMC zu flashen.
So aktivierst du UMS
Die UMS-Funktion ist unter U-Boot implementiert. Während des U-Boot wird überprüft, ob Tinker Board S mit dem PC verbunden ist oder nicht. Wenn es an einen PC angeschlossen ist, wird es automatisch in den UMS-Modus wechseln. Wenn nicht, folgt das Tinker Board S der Boot-Priorität, um den Boot-Vorgang fortzusetzen.
Probleme mit UMS
Ursache
Solltet ihr aus Versehen oder absichtlich ein Image auf die eMMC flashen, welches (UMS – U-Boot) nicht unterstützt, wird dadurch die eMMC anschließend nicht mehr als USB-Laufwerk auf eurem PC erkannt und angezeigt.
Ist mir genauso so gegangen, weil ich aus Versehen ein falsches RaspberryMatic Image auf die eMMC geschrieben habe. Nachdem ich das gemerkt habe, weil die HomeMatic Zentrale auf der Tinkerboard S nicht gestartet wurde, wollte ich das korrekte Image auf die eMMC schreiben.
Aber was vorher einfach möglich war, weil ich einfach das Board vie USB-Kabel verbunden habe, ging plötzlich nicht mehr. Der PC erkannte die eMMC nicht mehr als USB-Laufwerk und ich vermutete ein Problem auf der PC Seite. So etwas kommt ja bei Windows schonmal vor. Also USB Geräte und Treiber gelöscht und neu installiert.
Ergebnis: Unverändert, weil die eMMC von Windows immer noch nicht erkannt und angezeigt wurde.
Erst nach längerer Suche im Internet habe ich dann die Erklärung für das Problem gefunden. Durch das falsche Image wurde UMS (U-Boot) gelöscht bzw. zerstört und das Tinkerboard S versuchte hartnäckig von der SD-Karte zu booten. Diese war natürlich nicht drin, weil ich ja die schnellere eMMC nutzen wollte.
Problemlösung
UMS – U-Boot wieder herstellen
Standardmäßig hat ASUS bereits den Standard-Schreib-UMS-Boot in jedem Tinker Board S eMMC implementiert. Du kannst das Board über ein USB-Kabel anschließen und eine Verbindung zu deinem PC herstellen. Dann erscheint eine Festplatte (eMMC) auf deinem PC. Wie oben beschrieben ging das nicht mehr.
Lösung: UMS von SD-Karte
eMMCs U-Boot ist zerstört oder nicht mehr in der UMS-Funktion vorhanden (z.B. benutzerdefiniertes Image eines Drittanbieters).
Den UMS-Modus von der SD-Karte auslösen.
- Flashe das Image (mit dem U-Boot von UMS) auf die SD-Karte.
- Installiere diese SD-Karte auf Tinker Board S.
- Jumper in den Maskrom-Modus setzen. (damit zwingen wir das Board von SD zu booten und stellen die eMMC wieder her).
- Dann kannst du die eMMC wie gewohnt auf die alte Weise flashen.
- Das Tinker Board S mit einem Micro-USB-Kabel an den PC anschließen.
- Board bootet und die Partitionen werden wie ein USB-Laufwerk erstellt. (Bitte alle anderen Devices vom Board
Bitte überprüfen, wie die Maskrom-Jumper gesteckt sind:(Diese Jumper-Funktion ist nur für Tinker Board S vorhanden.
Beschreibung: Nachdem von der SD-Karte korrekt gebootet wurde (ohne PC Anbindung), das Tinkerboard System wieder beenden und die SD-Karte entfernen. Dann kann das Tinkerboard S wieder mittels USB-Kabel an den PC angeschlossen werden. Nun seht ihr wie nach dem Kauf wieder die eMMC als USB-Laufwerk. Das gewünschte und korrekte Image mit UMS (U-Boot) kann jetzt wieder auf die eMMC geschrieben werden.
TinkerBoard S – was tun, wenn die eMMC mal wieder nicht in Windows erreichbar ist und es von der eMMC nicht starten kann?
Die folgenden Erkenntnisse sind das Resultat mehrfacher Probleme mit dreien (3)! TinkerBoard-S….
Immer wenn das flashen am PC via USB und Etcher fehlschlägt, unterbrochen wird, oder das geflashte Betriebssystem nicht für eMMC geeignet ist, da U-BOOT für UMS Start fehlt, ist der eMMC danach in Windows nicht mehr erreichbar. Nun muss ein U-BOOT beinhaltendes Betriebssystem (auch ein Full-Image mit dd ist geeignet!) auf die microSD-Karte geflasht werden. Mit dieser kann von dieser gebootet werden, um dann unter diesem Linuxsystem mit dd auf die eMMC zu schreiben. Doch zunächst sollte man verstehen:
1. Definition Jumperstellungen und microSD-Karte // BOOT-Verhalten
JUMPER µSD U-BOOT von Partition aktiv mmcblk1p2
FALL MASK MIT µSD eMMC µSD eMMC mountfähig BEMERKUNGEN zum Zustand der eMMC
1 X X X X X wenn µSD intaktes U-BOOT und System enthält
2 X X X X wenn U-BOOT und System auf eMMC fehlt
3 X X X X wenn U-BOOT ok und System fehlt
4 X X X gemountet wenn U-BOOT defekt und System ok
5 X X X gemountet wenn U-BOOT und System ok
6 X X gemountet wenn U-BOOT und System ok
7 keine Reaktion, wenn U-BOOT und System fehlt
Mal genügte es bereits, ein intaktes U-BOOT auf der µSD zu starten mit Jumper auf MASKROM, danach wieder auf NORMAL und µSD raus, dann war die eMMC wieder aktiviert und unter Windows flashbar. Ein anderes Mal konnte es nur wiederbelebt werden, indem ich bei von µSD gestartetem Linux und Jumper auf MASKROM mittels dd ein Image auf die eMMC (mmcblk1) aufgespielt habe.
Ich war jedoch nicht in der Lage, mit dd verkürzte Images zu benutzen via count=xxxxx. Dies führte bei mir zu korrupten Dateien und gestörtem Verhalten. Ich war gezwungen, die vollen 16GB mittels dd abzuziehen und dann auch wieder aufzuspielen.
Kennt hier jemand Abhilfe? Gedankengang ist, beim Abzug ein Fullimage und beim zurückspielen nur 4GB angeben vielleicht??
Wollte eigentlich den leeren Teil der Partition nicht unbedingt mitsichern und wieder aufspielen müssen (12-13GB). HILFE???
die Tabelle wurde leider vom System zerstört durch automatisiertes wegschneiden der SPACEs…
Kurz gesagt, U-BOOT versucht immer, zuerst von eMMC, dann von µSD zu booten, anschliessend wird versucht, die root-Partition p2 zu mounten und das System davon zu starten, zuerst eMMC, dann µSD, sonst passiert NIX!
Interessant ist, das die eMMC-Partition mmcblk1p2 jederzeit manuell gemountet und beschrieben werden kann.
So kann problemlos „dd“ eingesetzt werden, um es wieder ans laufen zu bekommen…
Ziel soll es ja sein, es nur auf eMMC laufen zu lassen ohne µSD.
Hey,
ich hab mir das AIO TInker Board Image von eurem
Shop gekauft und es läuft auch bis jetzt.
Leider werden nur 2GB angezeigt und apt upgrade
funktioniert nicht da die Partition schon zu 99 % voll
ist.
Mfg
Andreas
Und das installieren von Zusatzsoftware (Add-ons) ist über die webui
auch nicht möglich. Wlan und Bluetooth gehen auch nicht.
Moin zusammen, habe mir das aktuelle (5.1.2019) AIO TInker Board Image aus dem Shop gegönnt und hatte 2 komische Phänomene:
1. am Windowsrechner (W10) wird das nagelneue Tinker Board S nicht erkannt
2. am Mac wir es erkannt, das eMMC auch korrekt mit 16GB. Image mit Etcher geflasht –> Ergebnispartition ist knapp 2GB groß. Trotz mehrerer Versuche kein anderes Ergebnis.
Wenn ich das Image hier https://www.pivccu.de/images/piVCCU3/Armbian_5.68_Tinkerboard_Debian_Stretch_next_piVCCU3_2019-01-08.zip verwende: schwupp, 16G und wie es sein sollte.
Hatte mir das AIO Image gegönnt, um das ganze Gefrickel zu umgehen und jetzt schon etliche Stunden verbrannt.
Wenn jemand hier einen Tipp hat, bin ich mörderdankbar.
Ich habe es so gelöst.
1. Das Tinker OS “tinker-board-linaro-stretch-alip-v2.0.8.img
TinkerOS_Debian V2.0.8“ bei ASUS runtergeladen und mit einem ZIP Programm entpackt
2. Das Tinker OS mit dem Programm “balenaEtcher“ auf eine SD Karte geschrieben
3. Beim Tinker Board s den Jumper auf Maskrom gestellt und die SD Karte mit dem Tinker OS in den MicroSD-Steckplatz am Tinker Board s eingesteckt
4. Jetzt einen HDMI Monitor, Lan kabel für Internet, USB Maus/Tastatur und min. 3 A micro USB Stromversorgung angeschlossen
5. Wenn das Tinker Board s hochgefahren ist, die Tasten Strg + Alt + T drücken
6. Den Befehl sudo apt-get install gparted eingeben und Enter drücken
7. Die Taste z drücken und mit Enter bestätigen
8. Wenn die Lan Verbindung zum Internet besteht, wird das Programm “gparted“ installiert
9. Wenn Alles fertig ist, den Befehl sudo gparted eingeben und mit Enter bestätigen
10. Wenn das Programm gestartet ist, könnt Ihr rechts oben die erkannten Speicher/Festplatte auswählen
11. Der Interne Speicher/Festplatte hat so ca. 14,…. GB
12. Jetzt müsst Ihr den Speicher/Festplatte mit rechter Maustaste anklicken und “Aushängen“
13. Jetzt müsst Ihr den Speicher/Festplatte noch einmal mit der rechten Maustaste anklicken und in NTFS formatieren
14. Wenn Ihr den Speicher/Festplatte formatiert habt, könnt ihr das Tinker Board s runterfahren und alle Kabel entfernen
15. Jetzt die SD Karte rausnehmen und den Jumper wieder auf Parking stellen
16. Jetzt das Tinker Board s mit einem Micro USB Datenkabel an einen USB Port 3.0 am PC anschließen
17. Jetzt sollte der Speicher wiedererkannt werden
MfG
Frank
Hallo angler180,
danke für die Anleitung.
Leider hat bei mir Punkt 5 und 10 bzw. 12 nicht geklappt, wie du es beschrieben hast.
zu 5.
Terminal öffnen (über „Startmenü“ unten links am Bildschirm)
zu 10/12
hab im Fenster rechts oben das zweite device (dev/mmcblk1 (14,68 GB)) ausgewählt.
unter dem Menüpunkt „Device“ „Create new partition table“ auswählen. rechts unten als Dateiformat „ntfs“ angeklickt und bestätigt. anschließend auf den grünen Pfeil (rundes grünes symbol mit weißem Pfeil) klicken.
sonst hab ich mich an deine Anleitung gehalten.
Nach dem runterfahren und Jumper umstecken und am pc anschließen wurde die eMMC wieder erkannt :-) und ich konnte sie flashen.
Schöne Grüße
Detlef sagte:
Wichtig ist, dass die SD-Karte weiterhin im Tinker Board S verbleibt, nur dann wird das Laufwerk erkannt. Auch wichtig, dass das USB-Kabel auch für Daten geeignet ist, ein reines USB-Ladekabel geht nicht.
Danke Detlef und Author
Hallo zusammen,
hab was interessantes gefunden. Noch nicht gemacht…
So wie ich das verstehe muss man erst U-Boot auf einer SD schreiben (https://tinkerboarding.co.uk/wiki/index.php/Software#U-boot) unter „How to build Kernel/U-boot source code“.
Dann (https://tinkerboarding.co.uk/wiki/index.php/Setup) unter „How to Recovery and Flash“ ausführen.
Dort wird auch beschrieben, wie man in den UMS-Modus via SD-Karte gelangt.
Hoffentlich probiert das jemand von euch aus und teilt seine Erfahrungen hier, sodass wir unser Tinker Board S wieder am PC anschließen und das eMMC beschreiben können.
sg
Hallo,
ich habe das Problem, das mein neues Tinkerboard S nur von SD Karte bootet.
Ich habe auch gelesen, das die Boot Partion des eMMC defekt ist.
Bekomme es nicht hin, die wieder zu aktivieren.
Der eMMC wird nicht über USB am PC erkannt, in der Hardware steht unbekanntes Gerät
und bleibt auch so nach Treibersuche.
Habe das neuste 2.07 Image dann auf eine SD Karte mit Etcher geschrieben, den Jumper auf eMMC Recovery gestellt
und der Tinker hat gebootet. Dachte jetzt wird der eMMC auch automatisch wieder hergestellt.
Also runtergefahren, Jumper auf eMMC Recovery, SD Karte raus und mit dem Rechner verbunden, wieder das gleiche, kein eMMC Laufwerk zu finden. Dann eMMC Recovery auf Default und mit dem Rechner verbunden, wieder das gleiche, kein eMMC Laufwerk zu finden
Was mache ich falsch, wer kann helfen.
Beste Grüsse paul
Hallo zusammen, bei mir wurde – auf Linux – das neue Tinkerboard-S nicht überhaupt nicht erkannt. Ich bin nun zwar auf diese Anleitung gestoßen, da ich aber vorher U-Boot nicht zerschossen hatte, habe ich mal zunächst etwas Einfacheres versucht.
Das Board war über einen USB2.0-Hub mit externer Stromversorgung angeschlossen. Dort wurde es nicht erkannt.
An einem direkt mit dem Motherboard verbundenen USB3.0-Anschluss wurde es erkannt.
Also, villeicht erst einmal das probieren!
Nun habe ich auf dem Board zwei Partitionen:
Die erste ist mit FAT32 formatiert und ist 64 MB groß.
Die zweite hat den Partitionstyp Linux(83) und ist 2GB grroß.
Freier Speicher sind noch 12,6 GB vorhanden.
Außerdem gibt es noch den MBR und noch keine GPT.
Wohin installiere ich nun die Raspberrymatic, ohne U-Boot zu überschreiben?
Hallo Werner,
danke erstmal für diese Anleitung, auch ich habe leider das falsche Image geflasht :-(
jetzt habe ich das Problem das mir trotz dieser Anleitung das Laufwerk nicht angezeigt wird wenn das Tinker Baord S mit dem PC verbunden ist.
Danke für jede Hilfe
Hallo Werner,
zum Glück habe ich diese Webseite gefunden.
Mir geht es ähnlich wie Carsten. Habe das Tinker Board S mit LibreELEC geflasht. Nun wird das Board nicht mehr von PC erkannt. Habe dann eine SD-Karte mit „20180622-tinker-board-linaro-stretch-alip-v2.0.7.img.zip“ geflasht. Jumper gesetzt und erfolgreich gebootet. TinkerOS heruntergefahren, Jumper in „default (parking)“ und das Board an den PC angeschlossen aber der PC erkennt kein Laufwerk.
Bitte, brauche dringend hilfe.
Wichtig ist, dass die SD-Karte weiterhin im Tinker Board S verbleibt, nur dann wird das Laufwerk erkannt. Auch wichtig, dass das USB-Kabel auch für Daten geeignet ist, ein reines USB-Ladekabel geht nicht.
Nun möchte ich etwas „Werbung“ für einen neuen Adapter machen, den auch ich seit einiger Zeit nutze.
Backitup macht vollautomatisch Backups des IObrokers und der CCU und legt diese auf der NAS ab.
Ich denke das ist perfekt für das Tinkerboard und piVCCU. Es können minimale, komplette Backups, sowie Backups der CCU und der Datenbank angestoßen werden. Bei mir läuft jeden Tag ein minimales Backup und eines der CCU. Alte Backups werden nach 5 Tagen automatisch gelöscht.
Ich kann jeden nur ans Herz legen, diese wichtige Instanz zu nutzen. Sollte etwas schief gehen, muß man wenigstens nicht von vorne beginnen, weil genügend Backups auf der NAS liegen.
Gruß, Mathias
Wieder einmal vielen Dank für das Herzblut, das Du in diesen Blog gesteckt hast.
Da ich mehrere piVCCU configurieren muß, weiß ich nun was zu tun ist.
Ich hoffe nur, daß dieser Fall nicht eintritt.
Nur eine Frage: man kann doch das Image für das Tinkerboard und für das Tinkerboard S nutzen?
Gruß, Mathias
Hallo Mathias,
ja das Image für Tinkerboard kannst du auch für das Tinkerboard S verwenden. Dies gilt sowohl für piVCCU als auch für RaspberryMatic.
Gruss
Werner
Hi,
die Aussage gilt aber nur für das Original piVCCU Image. Das All-In-One mit ioBroker unterstützt das Tinkerboard S noch nicht (genauer die eMMC, auf/mit SD Karte geht auch das, aber grade die eMMC ist ja das Interessante am S).
Viele Grüße
Alex