sparkfun / SparkFun_RTK_Firmware

Centimeter precision GPS/GNSS using L1/L2 signals broadcast over Bluetooth SPP (using the ESP32) in an easy to use enclosure.
https://docs.sparkfun.com/SparkFun_RTK_Firmware/
Other
82 stars 46 forks source link

GNSS RTK Facet hard locks, unable to power off using button push #741

Closed bendauphinee closed 9 months ago

bendauphinee commented 9 months ago

Subject of the issue

After attempting to change a config, my Facet hard locked up, and will not respond to power button press or hold (greater than 10 seconds). I think at this point I'm going to have to let its battery die.

Your workbench

Steps to reproduce

I don't know that I have a reproducible one, but here's what I did leading up to this lockup.

Expected behavior

Settings should be saved, or at least device should be able to power cycle via power button hard press.

bendauphinee commented 9 months ago

Update: So after cracking it open, and resetting using the internal button, it looks like the issue is more awesome than that. Rebooting, and going to config mode attempts to connect to my iPhone AP again, fails, and ends up broadcasting the Rover Config Wifi. Connecting to that allows me to see settings, but modification doesn't seem to work at all.

So, reproduction steps, maybe just set it into WiFi mode for configure, give it an AP that doesn't exist, and reboot into config mode again?

bendauphinee commented 9 months ago

Followed the factory reset steps, after powering it down using the internal button. Device is now recovered into a working state.

nseidle commented 9 months ago

Sorry for the hassle! Your issue may be loosely related to this forum topic (this is just a breadcrumb for me).

A factory reset is a fine first step. Glad to hear you are almost back up.

my Facet hard locked up, and will not respond to power button press or hold

This would indicate the external power button has failed. After opening up the unit, is your external power button working again?

Your steps to recreate are good! Thank you. But I have a few clarifying questions.

Added the AP name / password for my iPhone hotspot mode. Set the Facet to AP mode. Instead of connecting to my iPhone, it connected to my previously configured home AP.

How did you set the Facet to AP mode? Via serial config? Or are you saying that you pressed the setup button until the 'CONFIG' menu was selected and the device entered config mode?

Was the device's Configure Mode setting set to AP or WiFi? I realize this is a potentially very confusing question, but it's important to be sure.

Rebooting, and going to config mode attempts to connect to my iPhone AP again, fails, and ends up broadcasting the Rover Config Wifi.

This is expected behavior if the device simply cannot connect to a given WiFi network. In this case, it's your iPhone. Perhaps the credentials were slightly incorrect. Can the RTK Facet connect to any other WiFi network?

It sounds like you have an SD card being used. If a unit detects an SD card, it will give precedence to the settings on the card as opposed to what is stored in the unit.

nseidle commented 9 months ago

Added the AP name / password for my iPhone hotspot mode.

How many WiFi networks did you have inputted into the RTK Facet?

nseidle commented 9 months ago

I may have found the start of the problem: If I enter bad WiFi credentials, the device will fail to connect to the given SSID (to be expected). It is then designed to fall back to AP mode, but it does not:

Connecting WiFi... No friendly WiFi networks detected. Connecting WiFi... No friendly WiFi networks detected. wifiStartAP: Error setting WiFi protocols: ESP_ERR_INVALID_ARG WiFi AP Started with IP: 192.168.4.1

This error is related to bad protocol switching. I'll try to pin it down more.

Potentially related issue (just more breadcrumbs to myself).

nseidle commented 9 months ago

Ok, I think I found a few issues:

Please give the Dec 27 release candidate a try. I believe these fixes should solve your issue.

You may still have an external button fail/problem. That's a hardware issue that we can solve with parts. Let me know if you're still experiencing an external button failure.

bendauphinee commented 9 months ago

How did you set the Facet to AP mode? Via serial config? Or are you saying that you pressed the setup button until the 'CONFIG' menu was selected and the device entered config mode?

Via Config mode, and then in the web interface, yes. I've yet to start tinkering under the hood with the serial mode.

Was the device's Configure Mode setting set to AP or WiFi? I realize this is a potentially very confusing question, but it's important to be sure.

Shoot, I should have noted that. I was in AP mode, but I think I had swapped back to WiFi mode before I removed my home WiFi settings.


After factory reset, the external power button worked as expected. To power cycle the device to be able to run the factory reset via SD card, I had to access the internal power button, which leads me to think that maybe future Facets need to have a design tweak to expose the internal power button as a reset button or something.

nseidle commented 9 months ago

Ok, I think I've got this fixed in v4.0. I'm going to close this issue but please feel free to open another if you see anything new/different/again.

maybe future Facets need to have a design tweak to expose the internal power button as a reset button

Noted. Thanks!