RTK Torch - won't exit UM980 bypass, can't connect/upgrade UM980

Torch had v1.2 firmware I believe. Updated to 3.0 over wifi. Seemed to work.

Updated the STM and Lora from v0.5 I believe to 2.0.2. Seemed to work.

Tried to update the UM980. Entered the menus, set UM980 bypass mode, and now it’s broken.

A single power button press will not exit UM980 bypass mode. I’ve tried long, short, few, many, power down, power up, dis/connecting the USB, nothing.

UPrecise will “connect”, but firmware upgrade says “Firmware upgrade of this product is not supported, please confirm!”. Receiver configuration says “Configuration of this receiver is not supported. Please confirm!”. No data is visible, I don’t believe it connects. Same behavior at 57600 which it picks, and at 115200.

The upgrade guide in the Torch docs doesn’t say anything about Teraterm being a problem by resetting the ESP32 on disconnect.

The Unicore ugprade doc in essence says don’t use Teraterm, use Arduino Serial Monitor.

Tried both, you can hear that the Arduino Serial Monitor doesn’t reset the ESP32, great, but what’s the difference between that and power cycling the unit that obviously brings the unit back up in UM980 pass through mode?

In either terminal I see this or similar:

Shutting down (button)
E (1278) esp_cor  &VW
}   ͡  No core dump partition found!
E (1278) esp_core_dump_flash: No core dump partition found!


64:B7:08:xx:xx:xx - wifiMACAddress
64:B7:08:xx:xx:xx - btMACAddress
64:B7:08:xx:xx:xx - ethernetMACAddress

LittleFS Started
Using profile #0
PSRAM Size (bytes): 2097152
I2C Devices:
  0x08 - HUSB238 Power Delivery Sink Controller
  0x0B - BQ40Z50 Battery Pack Manager / Fuel gauge
  0x5C - MP27692A Power Management / Charger
  0x60 - ATECC608A Cryptographic Coprocessor
=======================
SparkFun RTK Torch v3.0
=======================
Profile 'Profile1' loaded

Entering UM980 direct connect for firmware update and configuration. Disconnect this terminal connection. Use UPrecise to update the firmware. Baudrate: 115200bps. Press the power button to return to normal operation.

So what now?

Two for two.

A couple of notes, each unit had been factory defaulted after the upgrade to v3.0.

The second unit, I was able to upgrade the STM/Lora again successfully. I noticed while trying to get into UM980 bypass mode that the Lora timed out and moved to some other mode with mention of USB. So I defaulted unit #2 again, which turns Lora off.

There was a boot sequence (?) from the GPS that showed up in the serial monitor, but I believe as I exited Arduino the ESP32 rebooted again, as evidenced by the beep. No UPrecise connection, no exit of bypass mode, no double click to enable wifi AP. This unit doesn’t show the esp_core no dump partion found message, but the whole rest of the sequence is identical now.

Good news and bad news.

RTK Firmware Uploader 1.70, erase flash, reload firmware, and the units are un-bricked.

Tried UM980 upgrade again, same results.

Downgrade to Torch v2.3, the UM980 upgrade process works as expected. Good news, there’s a pathway out and a pathway to upgrade the UM980. Bad news, it would seem v3.0 broke the UM980 upgrade.

With v3.0:

UM980 passthrough mode has been recorded to LittleFS. Device will now reset.
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 153911750, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:4832
load:0x40078000,len:16460
load:0x40080400,len:4
load:0x40080404,len:3504
entry 0x400805cc
E (1289) esp_cor  VW
}   ͡  No core dump partition found!
E (1289) esp_core_dump_flash: No core dump partition found!


E4:65:B8:xx:xx:xx - wifiMACAddress
E4:65:B8:xx:xx:xx - btMACAddress
E4:65:B8:xx:xx:xx - ethernetMACAddress
LittleFS Started
Using profile #0
PSRAM Size (bytes): 2097152
I2C Devices:
  0x08 - HUSB238 Power Delivery Sink Controller
  0x0B - BQ40Z50 Battery Pack Manager / Fuel gauge
  0x5C - MP27692A Power Management / Charger
  0x60 - ATECC608A Cryptographic Coprocessor
=======================
SparkFun RTK Torch v3.0
=======================
Profile 'Profile1' loaded

Entering UM980 direct connect for firmware update and configuration. Disconnect this terminal connection. Use UPrecise to update the firmware. Baudrate: 115200bps. Press the power button to return to normal operation.

Note, no NMEA messages.

With v2.3:

UM980 passthrough mode has been recorded to LittleFS. Device will now reset.
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 153911750, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:4832
load:0x40078000,len:16460
load:0x40080400,len:4
load:0x40080404,len:3504
entry 0x400805cc
E (1242) esp_cor  VW
}   ͡  No core dump partition found!
E (1242) esp_core_dump_flash: No core dump partition found!


E4:65:B8:xx:xx:xx - wifiMACAddress
E4:65:B8:xx:xx:xx - btMACAddress
E4:65:B8:xx:xx:xx - ethernetMACAddress
LittleFS Started
Using profile #0
PSRAM Size (bytes): 2097152
I2C Devices:
  0x08 - HUSB238 Power Delivery Sink Controller
  0x0B - BQ40Z50 Battery Pack Manager / Fuel gauge
  0x5C - MP27692A Power Management / Charger
  0x60 - ATECC608A Cryptographic Coprocessor
=======================
SparkFun RTK Torch v2.3
=======================
Profile 'Profile1' loaded

Entering UM980 direct connect for firmware update and configuration. Disconnect this terminal connection. Use UPrecise to update the firmware. Baudrate: 115200bps. Press the power button to return to normal operation.
 D aFx 0u=   $GNGGA,,,,,,0,,,,,,,,*78
$GPGSA,,1,,,,,,,,,,,,,,,,*73
$GNRMC,,V,,,,,,,,,,N,V*37
$GPGST,,,,,,,,*57

Notice it starts outputting the NMEA messages immediately. After this, the UM980/UPrecise upgrade works as expected.

Hi Paul (@paulcsf ),

Thanks for the updates. I’m glad you got this working.

For the UM980 upgrade, we put the ESP32 into a “passthrough” mode, where is passes all traffic from USB (CH342) to the UM980 as quickly as possible, in both directions. This allows UPrecise to communicate ~directly with the UM980 for the upgrade - at 115200 baud.

When you select “13) UM980 direct connect for firmware upgrade”, the RTK Everywhere firmware creates a special file in the ESP32 LittleFS flash file system. When that file is present, the firmware will always go into the direct connection mode.

If you power-cycle the Torch, the file isn’t deleted and the firmware will go back into direct connection mode.

If you click / tap the Torch power button while the firmware is in direct connection mode, the special file is deleted and the firmware restarts normally.

The only other way to remove the file is to completely erase the ESP32 flash memory. Uploading the firmware doesn’t erase the LittleFS partition. Only a full erase does that. In the RTK Firmware Uploader, select “Extras” and then “Erase Flash”.

The RTK Firmware Uploader won’t work correctly if any other programs are accessing the CH342 COM port. Please make sure you have closed Tera Term, the IDE Serial Monitor and UPrecise before you try to use the Uploader. The Uploader is not good at reporting when it fails because the COM port is in use by another program. One day, when time permits, we’ll fix that…

I hope this helps explain what you’ve been seeing.

If you still think there’s an issue with 3.0, please let us know and we will investigate.

Best wishes,
Paul

Yes, there’s definitely an issue with 3.0.

3.0 won’t exit bypass mode.

3.0 doesn’t bypass the GPS.

OK - thanks Paul - I’ll take a look tomorrow (I’m in the UK),

Best wishes,
Paul

Thank you Paul (@paulcsf ),

Confirmed… I have opened an issue for this here. We’ll get this fixed ASAP.

Best wishes,
Paul