USB-Dateiübertragung (Updatemodus)
Im Updatemodus erscheint ein virtuelles Laufwerk auf deinem Rechner (über USB-Mass-Storage). Dateien draufkopieren, Laufwerk auswerfen, den Rest macht der Roller automatisch.
Updatemodus aktivieren
Zwei Wege:
Am Dashboard
- Doppelt auf die linke Bremse tippen, um das Menü zu öffnen
- Einstellungen → System → Updatemodus starten
Über die CLI
lsc usb ums
Zurück in den normalen (Netzwerk-)Modus:
lsc usb normal
Updatemodus verlassen
Linke Bremse 3 Sekunden halten. Auf dem Dashboard heißt die Geste Abbrechen, solange der Updatemodus noch vorbereitet wird, und Beenden, sobald das Laufwerk bereitsteht.
- Während der Vorbereitung: der Wechsel wird abgebrochen, bevor das USB-Gadget umschaltet. Die Netzwerkverbindung bleibt bestehen.
- Im aktiven Updatemodus: der Roller schaltet den USB-Port zurück auf Netzwerk und verarbeitet dabei alles, was auf dem Laufwerk liegt, genau wie nach dem Auswerfen. Wirf das Laufwerk am Rechner also vorher aus, damit alle Dateien vollständig geschrieben sind.
Andere Gesten beenden den Updatemodus nicht. Ein Druck auf die rechte Bremse oder ein Tippen auf die Sitzbank wird bewusst ignoriert, damit eine versehentliche Eingabe keine laufende Übertragung abbricht. lsc usb normal funktioniert weiterhin.
Dateien übertragen
- USB-Kabel zwischen dem USB-Mini-B-Port des Rollers und deinem Rechner anschließen
- Ein Laufwerk erscheint auf deinem Rechner
- Dateien in den passenden Ordner kopieren (siehe unten)
- Laufwerk sicher auswerfen. Der Roller verarbeitet alles, was drauf liegt, und startet neu, wenn ein Firmware-Update dabei war
Größere Regionalpakete (z.B. die Valhalla-Kacheln für Bayern mit ~910 MB) füllen es schon allein, und Kombinationen aus
.mbtiles + Routing-Kacheln passen oft nicht gleichzeitig drauf. In dem Fall machst du es in zwei Sitzungen: erst die Anzeige-Kachel (.mbtiles) installieren, auswerfen und vom Roller übernehmen lassen, dann Updatemodus neu starten und die Routing-Kacheln drüberkopieren.
Was auf dem Laufwerk liegt
Alle folgenden Ordner werden beim Start des Updatemodus angelegt. Ein leerer Ordner ist also normal und kein Zeichen dafür, dass etwas schiefgelaufen ist.
| Pfad | Richtung | Wofür |
|---|---|---|
system-update/ | du füllst es | Firmware-Artefakte, .mender oder .delta |
maps/ | du füllst es | Karten-Anzeige-Kacheln und Valhalla-Routing-Kacheln |
rpms/mdb/, rpms/dbc/ | du füllst es | RPM-Pakete, die auf dem jeweiligen Board installiert werden |
scripts/mdb.sh, scripts/dbc.sh | du füllst es | Shell-Skripte, die einmalig auf dem jeweiligen Board laufen |
settings.toml | Hin und zurück | Aktuelle Einstellungen, exportiert zum Bearbeiten und Zurücklesen |
wireguard/ | Hin und zurück | WireGuard-Konfigurationen, exportiert und zurückgelesen |
radio-gaga/config.yaml | Hin und zurück | radio-gaga-Telemetriekonfiguration |
uplink-service/config.yaml | Hin und zurück | uplink-service-Konfiguration |
onboot.sh | Hin und zurück | Skript, das der Roller bei jedem Start ausführt |
diagnostics/mdb/, diagnostics/dbc/ | der Roller schreibt es | journal.log und dmesg.log beider Boards, beim Aktivieren eingesammelt |
log-bundles/ | der Roller schreibt es | Zuvor mit lsc erstellte Log-Bundles, für dich herauskopiert |
ums_log.txt | der Roller schreibt es | Was bei der Verarbeitung passiert ist. Wird beim Verlassen geschrieben und beim Leeren des Laufwerks behalten |
Hin und zurück heißt: der Roller legt seine aktuelle Fassung beim Start des Updatemodus aufs Laufwerk und liest die Datei beim Verlassen wieder ein. Also bearbeiten statt neu anlegen. Rührst du sie nicht an, ändert sich nichts.
Karten-Anzeige-Kacheln
Kopiere eine beliebige .mbtiles-Datei in den Ordner maps/ auf dem Laufwerk. Der Roller nutzt sie dann als Offline-Kartenquelle.
Vorgefertigte Kacheln findest du unter Librescoot OSM Tiles Releases.
Valhalla-Routing-Kacheln
Kopiere das heruntergeladene .tar-Archiv unverändert in den Ordner maps/. Der Roller akzeptiert sowohl die Release-Dateien (valhalla_tiles_<region>.tar) als auch jeden Namen, der auf tiles.tar endet.
Vorgefertigte Routing-Kacheln findest du unter Librescoot Valhalla Tiles Releases.
Firmware-Updates
Kopiere .mender- oder .delta-Artefakte in den Ordner system-update/, um ein Firmware-Update auch ohne SIM-Karte zu installieren. Nur das löst einen Neustart aus, alles andere wird durch einen Neustart des betroffenen Services übernommen.
Konfiguration
Änderst du settings.toml oder etwas unter wireguard/, startet librescoot-settings neu. Bei radio-gaga/config.yaml ist es radio-gaga, bei uplink-service/config.yaml der librescoot-uplink. Kommt eine Datei unverändert zurück, wird nichts neu gestartet.
Pakete und Skripte
RPMs aus rpms/mdb/ und rpms/dbc/ werden auf dem jeweiligen Board installiert. Skripte namens mdb.sh und dbc.sh unter scripts/ laufen je einmal auf dem Board, das ihr Name nennt. Alles, was aufs DBC zielt, wird übersprungen, wenn das DBC nicht erreichbar ist.
Skripte und RPMs laufen als root
Es gibt keine Sandbox und keine Signaturprüfung. Leg dort also nur ab, was du selbst geschrieben hast oder wessen Quelle du vertraust.
Wie es funktioniert
Den Updatemodus verwaltet der ums-service auf dem MDB. Er schaltet den USB-Port vom Netzwerkmodus (USB-Ethernet) in den USB-Mass-Storage-Modus und stellt eine Partition des eMMC als Wechsellaufwerk bereit.
Sobald das Laufwerk ausgeworfen wird, erkennt ums-service das Eject-Event und arbeitet das Laufwerk in fester Reihenfolge ab: Einstellungen, WireGuard, radio-gaga, uplink-service, onboot.sh, Firmware-Updates, Karten, RPMs, Skripte. Jeder Schritt ist unabhängig, ein Fehler stoppt also die übrigen nicht, und ums_log.txt hält fest, was jeder Schritt getan hat.
Danach wird das Laufwerk bis auf ums_log.txt geleert, damit die nächste Sitzung sauber startet. Wurde ein Firmware-Artefakt eingereiht, wartet der Roller die Installation ab und startet dann neu.
Fehlersuche
- Laufwerk erscheint nicht: Prüf, ob der Roller wirklich im Updatemodus ist (am Dashboard oder per
lsc usb status). Anderes USB-Kabel probieren. - Dateien werden nach dem Auswerfen nicht angewendet: Prüf, ob du wirklich sicher ausgeworfen (nicht nur abgesteckt) hast. Nur das Eject-Event stößt die Verarbeitung an.
- Roller startet nicht neu: USB neu verbinden und erneut auswerfen, oder manuell neustarten mit
lsc power reboot.