The Not-so-amazing Disappearing ESP8266

I've noticed, in the newer IDE, that it seems to require grabbing offline, the .json file for the ESP-8266 library and programming, BUT.. I have a small problem.. Not all of my equipment is portable, and the Wifi where I live, is limited to only certain times of the day.. So... Imagine my surprise, when I go to program an 8266-01, and... there's Nothing there except the Adafruit examples... and the IDE doesn't recognize the 8266.. Was this done intentionally, to constantly update on the library, or is this only allowing the 8266 stuff ONLY while online, for a reason? A little mystifying?

Mine works fine offline. Did you install it through the boards manager?

Delta_G:
Mine works fine offline. Did you install it through the boards manager?

Yes, I have.. and I've noticed it on different OS installs (Windows & Linux). Both installed through the board manager, and when I connect to the internet, and run the IDE, it appears. Disconnect, reset the computer (either platform), but not logged into the internet (yes, some of us still step away from the net from time to time.), start the IDE, and...... If I go to tools-board, EVERYTHING for the ESP8266 disappears. I've also noticed a weird operation from IDE version 1.8.1, where it'll suddenly crash.. without warning, and it'll take 3-4 attempts to start it, before it'll come up.

Hmm no issues with my ESP's and 1.6.5 up to 1.8.1 under Win 7, Win 8, Server 2013, Win 10 on actual or VM bases.

Upgrades carried through the JSON config files too and still see all the ESP variations.
All packages currently up to date too here but ESP's did work under prev packages too.

Maybe something screwy at your end ?

If it is, it's on multiple platforms.. System 1, Intel i3/Ubuntu 16.04 LTS, System 2, AMD Vision, Windows-8.1, System3 AMD 64X2, Ubuntu 16.04.

The following steps:
While online, IF it can obtain the json file, the ESP8266 comes up in the board selection. Once set, If I disconnect from the internet, It will stay active, UNTIL.... I choose an Arduino.. Then, the 8266 selections disappear from the board list. and will not return, until I log out of the IDE, re-connect to the internet, and the json file is obtained/checked again.

How are you getting the board defs ?
and once it has them are you going to board manager to pull in the packages and do the required updates ?

Not a Linux guy (Win as you prob guessed from my last post) but these are settings in the prefs and the ide itself which is nearly identical in appearance.

As proof I am attaching a pic showing that I am disconnected from the internet along with the board selection available for ESP's

The ESP definitions are only loaded if there is a link to the internet. (Which, is limited to only 2 hours where I live, Community access per day.) it is only when it checks the json file, to see if any new libraries are available, that it has the 'generic esp8266' in the board manager. When no-longer connected to the internet, But the generic ESP8266 is still selected, it recognizes all the libraries, and examples. BUT.... if not connected, and I check any other board (example the Arduino UNO/Genuino UNO), then go back to the board manager, the ESP8266 selections no-longer exist.... (as I mentioned in the first post.) it could care less if the json file is still loaded.. as long as I'm not logged into the internet, it reverts to strictly a base Arduino IDE with Arduino-Only examples and libraries. (and any arduino libraries I've added. but ZERO ESP8266.) which would mean, IF i wanted to retain the ESP8266 settings, I would never touch the Arduino board selections.

Once loaded they are always available.
Or at least that's how it works under windows regardless of IDe from 1.6.5 r5 upwards here.

They dont need updates daily.
Only when a new release is sent out.

There is something very odd at your end if they are getting deleted between sessions.

This seems very strange to me. There is an issue where if the Boards Manager URL of a 3rd party hardware package is not accessible when you open Boards Manager the JSON file for that package is deleted by the IDE and the boards disappear but on my system when I don't have access to the internet the download of downloads.arduino.cc/packages/package_index.json fails and that aborts any attempt to download other JSON files so no boards are affected (because that URL is always loaded first and the bug doesn't affect that JSON file).

Do you get the "Error downloading http://downloads.arduino.cc/packages/package_index.json" error message when you open Tools > Boards > Boards Manager with no connection to the internet?

If I understand correctly, you should be able to work around the issue by never opening Tools > Board > Boards Manager when you are not connected to the internet. There's no point in doing this anyway as without connection to the internet Boards Manager is useless.

I do think this all could be handled by the IDE much better:

  • Failure to load a URL should not abort attempts to load other URLs
  • Previously downloaded JSON file should not be deleted until the new one has been successfully downloaded

@ Pert

Not the first time this has been mentioned recently.

That said I seem to be able to open and close board manager just fine even after I shut down all external access and still be able to pick out what I want from the ESP list (under windows 7 x 64, IDE 1.8.1).

Also have a couple of DEV URLS and they don't fail either if the first one or even just the second is misspelled (done it a couple of times typing from memory)

Took a screenshot with the disconnects ON and the board manager open recently so it is something I double checked for another poster.

Ballscrewbob:
Not the first time this has been mentioned recently.

Are you talking about all the problems people had yesterday with their ESP8266 boards disappearing because arduino.esp8266.com was down? That's a different but probably related issue because in that case http://downloads.arduino.cc/packages/package_index.json was still accessible so it did proceed to attempt to load the ESP8266 URL. If you're not connected to the internet then downloading the Arduino file will fail and this causes Boards Manager to abort trying to load any other URLs.

I was thinking maybe it was related to the Arduino IDE's automatic checking for updatable boards but even after that running with my internet disconnected the ESP8266 boards still didn't disappear for me.

Ballscrewbob:
Also have a couple of DEV URLS and they don't fail either if the first one or even just the second is misspelled

What do you mean by "don't fail"?

@ Pert

No talking about the issue of the IDE seeming to forget about ESP's unless it was directly connected to the internet.
Also wonder if they have a different server for regions too as I didnt have any issues at all yesterday here in Canada with ESP downloads. I removed the URL and moved the user folder 3 times. Then added back in the URL and the ESP's came back up once I told board manager to get the ESP items.

DEV URLS
If I have the first URL misspelled the others in the que appeared to work just fine and not fail.
Looks like it reads past the bad one and continues to the next here ?

Ballscrewbob:
Looks like it reads past the bad one and continues to the next here ?

Yes, same with me. It's only if http://downloads.arduino.cc/packages/package_index.json can't be downloaded that it aborts attempt to download any other URLs. This was pointed out to the developers a while back when that URL wasn't working for a little while but they just fixed the problem with the downloads server instead of changing the behavior of Boards Manager.

No, I don't think it's a problem of the server, but the IDE itself... I haven't fired-up the IDE at all today (Why not? Breakfast with my parents, and other things in life.) IF I were to shut-down the WiFi modem, and fire-up the IDE, it would come up set for the UNO, and see no active Com port. If I click on board, it will only show Arduino boards.. But, the instant I turn on the modem, and restart the IDE, it will request any updates to the libraries. If none, or the same, it'll NOW add the ESP-8266 selections to the board list. If I were to select another board (arduino), it would still retain the 8266 selections at the bottom. Okay, turn off the modem again, close the IDE, wait a few minutes, start the IDE again, it would check for the JSON file, and fail.. Go to Tools > Boards, and........ Where did it go? the list ends at Arduino UNO WiFi, and a white down-arrow.. the ESP-8266 Modules list is gone!... Sorry to say, it Does look like a problem with the boards manager maintaining 'other' boards, whether the json is read online or not.

Hardware/OS this is happening on:
AMD Vision / Windows 8.1 Toshiba Satellite C855D / 8GB memory
AMD 64-X2 / Ubuntu 16.04 Home-built desktop / 8GB memory
Intel I3 / UBUNTU 16.04 Toshiba Satellite A505 / 8GB memory
All, running Arduino x64 Version 1.8.1, All with ESP8266 by ESP8266 Community Version 2.3.0

If no responding internet connection, the only thing that shows-up on the boards manager, is "Arduino AVR boards Built In by Arduino Version 1.6.17 (when another board other than the 8266 is chosen, and the IDE has been restarted.)

I'd provide screen captures, if I were using the Linux machines, and at present, the desktop is temporarily down (for an almost similar reason, I did a system update on it out of the machine (extracted the master hard drive, put it in a dock connected to the laptop, and booted it from the laptop.), and UBUNTU is balking at the NVIDIA drivers, locking the graphics log-in, in a crash-back to log-in loop. Without internet access for that machine, I cannot remove the drivers, force it to re-install the generic graphics driver, and restore the NVIDIA drivers off the internet.)

I cannot reproduce the effect here under win 7 x64 pro, Server 2013, or windows XP, and at least 4 IDE versions.

If I KILL my internet, perform a full shut down and re-start of the computers here I still have ESP's available on starting those IDE's.

Only way I can think of (under windows at least) is that some people have a setting or clean up tools or similar that nails the contents of specific folders on exit.

Seems to be limited to a very very very small amount of people going on the reports in here so might be hard for others to also re-produce

BTW screen caps under windows is scary easy..ALT, PRT SCR for the active window.

Okay, touche on the screen capture..
It not cleaning the directories, or files.. they are still there, but when the IDE fails to obtain the json file, it seems to stop loading the location of the board definitions past the regular AVR set (according to board manager), but if I am connected online, and it does a query for the json file, the definitions for the 8266 boards are added to the boards list again.

Ok so "what"is not cleaning directories or files ?

Which particular files ?

It does sound like a semi locked down computer that is not allowing files to stay as it thinks they have changed (which is true)
That could be down to a setting or policy enforced on some networks by an IT administrator.

I understand that this subject is possible close but I would like to mention that I too have similar effects from my ide and board manager. What I have noticed is when I disconnect from the internet but still work via my wifi router thereafter not only does the 8266 boards disappear but also any other boards that was loaded via the manager for example the attiny 25/45/85 boards.I can work for days without any problems if I stay away from the router. It would appear board manager tries to check for updates and being unable to connect via the internet then aborts and those files disappear. With the next connection to internet the files are restored. This operation does not seem to happen when when working iso ie not with router connected. It is rather anoying when I would want to test a connection to a 8266 via the router just to find that next boot or board change only to find the bear ide available without the added installed boards via the manager. If someone is still following this I would like to hear of any possible fixes or what I am doing wrong.