Open
Description
Port, board and/or hardware
ESP32-S3 N8R8
MicroPython version
MicroPython 6fee099ca-dirty on 2025-06-25; Generic ESP32S3 module with Octal-SPIRAM with ESP32S3
Compiled using
- IDF 5.4.1
- python 3.13.1
- gcc-15
- macOS Sequoia 15.5
mpremote
is used directly from the micropython repository (but the results are same as with latest PyPI version)
Reproduction
- Have a local folder named
local
- Run
mpremote mount local
Expected behaviour
Expected to mount local directory on the device and enter the REPL
Observed behaviour
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File ".../micropython/tools/mpremote/mpremote/__main__.py", line 6, in <module>
sys.exit(main.main())
~~~~~~~~~^^
File ".../micropython/tools/mpremote/mpremote/main.py", line 615, in main
handler_func(state, args)
~~~~~~~~~~~~^^^^^^^^^^^^^
File ".../micropython/tools/mpremote/mpremote/commands.py", line 521, in do_mount
state.transport.mount_local(path, unsafe_links=args.unsafe_links)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".../micropython/tools/mpremote/mpremote/transport_serial.py", line 304, in mount_local
self.exec(fs_hook_code)
~~~~~~~~~^^^^^^^^^^^^^^
File ".../micropython/tools/mpremote/mpremote/transport_serial.py", line 293, in exec
raise TransportExecError(ret, ret_err.decode())
mpremote.transport.TransportExecError: Traceback (most recent call last):
File "<stdin>", line 11
SyntaxError: invalid syntax
Additional Information
After some digging I found a recent thread #17465 which helped to resolve the issue.
After changing the size of a data chunk sent at once over REPL, mounting works as expected:
for i in range(0, len(command_bytes), 32):
self.serial.write(
command_bytes[i : min(i + 32, len(command_bytes))]
)
time.sleep(0.01)
The mpremote mount
command works with an earlier build I found on the internet (this one)
So I guess the real problem lies in some build flag.
Code of Conduct
Yes, I agree