GetIt 1.3 [not working]

The Speccy's spritely young offspring. Discuss everything from FPGA to ZX
Post Reply
User avatar
flatduckrecords
Manic Miner
Posts: 785
Joined: Thu May 07, 2020 11:47 am
Location: Oban, Scotland
Contact:

GetIt 1.3 [not working]

Post by flatduckrecords »

I've run into a problem with GetIt (a few other users have mentioned same in the comments); it seems to hang after the splash screen with the message "checking wifi…". ZXDB-DL is similarly affected, but otherwise WiFi (using .http and .sync for example) is working.

Has anyone else experienced this or deduced what the problem might be?

My Next is a KS2 issue, so I haven't changed the firmware or core. I did try rolling back to my SD card backup, but that didn't help.

jamesh
Dizzy
Posts: 83
Joined: Thu Jul 06, 2023 6:36 pm

Re: GetIt 1.3 [not working]

Post by jamesh »

flatduckrecords wrote: Mon Apr 01, 2024 9:16 pm I've run into a problem with GetIt (a few other users have mentioned same in the comments);
Have not used GetIt recently, but in the past I was able to recover WiFi using .uart and sending AT+RESTORE command. Which is the "factory reset" and you will have to set up the connection again.
User avatar
flatduckrecords
Manic Miner
Posts: 785
Joined: Thu May 07, 2020 11:47 am
Location: Oban, Scotland
Contact:

Re: GetIt 1.3 [not working]

Post by flatduckrecords »

jamesh wrote: Tue Apr 02, 2024 11:11 am Have not used GetIt recently, but in the past I was able to recover WiFi using .uart and sending AT+RESTORE command. Which is the "factory reset" and you will have to set up the connection again.
Thanks @jamesh I've already tried that. (I think it might have been your post on the Next forum where I saw that tip, thanks!)
jamesh
Dizzy
Posts: 83
Joined: Thu Jul 06, 2023 6:36 pm

Re: GetIt 1.3 [not working]

Post by jamesh »

Oh, and I assume it did not help. Sorry to hear that.

Just tried both on my Next. zxdb-dl works just fine, GetIt server seems to experience some issues (sometimes "getting image" is stuck), but it is definitely able to load catalogue and fetch something. I do have the latest "beta" core 3.02.01 which fixes the HDMI issues (but using VGA), though.
AT+GMR
when sending AT+GMR to the WiFi module (using .uart) I see the following:

Code: Select all

AT version: 1.2.0.0(Jul 1 2016 20:04:45)
SDK version: 1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec 2 2016 14:21:16
User avatar
Seven.FFF
Manic Miner
Posts: 744
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: GetIt 1.3 [not working]

Post by Seven.FFF »

flatduckrecords wrote: Mon Apr 01, 2024 9:16 pm I've run into a problem with GetIt (a few other users have mentioned same in the comments); it seems to hang after the splash screen with the message "checking wifi…"
GetIT is a fairly new application and it can be a bit flaky sometimes. In particular it can leave the ESP WiFi module wedged.

Fortunately there is a official built-in way to unwedge the ESP module, with a dot command. It doesn't just reset it (you can do that too in BASIC with REG 2,128:REG 2,0), but will find the baud rate it is using even if software has permanently changed it to a different baud rate, then set it back to the standard 115200 baud.

Dot commands can be added to BASIC programs, and GetIT is itself launched with getit.bas, so one possibility is adding it directly to that. However that would get ovverwritten next time you update GetIT, so perhaps a better option is a separate BASIC program you save in the same directory. It can reset the ESP then start GetIT aftwards. Try this:

Code: Select all

10 .espbaud -Rd 115200
20 LOAD "getit.bas"

SAVE "c:/GetIT/getit-reset.bas" LINE 10
assuming your GetIT lives in c:/GetIT.

The author also says on the download page that "You must be on the latest 3.02.00 and NextZXOS v2.08", and suggests it may hang if you are not. Would be nice if it checked and gave you a message to upgrade, which is quite easy to do, but it doesn''t. So make sure you are! Both these things can be got from here.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
User avatar
flatduckrecords
Manic Miner
Posts: 785
Joined: Thu May 07, 2020 11:47 am
Location: Oban, Scotland
Contact:

Re: GetIt 1.3 [not working]

Post by flatduckrecords »

Seven.FFF wrote: Wed Apr 03, 2024 12:42 am

Code: Select all

10 .espbaud -Rd 115200
20 LOAD "getit.bas"

SAVE "c:/GetIT/getit-reset.bas" LINE 10
Thanks! I tried that (it's a useful tip, thankyou!) but it didn't help. GetIt still gets stuck at the same point.
Seven.FFF wrote: Wed Apr 03, 2024 12:42 am The author also says on the download page that "You must be on the latest 3.02.00 and NextZXOS v2.08", and suggests it may hang if you are not. […] So make sure you are! Both these things can be got from here.
Ta, yeah I'm already on 3.02.00 and v2.08. (I failed to mention it earlier but GetIt *was* working previously).

Just to be sure I downloaded the tbblue-master.zip bundle and extracted it to a blank SD card, then installed GetIt using the NextBASIC command line. That all went fine, but once again it hangs after "checking wifi".

I also tried another WiFi network (cellular tethering) but that didn't make any difference either.

Thanks for your help.
jamesh
Dizzy
Posts: 83
Joined: Thu Jul 06, 2023 6:36 pm

Re: GetIt 1.3 [not working]

Post by jamesh »

flatduckrecords wrote: Thu Apr 04, 2024 10:18 am Thanks! I tried that (it's a useful tip, thankyou!) but it didn't help. GetIt still gets stuck at the same point.
I was just about to ask if ESP reset helps. Frankly, I did not expect that alone to help. Because, there is a thing that makes it interesting. And the thing is the fact that .http alone works. AFAIK, zxdb-dl just uses it internally (am I wrong?), and thus either both should be broken or both should work.

Anyway, I have not had issues with ESP on Next, but I've managed to revive my ESP-12 module connected to a Sizif-512 board and I thought that ESP-12 was long dead, but it was just badly misconfigured. What I'd suggest to do -- using .uart dot command and trying AT stuff from ESP8266-01 Wiki page. If I am reading espbaud sources correctly, you need "-p" switch to actually write config to the flash. Otherwise if it will "break itself" after the next reset, and some software may start with resetting ESP. The steps I would do (this is what I basically did with my ESP-12): 1) using .uart dot command find working settings, you are mostly looking for the correct UART/UART_CUR string; 2) once you are sure it works somehow write it to the flash, either wtih "-p" switch for espbaud, or manually with .uart and appropriate AT commands.
User avatar
Seven.FFF
Manic Miner
Posts: 744
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: GetIt 1.3 [not working]

Post by Seven.FFF »

jamesh wrote: Thu Apr 04, 2024 2:31 pm I was just about to ask if ESP reset helps. Frankly, I did not expect that alone to help. Because, there is a thing that makes it interesting. And the thing is the fact that .http alone works. AFAIK, zxdb-dl just uses it internally (am I wrong?), and thus either both should be broken or both should work.
David uses .http to handle the raw downloads of the game files and thumbnail images, because it can do a lot of the heavy lifting. But uses his own asm or Boriel BASIC code to do the rest of the download server "protocol" stuff, talking to the ESP directly over the UART. The "checking wifi..." part is almost certainly not using .http, so it's entirely possible this is a bug is the asm/Boriel code.

I've come across other race condition bugs in his other projects such as .pisend, which were exposed when the timings were slightly different than the code assumed. I've also seen ESPs in the wild behave with quite different timings, both at the ESP module hardware level and the Espressif firmware level, so I can well believe some people could have problems while others don't.

Since the influx of 6000 new ks2 users with wifi, there's also been a rash of new problems, with users mysteriously not being able to connect to their routers or having weird intermittent behaviour. Nobody has really got to the bottom of it yet, but some models of mesh router seem to be particularly problematic. If you run out of other ideas, you could definitely try hooking up a simple 2.4G-only wifi extender with a different network name and SID, close to the Next, and see if that improves things.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
jamesh
Dizzy
Posts: 83
Joined: Thu Jul 06, 2023 6:36 pm

Re: GetIt 1.3 [not working]

Post by jamesh »

Seven.FFF wrote: Thu Apr 04, 2024 3:05 pm David uses .http to handle the raw downloads of the game files and thumbnail images, because it can do a lot of the heavy lifting. But uses his own asm or Boriel BASIC code to do the rest of the download server "protocol" stuff, talking to the ESP directly over the UART. The "checking wifi..." part is almost certainly not using .http, so it's entirely possible this is a bug is the asm/Boriel code.
Thanks, that explains everything. I am wondering if it still makes sense to upgrade firmware in my case, because what I have seems to be really old one. What would be the recommended ESP firmware version for those who are willing to take the risk? I think it should be possible to open the case, remove the module and recover with regular esptool.py if something goes really really bad, am I wrong?
User avatar
Seven.FFF
Manic Miner
Posts: 744
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: GetIt 1.3 [not working]

Post by Seven.FFF »

jamesh wrote: Thu Apr 04, 2024 7:23 pm Thanks, that explains everything. I am wondering if it still makes sense to upgrade firmware in my case, because what I have seems to be really old one. What would be the recommended ESP firmware version for those who are willing to take the risk? I think it should be possible to open the case, remove the module and recover with regular esptool.py if something goes really really bad, am I wrong?
For a ks1 Next (or N-Go or Xberry Pi) with ESP-01 module, you can totally update the firmware. Either with esptool.py, or in-circuit with .espupdate, which has been stable since before ks1 shipped. I usually recommend 2.2.1 / 1.6.2.0. esptool.py works great with USB adaptors such as this one, which has a convenient switch for programming mode.

For ks2 Nexts with ESP-12F modules, I'm not currently recommending that anybody update at all, whether with .espupdate or esptool.py. They're soldered to the Next main board, and I've managed to brick a ton of them already in my own update experiments. It's possible to buy pogo pin adaptors to program the ESP-12F in circuit, but my bricking problems were just as bad when I experimented with this USB adaptor, so I remain wary.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
jamesh
Dizzy
Posts: 83
Joined: Thu Jul 06, 2023 6:36 pm

Re: GetIt 1.3 [not working]

Post by jamesh »

Seven.FFF wrote: Thu Apr 04, 2024 10:22 pm For ks2 Nexts with ESP-12F modules, I'm not currently recommending that anybody update at all, whether with .espupdate or esptool.py.
Thanks! I was wondering if recommendation has changed since 2020, especially for KS2 board with updated on board UART. But it looks like “recommended version for KS2” is still irrelevant due to the upgrade issues you encountered :(

And, right, I keep forgetting that ESP12 is soldered. Just one question, if you do not mind. Circuit Diagrams wiki page has a special section “J15 - Next GPIO - Issue 4” and that J15 seems to be connected to the all ESP12 pins required for flashing. I am curious, why it could not be used for ESP12 recovery? My crazy idea was about hooking up to those J15 pins, redirecting UART from ESP to physical port (if I must power on Next), and just trying to flash the ESP. Of course, you have already thought about this or even tried it. It did not work or you just do not recommend it to the “general public” without appropriate skills due to high risk of damaging Next board?
a tale about (almost) bricked ESP-12
P.S. speaking of the bricked ESP-12, in my limited experience it is important to match original boot version, without it (for me, at least) all sorts of funny side-effects were present. My favourite one -- the module WiFi connectivity works as expected, when configured manually via terminal. But it cannot used by any code that parses output because module spits garbage (at different speed?) periodically.
Post Reply