Skip to content

Can't start OTA Update via serial, Unknown choice: u #603

@aceat64

Description

@aceat64

RTK Everywhere version: v2.1-Feb 20 2025
Board: RTK Postcard

Using the serial config menu, selection of the option u) Update to new firmware fails with Unknown choice: u.

SparkPNT RTK Postcard v2.1-Feb 20 2025
** Bluetooth SPP and BLE broadcasting as: Postcard Base-E626 **
Menu: Main
1) Configure GNSS Receiver
2) Configure GNSS Messages
3) Configure Base
4) Configure Ports
5) Configure Logging
6) Configure WiFi
7) Configure TCP/UDP
f) Firmware Update
i) Configure Corrections Priorities
p) Configure PointPerfect
r) Configure Radios
s) Configure System
u) Configure User Profiles
+) Enter Command line mode
x) Exit
f

Menu: Firmware Update
Current firmware: v2.1-Feb 20 2025
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Enabled
u) Update to new firmware: v2.2-Mar 10 2025 - Not requested
x) Exit
u
Unknown choice: u

Menu: Firmware Update
Current firmware: v2.1-Feb 20 2025
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Enabled
u) Update to new firmware: v2.2-Mar 10 2025 - Not requested
x) Exit

Activity

PaulZC

PaulZC commented on Mar 24, 2025

@PaulZC
Contributor

Hi Andrew (@aceat64 ),

Thanks for reporting this.

The root cause appears to be that newOTAFirmwareAvailable is never set to true. This line is the critical one. @nseidle was restructuring the code around the time of this commit. Looks like we missed something.

While we fix this, there is a work-around:

Open the "Debug Software" menu (s d). Set option "60) Print firmware update states" to "Enabled".

Exit the menus.

Re-open the Firmware Update menu.

Ensure you have "Allow Beta Firmware" set to "Enabled", and you should be able to update.

Best wishes,
Paul

changed the title [-][Bug] [RTK Postcard] Can't start OTA Update via serial, Unknown choice: u[/-] [+][Bug] Can't start OTA Update via serial, Unknown choice: u[/+] on Mar 24, 2025
changed the title [-][Bug] Can't start OTA Update via serial, Unknown choice: u[/-] [+]Can't start OTA Update via serial, Unknown choice: u[/+] on Mar 24, 2025
nseidle

nseidle commented on May 21, 2025

@nseidle
Member

I believe this is no longer an issue in the RC. To test it, I overwrote the prefix to 'v' in firmwareVersionFormat() and manually set the firmware version in firmwareVersionGet()

firmwareVersionFormat(2, 0, buffer, bufferLength, includeDate);

With the above version set to 2.0 I get the following output:

Menu: Firmware Update
Current firmware: v2.0
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Disabled
u) Update to new firmware: v2.1 - Not requested
x) Exit
u

Menu: Firmware Update
Current firmware: v2.0
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Disabled
u) Update to new firmware: v2.1 - Requested
x) Exit
x

A successful update commences. This is expected behavior because the emulated version number is lower that the production release version.

firmwareVersionFormat(2, 1, buffer, bufferLength, includeDate);

With the above version set to 2.1 I get the following output:

Menu: Firmware Update
Current firmware: v2.1
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Disabled
x) Exit
c

Menu: Firmware Update
Current firmware: v2.1
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Requested
e) Allow Beta Firmware: Disabled
x) Exit
x
...
Version Check: Firmware is up to date. No new firmware available.
...
Menu: Firmware Update
Current firmware: v2.1
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Disabled
x) Exit
e

Menu: Firmware Update
Current firmware: v2.1-May 21 2025
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Enabled
x) Exit
c

Menu: Firmware Update
Current firmware: v2.1-May 21 2025
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Requested
e) Allow Beta Firmware: Enabled
x) Exit
x
...
Version Check: New firmware version available: 2.2-May 21 2025
...
Menu: Firmware Update
Current firmware: v2.1-May 21 2025
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Enabled
u) Update to new firmware: v2.2-May 21 2025 - Not requested
x) Exit
u

Menu: Firmware Update
Current firmware: v2.1-May 21 2025
a) Automatic firmware updates: Disabled
c) Check SparkFun for device firmware: Not requested
e) Allow Beta Firmware: Enabled
u) Update to new firmware: v2.2-May 21 2025 - Requested
x) Exit
x

An update successfully commences. This is expected behavior, the production release is the same, but an RC is available.

I'm going to remove some of the FIRMWARE_VERSION_MAJOR == 99 checks and rely on the settings.debugFirmwareUpdate override for our own testing purposes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @nseidle@aceat64@PaulZC

        Issue actions

          Can't start OTA Update via serial, Unknown choice: u · Issue #603 · sparkfun/SparkFun_RTK_Everywhere_Firmware