Crash on D1 mini and NodeMCU during WiFi initial provisioning

I’m flashing nodemcuv2-ble.

I’ve tried a D1Mini and a NodeMCU. When using the flash from website, the devices goes into reboot loop. I followed the instructions to use PlatformIO, and compile and upload with that for the NodeMCU. It starts and my phone detects the SSID. It associates, then tries to get an IP, and the devices crashes. This happens the same on the D1 mini and NodeMCU. I’ve also tried the “Erase Flash” option in PIO first.

...
Linking .pio\build\nodemcuv2-ble\firmware.elf
Retrieving maximum program size .pio\build\nodemcuv2-ble\firmware.elf
Checking size .pio\build\nodemcuv2-ble\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [========  ]  84.7% (used 69424 bytes from 81920 bytes)
Flash: [======    ]  60.6% (used 632680 bytes from 1044464 bytes)
Building .pio\build\nodemcuv2-ble\firmware.bin
Creating BIN file ".pio\build\nodemcuv2-ble\firmware.bin" using "C:\Users\terry\.platformio\packages\framework-arduinoespressif8266\bootloaders\eboot\eboot.elf" and ".pio\build\nodemcuv2-ble\firmware.elf"
Configuring upload protocol...
AVAILABLE: espota, esptool
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: COM3
Uploading .pio\build\nodemcuv2-ble\firmware.bin
esptool.py v3.0
Serial port COM3
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: e8:9f:6d:93:50:c9
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 636832 bytes to 431611...
Writing at 0x00000000... (3 %)
Writing at 0x00004000... (7 %)
Writing at 0x00008000... (11 %)
Writing at 0x0000c000... (14 %)
Writing at 0x00010000... (18 %)
Writing at 0x00014000... (22 %)
Writing at 0x00018000... (25 %)
Writing at 0x0001c000... (29 %)
Writing at 0x00020000... (33 %)
Writing at 0x00024000... (37 %)
Writing at 0x00028000... (40 %)
Writing at 0x0002c000... (44 %)
Writing at 0x00030000... (48 %)
Writing at 0x00034000... (51 %)
Writing at 0x00038000... (55 %)
Writing at 0x0003c000... (59 %)
Writing at 0x00040000... (62 %)
Writing at 0x00044000... (66 %)
Writing at 0x00048000... (70 %)
Writing at 0x0004c000... (74 %)
Writing at 0x00050000... (77 %)
Writing at 0x00054000... (81 %)
Writing at 0x00058000... (85 %)
Writing at 0x0005c000... (88 %)
Writing at 0x00060000... (92 %)
Writing at 0x00064000... (96 %)
Writing at 0x00068000... (100 %)
Wrote 636832 bytes (431611 compressed) at 0x00000000 in 38.0 seconds (effective 134.0 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
============================================================================== [SUCCESS] Took 51.24 seconds ==============================================================================
--- Terminal on COM3 | 115200 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, esp8266_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
rl␀l�r␂$␒�n␌␌␌�␌l�␌b|��␂␇␒�r␒b�␌b␄�nn␂lnn␒b␌b␜p�$b␎lrlp�n␐␂␌␌�␌l␌�␂␌␌␌b␌n�n�␌�␄␌b��nn'l�␄l`␂�␒␒nn␌$`␂␎␂nr���n␌␌rr�`␂p�n�␂␌␌r�␜␜b␌␄␂␌b␌n�n␌␄␌b��nn'␌␄l`␂�␒␒nn␌$`␂␎␂nr���n␌␌r␒l`␂␎r��n␌␌r␒l`␂�␂␌␌l␄�l␂l`␂��n�`␂N: ␞*wm:[2] Added Parameter: server
*wm:[2] Added Parameter: port
*wm:[2] Added Parameter: user
*wm:[2] Added Parameter: pass
*wm:[2] Added Parameter: secure
*wm:[2] Added Parameter: cert
*wm:[2] Added Parameter: name
*wm:[2] Added Parameter: topic
N: Attempting Wifi connection with saved AP: 0
N: Attempting Wifi connection with saved AP: 1
N: Attempting Wifi connection with saved AP: 2
N: Attempting Wifi connection with saved AP: 3
N: Attempting Wifi connection with saved AP: 4
N: Connect your phone to WIFI AP: OpenMQTTGateway_ESP8266_BLE with PWD: your_password
*wm:[1] AutoConnect
*wm:[1] No Credentials are Saved, skipping connect
*wm:[2] Starting Config Portal
*wm:[2] AccessPoint set password is VALID
*wm:[2] Disabling STA
*wm:[2] Enabling AP
*wm:[1] StartAP with SSID:  OpenMQTTGateway_ESP8266_BLE
*wm:[1] AP IP address: 192.168.4.1
*wm:[1] Starting Web Portal
*wm:[2] HTTP server started
*wm:[2] Config Portal Running, blocking, waiting for clients...
*wm:[2] Portal Timeout In 120 seconds
*wm:[2] Portal Timeout In 101 seconds
*wm:[2] Portal Timeout In 71 seconds

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Exception (29):
epc1=0x4000e1c3 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000018 depc=0x00000000

>>>stack>>>

ctx: sys
sp: 3fffec10 end: 3fffffb0 offset: 0190
3fffeda0:  000000d4 4025bdb3 00000018 3fff65f0
3fffedb0:  40260530 40260449 3fffaf04 40101148
3fffedc0:  00000000 3fffbaec 00000003 40100a80
3fffedd0:  00000018 3fff6674 3fff65f0 00000000  
3fffede0:  402605eb 3fffbf74 3fffaf04 3fff328a
3fffedf0:  3fff3270 00040000 00000000 3fff3270
3fffee00:  3fff328a 0000002c 00000020 40101148  
3fffee10:  401013ba 401038e3 00000008 401013ac
3fffee20:  3fff327a 3fff9a7c 4025d200 3fffbf74
3fffee30:  3fffaf04 2c9f0300 3fffbf74 4025d103
3fffee40:  40103734 3fffc200 40276c5b 00000001  
3fffee50:  ffffffff 00000000 3fff24a1 00000008
3fffee60:  40276caa 3fff5ae8 3fffaf04 00000001
3fffee70:  00000008 00000000 4010292f 402861a4  
3fffee80:  4023cf90 402861a4 00000020 40101148
3fffee90:  00000000 4bc6a7f0 00010616 40100a80
3fffeea0:  00000000 00000000 00000042 40245101
3fffeeb0:  40264f05 3fff327a ffffffe2 00000000  
3fffeec0:  4025c707 4025c94b 3fff3270 3fff5db8
3fffeed0:  3fffaf04 00000000 3fff3290 00000000
3fffeee0:  4027773d 00000001 00000000 3fff327a  
3fffeef0:  402768f8 0000008c 3fff3264 3fff9a7c
3fffef00:  3fff3264 00000000 00000042 40276222
3fffef10:  3fff5db8 3fff3264 3fffdcc0 3fff2410
3fffef20:  3fff3280 3fffb8b4 00000040 3fff2410  
3fffef30:  00000040 3fff5db8 00000000 3ffe89a4
3fffef40:  40275b03 3fffdab0 00000000 4021f1e6
3fffef50:  3fff2410 40000f49 3fffdab0 40000f49  
3fffef60:  40000e19 0009b798 00000000 00000005
3fffef70:  00000000 aa55aa55 000000ed 40105b89
3fffef80:  40105b8f 00000000 00000005 401010f8
3fffef90:  4010000d 7b3a2273 0009b798 401000ac  
3fffefa0:  4026aa04 3fffef3c 4026a9b5 3ffffca8
3fffefb0:  3fffffc0 00000000 00000000 feefeffe
3fffefc0:  feefeffe feefeffe feefeffe feefeffe
3fffefd0:  feefeffe feefeffe feefeffe feefeffe
3fffefe0:  feefeffe feefeffe feefeffe feefeffe
3fffeff0:  feefeffe feefeffe feefeffe feefeffe
3ffff000:  feefeffe feefeffe feefeffe feefeffe  
3ffff010:  feefeffe feefeffe feefeffe feefeffe
3ffff020:  feefeffe feefeffe feefeffe feefeffe
3ffff030:  feefeffe feefeffe feefeffe feefeffe  
3ffff040:  feefeffe feefeffe feefeffe feefeffe
3ffff050:  feefeffe feefeffe feefeffe feefeffe
3ffff060:  feefeffe feefeffe feefeffe feefeffe
3ffff070:  feefeffe feefeffe feefeffe feefeffe  
3ffff080:  feefeffe feefeffe feefeffe feefeffe
3ffff090:  feefeffe feefeffe feefeffe feefeffe
3ffff0a0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0b0:  feefeffe feefeffe feefeffe feefeffe
3ffff0c0:  feefeffe feefeffe feefeffe feefeffe
3ffff0d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff0e0:  feefeffe feefeffe feefeffe feefeffe
3ffff0f0:  feefeffe feefeffe feefeffe feefeffe
3ffff100:  feefeffe feefeffe feefeffe feefeffe
3ffff110:  feefeffe feefeffe feefeffe feefeffe  
3ffff120:  feefeffe feefeffe feefeffe feefeffe
3ffff130:  feefeffe feefeffe feefeffe feefeffe
3ffff140:  feefeffe feefeffe feefeffe feefeffe  
3ffff150:  feefeffe feefeffe feefeffe feefeffe
3ffff160:  feefeffe feefeffe feefeffe feefeffe
3ffff170:  feefeffe feefeffe feefeffe feefeffe
3ffff180:  feefeffe feefeffe feefeffe feefeffe  
3ffff190:  feefeffe feefeffe feefeffe feefeffe
3ffff1a0:  feefeffe feefeffe feefeffe feefeffe
3ffff1b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1c0:  feefeffe feefeffe feefeffe feefeffe
3ffff1d0:  feefeffe feefeffe feefeffe feefeffe
3ffff1e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff1f0:  feefeffe feefeffe feefeffe feefeffe
3ffff200:  feefeffe feefeffe feefeffe feefeffe
3ffff210:  feefeffe feefeffe feefeffe feefeffe
3ffff220:  feefeffe feefeffe feefeffe feefeffe  
3ffff230:  feefeffe feefeffe feefeffe feefeffe
3ffff240:  feefeffe feefeffe feefeffe feefeffe
3ffff250:  feefeffe feefeffe feefeffe feefeffe  
3ffff260:  feefeffe feefeffe feefeffe feefeffe
3ffff270:  feefeffe feefeffe feefeffe feefeffe
3ffff280:  feefeffe feefeffe feefeffe feefeffe
3ffff290:  feefeffe feefeffe feefeffe feefeffe  
3ffff2a0:  feefeffe feefeffe feefeffe feefeffe
3ffff2b0:  feefeffe feefeffe feefeffe feefeffe
3ffff2c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff2d0:  feefeffe feefeffe feefeffe feefeffe
3ffff2e0:  feefeffe feefeffe feefeffe feefeffe
3ffff2f0:  feefeffe feefeffe feefeffe feefeffe
3ffff300:  feefeffe feefeffe feefeffe feefeffe  
3ffff310:  feefeffe feefeffe feefeffe feefeffe
3ffff320:  feefeffe feefeffe feefeffe feefeffe
3ffff330:  feefeffe feefeffe feefeffe feefeffe  
3ffff340:  feefeffe feefeffe feefeffe feefeffe
3ffff350:  feefeffe feefeffe feefeffe feefeffe
3ffff360:  feefeffe feefeffe feefeffe feefeffe  
3ffff370:  feefeffe feefeffe feefeffe feefeffe
3ffff380:  feefeffe feefeffe feefeffe feefeffe
3ffff390:  feefeffe feefeffe feefeffe feefeffe  
3ffff3a0:  feefeffe feefeffe feefeffe feefeffe
3ffff3b0:  feefeffe feefeffe feefeffe feefeffe
3ffff3c0:  feefeffe feefeffe feefeffe feefeffe
3ffff3d0:  feefeffe feefeffe feefeffe feefeffe  
3ffff3e0:  feefeffe feefeffe feefeffe feefeffe
3ffff3f0:  feefeffe feefeffe feefeffe feefeffe
3ffff400:  feefeffe feefeffe feefeffe feefeffe  
3ffff410:  feefeffe feefeffe feefeffe feefeffe
3ffff420:  feefeffe feefeffe feefeffe feefeffe
3ffff430:  feefeffe feefeffe feefeffe feefeffe
3ffff440:  feefeffe feefeffe feefeffe feefeffe  
3ffff450:  feefeffe feefeffe feefeffe feefeffe
3ffff460:  feefeffe feefeffe feefeffe feefeffe
3ffff470:  feefeffe feefeffe feefeffe feefeffe  
3ffff480:  feefeffe feefeffe feefeffe feefeffe
3ffff490:  feefeffe feefeffe feefeffe feefeffe
3ffff4a0:  feefeffe feefeffe feefeffe feefeffe
3ffff4b0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4c0:  feefeffe feefeffe feefeffe feefeffe
3ffff4d0:  feefeffe feefeffe feefeffe feefeffe
3ffff4e0:  feefeffe feefeffe feefeffe feefeffe  
3ffff4f0:  feefeffe feefeffe feefeffe feefeffe
3ffff500:  feefeffe feefeffe feefeffe feefeffe
3ffff510:  feefeffe feefeffe feefeffe feefeffe
3ffff520:  feefeffe feefeffe feefeffe feefeffe  
3ffff530:  feefeffe feefeffe feefeffe feefeffe
3ffff540:  feefeffe feefeffe feefeffe feefeffe
3ffff550:  feefeffe feefeffe feefeffe feefeffe  
3ffff560:  feefeffe feefeffe feefeffe feefeffe
3ffff570:  feefeffe feefeffe feefeffe feefeffe
3ffff580:  feefeffe feefeffe feefeffe feefeffe
3ffff590:  feefeffe feefeffe feefeffe feefeffe  
3ffff5a0:  feefeffe feefeffe feefeffe feefeffe
3ffff5b0:  feefeffe feefeffe feefeffe feefeffe
3ffff5c0:  feefeffe feefeffe feefeffe feefeffe  
3ffff5d0:  feefeffe feefeffe feefeffe feefeffe
3ffff5e0:  feefeffe feefeffe feefeffe feefeffe
3ffff5f0:  feefeffe feefeffe feefeffe feefeffe  
3ffff600:  feefeffe feefeffe feefeffe feefeffe
3ffff610:  feefeffe feefeffe feefeffe feefeffe
3ffff620:  feefeffe feefeffe feefeffe feefeffe  
3ffff630:  4000b570 feefeffe feefeffe feefeffe
3ffff640:  00000000 00000000 00000000 00000000
3ffff650:  00000000 00000000 00000000 00000000
3ffff660:  00000000 00000000 00000000 00000000  
3ffff670:  00000000 00000000 00000000 00000000
3ffff680:  544a819f b126e75a 32f6b66e 5035f830
3ffff690:  c1dcb03b f09d9e1a fa014f84 f1aebe54
3ffff6a0:  eec96aa2 354c7bde 2603b84b b3535b2c  
3ffff6b0:  4000b5f9 00000008 00000038 3ffff790
3ffff6c0:  00000008 3ffff790 b680fb55 9b595a5d
3ffff6d0:  73139c47 b989cc83 116d0709 15cca50d  
3ffff6e0:  3b328daa 834e5bf2 fe0fba72 b2b982a8
3ffff6f0:  b2fafbd3 4987fa36 83aa2ef1 9f569bb8
3ffff700:  763e61d7 61e085f6 e32b8f08 9c59334c  
3ffff710:  4fbf6764 95414435 cc4e745f 2f5fe130
3ffff720:  d83e03fc 781b2ace 7e33dbdc f0b0ce26
3ffff730:  b14082ad 3eaba5d8 1cb91405 cb3cb1f2
3ffff740:  4000b62e 26bb27dd 73ca4168 b818ce8f  
3ffff750:  4000b6c4 3ffff790 3ffff920 ffffffff
3ffff760:  4000b72e 3ffff770 00000008 40ff9ffb
3ffff770:  00000000 00000000 4000a333 3ffff898  
3ffff780:  3ffff920 3ffff878 3fffaaac 7471e109
3ffff790:  00000000 00000000 00000000 00000000
3ffff7a0:  00000000 00000000 00000000 00000000
3ffff7b0:  00000000 00000000 00000000 00000000  
3ffff7c0:  00000000 00000000 00000000 00000000
3ffff7d0:  00000000 00000000 00000000 00000000
3ffff7e0:  00000000 00000000 00000000 3ffff870
3ffff7f0:  4000ba18 3ffff870 00000003 00000020  
3ffff800:  3ffff920 00000000 00000000 00000000
3ffff810:  00000000 00000000 00000000 00000000
3ffff820:  00000000 00000000 00000000 00000000  
3ffff830:  cc23f302 d85ffdb6 db517c9c 7d30a0e7
3ffff840:  5eb06f0e 058b8d53 d412e683 78d6769a
3ffff850:  5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c
3ffff860:  5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c  
3ffff870:  3ffff830 3ffff920 3ffff980 3ffff8f0
3ffff880:  aeb9893c acc9b3bc 5c794385 74643c3f
3ffff890:  00000040 00000014 0000003e 00000001  
3ffff8a0:  5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c
3ffff8b0:  3ffff900 3ffff920 4000baee 00000014
3ffff8c0:  00000020 3ffff910 3ffff9d0 3ffff940
3ffff8d0:  3fffaaac 00000020 00000020 40101148
3ffff8e0:  00000000 00000000 0000001f 401006b8
3ffff8f0:  3fff8a01 3fff9ac4 3fffc228 40106321
3ffff900:  4000050c 3ffff980 3ffff8f0 00000014  
3ffff910:  402349b6 00000030 00000004 ffffffff
3ffff920:  402349a5 00000000 00000000 000000c0
3ffff930:  00000002 00000000 0000000a 00000000
3ffff940:  00000002 00000000 0000000a 00000000  
3ffff950:  00000000 3ffffaa2 3ffffb10 00000030
3ffff960:  00000000 a0000000 00000000 0000001c
3ffff970:  00002000 08b3feb6 00002000 3ffe83c4  
3ffff980:  00000002 00000000 0000000a 00000000
3ffff990:  00000002 00000000 0000000a 00000000
3ffff9a0:  00000000 00000000 402349a5 3ffe83c4
3ffff9b0:  00000000 a0000000 00000000 0000001c  
3ffff9c0:  00002000 00000000 00002000 3ffe83c4
3ffff9d0:  00000000 00000000 3ffffb40 40239384
3ffff9e0:  3ffffad2 3ffffad3 00000000 0000001c  
3ffff9f0:  00000000 a0000000 402349a5 3ffe83c4
3ffffa00:  00000001 00000000 3ffffb40 40239384
3ffffa10:  402392c0 3ffffad2 00000001 00000000
3ffffa20:  000005e0 00000020 4010488d 3ffffb40  
3ffffa30:  000005e0 00000020 4010488d 3fff64d0
3ffffa40:  0000013a 00000000 4010488d 000000f1
3ffffa50:  000005e0 00000020 4010488d 3fff64d0  
3ffffa60:  00000005 00000000 00000020 401006b8
3ffffa70:  00000000 00000000 00000005 401027f0
3ffffa80:  3fff2355 40105a87 3fff5db8 401006b8
3ffffa90:  00000000 00000000 00000020 401006b8  
3ffffaa0:  ffffffed 03fc7aab 00000000 401027f0
3ffffab0:  3fff2350 40105a6f 3fff91f4 401027f0
3ffffac0:  00000005 00000000 00000020 401006b8
3ffffad0:  00000005 00000000 00000020 401006b8
3ffffae0:  3fff2355 40105a87 00000005 401027f0
3ffffaf0:  3fff2355 40105a87 3fff5db8 00040000
3ffffb00:  4010337b 3fff5db8 3fff6674 40103558  
3ffffb10:  00000005 00000000 00000020 401006b8
3ffffb20:  3fff2bd0 00000000 00000005 401027f0
3ffffb30:  3fff2355 40105a87 3fff5db8 00000100
3ffffb40:  4010337b 3fff5db8 00000010 ffffffff  
3ffffb50:  ffffffed 03fed952 3fff6674 40103558
3ffffb60:  3fff2bdc 00000000 00000000 fffffffe
3ffffb70:  ffffffed 03fed952 40103a12 00000100  
3ffffb80:  3fff2bdc 7fffffff 00000000 00000001
3ffffb90:  00000001 00000040 00000010 ffffffff
3ffffba0:  3fff2bdc 00000002 0002020e 03fed952
3ffffbb0:  3fff2be8 2c9f0300 4000050c 3fffc278  
3ffffbc0:  40103734 3fffc200 00000022 3fff7c8c
3ffffbd0:  40216e72 00000030 00000010 ffffffff
3ffffbe0:  40216e2c 00000000 00000000 3fff81bc  
3ffffbf0:  00004bc6 00000000 00000000 fffffffe
3ffffc00:  00000000 3fffc6fc 00000000 3fff7c8c
3ffffc10:  00000001 3fff7d8c 00000000 00000030
3ffffc20:  00000000 3fffb7cc 3fffb80c 4021f316  
3ffffc30:  00000000 3ffffc50 00000001 40230a74
3ffffc40:  3fff7d8c 3fff7d8c 3fffad04 4021682c
3ffffc50:  40231ecc 00000000 00001388 4022931b  
3ffffc60:  00000000 00000000 00000000 00000000
3ffffc70:  3fff7d8c 3fff7d8c 3fff7c8c 40216af9
3ffffc80:  3fff7d8c 00000001 3fff7c8c 40210fa3  
3ffffc90:  00000000 00000000 00000001 401006b8
3ffffca0:  6e6f6365 00000000 3fff7c8c 00000001
3ffffcb0:  3fff7d8c 00000000 4021f30b 3fffefa0
3ffffcc0:  3fff7d8c 00000001 3fff7c8c 40216e75  
3ffffcd0:  00000000 000b000f 00000000 00000000
3ffffce0:  73646e6f 00000000 00000000 000b000f
3ffffcf0:  00000000 3fff19b8 3fff7c8c 4020eed4  
3ffffd00:  3ffe8be9 40286dad 00000000 3ffe954a
3ffffd10:  3ffe8699 3fff7c8c 3fff7c8c 3ffe954a
3ffffd20:  3ffe8699 00000001 3fff7c8c 40217012  
3ffffd30:  00000004 40286d80 3fff8174 40201bb0
3ffffd40:  3ffffd60 3ffffd50 0000000c 3ffe94b1
3ffffd50:  3ffe8be9 00000001 0000002c 3ffe8be9
3ffffd60:  3ffe954a 3ffe954a 00000005 3ffe8be9  
3ffffd70:  3ffe8699 3fff7c8c 3fff8174 402081cc
3ffffd80:  402320b8 3ffe9545 3ffe953d 3fff9a04
3ffffd90:  0000003c 00000001 3ffe8bdc feefeffe  
3ffffda0:  feefeffe feefeffe feefeffe feefeffe
3ffffdb0:  feefeffe feefeffe feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe feefeffe feefeffe
3ffffdd0:  feefeffe feefeffe feefeffe feefeffe  
3ffffde0:  feefeffe feefeffe 402320b8 3ffe9538
3ffffdf0:  3ffe952c 3fffa234 00000800 00000001
3ffffe00:  3ffe8bdc feefeffe feefeffe feefeffe  
3ffffe10:  feefeffe feefeffe 402320b8 3ffe9525
3ffffe20:  3ffe9520 3fff939c 00000001 00000001
3ffffe30:  3ffe94d6 feefeffe feefeffe feefeffe
3ffffe40:  feefeffe 402320b8 3ffe951a 3ffe9510  
3ffffe50:  3fffa194 00000096 00000001 3ffe8bdc
3ffffe60:  402320b8 3ffe9d44 3ffe9506 3fff99bc
3ffffe70:  0000003c 00000001 3ffe8bdc 402320b8  
3ffffe80:  3ffe9501 3ffe94fc 3fff9974 0000003c
3ffffe90:  00000001 3ffe8bdc 402320b8 3ffe94f7
3ffffea0:  3ffe94f2 3fff95fc 00000006 00000001
3ffffeb0:  3ffe8bdc 402320b8 3ffe94eb 3ffe94e6  
3ffffec0:  3fff992c 0000003c 00000001 3ffe8bdc
3ffffed0:  40201ec4 00000001 402302bc 402302a8
3ffffee0:  00000000 00000001 3fff8498 4021c528  
3ffffef0:  3ffe954a 00000000 3fff95e4 402218d5
3fffff00:  0001c200 0000001c 00000002 3fff85ec
3fffff10:  0001c200 3fff8498 3fff8174 402088a1
3fffff20:  feefeffe feefeffe feefeffe feefeffe  
3fffff30:  feefeffe feefeffe feefeffe feefeffe
3fffff40:  feefeffe feefeffe feefeffe feefeffe
3fffff50:  feefeffe feefeffe feefeffe feefeffe  
3fffff60:  feefeffe feefeffe feefeffe feefeffe
3fffff70:  feefeffe feefeffe feefeffe feefeffe
3fffff80:  feefeffe feefeffe feefeffe feefeffe
3fffff90:  feefeffe feefeffe feefeffe 3fff85ec  
3fffffa0:  3fffdad0 00000000 3fff85d8 4021f390
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3460, room 16 
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v0009b7a0
~ld
N: ␞*wm:[2] Added Parameter: server
*wm:[2] Added Parameter: port
*wm:[2] Added Parameter: user
*wm:[2] Added Parameter: pass
*wm:[2] Added Parameter: secure
*wm:[2] Added Parameter: cert
*wm:[2] Added Parameter: name
*wm:[2] Added Parameter: topic
N: Attempting Wifi connection with saved AP: 0
N: Attempting Wifi connection with saved AP: 1
N: Attempting Wifi connection with saved AP: 2
N: Attempting Wifi connection with saved AP: 3
N: Attempting Wifi connection with saved AP: 4

Just did a git pull and now the version from PIO boot loops like the website one.

Compiling .pio\build\nodemcuv2-ble\src\main.ino.cpp.o
Retrieving maximum program size .pio\build\nodemcuv2-ble\firmware.elf
Checking size .pio\build\nodemcuv2-ble\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [========= ]  94.5% (used 77432 bytes from 81920 bytes)
Flash: [======    ]  61.4% (used 641024 bytes from 1044464 bytes)
Configuring upload protocol...
AVAILABLE: espota, esptool
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: COM3
Uploading .pio\build\nodemcuv2-ble\firmware.bin
esptool.py v3.0
Serial port COM3
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: e8:9f:6d:93:50:c9
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 645184 bytes to 432854...
Writing at 0x00000000... (3 %)
Writing at 0x00004000... (7 %)
Writing at 0x00008000... (11 %)
Writing at 0x0000c000... (14 %)
Writing at 0x00010000... (18 %)
Writing at 0x00014000... (22 %)
Writing at 0x00018000... (25 %)
Writing at 0x0001c000... (29 %)
Writing at 0x00020000... (33 %)
Writing at 0x00024000... (37 %)
Writing at 0x00028000... (40 %)
Writing at 0x0002c000... (44 %)
Writing at 0x00030000... (48 %)
Writing at 0x00034000... (51 %)
Writing at 0x00038000... (55 %)
Writing at 0x0003c000... (59 %)
Writing at 0x00040000... (62 %)
Writing at 0x00044000... (66 %)
Writing at 0x00048000... (70 %)
Writing at 0x0004c000... (74 %)
Writing at 0x00050000... (77 %)
Writing at 0x00054000... (81 %)
Writing at 0x00058000... (85 %)
Writing at 0x0005c000... (88 %)
Writing at 0x00060000... (92 %)
Writing at 0x00064000... (96 %)
Writing at 0x00068000... (100 %)
Wrote 645184 bytes (432854 compressed) at 0x00000000 in 38.2 seconds (effective 135.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
============================================================================== [SUCCESS] Took 46.25 seconds ==============================================================================
--- Terminal on COM3 | 115200 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, esp8266_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
ffe feefeffe
3ffffe30�rl␀l�r␂$␒�n␌␌␌�␌l�␌b|��␂␇␒�r␒b�␌b␄�nn␂lnn2b␌b␜p�$b␎lrlp�n�␂␌␌�␌l␌�␂␌␌␌b␌n�n�␌�␄␌b��nn'l�␄l`␂�␒␒nn␌$`␂␎␂nr���n␌␌rr�`␂p�n0␂␌␌r�␜␜b␌␄␂␌b␌n�n␌␄␌b��nn'␌␄l`␂�␒␒nn␌$`␂␎␂nr���n␌␌r␒l`␂␎r��n␌␌r␒l`␂�␂␌␌l␌␂␌␄l`␂��n�`␂N: ␏
User exception (panic/abort/assert)
--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Unhandled C++ exception: OOM

>>>stack>>>

ctx: cont
sp: 3ffffc80 end: 3fffffc0 offset: 0000
3ffffc80:  3ffffc90 3ffffc90 00000008 4027d132
3ffffc90:  000000fe 00000000 00000000 00000000  
3ffffca0:  00000000 00000000 00000000 00000001
3ffffcb0:  00007fff 00000000 3fffb294 00000578
3ffffcc0:  000000f0 40220cae 00000578 4021fc12  
3ffffcd0:  000000f0 40220cae 00000020 4021fc31
3ffffce0:  40278aff 00000000 00000578 4021f220
3ffffcf0:  000000d1 3fffb2ec 3fffb2e4 40220cae
3ffffd00:  3fffa08e 0000002c 00000020 40101148  
3ffffd10:  40220358 40220330 40220344 000fa000
3ffffd20:  00300000 00001000 00002000 00000100
3ffffd30:  00000200 00000001 00000001 4027c0b2
3ffffd40:  3fffb53c 00000000 00000000 3fffa52c  
3ffffd50:  3fffa6b4 3fffb2ec 3fffb2e4 40220d6e
3ffffd60:  0001c200 3fffa3d8 3fffa6b4 402313f5
3ffffd70:  0001c200 3fffa3d8 3fffa074 40e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
e feefeffe feefeffe feefeffe
3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe fee3ffffdb0:  feefeffe feefeffe feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe
3ffffdc0:  feefeffe feefeffe feefeffe feefeffe
3ffffdd0:  feefeffe feefeffe feefeffe feefeffe
3ffffde0:  feefeffe feefeffe feefeffe feefeffe  
3ffffdf0:  feefeffe feefeffe feefeffe feefeffe
3ffffe00:  feefeffe feefeffe feefeffe feefeffe
3ffffe10:  feefeffe feefeffe feefeffe feefeffe  
3ffffe20:  feefeffe feefeffe feefeffe feefeffe
3ffffe30:  feefeffe feefeffe feefeffe feefeffe
3ffffe40:  feefeffe feefeffe feefeffe feefeffe  
3ffffe50:  feefeffe feefeffe feefeffe feefeffe
3ffffe60:  fffffffc 0000000a 3fffb524 402214bd
3ffffe70:  3fff38c8 4028725d 00000025 4021c5f7
3ffffe80:  feefeffe feefeffe feefeffe 3fffa52c  
3ffffe90:  00000002 00000001 00000020 40101148
3ffffea0:  402216f0 00000001 0000001c 40221842
3ffffeb0:  000000ff 00000100 0001c200 00000000  
3ffffec0:  00000000 000000ce 3ffe89dc 40100f3f
3ffffed0:  00000004 00000001 3fffa3d8 3fffa52c
3ffffee0:  00000000 00000001 3fffa3d8 4021c680  
3ffffef0:  00000000 00000000 3fffb524 40221a2d
3fffff00:  0001c200 0000001c 00000002 3fffa52c
3fffff10:  0001c200 3fffa3d8 3fffa074 402088a1
3fffff20:  feefeffe feefeffe feefeffe feefeffe  
3fffff30:  feefeffe feefeffe feefeffe feefeffe
3fffff40:  feefeffe feefeffe feefeffe feefeffe
3fffff50:  feefeffe feefeffe feefeffe feefeffe  
3fffff60:  feefeffe feefeffe feefeffe feefeffe
3fffff70:  feefeffe feefeffe feefeffe feefeffe
3fffff80:  feefeffe feefeffe feefeffe feefeffe
3fffff90:  feefeffe feefeffe feefeffe 3fffa52c  
3fffffa0:  3fffdad0 00000000 3fffa518 4021f4e8
3fffffb0:  feefeffe feefeffe 3ffe89d8 4010158d
<<<stack<<<

last failed alloc call: 40220CAE(1400)

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

last failed alloc caller: 0x40220cae

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

Did you try to erase the flash before the upload ?

Also, I suppose that you want to use an ESP8266 + an HM10 by the firmware chosen (nodemcuv2-ble) ?

Yup, I’ve done the erase first, then the upload.

And correct, I have an HM10 I’ll be hooking up, once I can get this thing stable.

Hi @thardie , would you mind trying with manual WiFi and MQTT broker credentials, circumventing the AP mode for setup, as the tight RAM might possibly be causing some issues. Is it a D1 Mini Pro you have?

For the direct manual setup add these flags to the existing nodemcuv2-ble environment

[env:nodemcuv2-ble]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.wifimanager8266}
  ${libraries.wire}
  ${libraries.esp8266_mdns}
  ${libraries.decoder}
build_flags =
  ${com-esp.build_flags}
  '-DESPWifiManualSetup=true'
  '-Dwifi_ssid="YOURWIFISSID"'
  '-Dwifi_password="YOURWIFIPASSWORD"'
  '-DMQTT_SERVER="192.168.x.x"'
  '-DMQTT_USER=""'
  '-DMQTT_PASS=""'
  '-DMQTT_PORT="1883"'
  '-DZgatewayBT="BT"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_BLE"'
board_build.flash_mode = dout

Trying that now on the NodeMCU. The D1 mini is not a pro - Does that mean it’s underspec’d and can’t do it?

Crashes (differently):

N: ␞N: WiFi ok with manual config credentials
N: BLE interval: 55555
N: BLE scans number before connect: 10
N: Publishing only BLE sensors: false
N: minrssi: 100

User exception (panic/abort/assert)
--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Unhandled C++ exception: OOM

>>>stack>>>

ctx: cont
sp: 3ffffe60 end: 3fffffc0 offset: 0000
3ffffe60:  fffffffc 3fff983c 3ffffe90 4021ee24
3ffffe70:  000000fe 00000000 00000000 00000000
3ffffe80:  00000000 00000000 00000000 00000001
3ffffe90:  00007fff 00000000 00000010 00000001
3ffffea0:  3fffb64c 40211e3f 00000a04 40215b2e
3ffffeb0:  3fffb64c 40211e3f 00000020 40215b4d  
3ffffec0:  3ffffee0 00000040 00000a04 40215138
3ffffed0:  40106465 00000281 3fff9278 40211e3f
3ffffee0:  40212948 0000007f 000005dc 0000075b
3ffffef0:  3ffe8719 3fff983c 3fff9278 40201dd4  
3fffff00:  00000040 00000000 0000075b 40215c56
3fffff10:  3fff95ec 3fff9568 3fff983c 402071bb
3fffff20:  4020844c 000f000f 4021e1ec 4021e1d0  
3fffff30:  feefeffe feefeffe feefeffe feefeffe
3fffff40:  feefeffe feefeffe feefeffe feefeffe
3fffff50:  feefeffe feefeffe feefeffe feefeffe  
3fffff60:  feefeffe feefeffe feefeffe feefeffe
3fffff70:  feefeffe feefeffe feefeffe feefeffe
3fffff80:  feefeffe 4021f814 ae77a8c0 feefeffe
3fffff90:  feefeffe feefeffe feefeffe 3fff9cf4  
3fffffa0:  3fffdad0 00000000 3fff9ce0 40215400
3fffffb0:  feefeffe feefeffe 3ffe89d4 4010158d
<<<stack<<<

last failed alloc call: 40211E3F(2564)

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

last failed alloc caller: 0x40211e3f

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 3460, room 16 
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v000866a0
~ld
N: ␞

:frowning:
wondering if it could be because there is not HM10 hooked up yet?!?

Do you have one already, or were you planing on getting one?

I just tried that to be sure (Hook up the HM10) and hooked it up and no change in behavior.

Maybe what I’m trying to do isn’t practical anyway.

The reason I’m not using an ESP32 is because the ESP32 uses the same radio to do Bluetooth and WiFi, which means for picking up BLE Beacons, you’ll miss some. I’m using this where I want to react very quickly (~ 2 seconds) to a BLE tag being near a receiver to open a door. I already have this working on a raspberry pi with code written in Python, but would love to simplify the solution.

My idea with using the ESP8266 and the HM10 is then I could have the HM10 listening for tags 100% of the time, and the ESP8266 handling the WiFi, so I wouldn’t miss any beacons.

Sorry to hear that, I’m puzzled as to what might be the cause, hopefully someone else with better understanding of the exceptions can chip in.

Generally my advice for an OMG BLE gateway would be an ESP32 thought, just for the fact the an ESP8266-HM10 is limited in the available BLE devices it supports, as can be looked up here

all the (1) device are Not supported with HM10.

I totally understand your need here, and for exactly such scenarios, and also BLE contact sensors, motion sensors etc. which are time critical there is the

esp32dev-ble-cont

(BLE gateway with continuous scanning, suitable in particular for door and window BLE sensors (and all the others))

environment :slight_smile:

I tried that build on an ESP32. It still misses beacons that my python based one (running on a Raspberry Pi with a USB Bluetooth receiver) picks up (I run them side-by-side).

The error here is quite simply this:

Not enough ram.

For this use, I would suggest downgrading the decoder version to a less ram intensive one unless the new devices added to it need to be detected.

I’m confused. I’m using a device on the supported list, with a build from the standard tree. Is this device no longer supported? (NodeMCUv2)?

Unfortunately it seems it has reached that stage where the NodeMCU together with the HM10 as a BLE gateway, with the more RAM intensive latest Decoder library, just recently released, has hit its feasibility limit.

As suggested above, please try with a previous version 0.5.0, or even 0.4.0 of Theengs Decoder. In platformio.ini just change the Decoder URL from

decoder = https://github.com/theengs/decoder.git#v0.6.2

to

decoder = https://github.com/theengs/decoder.git#v0.5.0

or

decoder = https://github.com/theengs/decoder.git#v0.4.0

You can see which additional devices have been added for later versions on the release page

For you beacon detection earlier versions should be fine.

Have you tried adjusting the settings of that environment? Especially depending on the broadcast interval of your beacons, if you know them all, or even adjusting the beacons’ broadcast interval if you have access?

Also, are all you beacons the same type, e.g. with iBeacon protocol?

Also white-listing only the relevant beacons, again if feasible, for such an implementation would take a load off, not having to process and publish any other BLE devices around.

Just out of curiosity, do you use an rssi limit to deduct how far away the beacons are from the door? As otherwise beacons within a large radius would trigger the door constantly. And do you only apply that rssi limit after the beacon recognition has been published to MQTT. Here the MinimumRSSI flag could also be helpful for optimised distance related beacon recognition directly in OMG.

Just some ideas for how an ESP32 continuous build should still work fine for you, but as mentioned above, your ESP8266/HM10 combo with an earlier Decoder build should be the best solution for your preferred hardware.

Another option is to offload the decoder by setting '-DMQTTDecodeTopic="YOUR_TOPIC"' in your build flags.

It requires using theengs gateway setup to subscribe to the topic you provide in order to decode messages. It will work to effectively disable the decoder if you don’t need that functionality as well if you don’t have theengs gateway setup.

1 Like

Unfortunately, I’m not sure that the ESP8266 + HM10 + OMG will best fit your use case.
The current HM10 implementation was more designed for reading a sensor every minute or more.

The ESP32 implementation is more optimized for continuous scanning, and by tweaking the parameters, you will have better luck in my point of view.

The beacons broadcast on a 2 second interval. I’m not sure if they use the iBeacon protocol. The OpenMQTTGateway (esp32 ble continuous scanning version) does pick them up, just not at the same frequency that my python based one does. It misses more than half of them with the tag just a foot away from the ESP32.

As for triggering, yes, I use the RSSI. I currently have my python code reporting which receiver, MAC of the tag and RSSI. Then Home Assistant decides whether to send a signal to open a door. The door is a motorized doggy door, and it’s how my dog gets in and out of the house. She gets quite upset at the door if it doesn’t open in ~ 2 seconds :slight_smile:

1 Like

I played around with hookup up an ethernet port to an ESP32 and got it mostly working. What’s the best way to do this with OpenMQTTGateway (since esp32 in BLE continuous mode will have no WiFi connectivity)