Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wifi connection Problem #1147

Closed
stickbreaker opened this issue Feb 24, 2018 · 10 comments

Comments

Projects
None yet
3 participants
@stickbreaker
Copy link
Contributor

commented Feb 24, 2018

Hardware:

Board: WeMos bluetooth & battery
Core Installation/update date: 28/nov/2017
IDE name: Arduino IDE 1.8/5
Flash Frequency: 80Mhz
Upload Speed: 921600

Description:

Could not connect to WiFi router. Debug level set to ERROR, The sketch I was testing uses:

#include <WiFi.h>
#include <PubSubClient.h>
#include <OneWire.h>
#include <SensorAverage.h>
#include "mqtt.h"
#include <ESPmDNS.h>

This sketch has be working unchanged for 2 months.

Sketch: Just the WiFi reconnect/connect code.

void setup_wifi() {
  uint16_t count=0;
  delay(10);
  // We start by connecting to a WiFi network
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  if(!sta_was_connected) WiFi.begin(ssid, password); //sta_was_connected is global, init'd to false.
  else WiFi.reconnect();
  while ((WiFi.status() != WL_CONNECTED)&&(count<30)) {
    delay(500);
    count++;
    if(Serial.available()){
      Serial.printf("WiFi.status=%d\n",WiFi.status());
      Serial.read();
      }
    else Serial.print(".");
    }
  sta_was_connected = WiFi.status()==WL_CONNECTED;
  randomSeed(micros());
  if(sta_was_connected){
    Serial.println("");
    Serial.println("WiFi connected");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
    
    if (!MDNS.begin("ESP32_sensor")) {
      Serial.println("Error setting up MDNS responder!");
      while(1){
        delay(1000);
        }
      }

    }
  else {
    Serial.println("");
    Serial.printf("WiFi Connection Failed, status=%d",WiFi.status());
    }
}

Function always failing with WiFi.status == WL_NO_SSID_AVAIL = 1.

Uploaded WifiScan example. with Debug Level set to DEBUG, Scan reported 4 visible WiFi networks:

D][WiFiGeneric.cpp:293] _eventCallback(): Event: 2 - STA_START
Setup done
scan start
[D][WiFiGeneric.cpp:293] _eventCallback(): Event: 1 - SCAN_DONE
scan done
4 networks found
1: Belkin.464C (-79)*
2: todd (-86)*
3: Guest5323 (-89)*
4: TP-LINK_D2A4 (-89)*

Re upload original sketch, with Debug set to DEBUG Now it works?

Connecting to Belkin.464C
[D][WiFiGeneric.cpp:293] _eventCallback(): Event: 2 - STA_START
.[D][WiFiGeneric.cpp:293] _eventCallback(): Event: 4 - STA_CONNECTED
[D][WiFiGeneric.cpp:293] _eventCallback(): Event: 7 - STA_GOT_IP
.
WiFi connected
IP address: 
192.168.2.19
Scanning oneWire
os(0x3ffdbe94) id=0x28 0xff 0xb8 0x68 0x00 0x17 0x03 0xd5 , pin=17, to=0
os(0x3ffdbea4) id=0x28 0xff 0x8e 0x38 0x00 0x17 0x05 0xc8 , pin=17, to=0
Attempting MQTT connection to GX270 ...connected
8240 temp(0) 16.18 1618
8240 temp(1) 19.81 1981

re Upload sketch with Debug set to ERROR:

Connecting to Belkin.464C
..
WiFi connected
IP address: 
192.168.2.19
Scanning oneWire
os(0x3ffdbd28) id=0x28 0xff 0xb8 0x68 0x00 0x17 0x03 0xd5 , pin=17, to=0
os(0x3ffdbd38) id=0x28 0xff 0x8e 0x38 0x00 0x17 0x05 0xc8 , pin=17, to=0
Attempting MQTT connection to GX270 ...connected
8184 temp(0) 16.18 1618
8184 temp(1) 19.75 1975

Now it is correctly working? What did uploading WifiScan fix? Or was it changing the Debug level up then down?

I can't replicated the problem now. I had not been able to get this Mqtt sketch to connect for 4 days? I Upload it at the end of my I2C work day as a play toy for my Node-RED server.

Does anyone know what went wrong? or how to reset the WiFi stuff. I tried power cycling, manual reset, loading other scripts.

Chuck.

@lbernstone

This comment has been minimized.

Copy link
Contributor

commented Feb 24, 2018

Could be that nvs got corrupted? It would be interesting to know if nvs_flash_init(); nvs_flash_erase(); would clear it up.

@stickbreaker

This comment has been minimized.

Copy link
Contributor Author

commented Feb 24, 2018

@lbernstone If I can get it to fail again, I'll try.
What do I actually need to actually code? Doing a quick google search show me that NVS is part of IDF. I looked through readthedocs but could not find a NVS_list().

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "nvs_flash.h"
#include "nvs.h"

void app_main()
{
    // Initialize NVS
    esp_err_t err = nvs_flash_init();
    if (err == ESP_ERR_NVS_NO_FREE_PAGES) {
        // NVS partition was truncated and needs to be erased
        // Retry nvs_flash_init
        ESP_ERROR_CHECK(nvs_flash_erase());
        err = nvs_flash_init();
    }
    ESP_ERROR_CHECK( err );

Chuck.

@lbernstone

This comment has been minimized.

Copy link
Contributor

commented Feb 25, 2018

They seem to have done some security through obscurity on the nvs. I think the "secret" keys and namespace for wifi will need to be provided by someone from Espressif (@igrr ). There is a wrapper for the nvs functions in arduino, so you can use them right in arduino code. The following will wipe all the nvs keys:

#include <nvs.h>
#include <nvs_flash.h>
void setup() {
    int err;
    err=nvs_flash_init();
    Serial.println("nvs_flash_init: " + err);
    err=nvs_flash_erase();
    Serial.println("nvs_flash_erase: " + err);
 }
@lbernstone

This comment has been minimized.

Copy link
Contributor

commented Feb 25, 2018

Hmm, a little googling came up with this: https://github.com/Edzelf/ESP32-Show_nvs_keys

@stickbreaker

This comment has been minimized.

Copy link
Contributor Author

commented Feb 25, 2018

@lbernstone I'll play around with ESP32-Show_nvs_keys, I'll have to mod it. As written, it does not show all namespaces, only it's namespace_ID = FindNsID ( nvs, "ESP32Radio" ) ; ESP32Radio. Shouldn't be too hard to remove the conditional. and just directly scan it.

Chuck.

@lbernstone

This comment has been minimized.

Copy link
Contributor

commented Feb 25, 2018

I'm playing with it too, but it sure looks like it is showing all the namespaces. I don't have a ESP32Radio namespace on my device, and it is showing a whole lot of keys.

@stickbreaker

This comment has been minimized.

Copy link
Contributor Author

commented Feb 25, 2018

@lbernstone I'm part way through rewriting that example show_nvs_keys.


D: Partition nvs found, 20480 bytes
NameSpaces existing in NVS
            misc = 1
    nvs.net80211 = 2
             phy = 3


NameSpace:             misc = 1
001: 1 type:BLOB key=log data=size:0010
02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
056: 1 type:072 key=�H�H	H
H�HH
H�H�H�H�H�H�H8H9H:H;H<H=H data=00000000481a4819
061: 1 type:084 key=�X�X�X�X data=000000005c055c04
021: 1 type:000 key=⸮��@>`�@0�� data=0000000031313330
002: 2 type:000 key= data=00000000ffff0010

NameSpace:     nvs.net80211 = 2
005: 2 type:U8   key=country data=0
011: 2 type:U8   key=sta.authmode data=1
016: 2 type:BLOB key=sta.pmk data=size:0020
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
019: 2 type:U8   key=auto.conn data=1
023: 2 type:U8   key=sta.phym data=3
024: 2 type:U8   key=sta.phybw data=2
050: 2 type:BLOB key=ap.ssid data=size:0024
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff                                      ....            
055: 2 type:BLOB key=ap.passwd data=size:0041
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff                                               .               
059: 2 type:BLOB key=ap.pmk data=size:0020
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
061: 2 type:U8   key=ap.chan data=1
062: 2 type:U8   key=ap.authmode data=0
063: 2 type:U8   key=ap.hidden data=0
064: 2 type:U8   key=ap.max.conn data=4
065: 2 type:U16  key=bcn.interval data=100
066: 2 type:U8   key=ap.phym data=3
067: 2 type:U8   key=ap.phybw data=2
068: 2 type:U8   key=ap.sndchan data=1
005: 2 type:BLOB key=sta.ssid data=size:0024
0b 00 00 00 42 65 6c 6b 69 6e 2e 34 36 34 43 00  ....Belkin.464C.
a5 a5 a5 a5 a5 a5 a5 a5 d0 13 08 40 3e 60 08 40  ...........@>`.@
30 05 06 00                                      0...            
008: 2 type:BLOB key=sta.pswd data=size:0041
35 34 41 39 30 33 31 31 00 00 00 00 00 00 00 00  54A90311........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00                                               .               
012: 2 type:U8   key=bssid.set data=0
013: 2 type:U8   key=sta.scan_method data=0
014: 2 type:U8   key=sta.sort_method data=0
015: 2 type:I8   key=sta.minrssi data=129
016: 2 type:U8   key=sta.minauth data=0
017: 2 type:BLOB key=sta.apsw data=size:0002
05 00                                            ..              
120: 2 type:U8   key=sta.chan data=11
058: 2 type:000 key=������������	�
� data=0000000030013000
000: 2 type:BLOB key=sta.bssid data=size:0006
00 00 00 00 00 00                                ......          
002: 2 type:BLOB key=sta.apinfo data=size:02bc
0b 00 00 00 42 65 6c 6b 69 6e 2e 34 36 34 43 00  ....Belkin.464C.
a5 a5 a5 a5 a5 a5 a5 a5 d0 13 08 40 3e 60 08 40  ...........@>`.@
30 05 06 00 35 34 41 39 30 33 31 31 00 00 00 00  0...54A90311....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff 0b 0b 00 00 00  ................
42 65 6c 6b 69 6e 2e 34 36 34 43 00 01 00 00 00  Belkin.464C.....
0a 00 00 00 d0 13 08 40 3e 60 08 40 30 08 06 00  .......@>`.@0...
35 34 41 39 30 33 31 31 00 00 00 00 00 00 00 00  54A90311........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 34 fc 3f 74 35 fc ff ff ff ff ff ff ff ff ff  .4.?t5..........
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff 0b 0b 00 00 00 42 65 6c 6b  ............Belk
69 6e 2e 34 36 34 43 00 01 00 00 00 0a 00 00 00  in.464C.........
d0 13 08 40 3e 60 08 40 30 08 06 00 35 34 41 39  ...@>`.@0...54A9
30 33 31 31 00 00 00 00 00 00 00 00 00 00 00 00  0311............
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 34 fc 3f  .............4.?
74 35 fc ff ff ff ff ff ff ff ff ff ff ff ff ff  t5..............
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff 0b 0b 00 00 00 42 65 6c 6b 69 6e 2e 34  ........Belkin.4
36 34 43 00 00 00 00 00 70 4f fd 3f d0 13 08 40  64C.....pO.?...@
3e 60 08 40 30 0a 06 00 35 34 41 39 30 33 31 31  >`.@0...54A90311
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 34 fc 3f 74 35 fc ff  .........4.?t5..
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0b  ................
0b 00 00 00 42 65 6c 6b 69 6e 2e 34 36 34 43 00  ....Belkin.464C.
01 00 00 00 0a 00 00 00 d0 13 08 40 3e 60 08 40  ...........@>`.@
30 0e 06 00 35 34 41 39 30 33 31 31 00 00 00 00  0...54A90311....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 34 fc 3f 74 35 fc ff ff ff ff ff  .....4.?t5......
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff 0b              ............    
025: 2 type:BLOB key=sta.mac data=size:0006
30 ae a4 27 ee 48                                0..'.H          
027: 2 type:BLOB key=ap.mac data=size:0006
30 ae a4 27 ee 49                                0..'.I          
030: 2 type:U8   key=opmode data=1

NameSpace:              phy = 3
000: 3 type:U32  key=cal_version data=366
001: 3 type:BLOB key=cal_mac data=size:0006
30 ae a4 27 ee 48                                0..'.H          
014: 3 type:BLOB key=cal_data data=size:0770
00 00 00 00 00 00 00 00 00 00 00 00 6a 88 30 00  ............j.0.
00 00 00 00 49 4b 00 00 6a 88 30 00 88 08 00 00  ....IK..j.0.....
49 4b 00 00 6a 88 30 00 11 11 00 00 49 4b 00 00  IK..j.0.....IK..
6a 88 30 00 99 19 00 00 49 4b 00 00 6a 88 30 00  j.0.....IK..j.0.
22 22 00 00 49 4b 00 00 68 88 30 00 ab 2a 00 00  ""..IK..h.0..*..
49 4b 00 00 68 88 30 00 33 33 00 00 49 4b 00 00  IK..h.0.33..IK..
68 88 30 00 bb 3b 00 00 49 4b 00 00 68 88 30 00  h.0..;..IK..h.0.
44 44 00 00 49 4b 00 00 68 88 30 00 cd 4c 00 00  DD..IK..h.0..L..
49 4b 00 00 68 88 30 00 55 55 00 00 49 4b 00 00  IK..h.0.UU..IK..
68 88 30 00 de 5d 00 00 49 4b 00 00 66 88 30 fe  h.0..]..IK..f.0.
66 66 00 00 49 4b 00 00 66 88 30 00 ef 6e 00 00  ff..IK..f.0..n..
49 4b 00 00 66 88 30 00 77 77 00 00 49 4b 00 00  IK..f.0.ww..IK..
66 88 30 00 00 80 00 00 49 4b 00 00 65 88 30 00  f.0.....IK..e.0.
88 88 00 00 49 4b 00 00 64 88 30 00 11 91 00 00  ....IK..d.0.....
49 4b 00 00 64 88 30 00 99 99 00 00 49 4b 00 00  IK..d.0.....IK..
64 88 30 00 22 a2 00 00 49 4b 00 00 64 88 30 00  d.0."...IK..d.0.
ab aa 00 00 49 4b 00 00 64 88 30 00 33 b3 00 00  ....IK..d.0.3...
49 4b 00 00 64 88 30 00 bb bb 00 00 49 4b 00 00  IK..d.0.....IK..
64 88 30 00 44 c4 00 00 49 4b 00 00 64 88 30 00  d.0.D...IK..d.0.
cd cc 00 00 49 4b 00 00 62 88 30 00 55 d5 00 00  ....IK..b.0.U...
48 4b 00 00 62 88 30 00 de dd 00 00 48 4b 00 00  HK..b.0.....HK..
62 88 30 00 66 e6 00 00 48 4b 00 00 62 88 30 00  b.0.f...HK..b.0.
ef ee 00 00 48 4b 00 00 62 88 30 00 77 f7 00 00  ....HK..b.0.w...
48 4b 00 00 62 88 31 00 00 00 00 00 48 4b 00 00  HK..b.1.....HK..
62 88 31 00 88 08 00 00 48 4b 00 00 62 88 31 00  b.1.....HK..b.1.
11 11 00 00 48 4b 00 00 60 88 31 00 99 19 00 00  ....HK..`.1.....
48 4a 00 00 60 88 31 00 22 22 00 00 48 4a 00 00  HJ..`.1.""..HJ..
60 88 31 00 ab 2a 00 00 48 4a 00 00 60 88 31 00  `.1..*..HJ..`.1.
33 33 00 00 48 4a 00 00 60 88 31 00 bb 3b 00 00  33..HJ..`.1..;..
48 4a 00 00 60 88 31 00 44 44 00 00 48 4a 00 00  HJ..`.1.DD..HJ..
60 88 31 00 cd 4c 00 00 48 4a 00 00 60 88 31 00  `.1..L..HJ..`.1.
55 55 00 00 48 4a 00 00 5e 88 31 00 de 5d 00 00  UU..HJ..^.1..]..
48 4a 00 00 5e 88 31 00 66 66 00 00 48 4a 00 00  HJ..^.1.ff..HJ..
5e 88 31 00 ef 6e 00 00 48 4a 00 00 5e 88 31 00  ^.1..n..HJ..^.1.
77 77 00 00 48 4a 00 00 5e 88 31 00 00 80 00 00  ww..HJ..^.1.....
48 4a 00 00 5c 88 31 00 88 88 00 00 48 4a 00 00  HJ..\.1.....HJ..
5c 88 31 00 11 91 00 00 48 4a 00 00 5c 88 31 00  \.1.....HJ..\.1.
99 99 00 00 48 4a 00 00 5c 88 31 00 22 a2 00 00  ....HJ..\.1."...
48 4a 00 00 5c 88 31 00 ab aa 00 00 48 4a 00 00  HJ..\.1.....HJ..
5c 88 31 00 33 b3 00 00 48 4a 00 00 5c 88 31 00  \.1.3...HJ..\.1.
bb bb 00 00 48 4a 00 00 5c 88 31 00 44 c4 00 00  ....HJ..\.1.D...
48 4a 00 00 5c 88 31 00 cd cc 00 00 48 4a 00 00  HJ..\.1.....HJ..
5a 88 31 00 55 d5 00 00 48 4a 00 00 5a 88 31 00  Z.1.U...HJ..Z.1.
de dd 00 00 48 4a 00 00 5a 88 31 00 66 e6 00 00  ....HJ..Z.1.f...
48 4a 00 00 5a 88 31 00 ef ee 00 00 48 4a 00 00  HJ..Z.1.....HJ..
5a 88 31 00 77 f7 00 00 48 4a 00 00 5a 88 32 00  Z.1.w...HJ..Z.2.
00 00 00 00 48 4a 00 00 5a 88 32 00 88 08 00 00  ....HJ..Z.2.....
48 4a 00 00 59 88 32 ff 11 11 00 00 48 4a 00 00  HJ..Y.2.....HJ..
58 88 32 00 99 19 00 00 47 49 00 00 58 88 32 00  X.2.....GI..X.2.
22 22 00 00 47 49 00 00 58 88 32 00 ab 2a 00 00  ""..GI..X.2..*..
47 49 00 00 58 88 32 00 33 33 00 00 47 49 00 00  GI..X.2.33..GI..
58 88 32 00 bb 3b 00 00 47 49 00 00 58 88 32 00  X.2..;..GI..X.2.
44 44 00 00 47 49 00 00 58 88 32 00 cd 4c 00 00  DD..GI..X.2..L..
47 49 00 00 58 88 32 00 55 55 00 00 47 49 00 00  GI..X.2.UU..GI..
58 88 32 00 de 5d 00 00 47 49 00 00 56 88 32 00  X.2..]..GI..V.2.
66 66 00 00 47 49 00 00 56 88 32 00 ef 6e 00 00  ff..GI..V.2..n..
47 49 00 00 56 88 32 00 77 77 00 00 47 49 00 00  GI..V.2.ww..GI..
56 88 32 00 00 80 00 00 47 49 00 00 54 88 32 00  V.2.....GI..T.2.
88 88 00 00 47 49 00 00 54 88 32 00 11 91 00 00  ....GI..T.2.....
47 49 00 00 54 88 32 00 99 99 00 00 47 49 00 00  GI..T.2.....GI..
54 88 32 00 22 a2 00 00 47 49 00 00 54 88 32 00  T.2."...GI..T.2.
ab aa 00 00 47 49 00 00 54 88 32 00 33 b3 00 00  ....GI..T.2.3...
47 49 00 00 54 88 32 00 bb bb 00 00 47 49 00 00  GI..T.2.....GI..
54 88 32 00 44 c4 00 00 47 49 00 00 53 88 32 ff  T.2.D...GI..S.2.
cd cc 00 00 47 49 00 00 00 00 00 00 f8 ff ff 00  ....GI..........
00 00 00 00 00 00 00 00 ff 00 f9 00 00 01 01 01  ................
fe 00 f8 00 ff 00 01 01 fe 00 f9 00 fe 00 fe 00  ................
fe 00 f8 00 fd 00 fe 00 fe 00 f8 00 fd 00 fc 00  ................
c4 07 c2 07 00 00 c0 07 c0 07 80 07 0f 07 03 0f  ................
07 03 0b 07 03 0b 07 02 02 00 85 fe 28 0b 00 00  ............(...
46 46 18 18 5a 5a 4e 48 42 3c 38 34 ed f9 02 09  FF..ZZNHB<84....
0d 11 f2 fd 05 0b 10 14 f5 ff 07 0d 11 15 f9 02  ................
09 10 14 18 70 70 71 72 73 79 77 7b 7f 2b 1f 29  ....ppqrsyw{�+.)
29 25 2b 25 27 25 25 00 fe fe 02 04 20 00 02 00  )%+%'%%..... ...
83 07 c2 07 fd 00 fb 00 ff 00 ff 00 fb 00 fa 00  ................
02 01 01 01 fb 00 fa 00 02 01 00 01 51 3e 85 fe  ............Q>..
00 00 00 00 00 00 00 00 7f 00 30 00 7c fa 77 0b  ........�.0.|.w.
00 00 01 00 02 00 03 00 04 00 00 04 01 04 02 04  ................
03 04 04 04 05 04 08 04 09 04 0a 04 00 30 01 30  .............0.0
02 30 03 30 04 30 05 30 00 34 01 34 02 34 03 34  .0.0.0.0.4.4.4.4
04 34 00 38 01 38 02 38 00 40 01 40 02 40 03 40  .4.8.8.8.@.@.@.@
04 40 05 40 00 44 01 44 02 44 03 44 04 44 00 48  .@.@.D.D.D.D.D.H
01 48 02 48 03 48 04 48 05 48 08 48 09 48 0a 48  .H.H.H.H.H.H.H.H
0b 48 0c 48 0d 48 18 48 19 48 1a 48 1b 48 1c 48  .H.H.H.H.H.H.H.H
1d 48 38 48 39 48 3a 48 3b 48 3c 48 3d 48 00 00  .H8H9H:H;H<H=H..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00  ................
02 00 03 00 04 00 00 04 01 04 02 04 03 04 04 04  ................
05 04 08 04 09 04 0a 04 00 30 01 30 02 30 03 30  .........0.0.0.0
04 30 05 30 00 34 01 34 02 34 03 34 04 34 00 38  .0.0.4.4.4.4.4.8
01 38 02 38 00 40 01 40 02 40 03 40 04 40 05 40  .8.8.@.@.@.@.@.@
00 44 01 44 02 44 03 44 04 44 00 48 01 48 02 48  .D.D.D.D.D.H.H.H
03 48 00 50 01 50 02 50 03 50 04 50 05 50 00 54  .H.P.P.P.P.P.P.T
01 54 02 54 03 54 00 58 01 58 02 58 03 58 04 58  .T.T.T.X.X.X.X.X
00 5c 01 5c 02 5c 03 5c 04 5c 05 5c 08 5c 09 5c  .\.\.\.\.\.\.\.\
0a 5c 0b 5c 0c 5c 0d 5c 18 5c 19 5c 1a 5c 1b 5c  .\.\.\.\.\.\.\.\
1c 5c 1d 5c 38 5c 39 5c 3a 5c 3b 5c 3c 5c 3d 5c  .\.\8\9\:\;\<\=\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
3e 01 af 00 47 01 aa 00 3f 01 ad 00 3f 01 aa 00  >...G...?...?...
3f 01 aa 00 3f 01 aa 00 42 01 a3 00 42 01 a3 00  ?...?...B...B...
10 01 ea 00 13 01 e7 00 13 01 e7 00 13 01 e7 00  ................
13 01 e7 00 10 01 e7 00 10 01 e7 00 10 01 e7 00  ................
10 01 e3 00 10 01 dd 00 10 01 d4 00 06 01 c4 00  ................
06 01 c4 00 0a 01 c4 00 0a 01 c4 00 0a 01 c4 00  ................
03 01 c4 00 06 01 c0 00 0a 01 c0 00 0e 01 c0 00  ................
14 01 c0 00 18 01 c0 00 06 01 bc 00 0a 01 bc 00  ................
17 01 bc 00 c4 00 ef 00 c2 00 ec 00 c4 00 ec 00  ................
c4 00 ec 00 c4 00 ec 00 c7 00 ec 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

still kinda messy

Chuck.

@stickbreaker

This comment has been minimized.

Copy link
Contributor Author

commented Feb 25, 2018

@lbernstone You are correct to blame NVS.
I have spent the day working through validating my NVS partition, It is hosed!

Partition nvs found, 20480 bytes
page[0].State=0xfffffffc INIT FULL  means FULL Seqnr=0
page[1].State=0xfffffffe INIT  means ACTIVE Sequence value InValid: page[1].Seqnr=5663 
page[2].State=0xffffffff  means UNINITIALIZED  Page[2] not active, State = 0xffffffff Seqnr=4294967295 
page[3].State=0xfffffffc INIT FULL  means FULL Sequence value InValid: page[3].Seqnr=183 
page[4].State=0xfffffffc INIT FULL  means FULL Sequence value InValid: page[4].Seqnr=5662 

The sequence number for the nvs pages are corrupt. The sequence values must fit in the nvs Partions (0..4). One page must be left blank to all copying on reuse/modification. It looks to me that page[2] is the current blank page. I manually created an inuse/translation index:

Page 0 -> 0
Page 1 -> 1
Page 2 -> 3
Page 3 -> 4
Page 4 -> 255

Logical page 4 is marked as inactive. Logical page 2 points to sector 3.
Here is what I read with that mapping:


NameSpace:            misc 
0-001:            log type:BLOB data=size:0010
02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

NameSpace:    nvs.net80211 
0-005:        country type:U8   data=0
0-011:   sta.authmode type:U8   data=1
0-016:        sta.pmk type:BLOB data=size:0020
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0-019:      auto.conn type:U8   data=1
0-023:       sta.phym type:U8   data=3
0-024:      sta.phybw type:U8   data=2
0-050:        ap.ssid type:BLOB data=size:0024
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff                                      ....            
0-055:      ap.passwd type:BLOB data=size:0041
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff                                               .               
0-059:         ap.pmk type:BLOB data=size:0020
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0-061:        ap.chan type:U8   data=1
0-062:    ap.authmode type:U8   data=0
0-063:      ap.hidden type:U8   data=0
0-064:    ap.max.conn type:U8   data=4
0-065:   bcn.interval type:U16  data=100
0-066:        ap.phym type:U8   data=3
0-067:       ap.phybw type:U8   data=2
0-068:     ap.sndchan type:U8   data=1
1-034:      sta.bssid type:BLOB data=size:0006
34 fc 3f 74 35 fc                                4.?t5.          
1-067:       sta.ssid type:BLOB data=size:0024
0b 00 00 00 42 65 6c 6b 69 6e 2e 34 36 34 43 00  ....Belkin.464C.
01 00 00 00 0a 00 00 00 d0 13 08 40 3e 60 08 40  ...........@>`.@
30 04 06 00                                      0...            
1-070:       sta.pswd type:BLOB data=size:0041
35 34 41 39 30 33 31 31 00 00 00 00 00 00 00 00  54A90311........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00                                               .               
1-074:      bssid.set type:U8   data=0
1-075:sta.scan_method type:U8   data=0
1-076:sta.sort_method type:U8   data=1
1-077:    sta.minrssi type:I8   data=246
1-079:       sta.apsw type:BLOB data=size:0002
05 00                                            ..              
1-081:     sta.apinfo type:BLOB data=size:02bc
0b 00 00 00 42 65 6c 6b 69 6e 2e 34 36 34 43 00  ....Belkin.464C.
01 00 00 00 0a 00 00 00 d0 13 08 40 3e 60 08 40  ...........@>`.@
30 04 06 00 35 34 41 39 30 33 31 31 00 00 00 00  0...54A90311....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 34 fc 3f 74 35 fc ff ff ff ff ff  .....4.?t5......
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff 0b 0b 00 00 00  ................
42 65 6c 6b 69 6e 2e 34 36 34 43 00 01 00 00 00  Belkin.464C.....
0a 00 00 00 d0 13 08 40 3e 60 08 40 30 0e 06 00  .......@>`.@0...
35 34 41 39 30 33 31 31 00 00 00 00 00 00 00 00  54A90311........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 34 fc 3f 74 35 fc ff ff ff ff ff ff ff ff ff  .4.?t5..........
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff 0b 0b 00 00 00 42 65 6c 6b  ............Belk
69 6e 2e 34 36 34 43 00 01 00 00 00 0a 00 00 00  in.464C.........
d0 13 08 40 3e 60 08 40 30 0e 06 00 35 34 41 39  ...@>`.@0...54A9
30 33 31 31 00 00 00 00 00 00 00 00 00 00 00 00  0311............
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 34 fc 3f  .............4.?
74 35 fc ff ff ff ff ff ff ff ff ff ff ff ff ff  t5..............
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff 0b 0b 00 00 00 42 65 6c 6b 69 6e 2e 34  ........Belkin.4
36 34 43 00 01 00 00 00 0a 00 00 00 d0 13 08 40  64C............@
3e 60 08 40 30 04 06 00 35 34 41 39 30 33 31 31  >`.@0...54A90311
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 34 fc 3f 74 35 fc ff  .........4.?t5..
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0b  ................
0b 00 00 00 42 65 6c 6b 69 6e 2e 34 36 34 43 00  ....Belkin.464C.
01 00 00 00 0a 00 00 00 d0 13 08 40 3e 60 08 40  ...........@>`.@
30 0e 06 00 35 34 41 39 30 33 31 31 00 00 00 00  0...54A90311....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 34 fc 3f 74 35 fc ff ff ff ff ff  .....4.?t5......
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff 0b              ............    
1-104:    sta.minauth type:U8   data=0
1-105:        sta.mac type:BLOB data=size:0006
30 ae a4 27 ee 48                                0..'.H          
1-107:         ap.mac type:BLOB data=size:0006
30 ae a4 27 ee 49                                0..'.I          
1-110:         opmode type:U8   data=1
3-004:       sta.chan type:U8   data=11

NameSpace:             phy 
1-000:    cal_version type:U32  data=366
1-001:        cal_mac type:BLOB data=size:0006
30 ae a4 27 ee 48                                0..'.H          
2-014:       cal_data type:BLOB data=size:0770
00 00 00 00 00 00 00 00 00 00 00 00 6a 88 30 00  ............j.0.
00 00 00 00 49 4b 00 00 6a 88 30 00 88 08 00 00  ....IK..j.0.....
49 4b 00 00 6a 88 30 00 11 11 00 00 49 4b 00 00  IK..j.0.....IK..
6a 88 30 00 99 19 00 00 49 4b 00 00 6a 88 30 00  j.0.....IK..j.0.
22 22 00 00 49 4b 00 00 68 88 30 00 ab 2a 00 00  ""..IK..h.0..*..
49 4b 00 00 68 88 30 00 33 33 00 00 49 4b 00 00  IK..h.0.33..IK..
68 88 30 00 bb 3b 00 00 49 4b 00 00 68 88 30 00  h.0..;..IK..h.0.
44 44 00 00 49 4b 00 00 68 88 30 00 cd 4c 00 00  DD..IK..h.0..L..
49 4b 00 00 68 88 30 00 55 55 00 00 49 4b 00 00  IK..h.0.UU..IK..
68 88 30 00 de 5d 00 00 49 4b 00 00 66 88 30 fe  h.0..]..IK..f.0.
66 66 00 00 49 4b 00 00 66 88 30 00 ef 6e 00 00  ff..IK..f.0..n..
49 4b 00 00 66 88 30 00 77 77 00 00 49 4b 00 00  IK..f.0.ww..IK..
66 88 30 00 00 80 00 00 49 4b 00 00 65 88 30 00  f.0.....IK..e.0.
88 88 00 00 49 4b 00 00 64 88 30 00 11 91 00 00  ....IK..d.0.....
49 4b 00 00 64 88 30 00 99 99 00 00 49 4b 00 00  IK..d.0.....IK..
64 88 30 00 22 a2 00 00 49 4b 00 00 64 88 30 00  d.0."...IK..d.0.
ab aa 00 00 49 4b 00 00 64 88 30 00 33 b3 00 00  ....IK..d.0.3...
49 4b 00 00 64 88 30 00 bb bb 00 00 49 4b 00 00  IK..d.0.....IK..
64 88 30 00 44 c4 00 00 49 4b 00 00 64 88 30 00  d.0.D...IK..d.0.
cd cc 00 00 49 4b 00 00 62 88 30 00 55 d5 00 00  ....IK..b.0.U...
48 4b 00 00 62 88 30 00 de dd 00 00 48 4b 00 00  HK..b.0.....HK..
62 88 30 00 66 e6 00 00 48 4b 00 00 62 88 30 00  b.0.f...HK..b.0.
ef ee 00 00 48 4b 00 00 62 88 30 00 77 f7 00 00  ....HK..b.0.w...
48 4b 00 00 62 88 31 00 00 00 00 00 48 4b 00 00  HK..b.1.....HK..
62 88 31 00 88 08 00 00 48 4b 00 00 62 88 31 00  b.1.....HK..b.1.
11 11 00 00 48 4b 00 00 60 88 31 00 99 19 00 00  ....HK..`.1.....
48 4a 00 00 60 88 31 00 22 22 00 00 48 4a 00 00  HJ..`.1.""..HJ..
60 88 31 00 ab 2a 00 00 48 4a 00 00 60 88 31 00  `.1..*..HJ..`.1.
33 33 00 00 48 4a 00 00 60 88 31 00 bb 3b 00 00  33..HJ..`.1..;..
48 4a 00 00 60 88 31 00 44 44 00 00 48 4a 00 00  HJ..`.1.DD..HJ..
60 88 31 00 cd 4c 00 00 48 4a 00 00 60 88 31 00  `.1..L..HJ..`.1.
55 55 00 00 48 4a 00 00 5e 88 31 00 de 5d 00 00  UU..HJ..^.1..]..
48 4a 00 00 5e 88 31 00 66 66 00 00 48 4a 00 00  HJ..^.1.ff..HJ..
5e 88 31 00 ef 6e 00 00 48 4a 00 00 5e 88 31 00  ^.1..n..HJ..^.1.
77 77 00 00 48 4a 00 00 5e 88 31 00 00 80 00 00  ww..HJ..^.1.....
48 4a 00 00 5c 88 31 00 88 88 00 00 48 4a 00 00  HJ..\.1.....HJ..
5c 88 31 00 11 91 00 00 48 4a 00 00 5c 88 31 00  \.1.....HJ..\.1.
99 99 00 00 48 4a 00 00 5c 88 31 00 22 a2 00 00  ....HJ..\.1."...
48 4a 00 00 5c 88 31 00 ab aa 00 00 48 4a 00 00  HJ..\.1.....HJ..
5c 88 31 00 33 b3 00 00 48 4a 00 00 5c 88 31 00  \.1.3...HJ..\.1.
bb bb 00 00 48 4a 00 00 5c 88 31 00 44 c4 00 00  ....HJ..\.1.D...
48 4a 00 00 5c 88 31 00 cd cc 00 00 48 4a 00 00  HJ..\.1.....HJ..
5a 88 31 00 55 d5 00 00 48 4a 00 00 5a 88 31 00  Z.1.U...HJ..Z.1.
de dd 00 00 48 4a 00 00 5a 88 31 00 66 e6 00 00  ....HJ..Z.1.f...
48 4a 00 00 5a 88 31 00 ef ee 00 00 48 4a 00 00  HJ..Z.1.....HJ..
5a 88 31 00 77 f7 00 00 48 4a 00 00 5a 88 32 00  Z.1.w...HJ..Z.2.
00 00 00 00 48 4a 00 00 5a 88 32 00 88 08 00 00  ....HJ..Z.2.....
48 4a 00 00 59 88 32 ff 11 11 00 00 48 4a 00 00  HJ..Y.2.....HJ..
58 88 32 00 99 19 00 00 47 49 00 00 58 88 32 00  X.2.....GI..X.2.
22 22 00 00 47 49 00 00 58 88 32 00 ab 2a 00 00  ""..GI..X.2..*..
47 49 00 00 58 88 32 00 33 33 00 00 47 49 00 00  GI..X.2.33..GI..
58 88 32 00 bb 3b 00 00 47 49 00 00 58 88 32 00  X.2..;..GI..X.2.
44 44 00 00 47 49 00 00 58 88 32 00 cd 4c 00 00  DD..GI..X.2..L..
47 49 00 00 58 88 32 00 55 55 00 00 47 49 00 00  GI..X.2.UU..GI..
58 88 32 00 de 5d 00 00 47 49 00 00 56 88 32 00  X.2..]..GI..V.2.
66 66 00 00 47 49 00 00 56 88 32 00 ef 6e 00 00  ff..GI..V.2..n..
47 49 00 00 56 88 32 00 77 77 00 00 47 49 00 00  GI..V.2.ww..GI..
56 88 32 00 00 80 00 00 47 49 00 00 54 88 32 00  V.2.....GI..T.2.
88 88 00 00 47 49 00 00 54 88 32 00 11 91 00 00  ....GI..T.2.....
47 49 00 00 54 88 32 00 99 99 00 00 47 49 00 00  GI..T.2.....GI..
54 88 32 00 22 a2 00 00 47 49 00 00 54 88 32 00  T.2."...GI..T.2.
ab aa 00 00 47 49 00 00 54 88 32 00 33 b3 00 00  ....GI..T.2.3...
47 49 00 00 54 88 32 00 bb bb 00 00 47 49 00 00  GI..T.2.....GI..
54 88 32 00 44 c4 00 00 47 49 00 00 53 88 32 ff  T.2.D...GI..S.2.
cd cc 00 00 47 49 00 00 00 00 00 00 f8 ff ff 00  ....GI..........
00 00 00 00 00 00 00 00 ff 00 f9 00 00 01 01 01  ................
fe 00 f8 00 ff 00 01 01 fe 00 f9 00 fe 00 fe 00  ................
fe 00 f8 00 fd 00 fe 00 fe 00 f8 00 fd 00 fc 00  ................
c4 07 c2 07 00 00 c0 07 c0 07 80 07 0f 07 03 0f  ................
07 03 0b 07 03 0b 07 02 02 00 85 fe 28 0b 00 00  ............(...
46 46 18 18 5a 5a 4e 48 42 3c 38 34 ed f9 02 09  FF..ZZNHB<84....
0d 11 f2 fd 05 0b 10 14 f5 ff 07 0d 11 15 f9 02  ................
09 10 14 18 70 70 71 72 73 79 77 7b 7f 2b 1f 29  ....ppqrsyw{�+.)
29 25 2b 25 27 25 25 00 fe fe 02 04 20 00 02 00  )%+%'%%..... ...
83 07 c2 07 fd 00 fb 00 ff 00 ff 00 fb 00 fa 00  ................
02 01 01 01 fb 00 fa 00 02 01 00 01 51 3e 85 fe  ............Q>..
00 00 00 00 00 00 00 00 7f 00 30 00 7c fa 77 0b  ........�.0.|.w.
00 00 01 00 02 00 03 00 04 00 00 04 01 04 02 04  ................
03 04 04 04 05 04 08 04 09 04 0a 04 00 30 01 30  .............0.0
02 30 03 30 04 30 05 30 00 34 01 34 02 34 03 34  .0.0.0.0.4.4.4.4
04 34 00 38 01 38 02 38 00 40 01 40 02 40 03 40  .4.8.8.8.@.@.@.@
04 40 05 40 00 44 01 44 02 44 03 44 04 44 00 48  .@.@.D.D.D.D.D.H
01 48 02 48 03 48 04 48 05 48 08 48 09 48 0a 48  .H.H.H.H.H.H.H.H
0b 48 0c 48 0d 48 18 48 19 48 1a 48 1b 48 1c 48  .H.H.H.H.H.H.H.H
1d 48 38 48 39 48 3a 48 3b 48 3c 48 3d 48 00 00  .H8H9H:H;H<H=H..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00  ................
02 00 03 00 04 00 00 04 01 04 02 04 03 04 04 04  ................
05 04 08 04 09 04 0a 04 00 30 01 30 02 30 03 30  .........0.0.0.0
04 30 05 30 00 34 01 34 02 34 03 34 04 34 00 38  .0.0.4.4.4.4.4.8
01 38 02 38 00 40 01 40 02 40 03 40 04 40 05 40  .8.8.@.@.@.@.@.@
00 44 01 44 02 44 03 44 04 44 00 48 01 48 02 48  .D.D.D.D.D.H.H.H
03 48 00 50 01 50 02 50 03 50 04 50 05 50 00 54  .H.P.P.P.P.P.P.T
01 54 02 54 03 54 00 58 01 58 02 58 03 58 04 58  .T.T.T.X.X.X.X.X
00 5c 01 5c 02 5c 03 5c 04 5c 05 5c 08 5c 09 5c  .\.\.\.\.\.\.\.\
0a 5c 0b 5c 0c 5c 0d 5c 18 5c 19 5c 1a 5c 1b 5c  .\.\.\.\.\.\.\.\
1c 5c 1d 5c 38 5c 39 5c 3a 5c 3b 5c 3c 5c 3d 5c  .\.\8\9\:\;\<\=\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
3e 01 af 00 47 01 aa 00 3f 01 ad 00 3f 01 aa 00  >...G...?...?...
3f 01 aa 00 3f 01 aa 00 42 01 a3 00 42 01 a3 00  ?...?...B...B...
10 01 ea 00 13 01 e7 00 13 01 e7 00 13 01 e7 00  ................
13 01 e7 00 10 01 e7 00 10 01 e7 00 10 01 e7 00  ................
10 01 e3 00 10 01 dd 00 10 01 d4 00 06 01 c4 00  ................
06 01 c4 00 0a 01 c4 00 0a 01 c4 00 0a 01 c4 00  ................
03 01 c4 00 06 01 c0 00 0a 01 c0 00 0e 01 c0 00  ................
14 01 c0 00 18 01 c0 00 06 01 bc 00 0a 01 bc 00  ................
17 01 bc 00 c4 00 ef 00 c2 00 ec 00 c4 00 ec 00  ................
c4 00 ec 00 c4 00 ec 00 c7 00 ec 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

Code that generates this output is in my repo Show_nvs_keys, please try it and see what your ESP32 shows.

Chuck.

@stickbreaker

This comment has been minimized.

Copy link
Contributor Author

commented Feb 25, 2018

@lbernstone
I just init'd nvs with your code:

  int err;
  err=nvs_flash_init();
  Serial.println("nvs_flash_init: " + err);
  err=nvs_flash_erase();
  Serial.println("nvs_flash_erase: " + err);

I then reran Show_nvs_keys. It correctly reported an empty nvs.

Partition nvs found, 20480 bytes
page[0].State=0xffffffff  means UNINITIALIZED  Page[0] not active, State = 0xffffffff Seqnr=4294967295 
page[1].State=0xffffffff  means UNINITIALIZED  Page[1] not active, State = 0xffffffff Seqnr=4294967295 
page[2].State=0xffffffff  means UNINITIALIZED  Page[2] not active, State = 0xffffffff Seqnr=4294967295 
page[3].State=0xffffffff  means UNINITIALIZED  Page[3] not active, State = 0xffffffff Seqnr=4294967295 
page[4].State=0xffffffff  means UNINITIALIZED  Page[4] not active, State = 0xffffffff Seqnr=4294967295 

Logical Page to Physical Sector
Page 0 -> 255
Page 1 -> 255
Page 2 -> 255
Page 3 -> 255
Page 4 -> 255

then uploaded my mqtt sketch, which connected and reloaded nvs, After rerunning Show_nvs_keys
everything looks good! Thanks!

Partition nvs found, 20480 bytes
page[0].State=0xfffffffc INIT FULL  means FULL  Seqnr=0 
page[1].State=0xfffffffc INIT FULL  means FULL  Seqnr=1 
page[2].State=0xfffffffe INIT  means ACTIVE  Seqnr=2 
page[3].State=0xffffffff  means UNINITIALIZED  Page[3] not active, State = 0xffffffff Seqnr=4294967295 
page[4].State=0xffffffff  means UNINITIALIZED  Page[4] not active, State = 0xffffffff Seqnr=4294967295 

Logical Page to Physical Sector
Page 0 -> 0
Page 1 -> 1
Page 2 -> 2
Page 3 -> 255
Page 4 -> 255

NAME SPACES
           misc = 1
   nvs.net80211 = 2
            phy = 3

NameSpace:            misc = 1

NameSpace:    nvs.net80211 = 2

NameSpace:             phy = 3

NameSpace:            misc 
0-001:            log type:BLOB data=size:0010
02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

NameSpace:    nvs.net80211 
0-010:   sta.authmode type:U8   data=1
0-015:        sta.pmk type:BLOB data=size:0020
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0-018:      auto.conn type:U8   data=1
0-020:      sta.bssid type:BLOB data=size:0006
ff ff ff ff ff ff                                ......          
0-022:       sta.phym type:U8   data=3
0-023:      sta.phybw type:U8   data=2
0-053:        ap.ssid type:BLOB data=size:0024
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff                                      ....            
0-058:      ap.passwd type:BLOB data=size:0041
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff                                               .               
0-062:         ap.pmk type:BLOB data=size:0020
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
0-064:        ap.chan type:U8   data=1
0-065:    ap.authmode type:U8   data=0
0-066:      ap.hidden type:U8   data=0
0-067:    ap.max.conn type:U8   data=4
0-068:   bcn.interval type:U16  data=100
0-069:        ap.phym type:U8   data=3
0-070:       ap.phybw type:U8   data=2
0-071:     ap.sndchan type:U8   data=1
1-061:       sta.ssid type:BLOB data=size:0024
0b 00 00 00 42 65 6c 6b 69 6e 2e 34 36 34 43 00  ....Belkin.464C.
a5 a5 a5 a5 a5 a5 a5 a5 d0 13 08 40 3e 60 08 40  ...........@>`.@
30 05 06 00                                      0...            
1-064:       sta.pswd type:BLOB data=size:0041
35 34 41 39 30 33 31 31 00 00 00 00 00 00 00 00  54A90311........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00                                               .               
1-068:      bssid.set type:U8   data=0
1-069:sta.scan_method type:U8   data=0
1-070:sta.sort_method type:U8   data=0
1-071:    sta.minrssi type:I8   data=129
1-072:    sta.minauth type:U8   data=0
1-073:       sta.apsw type:BLOB data=size:0002
05 00                                            ..              
1-098:       sta.chan type:U8   data=11
1-099:     sta.apinfo type:BLOB data=size:02bc
0b 00 00 00 42 65 6c 6b 69 6e 2e 34 36 34 43 00  ....Belkin.464C.
a5 a5 a5 a5 a5 a5 a5 a5 d0 13 08 40 3e 60 08 40  ...........@>`.@
30 05 06 00 35 34 41 39 30 33 31 31 00 00 00 00  0...54A90311....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff 0b ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
ff ff ff ff ff ff ff ff ff ff ff ff              ............    
1-122:        sta.mac type:BLOB data=size:0006
30 ae a4 27 ee 48                                0..'.H          
1-124:         ap.mac type:BLOB data=size:0006
30 ae a4 27 ee 49                                0..'.I          
2-001:         opmode type:U8   data=1

NameSpace:             phy 
0-079:    cal_version type:U32  data=366
0-080:        cal_mac type:BLOB data=size:0006
30 ae a4 27 ee 48                                0..'.H          
1-000:       cal_data type:BLOB data=size:0770
00 00 00 00 00 00 00 00 00 00 00 00 6a 88 30 00  ............j.0.
00 00 00 00 49 4b 00 00 6a 88 30 00 88 08 00 00  ....IK..j.0.....
49 4b 00 00 6a 88 30 00 11 11 00 00 49 4b 00 00  IK..j.0.....IK..
6a 88 30 00 99 19 00 00 49 4b 00 00 6a 88 30 00  j.0.....IK..j.0.
22 22 00 00 49 4b 00 00 6a 88 30 00 ab 2a 00 00  ""..IK..j.0..*..
49 4b 00 00 68 88 30 00 33 33 00 00 49 4b 00 00  IK..h.0.33..IK..
68 88 30 00 bb 3b 00 00 49 4b 00 00 68 88 30 00  h.0..;..IK..h.0.
44 44 00 00 49 4b 00 00 68 88 30 00 cd 4c 00 00  DD..IK..h.0..L..
49 4b 00 00 68 88 30 00 55 55 00 00 49 4b 00 00  IK..h.0.UU..IK..
68 88 30 00 de 5d 00 00 49 4b 00 00 68 88 30 00  h.0..]..IK..h.0.
66 66 00 00 49 4b 00 00 68 88 30 00 ef 6e 00 00  ff..IK..h.0..n..
49 4b 00 00 66 88 30 00 77 77 00 00 49 4b 00 00  IK..f.0.ww..IK..
66 88 30 00 00 80 00 00 49 4b 00 00 66 88 30 00  f.0.....IK..f.0.
88 88 00 00 49 4b 00 00 66 88 30 00 11 91 00 00  ....IK..f.0.....
49 4b 00 00 64 88 30 00 99 99 00 00 49 4b 00 00  IK..d.0.....IK..
64 88 30 00 22 a2 00 00 49 4b 00 00 64 88 30 00  d.0."...IK..d.0.
ab aa 00 00 49 4b 00 00 64 88 30 00 33 b3 00 00  ....IK..d.0.3...
49 4b 00 00 64 88 30 00 bb bb 00 00 49 4b 00 00  IK..d.0.....IK..
64 88 30 00 44 c4 00 00 49 4b 00 00 64 88 30 00  d.0.D...IK..d.0.
cd cc 00 00 49 4b 00 00 64 88 30 00 55 d5 00 00  ....IK..d.0.U...
49 4b 00 00 62 88 30 00 de dd 00 00 48 4b 00 00  IK..b.0.....HK..
62 88 30 00 66 e6 00 00 48 4b 00 00 62 88 30 00  b.0.f...HK..b.0.
ef ee 00 00 48 4b 00 00 62 88 30 00 77 f7 00 00  ....HK..b.0.w...
48 4b 00 00 62 88 31 00 00 00 00 00 48 4b 00 00  HK..b.1.....HK..
62 88 31 00 88 08 00 00 48 4b 00 00 62 88 31 00  b.1.....HK..b.1.
11 11 00 00 48 4b 00 00 62 88 31 00 99 19 00 00  ....HK..b.1.....
48 4b 00 00 60 88 31 00 22 22 00 00 48 4a 00 00  HK..`.1.""..HJ..
60 88 31 00 ab 2a 00 00 48 4a 00 00 60 88 31 00  `.1..*..HJ..`.1.
33 33 00 00 48 4a 00 00 60 88 31 00 bb 3b 00 00  33..HJ..`.1..;..
48 4a 00 00 60 88 31 00 44 44 00 00 48 4a 00 00  HJ..`.1.DD..HJ..
60 88 31 00 cd 4c 00 00 48 4a 00 00 60 88 31 00  `.1..L..HJ..`.1.
55 55 00 00 48 4a 00 00 60 88 31 00 de 5d 00 00  UU..HJ..`.1..]..
48 4a 00 00 5e 88 31 fe 66 66 00 00 48 4a 00 00  HJ..^.1.ff..HJ..
5e 88 31 00 ef 6e 00 00 48 4a 00 00 5e 88 31 00  ^.1..n..HJ..^.1.
77 77 00 00 48 4a 00 00 5e 88 31 00 00 80 00 00  ww..HJ..^.1.....
48 4a 00 00 5e 88 31 00 88 88 00 00 48 4a 00 00  HJ..^.1.....HJ..
5d 88 31 00 11 91 00 00 48 4a 00 00 5c 88 31 00  ].1.....HJ..\.1.
99 99 00 00 48 4a 00 00 5c 88 31 00 22 a2 00 00  ....HJ..\.1."...
48 4a 00 00 5c 88 31 00 ab aa 00 00 48 4a 00 00  HJ..\.1.....HJ..
5c 88 31 00 33 b3 00 00 48 4a 00 00 5c 88 31 00  \.1.3...HJ..\.1.
bb bb 00 00 48 4a 00 00 5c 88 31 00 44 c4 00 00  ....HJ..\.1.D...
48 4a 00 00 5c 88 31 00 cd cc 00 00 48 4a 00 00  HJ..\.1.....HJ..
5c 88 31 00 55 d5 00 00 48 4a 00 00 5a 88 31 00  \.1.U...HJ..Z.1.
de dd 00 00 48 4a 00 00 5a 88 31 00 66 e6 00 00  ....HJ..Z.1.f...
48 4a 00 00 5a 88 31 00 ef ee 00 00 48 4a 00 00  HJ..Z.1.....HJ..
5a 88 31 00 77 f7 00 00 48 4a 00 00 5a 88 32 00  Z.1.w...HJ..Z.2.
00 00 00 00 48 4a 00 00 5a 88 32 00 88 08 00 00  ....HJ..Z.2.....
48 4a 00 00 5a 88 32 00 11 11 00 00 48 4a 00 00  HJ..Z.2.....HJ..
5a 88 32 00 99 19 00 00 48 4a 00 00 59 88 32 00  Z.2.....HJ..Y.2.
22 22 00 00 47 4a 00 00 58 88 32 00 ab 2a 00 00  ""..GJ..X.2..*..
47 49 00 00 58 88 32 00 33 33 00 00 47 49 00 00  GI..X.2.33..GI..
58 88 32 00 bb 3b 00 00 47 49 00 00 58 88 32 00  X.2..;..GI..X.2.
44 44 00 00 47 49 00 00 58 88 32 00 cd 4c 00 00  DD..GI..X.2..L..
47 49 00 00 58 88 32 00 55 55 00 00 47 49 00 00  GI..X.2.UU..GI..
58 88 32 00 de 5d 00 00 47 49 00 00 58 88 32 00  X.2..]..GI..X.2.
66 66 00 00 47 49 00 00 56 88 32 00 ef 6e 00 00  ff..GI..V.2..n..
47 49 00 00 56 88 32 00 77 77 00 00 47 49 00 00  GI..V.2.ww..GI..
56 88 32 00 00 80 00 00 47 49 00 00 56 88 32 00  V.2.....GI..V.2.
88 88 00 00 47 49 00 00 55 88 32 00 11 91 00 00  ....GI..U.2.....
47 49 00 00 54 88 32 00 99 99 00 00 47 49 00 00  GI..T.2.....GI..
54 88 32 00 22 a2 00 00 47 49 00 00 54 88 32 00  T.2."...GI..T.2.
ab aa 00 00 47 49 00 00 54 88 32 00 33 b3 00 00  ....GI..T.2.3...
47 49 00 00 54 88 32 00 bb bb 00 00 47 49 00 00  GI..T.2.....GI..
54 88 32 00 44 c4 00 00 47 49 00 00 54 88 32 00  T.2.D...GI..T.2.
cd cc 00 00 47 49 00 00 00 00 00 00 f8 ff ff 00  ....GI..........
00 00 00 00 00 00 00 00 ff 00 fa 00 ff 00 ff 00  ................
fd 00 f9 00 02 01 fe 00 fe 00 f8 00 00 01 00 01  ................
fe 00 f8 00 ff 00 00 01 fe 00 f7 00 ff 00 01 01  ................
c3 07 02 00 02 00 01 00 c1 07 c2 07 0f 07 03 0f  ................
07 03 0b 07 03 0b 07 02 43 00 85 fe 2a 0b 00 00  ........C...*...
47 47 19 19 5c 5c 4e 48 42 3c 38 34 ee fa 03 0a  GG..\\NHB<84....
0e 12 f1 fd 06 0c 11 15 f6 01 09 0e 14 17 fb 03  ................
0c 11 16 1a 70 70 71 72 73 79 77 7b 7f 2d 21 2b  ....ppqrsyw{�-!+
2b 27 2d 27 29 27 27 00 fd fe 02 04 20 00 c3 07  +'-')''..... ...
c3 07 c3 07 fc 00 fa 00 01 01 01 01 fc 00 fa 00  ................
00 01 00 01 fb 00 fb 00 03 01 fb 00 51 3e 85 fe  ............Q>..
00 00 00 00 00 00 00 00 7f 00 30 00 75 fa 44 0b  ........�.0.u.D.
00 00 01 00 02 00 03 00 04 00 00 04 01 04 02 04  ................
03 04 04 04 05 04 08 04 09 04 0a 04 00 30 01 30  .............0.0
02 30 03 30 04 30 05 30 00 34 01 34 02 34 03 34  .0.0.0.0.4.4.4.4
04 34 00 38 01 38 02 38 00 40 01 40 02 40 03 40  .4.8.8.8.@.@.@.@
04 40 05 40 00 44 01 44 02 44 03 44 04 44 00 48  .@.@.D.D.D.D.D.H
01 48 02 48 03 48 04 48 05 48 08 48 09 48 0a 48  .H.H.H.H.H.H.H.H
0b 48 0c 48 0d 48 18 48 19 48 1a 48 1b 48 1c 48  .H.H.H.H.H.H.H.H
1d 48 38 48 39 48 3a 48 3b 48 3c 48 3d 48 00 00  .H8H9H:H;H<H=H..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00  ................
02 00 03 00 04 00 00 04 01 04 02 04 03 04 04 04  ................
05 04 08 04 09 04 0a 04 00 30 01 30 02 30 03 30  .........0.0.0.0
04 30 05 30 00 34 01 34 02 34 03 34 04 34 00 38  .0.0.4.4.4.4.4.8
01 38 02 38 00 40 01 40 02 40 03 40 04 40 05 40  .8.8.@.@.@.@.@.@
00 44 01 44 02 44 03 44 04 44 00 48 01 48 02 48  .D.D.D.D.D.H.H.H
03 48 00 50 01 50 02 50 03 50 04 50 05 50 00 54  .H.P.P.P.P.P.P.T
01 54 02 54 03 54 00 58 01 58 02 58 03 58 04 58  .T.T.T.X.X.X.X.X
00 5c 01 5c 02 5c 03 5c 04 5c 05 5c 08 5c 09 5c  .\.\.\.\.\.\.\.\
0a 5c 0b 5c 0c 5c 0d 5c 18 5c 19 5c 1a 5c 1b 5c  .\.\.\.\.\.\.\.\
1c 5c 1d 5c 38 5c 39 5c 3a 5c 3b 5c 3c 5c 3d 5c  .\.\8\9\:\;\<\=\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
43 01 b0 00 4b 01 aa 00 42 01 ac 00 47 01 a8 00  C...K...B...G...
45 01 ab 00 43 01 ab 00 47 01 a3 00 47 01 a3 00  E...C...G...G...
12 01 ea 00 15 01 ea 00 15 01 ea 00 15 01 ea 00  ................
15 01 ea 00 12 01 ea 00 12 01 e6 00 12 01 e6 00  ................
12 01 e3 00 12 01 dc 00 12 01 d2 00 07 01 c1 00  ................
07 01 c1 00 0d 01 c1 00 0d 01 c1 00 0d 01 be 00  ................
06 01 be 00 06 01 be 00 0b 01 be 00 0f 01 be 00  ................
18 01 be 00 1c 01 be 00 08 01 bb 00 0c 01 bb 00  ................
1a 01 bb 00 bf 00 ef 00 c2 00 ec 00 c2 00 ec 00  ................
c2 00 ec 00 c4 00 ec 00 c4 00 ec 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

Thanks for the Help.

Chuck.

@beegee-tokyo

This comment has been minimized.

Copy link
Contributor

commented Feb 26, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.