Firmware 2.5 first experiences

O.k. I jumped into the pool last night and updated many nodes to 2.5 since I wanted to give the new encryption for DM’s a try. Here are my experiences:

  • DM’s are working fine and don’t show up on the MQTT channel now
  • Note: I tested this with a CardKB node as Android does not support this, unless you have your primary channel setup with the MQTT Channel. E.g. you can’t select the channel via Android (yet).
  • I’ve not been able to figure out how to “store the default node config yet” which is supposed to restore itself if the node has a random reset.

I’ll update this as things develop, but I’m not sure if some of these are bugs or I just have not found the right documentation on how to setup things up in 2.5.

P.S. if you install it from the online flasher you do get this notice:
“Configuration and UX is available in the Apple apps for the initial technical preview. Messages should deliver on other platforms without any indication that they are now encrypted. Remote administration under the new scheme will require client updates to all of the platforms.”

Enhancements

2.5 Changes by thebentern in //github.com/meshtastic/firmware/pull/4431
  • Re-implement PKI from #1509 by jp-bennett in /meshtastic/firmware/pull/4379
  • User to UserLite in NodeDB by the bentern in /meshtastic/firmware/pull/4438
  • Add logic to nodeDB to prefer evicting boring nodes by jp-bennett in /meshtastic/firmware/pull/4441
  • Shorter nodeinfo timeout redux by jp-bennett in /meshtastic/firmware/pull/4458
  • Add PKI channel for MQTT by jp-bennett in /meshtastic/firmware/pull/4464
  • Short turdbo by thebentern in \github.com/meshtastic/firmware/pull/4465\
  • Re-compute correct timeslot on applyModemConfig by thebentern in /meshtastic/firmware/pull/4469
  • Master downstream to 2.5 by thebentern in /meshtastic/firmware/pull/4474
  • Send local stats telemetry to phone every 15 minutes by thebentern in /meshtastic/firmware/pull/4475
  • Set time-only admin command by thebentern in /meshtastic/firmware/pull/4479
  • AdminModule session_passkey by jp-bennett in /meshtastic/firmware/pull/4478
  • Add two-way traceroute result with SNR per hop by GUVWAF in /meshtastic/firmware/pull/4485
  • Add 4 bytes of random nonce to PKI by jp-bennett in meshtastic/firmware/pull/4493
  • Feature: default to fuzzy GPS location on the Default Channel by mrfyda in /meshtastic/firmware/pull/4467
  • Add admin getter for SECURITY_CONFIG by andrekir in /meshtastic/firmware/pull/4499
  • Only accept PKI messages for MQTT downlink for known nodes by GUVWAF in /meshtastic/firmware/pull/4498
  • Fix deprecated macros. by Mictronics in meshtastic/firmware/pull/4505
  • Set RP2040 in dormant mode when deep sleep is triggered. by Mictronics in /meshtastic/firmware/pull/4510
  • Make it possible to define TCXO and XTAL radio modules within one variant by Nestpebble in /meshtastic/firmware/pull/4492

Bug fixes and Maintenance

  • Remove heltec-specific gps code from main.cpp by fifieldt in /meshtastic/firmware/pull/4508
  • Add heartbeat LED for HT-VME290 and HT-VME213 by todd-herbert in /meshtastic/firmware/pull/4511
  • JP frequency - 20mW limit, change freqs to avoid duty cycle by fifieldt in /meshtastic/firmware/pull/4446
  • Bin: remove unused imports from readprops.py by Jorropo in /meshtastic/firmware/pull/3907
  • Fall back to default modem preset if requested bandwidth is too large by GUVWAF in /meshtastic/firmware/pull/4497
  • Fix array out of bounds read. by Mictronics in /meshtastic/firmware/pull/4514
  • Add handling for sessionkey config by jp-bennett in /meshtastic/firmware/pull/4513

New Contributors

mrfyda made their first contribution in /meshtastic/firmware/pull/4467

On the point of the default config, maybe wrong, but I beleive that is aluding to this file firmware/userPrefs.h at master · meshtastic/firmware · GitHub

Ie you can build custom firmware that has ‘hardcoded’ defaults. The userPrefs.h file is a central place to change defines, rather than having to change lots of places around the code.

… still need to build your own firmware for it work.

I think this was part of the process for building custom firmware for defcon and burning man. The custom firmware would keep its custom settings even after a factory reset - so that dont have to ‘ask’ all users to make special settings each time.

1 Like

Thanks! I did compile it, so I’ll give creating a default config a shot for my solar nodes.

You can’t select the new admin on android?

What I meant is that is you have multiple channels like Family, Friends, and Default, on the Android App you can’t choose which channel you are sending a DM on. The DM will always Default to what’s setup on Channel 0. I don’t know if that is a big deal anymore since the DM’s have their own encryption now. For me the Default channel is on Channel 1, and I wanted to test it via MQTT, so I had to use a device that I could send a DM on channel 1, which Android does not allow you to do.

On the negative side my dedicated MQTT node went haywire and I need to do a full restore this morning. I stuck with 2.5, but I have to use the admin channel to manage it since it’s on WiFi where you can’t see the other devices, hence l can’t get to the web client. Anyway I just could not manage the node via admin. I then found that I hadn’t updated the associated modules, which then the next build allowed me to connect from a 2.5 node on the admin channel for remote configuration to some other 2.4 nodes. So I decided to flash my 2.5 MQTT node via the we and do a full erase. In this configuration I was unable to change the node name via Android. Anyway, I ended up putting 2.4 back on the node and all is well.

I’ll leave 2.5 on my mobile nodes, but the special/dedicated nodes I’ll keep on 2.4 for now.

1 Like

If anything the new DM encryption is more tied to the primary channel, this is for direct messages, group messages on a channel don’t use the new PKI system at all.

I’m having trouble with the iOS app - I am still running 2.3.15 on all nodes, but I can’t seem to remotely administer those nodes any longer. I tried enabling “legacy admin” but it doesn’t seem to save.

Those settings are only for 2.5, uncheck any new settings you enabled

Even with a complete reset to factory defaults and the same admin channel setup on all devices, I don’t see the other devices listed for administration.

I just installed the 2.5 update on both a lillygo and Heltec and am pleased the flash went amazingly easy. There must have been a bug in the flasher before which is now gone.