← index #11661PR #898
Likely Duplicate · high · value 4.547
QUERY · ISSUE

WebREPL setup fails in PicoW when no boot.py exists on device

openby badger200opened 2023-05-30updated 2024-09-02
bug

import webrepl_setup fails by default unless the user happens to have created a boot.py file on device. Creating an empty boot.py makes import webrepl_setup succeed and ask for a password and reboot.

Pico W
MicroPython latest release 1.20

Getting WebREPL running on my PicoW had a ton of user friction, we need to make it so it's a lot more straightforward, perhaps by enhancing webrepl_setup to ask if they want to auto connect to WiFi, and ask for SSID/pass. Since WebREPL is useless without a WiFi connection.

CANDIDATE · PULL REQUEST

net/webrepl/webrepl_setup.py: Check for existence of boot.py and create it if needed.

closedby Darkhand81opened 2024-07-14updated 2024-07-14

Hello!

There are many instances online about people complaining of OSError: [Errno 2] ENOENT errors when trying to initialize WebREPL, particularly on the Pico W.

It appears that these people are not using boot.py in their projects, but webrepl_setup relies on its existence to function.

However, it does not create the file if it doesn't exist, and fails with OSError: [Errno 2] ENOENT.

Since there isn't a .py file to easily trace through (as webrepl_setup and webrepl are usually pre-compiled and included in pre-built Micropython binaries), many users struggle to realize that they're missing a boot.py file for webrepl_setup to write to.

This PR adds a check (new function validate_boot_file()) before get_daemon_status(), which checks for the existence of boot.py and creates the file if it doesn't exist. This solves the OSError: [Errno 2] ENOENT error when trying to run webrepl_setup.py without a boot.py file!

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied