Seite 1 von 1

RX Controller boot.py beschädigt

Verfasst: 05 Jan 2026, 03:11
von MatzeW
Hallo,

mein Neffe hat den RX Controller zu Weihnachten bekommen. Schön und gut, wenige Tage später kam er zu mir. "Der Controller startet nicht mehr!"
Tatsächlich.
Zugriff via USB funktioniert noch.

die code.py beinhaltet Sonderzeichen "ẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏẏ"
die boot.py ist abgeschnitten und endet ebenfalls mit dem Sonderzeichen.
boot_out zeigt "Name zu lang".

Vermutlich ging hier was beim Übertragen schief, oder die Versorgungsspannung wurde zu einem ungünstigen Zeitpunkt unterbrochen. Wer weiß wer weiß.

Entferne ich die Sonderzeichen, bekomme ich zwar kein Fehler mehr in der boot_out. Jedoch fehlen sicherlich Initialisierungen und die ROBO PRO Software erkennt zwar den RX Controller, kann jedoch nicht verbinden.

Leider finde ich nirgendwo eine vollständige boot.py, geschweige denn kenne ich jemanden der einen RX besitzt. Fremdbeispiele von Adafruit CircuitPython oder weiter experimentieren mit der boot.py möchte ich vorerst nicht, um das Gerät nicht zu bricken. Kundenservice habe ich kontaktiert.

Kennt jemand hier das Problem? Kann mir jemand eine boot.py des RX schicken, oder den Inhalt hier posten?

Vielen Dank,
Mathias

Re: RX Controller boot.py beschädigt

Verfasst: 05 Jan 2026, 10:45
von fishfriend
Hallo...
Ich gebe zu damit habe ich mir noch nicht beschäftigt.
Fragen:
1. Wie kommst du auf die boot.py ? Also ich hätte erwartet, das der Zugriff über die Rechte eingeschrängt ist. Ich vermute, das man die nicht so einfach aufspielen kann, ohne Root-Rechte zu haben.
2. Ist code.py das Programm selbst?

Es ist schon ungewöhnlich das mehrere Dateien beschädigt sind. Ist ein Update schiefgegangen oder abgebrochen worden? Spannungsversorgung...?
Kann es sein, das von einer "niedrigen" Version von Robo Pro Coding auf die neuste ein Update gemacht worden ist?
Da gab es "letztens" einen Wechsel vom Bootprogramm. Soweit ich das in Erinnerung habe, war es aber ein Problem mit dem TXT (4.0?).

Man könnte versuchen erst mal eine ältere Version von Robo Pro Coding zu installieren und dann die alte Firmware aufzuspielen, um dann ein Update zu machen.
Mit freundlichen Grüßen
Holger

Re: RX Controller boot.py beschädigt

Verfasst: 05 Jan 2026, 10:57
von calliope

Re: RX Controller boot.py beschädigt

Verfasst: 05 Jan 2026, 15:07
von MatzeW
Hallo,

auf die Dateien kann man einfach über den Explorer zugreifen. Ähnlich einer USB Festplatte.
Die boot.py kann direkt geändert werden. Hier gibt es keinen Schreibschutz.

die cody.py (vermute ich) ist das eigentlich Programm dann.

Meine boot.py sieht wie folgt aus:

Code: Alles auswählen

import usb_cdc
import storage
import microcontroller
import supervisor

try:
    addr = microcontroller.cpu.uid
    supervisor.set_usb_identification("Fischertechnik", f"RXC{addr[1]:02x}{addr[0]:02x}")
    adv_mode = microcontroller.nvm[0x06]
    if adv_mode == 1:
        #print("Advance Mode")
        storage.remount("/", False, disable_concurrent_write_protection=True)
        usb_cdc.enable(console=True, data=True)  # Enable console and data
    else:
        debug_mode = microcontroller.nvẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎẎ
Man sieht dass die Try Catch Klausel nicht vollständig ist. Oder Try Ecxeption bei Python.
Auch der else-Zweig ist unvollständig beim nvm Zugriff.
Die Print habe ich auskommentiert.

Wie das passiert ist kann ich nicht sagen, da ich nicht dabei war. Ich kenne Dateischäden dieser Art bei .Net Anwendungen die nicht richtig beendet wurden. Daher vermute ich dass der RX abgesteckt wurde beim Datei-Übertrag.

Reset der Firmware (Beide Knöpfe drücken, dann 9V anschließen) habe ich probiert. Das hilft nicht. Aufspielen neuer Firmware über ROBO PRO ist nicht möglich, da keine Verbindung aufgebaut werden kann.

Ich vermute die boot.py ist nicht Bestandteil der Firmware beim RX.

Mathias

Re: RX Controller boot.py beschädigt

Verfasst: 05 Jan 2026, 17:25
von calliope
Wenn ich den RX Controller an 9V (Netzteil) und mit dem USB Kabel an Windows stecke, sehe ich kein Laufwerk und deshalb auch keine Dateien.
Der Unterschied ist: ohne USB Kabel leuchtet ON/OFF rot, mit USB Kabel blinkt es weiß.

Wie man die RX Firmware neu installieren kann, ohne dass ROBO Pro Coding dazu auffordert, weiß ich nicht. Gibt es überhaupt einen Download Link dafür?

Wenn du eine Antwort von fischertechnik-Technik@fischer.de bekommst, kannst du die Lösung ja hier verraten.

FG Lutz

Re: RX Controller boot.py beschädigt

Verfasst: 05 Jan 2026, 20:09
von fishfriend
Hallo...
Also ich hab gerade auch Probleme mit dem RX.
Ich hab gerade versucht das von oben nachzuvollziehen.
Leider will der RX ein Update machen, was scheitert. Nun so das 6 mal.
Er schaft es nicht von 26 auf 27 upzudaten.
Somit ist keine Kommunikation möglich.

Ich hab nun auch auf Windows 11 updaten müssen.
Bisher haben -wir- es nicht geschaft mit dem "Explorer" wie oben auf den RX zuzugreifen.

@MatzeW
Könntest du mal beschreiben wie du es machst?
Welches System nutzt du?
Hast du den RX im WIndows als Gerät angemeldet oder geht es über den ft-Treiber in Robo Pro Coding?

Mit freundlichen Grüßen
Holger

Re: RX Controller boot.py beschädigt

Verfasst: 05 Jan 2026, 21:57
von MasterOfGizmo
Nach einem Update via https://dev.fischertechnik-cloud.com/de/robopro wird der RX als Circuit-Python-Gerät erkannt und gibt sich daher als Massenspeicher aus. Dort ist dann u.a. die boot.py zu finden:

Code: Alles auswählen

import usb_cdc
import storage
import microcontroller
import supervisor

try:
    addr = microcontroller.cpu.uid
    supervisor.set_usb_identification(
        "Fischertechnik", f"RXC{addr[1]:02x}{addr[0]:02x}"
    )

    adv_mode = microcontroller.nvm[0x06]
    if adv_mode == 1:
        print("Advance Mode")
        storage.remount("/", False, disable_concurrent_write_protection=True)
        usb_cdc.enable(console=True, data=True)  # Enable console and data
    else:
        debug_mode = microcontroller.nvm[0x04]
        storage.remount("/", False)
        storage.disable_usb_drive()
        if debug_mode == 1:
            print("Debug Mode")
            usb_cdc.enable(console=True, data=True)  # Enable console and data
        else:
            print("Normal Mode")
            usb_cdc.enable(console=False, data=True)  # Enable only data
except Exception:
    print("Error accessing NVM")
    storage.remount("/", False, disable_concurrent_write_protection=True)
    usb_cdc.enable(console=True, data=True)

Re: RX Controller boot.py beschädigt

Verfasst: 05 Jan 2026, 22:13
von calliope
Wo findet ihr die Firmware Version und welche soll aktuell sein?

Re: RX Controller boot.py beschädigt

Verfasst: 06 Jan 2026, 08:35
von MasterOfGizmo
Sry, falsch zitiert ...

Re: RX Controller boot.py beschädigt

Verfasst: 06 Jan 2026, 10:00
von fishfriend
Hallo...
Interessant.
Bei mir geht es nicht.

1. Update über BT schlägt immer fehl. Es geht nur über USB.
2. Die Version von Robo Pro Coding in der Cloud scheint älter als die "aktuelle" Version zu sein. Es wird auch Version 0.0.0.0 angezeigt und es scheint vom Namen her eine Beta zu sein. Meine Version ist momentan 6.5.0 und damit kommt nun eine Verbindung zustande.
3. Bei meinem WIndows 11 wird nur ein RXController angezeigt, der über eine COM-Schnittstelle angesprochen wird. Im Gerätemanger wird nur USB-Verbundgerät angezeigt. Auch bei den Treiberdetails hab ich kein Massenspeichergerät unter USB gesehen.

Die Version wird unten rechts angezeigt, wenn man oben links auf den Hamburger drückt.
Mit freundlichen Grüßen
Holger

Re: RX Controller boot.py beschädigt

Verfasst: 07 Jan 2026, 01:29
von MatzeW
Hallo,

@Holger
Ich nutze ein Windows 11 und ein Win10. Zu Beginn hab ich ein Firmware-Update über die Robot Pro Software durchgeführt. Robot Pro erkennt das automatisch und schlägt es vor. Seither wurde mein RX als USB Massenspeicher erkannt. Siehe die Erklärung von MasterOfGizo.
In der boot.py sieht man auch wie der USB initialisiert wird.

@MasterOfGizmo
Vielen Dank für die boot.py und die Erklärung.

Leider funktioniert mein RX immer noch nicht. Ich habe nun sogar den Zugriff über USB verloren und mich ausgesperrt. Obwohl die boot.py in jedem Fall einen USB Zugriff zulassen sollte... :|
Es wird ein Serielles Gerät unter COM3 erkannt. Das findet die Robot Pro Software auch. Verbinden aber nicht möglich. Dauert endlos.

Über PuTTY kann ich auch keinen Zugriff herstellen.

Ich befürchte dass mein RX gebrickt ist und ich muss auf Rückmeldung von Fischertechnik warten. :|

Dennoch vielen Dank für eure Hilfe. Ich gebe bescheid wenn ich eine Antwort erhalten habe.

Grüße
Mathias

Re: RX Controller boot.py beschädigt

Verfasst: 07 Jan 2026, 08:58
von fishfriend
Hallo...
Interessant
So, ich hab mal etwas experimentiert.
Kann es sein, dass ihr mit MicroPython was gemacht habt und das dafür von dort ein "anderer" Treiber für den RX genommen wurde?

Alle von mir sonst im www gefundenen Erklärversuche gehen immer von einem (anderen) Treiber aus. Nur Treiber aktualisieren hift nicht. Auch nicht ohne Hub wie von MS vorgeschlagen funktioniert so nicht.
Ich denke, das das Wechseln vom USB-Verbundgerät zu einem USB-Massenspeichergerät, ansonsten nur über die Registry geht.
Ich hab dazu auch keine Hinweise zu Win 11 gefunden, wie man das sonst per Hand machen kann.
Zumal man vermutlich auch den Treiber (per Hand) wechseln muss.

Ich gebe zu, ich würde es gerne mal das Ganze nachvollziehen.
Mit freundlichen Grüßen
Holger

PS. Interessanterweise wird auch ohne extra Spannungsversorgung vom RX, bei Win11 ein USB-Gerät erkannt, aber nicht angezeigt.

Re: RX Controller boot.py beschädigt

Verfasst: 07 Jan 2026, 21:53
von calliope
Ich würde gern verstehen, wie das Problem entstanden ist.
Hat ROBO Pro Coding dazu aufgefordert, ein Update zu installieren? Und wenn ja,
welches ROBO Pro Coding? Die App Version 6.5.0 oder die Webseite "in der Cloud"?

Meine Frage weiter oben war nach der Firmware Version vom RX Controller (nicht von der App).
Wo steht "von 26 auf 27" und kann ich die aktuelle Version vom RX erfahren (ohne Aufforderung zum Update)?