As I wrote yesterday, I have been experimenting with LoRa radios. Today, I got TCP/IP working over them!
The AX.25 protocol did indeed turn out to be well-suited to this. It’s simple and works. The performance is, predictably, terrible; ping times around 500-600ms, but it does work. I fired up ssh, ran emacs, did a bit with bash, and — yep! Very cool. I tried mosh as well, thinking it would be great for this, but for some reason it just flooded the link with endless packets and was actually rather terrible.
I wrote up how to use it. It’s not even all that hard!
Pretty satisfying seeing this work.
i think mosh just gives up early on a packet which makes it unsuitable for high latency links. (this might be tunable)
Not sure if it makes sense to run tcp on lora as because of its nature it is not aimed for general purpose communication like tcp.
What percentage of the link speed where you able to achieve ?
It was not all that great. I think somewhere in the neighborhood of 3000bps. A large part of that may be attributable to the really terrible interface of the radios I’m using; they will receive at most one packet, then they’ll stop listening until you put them back into listen mode, so transmissions have to delay after each packet to let the receiver transition back into listening.
Looked at your code and I think it can easily support others radio with the init file option.
Will try this weekend with some others Lora module we have at work.
That would be fantastic! What modules do you have available to you?
It looks like you’re right. Hard-coded in the source.
It’s not aimed for it… but it does work. Slowly, but it does ;-)
Wondering if any progress has been made ? I see Inductivetwig has a 1 watt Lora board.
A Mosh connection is started via a SSH connection, so needing TCP, and then switches to UDP. You mention SSD is working, so can you additionally test UDP?