RX Controller boot.py beschädigt

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
MatzeW
Beiträge: 3
Registriert: 02 Jan 2026, 22:17

RX Controller boot.py beschädigt

Beitrag von MatzeW » 05 Jan 2026, 03:11

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

Benutzeravatar
fishfriend
Beiträge: 2363
Registriert: 26 Nov 2010, 11:45

Re: RX Controller boot.py beschädigt

Beitrag von fishfriend » 05 Jan 2026, 10:45

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
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
calliope
Beiträge: 98
Registriert: 11 Mär 2025, 12:02

Re: RX Controller boot.py beschädigt

Beitrag von calliope » 05 Jan 2026, 10:57

I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects

MatzeW
Beiträge: 3
Registriert: 02 Jan 2026, 22:17

Re: RX Controller boot.py beschädigt

Beitrag von MatzeW » 05 Jan 2026, 15:07

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

Benutzeravatar
calliope
Beiträge: 98
Registriert: 11 Mär 2025, 12:02

Re: RX Controller boot.py beschädigt

Beitrag von calliope » 05 Jan 2026, 17:25

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
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects

Benutzeravatar
fishfriend
Beiträge: 2363
Registriert: 26 Nov 2010, 11:45

Re: RX Controller boot.py beschädigt

Beitrag von fishfriend » 05 Jan 2026, 20:09

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
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
MasterOfGizmo
Beiträge: 2729
Registriert: 30 Nov 2014, 07:44

Re: RX Controller boot.py beschädigt

Beitrag von MasterOfGizmo » 05 Jan 2026, 21:57

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)
Zuletzt geändert von MasterOfGizmo am 06 Jan 2026, 08:36, insgesamt 1-mal geändert.
Arduino für fischertechnik: ftDuino http://ftduino.de

Benutzeravatar
calliope
Beiträge: 98
Registriert: 11 Mär 2025, 12:02

Re: RX Controller boot.py beschädigt

Beitrag von calliope » 05 Jan 2026, 22:13

Wo findet ihr die Firmware Version und welche soll aktuell sein?
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects

Benutzeravatar
MasterOfGizmo
Beiträge: 2729
Registriert: 30 Nov 2014, 07:44

Re: RX Controller boot.py beschädigt

Beitrag von MasterOfGizmo » 06 Jan 2026, 08:35

Sry, falsch zitiert ...
Arduino für fischertechnik: ftDuino http://ftduino.de

Benutzeravatar
fishfriend
Beiträge: 2363
Registriert: 26 Nov 2010, 11:45

Re: RX Controller boot.py beschädigt

Beitrag von fishfriend » 06 Jan 2026, 10:00

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
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

MatzeW
Beiträge: 3
Registriert: 02 Jan 2026, 22:17

Re: RX Controller boot.py beschädigt

Beitrag von MatzeW » 07 Jan 2026, 01:29

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

Benutzeravatar
fishfriend
Beiträge: 2363
Registriert: 26 Nov 2010, 11:45

Re: RX Controller boot.py beschädigt

Beitrag von fishfriend » 07 Jan 2026, 08:58

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.
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
calliope
Beiträge: 98
Registriert: 11 Mär 2025, 12:02

Re: RX Controller boot.py beschädigt

Beitrag von calliope » 07 Jan 2026, 21:53

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)?
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects

Benutzeravatar
ft-ninja
Beiträge: 117
Registriert: 01 Nov 2010, 14:26
Wohnort: Inner Mongolia
Kontaktdaten:

Re: RX Controller boot.py beschädigt

Beitrag von ft-ninja » 08 Jan 2026, 00:15

Hi @calliope,

You can get the actual FW version from RX controller using this script:

Code: Alles auswählen

import asyncio
import rxfw
from fischertechnik.logging import log as print

async def run(instance):
  fw = rxfw.auxiliar.get_fw_version()
  print(f"RX FW version: {fw['major']}.{fw['minor']}.{fw['patch']}")
Zuletzt geändert von ft-ninja am 08 Jan 2026, 00:32, insgesamt 2-mal geändert.
==
ft-ninja

Benutzeravatar
ft-ninja
Beiträge: 117
Registriert: 01 Nov 2010, 14:26
Wohnort: Inner Mongolia
Kontaktdaten:

Re: RX Controller boot.py beschädigt

Beitrag von ft-ninja » 08 Jan 2026, 00:29

Hi @MatzeW,

Seems that access to the CIRCUITPY drive, which is an USB "Mass Storage" (MSC) device, is a byproduct of the corrupted boot.py file you encountered :). Initially this CIRCUITPY drive is available only when RX is in the "Advance Mode", which is not set with default factory settings in FW 0.27.0. Of course you can turn on the "Advance Mode" in the healthy RX with following code:

Code: Alles auswählen

import asyncio
import microcontroller
from fischertechnik.logging import log as print

async def run(instance):
  print("Set adv_mode to 1")
  microcontroller.nvm[0x06] = 1
  print(f"adv_mode: {microcontroller.nvm[0x06]}; debug_mode: {microcontroller.nvm[0x04]}")
NOTE: In "Advance Mode" there is one extra COM interface for the REPL console. Use Ctrl-C in the terminal to break into the REPL from the Fischertechnik runtime.
==
ft-ninja

Benutzeravatar
fishfriend
Beiträge: 2363
Registriert: 26 Nov 2010, 11:45

Re: RX Controller boot.py beschädigt

Beitrag von fishfriend » 08 Jan 2026, 09:54

Hallo...
@Calliope
Je nach der Version von Robo Pro Coding, wird die passende Firmware auf den Controller geladen.

Ich hab auf meinen Rechnern mehrere Versionen, auch Betas. Mein RPC auf Win11 hat ein Update ausgeführt und eine neue Firmware auf den RX aufgespielt. Beim Update wurden die Versionen der Firmware angezeigt. Ich gehe mal davon aus, dass es die aktuelle freigegebene Version ist.
Bei der Onlineversion wurde mir nicht dergleichen angezeigt. Ich habe aber auch damit keine Verbindung herstellen können. Wenn ich dazu Zeit habe, werde ich das nochmal genauer austesten.
Auch die aktuelle STEM Suite verbindet sich so mit dem RX.

Hallo...
@ft-ninja
OK, it is verry very interesting.
So the second file change the RX to a USB Massstorge.
How did i change it back? :-)

Für alle anderen. Das zweite Beispiel des Python Programms ändert die EIgenschaften vom RX Controller vom USB Verbundgerät zu einem Massenspeicher. Dieser kann nun mit den Explorer angezeigt werden.
Das Programm (Script) kann man in Robo Pro Coding als reines Pythonprogramm laufen lassen. In der Konsole wird die Printausganbe angezeigt.
Beim Kopieren des Scrips nach RPC wurde bei mir eine Lib erzeugt. Das muss aber in das Hauptprogramm. (Einfach noch mal dahin kopieren).
Nach dem Starten, kommt eine Meldung, dass ein neues Gerät angeschlossen ist und man kann über den Explorer auf das CIRCUITPY Laufwerk zugreifen.

Hmmm
Ich vermute mal es ist ein Fehler. Wenn man den RX nun -ohne- Spannungsversorgung anschließt, wird auch ein Massenspeichergerät angezeigt.
Aber scheinbar nun mit anderen Rechten. Oder es liegt daran, dass ich es zum zweiten mal angeschlossen habe.
Zumindest werden nun noch mehr Dateien angezeigt als beim ersten mal.

Ich bin mir nicht sicher. Ich denke, es sollten nur etwas erfahrenere Leute das machen, damit nichts von der Firmware gelöscht wird.

OT
@ft Wenn jemand mitließt
Da ist ein Sprachenfehler.
Ihr hab die Bilder der englischen Version von Robo Pro Coding in der deutschen Version der STEM Suite.

Scheinbar ist in der aktuellen Version von RPC beim BT-Controller kein Python möglich.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2363
Registriert: 26 Nov 2010, 11:45

Re: RX Controller boot.py beschädigt

Beitrag von fishfriend » 08 Jan 2026, 10:41

Hallo...
Interessant.
Hilfe...
OK, Ich habe nun das Problem, dass Robo Pro Coding zwei Geräte anzeigt.
Es funktioniert aber nur eins. Ich muss ausprobieren welches das richtige ist.
Wenn man den RX mit Spannung versorgt und einschaltet, anschließend USB einsteckt werden auch zwei Geräte von Wind 11 erkannt.

Es kann auch sein, das man in Win11 eins der Geräte löschen muss, wobei aber ich bisher davon ausgegangen bin, das Robo Pro Coding einen eigenen Treiber benutzt und somit nur einen erkennen kann.
Scheint aber nicht der Fall zu sein...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
ft-ninja
Beiträge: 117
Registriert: 01 Nov 2010, 14:26
Wohnort: Inner Mongolia
Kontaktdaten:

Re: RX Controller boot.py beschädigt

Beitrag von ft-ninja » 08 Jan 2026, 11:09

Hallo @Holger,

The RX controller in "Advance Mode" is a USB composite device with 3 virtual devices:
1. Mass Storge device CIRCUITPY
2. Virtual COM port A - can be used for the REPL
3. Virtual COM port B - can be used to send and receive binary data to and from the host

The COM ports will often be assigned consecutively, console first, but this is not always true.

To disable the "Active mode" via REPL:

Code: Alles auswählen

import microcontroller
microcontroller.nvm[0x06] = 0
Then cold-reset your RX
==
ft-ninja

Benutzeravatar
fishfriend
Beiträge: 2363
Registriert: 26 Nov 2010, 11:45

Re: RX Controller boot.py beschädigt

Beitrag von fishfriend » 08 Jan 2026, 13:33

Hallo...
OK, the byte 0x06 is the "Advance Mode".
But from where did you have this information?
Is there a list of the funktion from all bytes?

There ist less information about the RX and i never read something like that.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Antworten