meshtastic / firmware

Meshtastic device firmware
https://meshtastic.org
GNU General Public License v3.0
3.29k stars 799 forks source link

[Bug]: RAK12500 GPS Module causing WisBlock shutdown #4440

Closed ShakataGaNai closed 1 month ago

ShakataGaNai commented 1 month ago

Category

Hardware Compatibility

Hardware

Rak4631

Firmware Version

2.4.2

Description

I have a WisBlock RAK1907/RAK4631 base. In addition to that it has a RAK1906 BME680 and RAK12500 GPS Module. Brand new hardware all around, installed 2.4.2 Alpha and I noticed that the device went unresponsive after some amount of time. After some testing and logs I determined the unit was powering itself down after 5mn, and appears to be related to the GPS module. This occurred with both the 2.3.15beta, 2.4.1beta and 2.4.2 alpha builds (logs attached).

During this testing the unit was hooked up to my laptop, no other power source. All 3 (BLE/LORA/GPS) stock antennas. The 2.4.2 test was conducted outdoors in full sky view, the GPS never seemed to get a lock. All other tests were conducted indoors where I wouldn't expect the GPS to get a lock.

Thinking a possible issue from factor, I also used the firmware erase/reset. That did not change the situation.

Upon uninstalling the GPS module, the shutdown issue no longer occurred.

Configuration also attached. Only settings were enabling telem (for BME680) and setting GPS to fastest possible options (as this was supposed to be used for a vehicle).

Relevant log output

rak-lockup-2.4.1beta.log rak-lockup-2.3.15beta.log rak-lockup-2.4.2alpha.log

WARN  | 21:16:36 305 [GPS] Couldn't publish a valid location: didn't get a GPS lock in time.
DEBUG | 21:16:36 305 [GPS] Took 300s to get lock
DEBUG | 21:16:36 305 [GPS] Predicting 0s to get next lock
DEBUG | 21:16:36 305 [GPS] 29s until next search
DEBUG | 21:16:36 305 [GPS] gps_update_interval >= 0s needed to justify hardsleep
INFO  | 21:16:36 305 [GPS] GPS power state moving from ACTIVE to HARDSLEEP
DEBUG | 21:16:36 305 [GPS] publishing pos@0:2, hasVal=0, Sats=0, GPSlock=0
DEBUG | 21:16:36 305 [GPS] onGPSChanged() pos@0 time=1723410996 lat=0 lon=0 alt=0
INFO  | 21:16:36 305 [GPS] updatePosition LOCAL pos@0 time=1723410996 lat=0 lon=0 alt=0
DEBUG | 21:16:36 305 [GPS] Setting local position: lat=0 lon=0 time=1723410996 timestamp=0
DEBUG | 21:16:36 305 [GPS] Node status update: 17 online, 33 total
INFO  | 21:16:36 305 [Button] Shutdown from long press
INFO  | 21:16:39 308 [Button] Shutting down
INFO  | 21:16:39 308 [Button] Entering deep sleep forever
INFO  | 21:16:39 308 [Button] Disable NRF52 bluetooth
DEBUG | 21:16:39 308 [Button] SX126x entering sleep mode (FIXME, don't keep config)
INFO  | 21:16:39 308 [Button] GPS deep sleep!
INFO  | 21:16:39 308 [Button] GPS power state moving from HARDSLEEP to OFF
INFO  | 21:16:40 309 [Button] Saving /prefs/config.proto
INFO  | 21:16:42 311 [Button] Saving /prefs/module.proto
INFO  | 21:16:43 312 [Button] Saving /prefs/channels.proto
INFO  | 21:16:45 314 [Button] Saving /prefs/db.proto
WARNING file:stream_interface.py __reader line:187 Meshtastic serial port disconnected, disconnecting... read failed: [Errno 6] Device not configured

Config

sg9v-config.txt

ShakataGaNai commented 1 month ago

The issue was that the RAK12500 is only supported on Slot A, on the RAK1907 baseboard, per https://meshtastic.org/docs/hardware/devices/rak/peripherals/?rakmodules=GPS . Even though Slot D on the back seems like the only logical place the GPS can go without covering another slot, use Slot A on the front. GPS got a lock very quickly and the RAK stopped powering itself down.