Page 2 of 4

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 9:53 pm
by MostlyHarmless
dps wrote:
Fri Dec 06, 2019 9:11 pm
hmm, whenever i try to erase the flash, it tells me that its not supported. Here is the output:

Code: Select all

┌─[✗]─[dps@silversurfer]─[~]
└──╼ $esptool --port /dev/ttyUSB0 erase_flash
esptool.py v2.1
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266
Enabling default SPI flash mode...
Erasing flash (this may take a while)...

A fatal error occurred: ESP8266 ROM does not support function erase_flash.
That doesn't look right. I get:

Code: Select all

(venv36) [wieck@jupiter ~]$ esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 2c:f4:32:3c:b3:ce
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 9.7s
Hard resetting via RTS pin...
(venv36) [wieck@jupiter ~]$ 
Definitely different chip types, but any chance you could update your esptool to version 2.8? Your version looks a bit dated.


Regards, Jan

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:12 pm
by dps
hmm, ill try. I havent learned how to use Python on Linux yet, and when ive tried to use it i guess i was using packages that conflicted with each other and.... yeah, it was all messed up. so I ended up just using the esptool that is packaged in the standard Ubuntu repos. Ill see if i can get a backport from a newer release of Ubuntu, and install it like that

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:14 pm
by dps
when installing something on Linux with pip or pip3, which should i use and should i use the --user flag, and would that solve the package conflicts? or should i try to figure out how to setup a virtual env of some kind, and install this all in that?

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:29 pm
by MostlyHarmless
Virtualenv all the way. As you can see from my prompt in the quoted output I did that in my Python 3.6 environment. CentOS 7 still uses Python 2.7 as system default.

When setup right virtualenv lets you easily switch between Python versions per terminal.

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:31 pm
by dps
alright just did it, with 3.6. created a test env and activated it. so if i install esptool.py here, would i always have to be in this directory to use it, and with the env activated?

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:35 pm
by dps
Hey! check it out! erasing the flash worked! so i guess the idea for me is, ill just use this env for uPython, and create others as need when i learn more about python in general. now, lets see if the firmware being upload with this new (2.8) version of esptool. brb

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:38 pm
by dps
it works! Nice! thank you man! So, i guess the solution (for anyone looking for it) is to erase the flash first, and then upload. If youre having trouble erasing your flash, try updating your esptool to a newer version!

Ciao!

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:44 pm
by MostlyHarmless
dps wrote:
Fri Dec 06, 2019 10:31 pm
alright just did it, with 3.6. created a test env and activated it. so if i install esptool.py here, would i always have to be in this directory to use it, and with the env activated?
Sourcing the <venv-name>/bin/activate changes your $PATH and other environment variables. Your working directory doesn't matter, you are always using that venv from there on in that terminal. You can have multiple terminals open, each using a different venv and Python version at the same time.

What you should NOT do from there on is cut+paste stuff that does "sudo pip blah ...", because that will still hit your system globals. Since you are in a Python virtual env, that lives inside your $HOME, you have permission to use pip install to install stuff in that venv. The whole point of virtual envs is that any unprivileged user can have as many as they want, and that each of them can contain a different set of Python packages installed in different versions, using a different version of Python.


Regards, Jan

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:47 pm
by MostlyHarmless
dps wrote:
Fri Dec 06, 2019 10:38 pm
it works!
Magic! 8-)

Re: Issues running on ESP8266MOD(NODEMCU board)

Posted: Fri Dec 06, 2019 10:57 pm
by MostlyHarmless
dps wrote:
Fri Dec 06, 2019 10:38 pm
So, i guess the solution (for anyone looking for it) is to erase the flash first, and then upload.
Keep in mind that erase_flash also erases what is on the filesystem. Any uploaded files (boot.py, main.py, whatever.py) will be gone. Any files created by your firmware will be gone.

In other words, you do not want to make erase+flash your standard procedure. The micropython build system (at least for esp8266 and esp32) has separate build targets "erase" and "deploy" for that reason.


Regards, Jan