MicroPython REPL Timeout auf TTGO/ESP32

Drüben bei Module freezing for Genuine MicroPython gibt es ein paar Probleme mit der REPL bei selbstgebackenen firmware images von Genuine MicroPython v1.12.

Nach dem Aufspielen dieses Images funktioniert leider die Dateiübertragung per rshell nicht mehr:

Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware> cp main.py /pyboard/
timed out or error in transfer to remote

Da kommt eigentlich noch mehr Output, wenn du mit rshell verbindest. War das Board gerade schlafen? Wie ist deine connect Zeile?

Habe mich nur auf das Wesentliche beschränkt, kam schon

noch mehr
root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware# make rshell
Device port: usb => /dev/ttyS6
.venv3/bin/rshell --port /dev/ttyS6 --user micro --password python --buffer-size 2048
Using buffer-size of 2048
Connecting to /dev/ttyS6 (buffer-size 2048)...
Trying to connect to REPL  connected
Testing if ubinascii.unhexlify exists ... Y
Retrieving root directories ...
Setting time ... Feb 24, 2020 12:41:53
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 2000
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware> ls
bin/                          terkin/                       CHANGES.rst                   docker-compose.yml
client/                       test/                         CONTRIBUTORS.rst              platformio.ini
dist-packages/                tools/                        Dockerfile                    pybytes_config.json
doc/                          boot.py                       LICENSE                       requirements-dev.txt
examples/                     main.py                       Makefile                      requirements-mpy.txt
lib/                          settings.example-bob.py       Makefile_original             requirements-release.txt
lib-mpy/                      settings.example.py           README-HARDWARE.md            requirements-terkin-agent.txt
portainer/                    settings.py                   README.rst                    settings-user.example.json
ratrack/                      settings.pybd.py              config.mk
/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware> cp main.py /pyboard/
timed out or error in transfer to remote
/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware>

Habs auch schon mit vollem Pfad probiert:

cp /home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware/main.py /pyboard/main.py

versucht oder anders herum mit

/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware> cd /pyboard/
/pyboard> cp /home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware/main.py /pyboard/main.py

make install-sketch kann das auch. Es überträgt nur die main.py, boot.py und settings.py.

Schon mal probiert? (Vorausgesetzt, du bist auf dem aktuellen master Branch)

Ansonsten, du wärst nicht der Einzige:

EDIT: rshell 0.0.26 soll das Problem behoben haben

source .venv3/bin/activate
pip install --upgrade rshell==0.0.26

Danke @Thias! Liegt vermutlich nicht an rshell, sondern an der firmware! Mit der firmware oben ESP32-SPIRAM-IDF3-20191220-v1.12-Annapurna-0.1.0.bin geht kein Hochladen, weder über rshell noch über make install-sketch. Wenn ich dagegen die “alte” firmware esp32spiram-idf3-20191220-v1.12.bin verwende geht es!

/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware> cd /pyboard/
/pyboard> ls
boot.py     main.py     settings.py

Mit der Anapurna-Firmware

root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware# make install-sketch
Device port: usb => /dev/ttyS6
Using buffer-size of 2048
Connecting to /dev/ttyS6 (buffer-size 2048)...
Trying to connect to REPL  connected
Testing if ubinascii.unhexlify exists ... Y
Retrieving root directories ...
Setting time ... Feb 24, 2020 15:19:36
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 2000
timed out or error in transfer to remote
timed out or error in transfer to remote
timed out or error in transfer to remote
2 Likes

Schade! Keine Ahnung, was an unserem Build in dieser Hinsicht krumm sein könnte. Vielen Dank fürs Testen erst einmal!

Ich habe nochmal ein Build vom MicroPython HEAD erzeugt [1].

[1] ESP32-SPIRAM-IDF3-20200224-v1.12-b1699042-Annapurna-0.1.0.bin

Ne, geht immer noch nicht

root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware# make install-sketch
Device port: usb => /dev/ttyS6
Using buffer-size of 2048
Connecting to /dev/ttyS6 (buffer-size 2048)...
Trying to connect to REPL ....................Unable to connect to REPL
root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware#

Das ging ja vorhin schonmal besser. Da kam die Verbindung zur REPL ordnungsgemäß zustande und dann ging es nicht weiter beim Dateitransfer.

Wir lernen daraus: MicroPython HEAD ist u.U. zu experimentell und wenn @poesel’s Hinweis oben stimmt, wird es mit dem nächsten Build (dann wieder v1.12-stable) hoffentlich klappen.

Hi Clemens,

hier noch gschwind ein neuer Build: ESP32-GENERIC-SPIRAM-v1.12-dirty-Annapurna-0.2.0.bin.

Viele Grüße,
Andreas.

Leider wieder wie oben

root@XPS13-CGruber:/home/cgruber/hiveeyes/sources/hiveeyes-micropython-firmware# make sketch-and-run
Device port: usb => /dev/ttyS6
Using buffer-size of 2048
Connecting to /dev/ttyS6 (buffer-size 2048)...
Trying to connect to REPL ....................Unable to connect to REPL
Unable to connect to REPL

No MicroPython boards connected - use the connect command to add one

Unable to find board ''

Schade! Bevor wir hier weiter rumstöpseln: Ich brauche dann doch wohl erstmal entsprechende Hardware, damit wir aus dem Blindflug rauskommen. Vielleicht kann sich auch @poesel noch einmal daran versuchen.

Ein paar weitere Nachforschungen haben ergeben:

Wir steuern zwar nicht UART1 an, sondern UART0

– aber wer weiß. Daher lassen wir das einstweilen mal.