Meshtastic

1.2.10 device alpha up, fixes 1.2.9 ugliness

Thanks for the quick reports!

REMINDER If you are new to meshtastic - you should stay with the 1.1.x device and app releases for now ;-). 1.2 is going well but I think it is about a week before it is ready for new users.

There is no new android release yet, probably not till late next week for that one. Because I’m going out of town most of next week. While out of town I’ll fix the 2-3 bugs ya’ll kindly reported in 1.2.7.

This release contains fixes for the following things:

  • Nasty assertion failure that I should have noticed by running the integration tests :wink:
  • Turn off store and forward plugin (turned on accidentally in 1.2.9)

I’m also releasing an android app with this change (no important android code changes, but will contain this new firmware)
Third public alpha of this major release chain. I think at this rate within a week it will be ‘definitely better’ than 1.1.x.

Caveats:

  • Unless you truly want to be an ALPHA tester, you should stay with the 1.1.x device and app releases for now
  • firmware builds are now region independent. You must use the android (in the settings tab) or python (with --set region X) tools to set the region for your radio and location. However, we try to preserve old region info, so if you are updating it will try to keep your region correctly. If we don’t know your region we guess and use USA frequencies.
  • The URLs sent by meshtastic 1.2 can only be understood by mesthastic 1.2 or later

Major changes:

  • Settings & channels can now be changed remotely via messages inside the mesh (not yet ready for testing by ya’ll yet - first I want to make a python testharness)
  • We now ‘piggyback’ acks on application layer replies, this substantially reduces airtime consumed
  • Multiple channels are simultaneously supported (not yet ready for testing though - please wait until I write a full wiki on the topic)
  • Lots of internal cleanup which will result in smaller/faster packets

Full list of changes:

1.2.9 to 1.2.10 Resolved the reset on send and the confirmations. Starting to look at python, router and wifi features.

1 Like

A hat for tbeam to do POE would be awesome so I could put it on the mast of my starlink in router mode!

1 Like

Manual method of adding meshtastic-web failing. Space issue?

alas no idea. possibly @mc-hamster knows?

The partition table on your device is set wrong. Check out our wiki on this.

1 Like

I had used the esphome to flash 1.2.10 from a mac book air and I read that it leaves the partitions not prepared for the wifi. It took some work because the doc\wiki for installing python\pip\esptool on a mac did not work for me. I ended up adding python3 and pip without brew and despite trying to update esptool with pip, I had to download esptool3 manually and edit device-install.sh and prepend esptool.py with python3. Then after a reset,I had to replace the 3 web root files with new ones downloaded from meshtastic-web because the ones included with the firmware didnt work.

3 posts were split to a new topic: FAQ: if Bluetooth connection fails after device update

Did 1.2.9 and 1.2.10 get pushed out to the Play Store correctly? I’m still on 1.2.7 and I keep checking for updates every few hours. Usually it is pretty instantaneous from when geeksville publishes his update here.

Note: Nevermind 1.2.10 isn’t pushed out as an OTA yet.

1 Like

For some reason I wasn’t able to flash using device-update, which I tried because the app didn’t have an update button, but it just looked like 1.2.6 again in the app, so I tried device-install which failed, so I did device-update again and it worked after that…

./device-update.sh -f firmware-tbeam-1.2.10.bin

Trying to flash update firmware-tbeam-1.2.10.bin.                                       
esptool.py v3.0
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting......
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: c4:4f:33:6a:a4:e1
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Compressed 1597264 bytes to 939030...
Wrote 1597264 bytes (939030 compressed) at 0x00010000 in 14.8 seconds (effective 861.8 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

(still showed up as 1.2.6)
(device-updated again, still 1.2.6)

./device-install.sh -f firmware-tbeam-1.2.10.bin

Trying to flash firmware-tbeam-1.2.10.bin, but first erasing and writing system information
esptool.py v3.0
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: c4:4f:33:6a:a4:e1
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Erasing flash (this may take a while)...
Chip erase completed successfully in 9.6s
Hard resetting via RTS pin...
esptool.py v3.0
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting.....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: c4:4f:33:6a:a4:e1
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 3132.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
usage: esptool write_flash [-h] [--erase-all] [--flash_freq {keep,40m,26m,20m,80m}]
                           [--flash_mode {keep,qio,qout,dio,dout}] [--flash_size FLASH_SIZE]
                           [--spi-connection SPI_CONNECTION] [--no-progress] [--verify] [--encrypt]
                           [--ignore-flash-encryption-efuse-setting] [--compress | --no-compress]
                           <address> <filename> [<address> <filename> ...]
esptool write_flash: error: argument <address> <filename>: Address "spiffs-1.2.10.bin" must be a number

I’m pretty sure I did device-update again and it looked fine, showed up as 1.2.10

1 Like

This is expected behavior. The app won’t have an update button showing, because the last device release included inside any android app is 1.2.6. For alpha tests we release the device and app releases independently. Sometimes if you want the absolute latest alpha (i.e. 1.2.10) you’ll need to install from USB/github.

Yes I assumed as such, I meant to be reporting the issue where flashing from the CLI twice didn’t actually update the firmware, and there’s a weird error message from device-install, which I shared above.

1 Like

Oh! I see what you mean now. I just took a look at device-update.sh, it is a super useful script that some kind person donated. But it seems to have a problem. The ESP32 bootloader supports ‘flippy flop’ - it keeps two whole app images and uses the latest one. But that script is only writing the first position and not updating the pointer the bootloader uses to find which image to use.

Fixed here:

1 Like

Excellent! I completely didn’t realize this had that kind of thing so I was really confused.

1 Like