murilopolese/kano-pixel-kit-pixel32

After reflashing, PIXEL_KIT_XXXX keeps flapping on/off (orange screen/blue screen)

darryllee opened this issue · 7 comments

Hi - I was excited to try this on my Kano Pixel, and got it working, but then my oldest son wanted to play Snake, so I flashed it back to the Kano image and it worked fine (although my sons point out that their high score was lost. Oops.)

Anyways, I wanted to switch back to Pixel32, and the Flasher worked fine. However when try to connect to it to configure my wifi settings, it seems stuck flipping from Orange to Blue, and the PIXEL_KIT_XXXX network keeps showing up and then going away, so I'm never able to able to consistently connect.

Any ideas what's going on?

Thank you!

Oh, and I have tried holding down both red buttons while powering up. I've also tried different combinations of red buttons.

Ah, I was able to connect a serial console and see that the WebREPL daemon is panicking. Here's what I see after a reboot:

Booting...
I (93272) wifi: wifi firmware version: ebd3e5d
I (93272) wifi: config NVS flash: enabled
I (93272) wifi: config nano formating: disabled
I (93272) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (93282) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (93292) wifi: Init dynamic tx buffer num: 32
I (93292) wifi: Init data frame dynamic rx buffer num: 64
I (93302) wifi: Init management frame dynamic rx buffer num: 64
I (93302) wifi: wifi driver task: 3ffc5e1c, prio:23, stack:4096
I (93312) wifi: Init static rx buffer num: 10
I (93312) wifi: Init dynamic rx buffer num: 0
I (93322) wifi: wifi power manager task: 0x3ffc67e0 prio: 21 stack: 2560
I (93382) phy: phy_version: 383.0, 79a622c, Jan 30 2018, 15:38:06, 0, 0
I (93382) wifi: mode : null
Empty config
I (93382) wifi: mode : softAP (30:ae:a4:0d:cb:71)
I (93402) network: event 13
I (93402) network: event 14
I (93402) network: event 13
WebREPL daemon started on ws://192.168.4.1:8266
Started webrepl in normal mode
Guru Meditation Error: Core  0 panic'ed (InstrFetchProhibited)
. Exception was unhandled.
Core 0 register dump:
PC      : 0x00000000  PS      : 0x00060f30  A0      : 0x80148b8d  A1      : 0x3ffcbba0
A2      : 0x00000000  A3      : 0x00000037  A4      : 0xffffffa6  A5      : 0x3ffd0f08
A6      : 0x00000008  A7      : 0x00000000  A8      : 0x80153650  A9      : 0x3ffcbb90
A10     : 0x3ffd0f24  A11     : 0x00000037  A12     : 0xffffffa6  A13     : 0x3ffcbc34
A14     : 0x000071cb  A15     : 0x000071cb  SAR     : 0x00000010  EXCCAUSE: 0x00000014
EXCVADDR: 0x00000000  LBEG    : 0x4000c349  LEND    : 0x4000c36b  LCOUNT  : 0xffffffff

Backtrace: 0x00000000:0x3ffcbba0 0x40148b8a:0x3ffcbbc0 0x40149bcb:0x3ffcbc90 0x4016622d:0x3ffcbcb0 0x40087efa:0x3ffcbd00

A little bit more after I hit control-c (capture what had scrolled past):

configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:4436
load:0x40078000,len:0
load:0x40078000,len:11816
entry 0x4007a9fc
I (361) cpu_start: Pro cpu up.
I (361) cpu_start: Single core mode
I (362) heap_init: Initializing. RAM available for dynamic allocation:
I (365) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (371) heap_init: At 3FFC50C0 len 0001AF40 (107 KiB): DRAM
I (378) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (384) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (390) heap_init: At 4008DE34 len 000121CC (72 KiB): IRAM
I (397) cpu_start: Pro cpu start user code
I (191) cpu_start: Starting scheduler on PRO CPU.
Booting...
I (412) modsocket: Initializing
I (1042) wifi: wifi firmware version: ebd3e5d
I (1042) wifi: config NVS flash: enabled
I (1042) wifi: config nano formating: disabled
I (1042) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (1052) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (1062) wifi: Init dynamic tx buffer num: 32
I (1062) wifi: Init data frame dynamic rx buffer num: 64
I (1072) wifi: Init management frame dynamic rx buffer num: 64
I (1072) wifi: wifi driver task: 3ffc5e1c, prio:23, stack:4096
I (1082) wifi: Init static rx buffer num: 10
I (1082) wifi: Init dynamic rx buffer num: 0
I (1082) wifi: wifi power manager task: 0x3ffc67e0 prio: 21 stack: 2560
I (1152) phy: phy_version: 383.0, 79a622c, Jan 30 2018, 15:38:06, 0, 0
I (1152) wifi: mode : null
Empty config
I (1152) wifi: mode : softAP (30:ae:a4:0d:cb:71)
I (1172) network: event 13
I (1172) network: event 14
I (1172) network: event 13
WebREPL daemon started on ws://192.168.4.1:8266
Started webrepl in normal mode
Traceback (most recent call last):
  File "main.py", line 1, in <module>
  File "microWebSrv.py", line 17, in <module>
KeyboardInterrupt:
MicroPython v1.9.4 on 2018-05-11; ESP32 module with ESP32
Type "help()" for more information.
>>> Guru Meditation Error: Core  0 panic'ed (InstrFetchProhibited)
. Exception was unhandled.
Core 0 register dump:
PC      : 0x00000000  PS      : 0x00060b30  A0      : 0x80148b8d  A1      : 0x3ffcbba0
A2      : 0x00000000  A3      : 0x00000037  A4      : 0xffffffb4  A5      : 0x3ffd0f08
A6      : 0x00000008  A7      : 0x00000000  A8      : 0x80153650  A9      : 0x3ffcbb90
A10     : 0x3ffd0f24  A11     : 0x00000037  A12     : 0xffffffb4  A13     : 0x3ffcbc34
A14     : 0x000071cb  A15     : 0x000071cb  SAR     : 0x00000010  EXCCAUSE: 0x00000014
EXCVADDR: 0x00000000  LBEG    : 0x4000c349  LEND    : 0x4000c36b  LCOUNT  : 0xffffffff

Backtrace: 0x00000000:0x3ffcbba0 0x40148b8a:0x3ffcbbc0 0x40149bcb:0x3ffcbc90 0x4016622d:0x3ffcbcb0 0x40087efa:0x3ffcbd00

Rebooting...
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction)
. Exception was unhandled.```
romany commented

Did you ever solve this? I'm having the same problem

Seems like something got corrupted somewhere. I'd do a complete reflash (flash the bootloader and reflash micropython).
You'll want to flash the bootloader at 0x0, micropython at 0x1000, and your disk image (.iso or .img) at 0x200000.

Yeah so I ended up reflashing, although I only needed to reflash the original Roku Pixel Kit (rpk) firmware from here: rpk_1.0.2.bin. I couldn't get the flasher in this repo working, and I recently ended up buying a Mini PC just to run regular old x86 Linux (it's complicated when you add in ARM on a Pi), so after installing esptool I was able to flash using this command:

esptool.py -p /dev/ttyUSB0 write_flash 0x0 firmware/rpk_1.0.2.bin

If it keeps panicking, try shorting GPIO pin 0 to the ground pin, then it can be force flashed