"Critical Fault" printed on the screen

So for sometime we’ve been testing for various bits of busted hardware on boards. But we weren’t ever showing the user this information. Starting with the next device firmware release (in a couple of days?) there will be a new screen which will pop up if we think something is busted.

If you see the following screen, you’ll be directed to this forum (where hopefully you’ll find this post). In this thread more experienced users/volunteers can help debug what is wrong (or hopefully you’ll find an existing answer).

For a list of the numeric fault codes and their meanings see CriticalErrorCode.

6 Likes

These errors seem like the classic iPhone fingerprint errors!
With the difference that in meshtastic these errors are functional instead in the iPhones they are to screw the customer :grinning_face_with_smiling_eyes:

1 Like

Just flashed a new pair of tbeam boards. One of them came up with a Critical fault #3. No LORA radio.

Give me a clue guys? The rest of the displays look OK.

It is late here. So I will run some more tests tomorrow. Any suggestions in the meantime.

Thanks

You could closely inspect the board to see if it looks like all the components are present and the solder connections look ok. You could just have a bad board, the radio chipset could be damaged.

1 Like

Welp, congratulations! I’m glad/sad that you are the first person to ‘find’ this feature. This means one of two things

  • either the wrong load for your board type is installed
  • the hardware is actually broken (we tried talking to the radio chip on spi and it didn’t answer)

I might be able to add a little more detail if you could add the following: a picture of your board. Also, if you could capture the first 100ish lines after you press the reset button there might be other clues I could see. (use a serial terminal at 921600 baud)

Picture of board.


Log capture.
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2021.02.13 07:15:42 =~=~=~=~=~=~=~=~=~=~=~=
00:00:00 Emitting reboot packet for serial shell
H00:00:00 booted, wake cause 0 (boot count 1), reset_reason=reset
00:00:00 Filesystem files:
00:00:00 /static/index.html
00:00:00 /static/meshtastic.js.gz
00:00:00 /static/basic.js
00:00:00 /db.proto
00:00:00 I2C device found at address 0x34
00:00:00 axp192 PMU found
00:00:00 I2C device found at address 0x3c
00:00:00 ssd1306 display found
00:00:00 done
00:00:00 Meshtastic swver=1.1.33, hwver=1.0-EU865
00:00:00 Setting random seed 398776621
00:00:00 Total heap: 254308
00:00:00 Free heap: 221872
00:00:00 Total PSRAM: 4194252
00:00:00 Free PSRAM: 4194252
00:00:00 NVS: UsedEntries 79, FreeEntries 551, AllEntries 630
00:00:00 Setting default preferences!
00:00:00 Expanding short PSK #1
00:00:00 Installing AES128 key!
00:00:00 Wanted region 0, using Unset
00:00:00 Initial packet id 32823437, numPacketId 4294967295
00:00:00 Loading saved preferences
00:00:00 Loaded saved preferences version 11
00:00:00 Expanding short PSK #1
00:00:00 Installing AES128 key!
00:00:00 Wanted region 3, using EU865
00:00:00 legacy_region=1.0-EU865, region=3, NODENUM=0x50d3238, dbsize=1
chip id detect 0x3
Detect CHIP :AXP192
OUTPUT Register 0x5f
00:00:00 AXP192 Begin PASS
00:00:00 DCDC1: ENABLE
00:00:00 DCDC2: ENABLE
00:00:00 LDO2: ENABLE
00:00:00 LDO3: ENABLE
00:00:00 DCDC3: ENABLE
00:00:00 Exten: ENABLE
00:00:00 ----------------------------------------
00:00:00 DCDC1: ENABLE
00:00:00 DCDC2: ENABLE
00:00:00 LDO2: ENABLE
00:00:00 LDO3: ENABLE
00:00:00 DCDC3: ENABLE
00:00:00 Exten: ENABLE
SRC REG:0xc4
Charging enable is enable
Charging target-voltage : 0x2
end when the charge current is lower than 10% of the set value
Charge current : 700.00 mA
00:00:00 Battery: usbPower=1, isCharging=0, batMv=0, batPct=0
00:00:00 Read RTC time as 0 (cur millis 188) quality=0
00:00:00 WANT GPS=1
00:00:00 Setting GPS power=1
00:00:00 Connected to UBLOX GPS successfully
00:00:02 Turning on screen
00:00:02 Starting meshradio init…
00:00:02 (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=16, time 2269 ms
00:00:02 Set radio: name=LongSlow, config=3, ch=6, power=0
00:00:02 Radio myRegion->freq: 865.200012
00:00:02 Radio myRegion->spacing: 0.300000
00:00:02 Radio myRegion->numChannels: 10
00:00:02 Radio channel_num: 6
00:00:02 Radio frequency: 867.000000
00:00:02 Short packet time: 2269 msec
00:00:02 Set radio: final power level=17
00:00:03 RF95 init result -2
00:00:03 Warning: Failed to find RF95 radio
00:00:03 Starting meshradio init…
00:00:03 (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=16, time 2269 ms
00:00:03 Set radio: name=LongSlow, config=3, ch=6, power=0
00:00:03 Radio myRegion->freq: 865.200012
00:00:03 Radio myRegion->spacing: 0.300000
00:00:03 Radio myRegion->numChannels: 10
00:00:03 Radio channel_num: 6
00:00:03 Radio frequency: 867.000000
00:00:03 Short packet time: 2269 msec
00:00:03 Set radio: final power level=22
00:00:06 SX1262 init result -2
00:00:06 Warning: Failed to find SX1262 radio
00:00:06 NOTE! Recording critical error 3, address=0
00:00:06 PowerFSM init, USB power=1
[D][esp32-hal-cpu.c:189] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
00:00:06 [Power] Battery: usbPower=1, isCharging=0, batMv=0, batPct=0
00:00:06 [Screen] Done with boot screen…
00:00:06 [Screen] Screen: Started…
00:00:06 [Screen] showing standard frames
00:00:06 [Screen] Setting fast framerate
00:00:06 [Screen] Setting idle framerate
00:00:06 [GPS] publishing GPS lock=0
00:00:06 [GPS] No GPS lock
00:00:06 [GPS] WARNING: Using fixed position
00:00:06 [GPS] got gps notify time=0, lat=0, bat=0
00:00:06 [GPS] DB update position node=0x50d3238 time=0, latI=0, lonI=0
00:00:06 [GPS] Node status update: 1 online, 1 total
00:00:06 [GPS] showing standard frames
00:00:06 [GPS] Setting fast framerate
00:00:06 [GPS] Sending position to mesh (wantReplies=1)
00:00:06 [GPS] Update DB node 0x50d3238, rx_time=0
00:00:06 [GPS] Received position from=0x50d3238, id=0x1f4d890, payloadlen=0
00:00:06 [GPS] DB update position node=0x50d3238 time=0, latI=0, lonI=0
00:00:06 [GPS] Node status update: 1 online, 1 total
00:00:06 [GPS] Sending response
00:00:06 [GPS] Update DB node 0x50d3238, rx_time=0
00:00:06 [GPS] Received position from=0x50d3238, id=0x1f4d891, payloadlen=0
00:00:06 [GPS] DB update position node=0x50d3238 time=0, latI=0, lonI=0
00:00:06 [GPS] Node status update: 1 online, 1 total
00:00:06 [GPS] Plugin position handled=0
00:00:06 [GPS] Enqueuing local (id=0x01f4d891 Fr0x38 To0x38, WantAck0, HopLim3 Portnum=3)
00:00:06 [GPS] Plugin position handled=0
00:00:06 [GPS] Rebroadcasting received floodmsg to neighbors (id=0x01f4d890 Fr0x38 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:06 [GPS] Dropping packet - no interfaces - fr=0x50d3238,to=0xffffffff,id=32823440
00:00:06 [GPS] FIXME-update-db Sniffing packet
00:00:06 [GPS] Delivering rx packet (id=0x01f4d890 Fr0x38 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
Trigger powerFSM 3
00:00:06 [GPS] Forwarding to phone (id=0x01f4d890 Fr0x38 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:06 [GPS] Update DB node 0x50d3238, rx_time=0
00:00:06 [GPS] Received position from=0x50d3238, id=0x1f4d890, payloadlen=0
00:00:06 [GPS] DB update position node=0x50d3238 time=0, latI=0, lonI=0
00:00:06 [GPS] Node status update: 1 online, 1 total
00:00:06 [GPS] Sending response
00:00:06 [GPS] Update DB node 0x50d3238, rx_time=0
00:00:06 [GPS] Received position from=0x50d3238, id=0x1f4d892, payloadlen=0
00:00:06 [GPS] DB update position node=0x50d3238 time=0, latI=0, lonI=0
00:00:06 [GPS] Node status update: 1 online, 1 total
00:00:06 [GPS] Plugin position handled=0
00:00:06 [GPS] Enqueuing local (id=0x01f4d892 Fr0x38 To0x38, WantAck0, HopLim3 Portnum=3)
00:00:06 [GPS] Plugin position handled=0
00:00:06 [GPS] Adding packet record (id=0x01f4d890 Fr0x38 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:06 [GPS] Dropping packet - no interfaces - fr=0x50d3238,to=0xffffffff,id=32823440
00:00:06 [SerialPlugin] Serial Plugin Disabled
00:00:06 (Client not yet interested in packets)
00:00:06 [Router] Adding packet record (id=0x01f4d891 Fr0x38 To0x38, WantAck0, HopLim3 Portnum=3)
00:00:06 [Router] FIXME not implemented addRoute
00:00:06 [Router] FIXME-update-db Sniffing packet
00:00:06 [Router] Delivering rx packet (id=0x01f4d891 Fr0x38 To0x38, WantAck0, HopLim3 Portnum=3)
Trigger powerFSM 3
00:00:06 [Router] Forwarding to phone (id=0x01f4d891 Fr0x38 To0x38, WantAck0, HopLim3 Portnum=3)
00:00:06 [Router] Update DB node 0x50d3238, rx_time=0
00:00:06 [Router] Received position from=0x50d3238, id=0x1f4d891, payloadlen=0
00:00:06 [Router] DB update position node=0x50d3238 time=0, latI=0, lonI=0
00:00:06 [Router] Node status update: 1 online, 1 total
00:00:06 [Router] Plugin position handled=0
00:00:06 [Router] Adding packet record (id=0x01f4d892 Fr0x38 To0x38, WantAck0, HopLim3 Portnum=3)
00:00:06 [Router] FIXME not implemented addRoute
00:00:06 [Router] FIXME-update-db Sniffing packet
00:00:06 [Router] Delivering rx packet (id=0x01f4d892 Fr0x38 To0x38, WantAck0, HopLim3 Portnum=3)
Trigger powerFSM 3
00:00:06 [Router] Forwarding to phone (id=0x01f4d892 Fr0x38 To0x38, WantAck0, HopLim3 Portnum=3)
00:00:06 [Router] Update DB node 0x50d3238, rx_time=0
00:00:06 [Router] Received position from=0x50d3238, id=0x1f4d892, payloadlen=0
00:00:06 [Router] DB update position node=0x50d3238 time=0, latI=0, lonI=0
00:00:06 [Router] Node status update: 1 online, 1 total
00:00:06 [Router] Plugin position handled=0
00:00:06 [Screen] Setting idle framerate
00:00:06 (Client not yet interested in packets)
Transition powerFSM transition=boot timeout, from=BOOT to=POWER
00:00:09 [PowerFSM] Setting bluetooth enable=1
Pre BT: 211708 heap size
00:00:09 [PowerFSM] Starting bluetooth
00:00:09 [Screen] Screen: Powered…
00:00:09 BLE task running
00:00:09 registered service 0x1800 with handle=1
00:00:09 registered service 0x1801 with handle=6
00:00:09 registered service 6ba1b218-15a8-461f-9fa8-5dcae273eafd with handle=10
00:00:09 registered service cb0b9a0b-a84c-4c0d-bdbb-442e3144ee30 with handle=18
00:00:09 BLE advertisting type=0, Private=0, Device Address: 0d:3c:61:05:0d:32

Looks like the radio is fubar.
Is it worth a reflash?

I have done six of these now and this is the first to fail… This pair arrived out of the blue weeks after the initial four. Only ordered four and have not been charged for this pair yet!

A comment in the missing antenna: You should never power up a device without the antenna attached. This could damage the chip.

So my question is: Was this faulty device powered on much longer than your other device which came up without a fault?

Your HW-version seems correct, but it’s always worth reflashing your device

I thought the 1.1 version had antenna protection. But that is no excuse. Having held a full amateur radio licence for over 50 years I admit I should know better. Reflashing did not work. I will not bin it right away. I have a friend nearby who is good at SMD rework. Can anyone point me at a source for bare TTGO SMD modules?

I am not really sure about the antenna, but this is what i read so far :wink:

If you contact Lilygo, the probably will send you a refund or replacement.

I don’t know about TTGO SMD modules, sorry. But you could ask your friend to take a look if everything is solderd properly…

Another idea is the GPS antenna, this could short circuit your LoRa antenna with its metal case, which you could check.

1 Like

I keep getting Critical Fault #5 when one of mine boots up. Any way to clear it? I’m running 1.1.33

#5 means it failed when trying to talk to the GPS chip on your board. Does that board give GPS positions later while it is operating? If not, something might be busted on it.

Also - there were some good GPS improvements after 1.1.33, I’m not sure they would be related to this. But first I’d recommend upgrading to 1.1.48.

Interesting, it only gave the error when the battery was out and it was powered via USB cable only. I plugged a battery in and took it upstairs from my basement to get a GPS signal after unplugging it. It booted up with no error, got GPS lock no problem. Still on 1.1.33. I’ll update and see if that affects it.

hmm - the power for the gps is delivered seperately from the rest of the system (from the axp192 PMU). Perhaps something is busted with the PMU IDK.

Hello,

I got a Critical Fault #6 that I’ve had for a while now. I got the board right around the time you posted the firmware version with that feature added. I should have posted sooner but I was busy getting my other 9 units set up (Which all work fine). I already received a replacement unit but if I could salvage this one then that would be awesome.

Using version US 1.1.32

Attached is a picture of the board and the first 100ish lines upon reboot.
Let me know if you need anything else.

▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒00:00:00 Emitting reboot packet for serial shell
▒▒H00:00:00 booted, wake cause 0 (boot count 1), reset_reason=reset
00:00:00 Filesystem files:
00:00:00 /db.proto
00:00:00 I2C device found at address 0x3c
00:00:00 ssd1306 display found
00:00:00 done
00:00:00 Meshtastic swver=1.1.32, hwver=1.0-US
00:00:00 Setting random seed 709539609
00:00:00 Total heap: 254764
00:00:00 Free heap: 222364
00:00:00 Total PSRAM: 4194252
00:00:00 Free PSRAM: 4194252
00:00:00 NVS: UsedEntries 68, FreeEntries 562, AllEntries 630
00:00:00 Setting default preferences!
00:00:00 Expanding short PSK #1
00:00:00 Installing AES128 key!
00:00:00 Wanted region 0, using Unset
00:00:00 Initial packet id 768593128, numPacketId 4294967295
00:00:00 Loading saved preferences
00:00:00 Loaded saved preferences version 11
00:00:00 Expanding short PSK #1
00:00:00 Installing AES128 key!
00:00:00 Wanted region 1, using US
00:00:00 legacy_region=1.0-US, region=1, NODENUM=0xbdf0c9c0, dbsize=1
00:00:00 AXP192 not found
00:00:00 Read RTC time as 0 (cur millis 87) quality=0
00:00:00 WANT GPS=1
00:00:00 Setting GPS power=1
00:00:00 Connected to UBLOX GPS successfully
00:00:01 NOTE! Recording critical error 6, address=0
00:00:01 Turning on screen
00:00:01 Starting meshradio init…
00:00:01 (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=16, time 2269 ms
00:00:01 Set radio: name=LongSlow, config=3, ch=0, power=0
00:00:01 Radio myRegion->freq: 903.080017
00:00:01 Radio myRegion->spacing: 2.160000
00:00:01 Radio myRegion->numChannels: 13
00:00:01 Radio channel_num: 0
00:00:01 Radio frequency: 903.080017
00:00:01 Short packet time: 2269 msec
00:00:01 Set radio: final power level=17
00:00:01 RF95 init result -2
00:00:01 Warning: Failed to find RF95 radio
00:00:01 Starting meshradio init…
00:00:01 (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=16, time 2269 ms
00:00:01 Set radio: name=LongSlow, config=3, ch=0, power=0
00:00:01 Radio myRegion->freq: 903.080017
00:00:01 Radio myRegion->spacing: 2.160000
00:00:01 Radio myRegion->numChannels: 13
00:00:01 Radio channel_num: 0
00:00:01 Radio frequency: 903.080017
00:00:01 Short packet time: 2269 msec
00:00:01 Set radio: final power level=22
00:00:01 SX1262 init result 0
00:00:01 PowerFSM init, USB power=1
[D][esp32-hal-cpu.c:189] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
00:00:01 [Screen] Screen: Started…
00:00:01 [GPS] publishing GPS lock=0
00:00:01 [GPS] No GPS lock
00:00:01 [GPS] got gps notify time=0, lat=0, bat=0
00:00:01 [GPS] DB update position node=0xbdf0c9c0 time=0, latI=0, lonI=0
00:00:01 [GPS] Node status update: 1 online, 1 total
00:00:01 [GPS] Sending position to mesh (wantReplies=1)
00:00:01 [GPS] Update DB node 0xbdf0c9c0, rx_time=0
00:00:01 [GPS] Received position from=0xbdf0c9c0, id=0x2dcfcceb, payloadlen=0
00:00:01 [GPS] DB update position node=0xbdf0c9c0 time=0, latI=0, lonI=0
00:00:01 [GPS] Node status update: 1 online, 1 total
00:00:01 [GPS] Sending response
00:00:01 [GPS] Update DB node 0xbdf0c9c0, rx_time=0
00:00:01 [GPS] Received position from=0xbdf0c9c0, id=0x2dcfccec, payloadlen=0
00:00:01 [GPS] DB update position node=0xbdf0c9c0 time=0, latI=0, lonI=0
00:00:01 [GPS] Node status update: 1 online, 1 total
00:00:01 [GPS] Plugin position handled=0
00:00:01 [GPS] Enqueuing local (id=0x2dcfccec Fr0xc0 To0xc0, WantAck0, HopLim3 Portnum=3)
00:00:01 [GPS] Plugin position handled=0
00:00:01 [GPS] Rebroadcasting received floodmsg to neighbors (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:01 [GPS] enqueuing for send (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim2 encrypted)
00:00:01 [GPS] (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=22, time 2596 ms
00:00:01 [GPS] txGood=0,rxGood=0,rxBad=0
00:00:01 [GPS] FIXME-update-db Sniffing packet
00:00:01 [GPS] Delivering rx packet (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
Trigger powerFSM 3
00:00:01 [GPS] Forwarding to phone (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:01 [GPS] Update DB node 0xbdf0c9c0, rx_time=0
00:00:01 [GPS] Received position from=0xbdf0c9c0, id=0x2dcfcceb, payloadlen=0
00:00:01 [GPS] DB update position node=0xbdf0c9c0 time=0, latI=0, lonI=0
00:00:01 [GPS] Node status update: 1 online, 1 total
00:00:01 [GPS] Sending response
00:00:01 [GPS] Update DB node 0xbdf0c9c0, rx_time=0
00:00:01 [GPS] Received position from=0xbdf0c9c0, id=0x2dcfcced, payloadlen=0
00:00:01 [GPS] DB update position node=0xbdf0c9c0 time=0, latI=0, lonI=0
00:00:01 [GPS] Node status update: 1 online, 1 total
00:00:01 [GPS] Plugin position handled=0
00:00:01 [GPS] Enqueuing local (id=0x2dcfcced Fr0xc0 To0xc0, WantAck0, HopLim3 Portnum=3)
00:00:01 [GPS] Plugin position handled=0
00:00:01 [GPS] Adding packet record (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:01 [GPS] enqueuing for send (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim3 encrypted)
00:00:01 [GPS] (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=22, time 2596 ms
00:00:01 [GPS] txGood=0,rxGood=0,rxBad=0
00:00:01 (Client not yet interested in packets)
00:00:01 [Router] Adding packet record (id=0x2dcfccec Fr0xc0 To0xc0, WantAck0, HopLim3 Portnum=3)
00:00:01 [Router] FIXME not implemented addRoute
00:00:01 [Router] FIXME-update-db Sniffing packet
00:00:01 [Router] Delivering rx packet (id=0x2dcfccec Fr0xc0 To0xc0, WantAck0, HopLim3 Portnum=3)
Trigger powerFSM 3
00:00:01 [Router] Forwarding to phone (id=0x2dcfccec Fr0xc0 To0xc0, WantAck0, HopLim3 Portnum=3)
00:00:01 [Router] Update DB node 0xbdf0c9c0, rx_time=0
00:00:01 [Router] Received position from=0xbdf0c9c0, id=0x2dcfccec, payloadlen=0
00:00:01 [Router] DB update position node=0xbdf0c9c0 time=0, latI=0, lonI=0
00:00:01 [Router] Node status update: 1 online, 1 total
00:00:01 [Router] Plugin position handled=0
00:00:01 [Router] Adding packet record (id=0x2dcfcced Fr0xc0 To0xc0, WantAck0, HopLim3 Portnum=3)
00:00:01 [Router] FIXME not implemented addRoute
00:00:01 [Router] FIXME-update-db Sniffing packet
00:00:01 [Router] Delivering rx packet (id=0x2dcfcced Fr0xc0 To0xc0, WantAck0, HopLim3 Portnum=3)
Trigger powerFSM 3
00:00:01 [Router] Forwarding to phone (id=0x2dcfcced Fr0xc0 To0xc0, WantAck0, HopLim3 Portnum=3)
00:00:01 [Router] Update DB node 0xbdf0c9c0, rx_time=0
00:00:01 [Router] Received position from=0xbdf0c9c0, id=0x2dcfcced, payloadlen=0
00:00:01 [Router] DB update position node=0xbdf0c9c0 time=0, latI=0, lonI=0
00:00:01 [Router] Node status update: 1 online, 1 total
00:00:01 [Router] Plugin position handled=0
00:00:01 (Client not yet interested in packets)
00:00:03 [RadioIf] Starting low level send (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim2 encrypted)
Transition powerFSM transition=boot timeout, from=BOOT to=POWER
00:00:04 [PowerFSM] Setting bluetooth enable=1
Pre BT: 211488 heap size
00:00:04 [PowerFSM] Starting bluetooth
00:00:04 [Screen] Screen: Powered…
00:00:05 BLE task running
00:00:05 registered service 0x1800 with handle=1
00:00:05 registered service 0x1801 with handle=6
00:00:05 registered service 6ba1b218-15a8-461f-9fa8-5dcae273eafd with handle=10
00:00:05 registered service cb0b9a0b-a84c-4c0d-bdbb-442e3144ee30 with handle=18
00:00:05 BLE advertisting type=0, Private=0, Device Address: b5:7c:9e:bd:f0:c9

00:00:05 [Screen] Done with boot screen…
00:00:05 [Screen] showing standard frames
00:00:05 [Screen] Setting fast framerate
00:00:05 [Screen] Setting idle framerate
00:00:06 [GPS] publishing GPS lock=0
00:00:06 [GPS] No GPS lock
00:00:06 [GPS] got gps notify time=0, lat=0, bat=0
00:00:06 [GPS] DB update position node=0xbdf0c9c0 time=0, latI=0, lonI=0
00:00:06 [GPS] Node status update: 1 online, 1 total
00:00:06 [GPS] Upgrading time to RTC 1613580847 secs (quality 2)
16:54:07 [GPS] Read RTC time as 1613580847 (cur millis 6242) quality=2
16:54:07 [GPS] publishing GPS lock=0
16:54:07 [GPS] got gps notify time=0, lat=1613580847, bat=0
16:54:07 [GPS] DB update position node=0xbdf0c9c0 time=1613580847, latI=0, lonI=0
16:54:07 [GPS] Node status update: 1 online, 1 total
16:54:07 [RadioIf] Completed sending (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim2 encrypted)
16:54:08 [RadioIf] Starting low level send (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim3 encrypted)
16:54:11 [RadioIf] Completed sending (id=0x2dcfcceb Fr0xc0 To0xff, WantAck0, HopLim3 encrypted)

Damn, its happening on the replacement unit too.
Didn’t notice it until I connected to serial trying to figure out why the screen wasn’t working.

▒▒▒▒▒▒▒▒▒▒▒▒00:00:00 Emitting reboot packet for serial shell
▒▒H00:00:00 booted, wake cause 0 (boot count 1), reset_reason=reset
00:00:00 Filesystem files:
00:00:00 /db.proto
00:00:00 No I2C devices found
00:00:00 Meshtastic swver=1.1.32, hwver=1.0-US
00:00:00 Setting random seed 3353612735
00:00:00 Total heap: 254764
00:00:00 Free heap: 222364
00:00:00 Total PSRAM: 4194252
00:00:00 Free PSRAM: 4194252
00:00:00 NVS: UsedEntries 68, FreeEntries 562, AllEntries 630
00:00:00 Setting default preferences!
00:00:00 Expanding short PSK #1
00:00:00 Installing AES128 key!
00:00:00 Wanted region 0, using Unset
00:00:00 Initial packet id 1350706105, numPacketId 4294967295
00:00:00 Loading saved preferences
00:00:00 Loaded saved preferences version 11
00:00:00 Expanding short PSK #1
00:00:00 Installing AES128 key!
00:00:00 Wanted region 1, using US
00:00:00 legacy_region=1.0-US, region=1, NODENUM=0x50d5ca0, dbsize=1
00:00:00 AXP192 not found
00:00:00 Read RTC time as 0 (cur millis 87) quality=0
00:00:00 WANT GPS=1
00:00:00 Setting GPS power=1
00:00:00 Connected to UBLOX GPS successfully
00:00:00 NOTE! Recording critical error 6, address=0
00:00:00 Starting meshradio init…
00:00:00 (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=16, time 2269 ms
00:00:00 Set radio: name=LongSlow, config=3, ch=0, power=0
00:00:00 Radio myRegion->freq: 903.080017
00:00:00 Radio myRegion->spacing: 2.160000
00:00:00 Radio myRegion->numChannels: 13
00:00:00 Radio channel_num: 0
00:00:00 Radio frequency: 903.080017
00:00:00 Short packet time: 2269 msec
00:00:00 Set radio: final power level=17
00:00:00 RF95 init result -2
00:00:00 Warning: Failed to find RF95 radio
00:00:00 Starting meshradio init…
00:00:00 (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=16, time 2269 ms
00:00:00 Set radio: name=LongSlow, config=3, ch=0, power=0
00:00:00 Radio myRegion->freq: 903.080017
00:00:00 Radio myRegion->spacing: 2.160000
00:00:00 Radio myRegion->numChannels: 13
00:00:00 Radio channel_num: 0
00:00:00 Radio frequency: 903.080017
00:00:00 Short packet time: 2269 msec
00:00:00 Set radio: final power level=22
00:00:00 SX1262 init result 0
00:00:00 PowerFSM init, USB power=1
[D][esp32-hal-cpu.c:189] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
00:00:00 [GPS] publishing GPS lock=0
00:00:00 [GPS] No GPS lock
00:00:00 [GPS] got gps notify time=0, lat=0, bat=0
00:00:00 [GPS] DB update position node=0x50d5ca0 time=0, latI=0, lonI=0
00:00:00 [GPS] Node status update: 1 online, 1 total
00:00:00 [GPS] Sending position to mesh (wantReplies=1)
00:00:00 [GPS] Update DB node 0x50d5ca0, rx_time=0
00:00:00 [GPS] Received position from=0x50d5ca0, id=0x508223bc, payloadlen=0
00:00:00 [GPS] DB update position node=0x50d5ca0 time=0, latI=0, lonI=0
00:00:00 [GPS] Node status update: 1 online, 1 total
00:00:00 [GPS] Sending response
00:00:00 [GPS] Update DB node 0x50d5ca0, rx_time=0
00:00:00 [GPS] Received position from=0x50d5ca0, id=0x508223bd, payloadlen=0
00:00:00 [GPS] DB update position node=0x50d5ca0 time=0, latI=0, lonI=0
00:00:00 [GPS] Node status update: 1 online, 1 total
00:00:00 [GPS] Plugin position handled=0
00:00:00 [GPS] Enqueuing local (id=0x508223bd Fr0xa0 To0xa0, WantAck0, HopLim3 Portnum=3)
00:00:00 [GPS] Plugin position handled=0
00:00:00 [GPS] Rebroadcasting received floodmsg to neighbors (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:00 [GPS] enqueuing for send (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim2 encrypted)
00:00:00 [GPS] (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=22, time 2596 ms
00:00:00 [GPS] txGood=0,rxGood=0,rxBad=0
00:00:00 [GPS] FIXME-update-db Sniffing packet
00:00:00 [GPS] Delivering rx packet (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
Trigger powerFSM 3
00:00:00 [GPS] Forwarding to phone (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:00 [GPS] Update DB node 0x50d5ca0, rx_time=0
00:00:00 [GPS] Received position from=0x50d5ca0, id=0x508223bc, payloadlen=0
00:00:00 [GPS] DB update position node=0x50d5ca0 time=0, latI=0, lonI=0
00:00:00 [GPS] Node status update: 1 online, 1 total
00:00:00 [GPS] Sending response
00:00:00 [GPS] Update DB node 0x50d5ca0, rx_time=0
00:00:00 [GPS] Received position from=0x50d5ca0, id=0x508223be, payloadlen=0
00:00:00 [GPS] DB update position node=0x50d5ca0 time=0, latI=0, lonI=0
00:00:00 [GPS] Node status update: 1 online, 1 total
00:00:00 [GPS] Plugin position handled=0
00:00:00 [GPS] Enqueuing local (id=0x508223be Fr0xa0 To0xa0, WantAck0, HopLim3 Portnum=3)
00:00:00 [GPS] Plugin position handled=0
00:00:00 [GPS] Adding packet record (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim3 Portnum=3 WANTRESP)
00:00:00 [GPS] enqueuing for send (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim3 encrypted)
00:00:00 [GPS] (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=22, time 2596 ms
00:00:00 [GPS] txGood=0,rxGood=0,rxBad=0
00:00:00 (Client not yet interested in packets)
00:00:00 [Router] Adding packet record (id=0x508223bd Fr0xa0 To0xa0, WantAck0, HopLim3 Portnum=3)
00:00:00 [Router] FIXME not implemented addRoute
00:00:00 [Router] FIXME-update-db Sniffing packet
00:00:00 [Router] Delivering rx packet (id=0x508223bd Fr0xa0 To0xa0, WantAck0, HopLim3 Portnum=3)
Trigger powerFSM 3
00:00:00 [Router] Forwarding to phone (id=0x508223bd Fr0xa0 To0xa0, WantAck0, HopLim3 Portnum=3)
00:00:00 [Router] Update DB node 0x50d5ca0, rx_time=0
00:00:00 [Router] Received position from=0x50d5ca0, id=0x508223bd, payloadlen=0
00:00:00 [Router] DB update position node=0x50d5ca0 time=0, latI=0, lonI=0
00:00:00 [Router] Node status update: 1 online, 1 total
00:00:00 [Router] Plugin position handled=0
00:00:00 [Router] Adding packet record (id=0x508223be Fr0xa0 To0xa0, WantAck0, HopLim3 Portnum=3)
00:00:00 [Router] FIXME not implemented addRoute
00:00:00 [Router] FIXME-update-db Sniffing packet
00:00:00 [Router] Delivering rx packet (id=0x508223be Fr0xa0 To0xa0, WantAck0, HopLim3 Portnum=3)
Trigger powerFSM 3
00:00:00 [Router] Forwarding to phone (id=0x508223be Fr0xa0 To0xa0, WantAck0, HopLim3 Portnum=3)
00:00:00 [Router] Update DB node 0x50d5ca0, rx_time=0
00:00:00 [Router] Received position from=0x50d5ca0, id=0x508223be, payloadlen=0
00:00:00 [Router] DB update position node=0x50d5ca0 time=0, latI=0, lonI=0
00:00:00 [Router] Node status update: 1 online, 1 total
00:00:00 [Router] Plugin position handled=0
00:00:00 (Client not yet interested in packets)
00:00:02 [RadioIf] Starting low level send (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim2 encrypted)
Transition powerFSM transition=boot timeout, from=BOOT to=POWER
00:00:03 [PowerFSM] Setting bluetooth enable=1
Pre BT: 213868 heap size
00:00:03 [PowerFSM] Starting bluetooth
00:00:04 BLE task running
00:00:04 registered service 0x1800 with handle=1
00:00:04 registered service 0x1801 with handle=6
00:00:04 registered service 6ba1b218-15a8-461f-9fa8-5dcae273eafd with handle=10
00:00:04 registered service cb0b9a0b-a84c-4c0d-bdbb-442e3144ee30 with handle=18
00:00:04 BLE advertisting type=0, Private=0, Device Address: b5:3c:61:05:0d:5c

00:00:05 [RadioIf] Completed sending (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim2 encrypted)
00:00:07 [RadioIf] Starting low level send (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim3 encrypted)
00:00:10 [RadioIf] Completed sending (id=0x508223bc Fr0xa0 To0xff, WantAck0, HopLim3 encrypted)

Is the key message. It means we couldn’t talk to the PMU (power management unit). Either because the i2c bus (which also goes to the oled screen) is messed up or the part is fried. That part can be fried by inserting the battery backwards (which I’ve heard reports of people returning units to amazon after doing that and then amazon shipping them out again). Often when this failure happens, if you power the board with USB and a battery installed you can feel the axp192 be physically hot (which it should never be).

If you have this problem, the board may still work fine - except for one big warning: battery charging may be uncontrolled. I’d recommend quite strongly to not install a battery.

SInce this happened on two boards, I recommend you check your screen carefully. Sometimes people buy screens with incompatible pinouts - which breaks the i2c bus.

Thank you for the detailed information. All units were bought from Lilygo’s AliExpress page and I’ve confirmed that the pinouts are identical.

I’m fairly confident that I did not install any of the batteries in backwards, but there is always the possibility.
On one unit (post 15), I did accidentally have the display shifted one pin over (gnd, 22, 21, 3.3) so it’s possible that I bricked the board. The display works fine on another unit. I moved it to the correct location before sending those logs, so they’re current. There’s a small chance that there is the slightest bridged connection but nothing obvious, I’ll keep looking. It’s unfortunate that the board possibly died vs the cheaper screen.

I might install the battery and the usb cable to test the chip temp, but let me know if that is a terrible idea.

I don’t think I’ll be contacting Lilygo for another replacement.

1 Like

I think that would be a fine test. But even if the part doesn’t heat up, I wouldn’t leave the battery in.

I’ve got a Critical Error 8 on my TTGO T3_v1.6 board running:
chayss-MacBook-Pro:firmware-1.1.50 chays$ ./device-install.sh -f firmware-tlora-v2-US-1.1.50.bin

Trying to flash firmware-tlora-v2-US-1.1.50.bin, but first erasing and writing system information

esptool.py v3.0

Found 8 serial ports

Serial port /dev/cu.usbserial-0206454E

Connecting…

Detecting chip type… ESP32

Chip is ESP32-PICO-D4 (revision 1)

Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None

Crystal is 40MHz

MAC: 50:02:91:96:af:54

Uploading stub…

Running stub…

Stub running…

Changing baud rate to 921600

Changed.

Erasing flash (this may take a while)…

Chip erase completed successfully in 5.5s

Hard resetting via RTS pin…

esptool.py v3.0

Found 8 serial ports

Serial port /dev/cu.usbserial-0206454E

Connecting…

Detecting chip type… ESP32

Chip is ESP32-PICO-D4 (revision 1)

Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None

Crystal is 40MHz

MAC: 50:02:91:96:af:54

Uploading stub…

Running stub…

Stub running…

Changing baud rate to 921600

Changed.

Configuring flash size…

Compressed 61440 bytes to 11950…

Wrote 61440 bytes (11950 compressed) at 0x00001000 in 0.2 seconds (effective 2972.3 kbit/s)…

Hash of data verified.

Leaving…

Hard resetting via RTS pin…

esptool.py v3.0

Found 8 serial ports

Serial port /dev/cu.usbserial-0206454E

Connecting…

Detecting chip type… ESP32

Chip is ESP32-PICO-D4 (revision 1)

Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None

Crystal is 40MHz

MAC: 50:02:91:96:af:54

Uploading stub…

Running stub…

Stub running…

Changing baud rate to 921600

Changed.

Configuring flash size…

Compressed 458752 bytes to 27874…

Wrote 458752 bytes (27874 compressed) at 0x00390000 in 0.4 seconds (effective 9178.6 kbit/s)…

Hash of data verified.

Leaving…

Hard resetting via RTS pin…

esptool.py v3.0

Found 8 serial ports

Serial port /dev/cu.usbserial-0206454E

Connecting…

Detecting chip type… ESP32

Chip is ESP32-PICO-D4 (revision 1)

Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None

Crystal is 40MHz

MAC: 50:02:91:96:af:54

Uploading stub…

Running stub…

Stub running…

Changing baud rate to 921600

Changed.

Configuring flash size…

Compressed 1573904 bytes to 927106…

Wrote 1573904 bytes (927106 compressed) at 0x00010000 in 13.3 seconds (effective 948.9 kbit/s)…

Hash of data verified.

Leaving…

Hard resetting via RTS pin…

I got it on 1.1.48 and 1.1.50Screen Shot 2021-03-03 at 5.03.51 PM