Off-Grid Communications

Continuing the discussion from New at 'Desktop On Fire!": I’ve got two old ARM7 devices that are barely still useful due to the age of the software running on them. My CuBox i4Pro has barely been used, is a perfectly usable device with good workmanship and comes standard with Bluetooth and WiFi hardware. My ODroid XU4 has no on-board wireless support but runs a third-party Android 7.1 install (LineageOS) like a champ.

The Meshcore Flasher appears to install closed source code in its repeater, has a paid model and my hardware is unsupported. Meshtastic’s repeater is open-source and free.

In the event of an actual disaster, the likelihood of an accompanying economic collapse will render Meshcore unusable while free solutions will continue as long as decentralized power consumption is available. Knowing this, what would it take to add Meshcore-style features to Meshtastic’s repeater? Also, is there anything about the repeater that would prevent it from working on an old ARM7 machine?

Edit

Meshcore’s web client only supports Chrome and derivatives, making desktop usage on any operating system that doesn’t have Chrome require a custom app. Recently, in the thread this was spawned from, a custom app was written for Haiku but this would have to be repeated for every operating system that doesn’t support Google’s browser APIs. UGH!

Edit2

I2P seems to have economic independence also if encryption needs to be added to Meshtastic, especially if the same governments that were funding Tor go belly-up at the same time as Meshcore. All encryption software needs some beefy CPU time but I2P is at least FOSS all the way through.

Just a small clarification: MeshCore is released under the MIT license — it’s fully open source. The source code is freely available. Only certain specific firmware builds/features are behind a paywall, and it’s really more of a small contribution to support the solo developer behind the project than any real commercial barrier.

Also, the ecosystem of open resources around MeshCore is already quite rich and growing. Take a look at this curated list: GitHub - samuk/awesome-meshcore: A curated list of amazingly awesome MeshCore resources — there’s plenty of material to work with without spending a dime.

On the Chrome-only web client point: that’s a fair criticism, but the community is already working on alternative clients. As for Haiku, well, I’m the one who wrote that “Sestriere” client you’re talking about — so I can confirm firsthand that the open protocol makes it perfectly possible to build native clients without too much trouble! :grinning_face_with_smiling_eyes:

That said, let’s not make this a religion: MeshCore is certainly younger than Meshtastic and has different characteristics, each has its own strengths. But there’s a certain irony in wanting to build a network designed to work without the internet and then relying heavily on MQTT for data transmission, right? :wink:

Maybe something like esptool could be used to flash the devices? We do have esputil in HaikuDepot. I do have 3 Heltec LoRa32 V3’s on their way here. Hopefully the will make it out here by next week.

I don’t think you mean arm7, maybe you mean arm v7 (ARM ISA version 7) or arm cortex A7 (a 32 bit ARM core)? Arm7 are 32 bit ARM cores, but really old, typically less than 100 MHz clock speeds. ARM7 - Wikipedia

Religious Prepping Background (Humor Me)

As far as the religious implications, I’m prepping for the last days and believe we’re already in the second of the 4 horsemen of the apocalypse. The black horse is a financial famine because the only one of the 5 commodities listed in those 2 verses in Revelation 6 that are measured by mass rather than volume, is the silver denarius: a day’s wage. :wink: Let’s keep the balance in the black. :balance_scale:

Back on the Topic of Code

If the client were written using the existing source and compiled into WebAssembly, then any fully-featured web browser could run the existing code without needing an actual port! :technologist: I’ll look into the specs later because if it isn’t implemented in a modern language, my old hardware might not run it parallel enough to be useful.

Hardware Specs of my Old 32-bit Devices

The devices I listed are 32-bit ARM. They each have 2 GB of RAM. They have LPDDR3 because that was all that was available 13 years ago. My main system is a 64-bit, 3rd-gen Intel i7 with 32 GB of DDR3 in a desktop case. I don’t use anything newer because that’s all I need for now. My hardware is always obsolete just like a new car becomes a used car as soon as you drive it home from the dealer. Why waste money on new stuff if the old stuff works well enough?

Interesting idea. Sestriere could flash the firmware onto the device. New challenge accepted! :sweat_smile: :thinking:

2 Likes

That is an awesome idea! If you need testing, let me know as I have three brand new ones on the way here!