Re: Discuss: Future of AX25, NETROM and ROSE in the kernel ?

Hugh Blemings <[email protected]> Sun, 19 Apr 2026 19:36:42 +1000
Newsgroups gmane.linux.hams
Message-ID <[email protected]>
HI All,

On 19/4/2026 14:01, Stuart Longland VK4MSL wrote:
> On 19/4/26 05:28, Dan Cross wrote:
>> [Top-posting to make meta-commendary]
>>
>> I wonder if other folks have thoughts, here? It doesn't bode well that
>> the discussion hasn't progressed. 🙁
>
> I haven't had a chance to fully review what you've posted… there was a 
> lot of historical information in there including detail on the 
> protocols in question.  I've earmarked it to go through closely 
> however. (e.g. I had heard of "ROSE" but never seen a spec for it.)
>
> My situation was wanting a library that I could use to do AX.25 
> networking from userspace without having applications having to 
> elevate to `root` to achieve it.  There was also a maintenance 
> concern.  Rather than try and work out the AX.25 kernel stack, I opted 
> to instead build my own.
>
> Instructive, but difficult as the documentation is sketchy in places.
>
> My implementation was written in Python 3.5+ for ease of development. 
> Probably not the best option, but it got the job done.  `aioax25` 
> allowed me to deliver a project for an emergency comms group and 
> provides a reasonable foundation for simple tasks.  The stack is also 
> portable to other platforms.  (I mostly only care about Linux and 
> *BSD, but well written software should work elsewhere too.  Apparently 
> it works fine on Apple MacOS X.)
>
> A userspace AX.25 daemon which implements the stack would seem to be 
> the best course of action, but the elephant in the room is what the 
> API would look like.
>
> The only thing I've seen close to achieving something like that would 
> be the AGWPE protocol, however the author of that AX.25 stack has 
> categorically stated that he "owns" that protocol.  I don't feel like 
> going to court to argue copyright of interfaces for the sake of a hobby.
>
> The AGWPE protocol is also very limiting: a lot of fields in the AX.25 
> frame are not accessible via this protocol, either for reading or 
> setting.  Want to use the two reserved bits to signal something in a 
> custom protocol?  Too bad.
>
> I was therefore pondering a "stream"-like protocol using KISS-style 
> framing (to re-use existing code).  The frames would serve as an RPC 
> mechanism for implementing something like the `libax25` API, exposing 
> the same functionality and allowing an application to interact with 
> the AX.25 stack without having to implement the whole protocol (as 
> they'd have to do with KISS).
>
> Client applications could connect either via Unix domain sockets or TCP.
>
> You mention the performance hit of crossing the kernel/user-space 
> boundary… I think Direwolf experimentally can work as high as 
> 38400bps. A turn-of-the-century desktop PC was easily able to keep up 
> with that for PPP links (with `pppd` running in userspace). ARMv7 
> single board computers made 15 years later can deliver similar 
> performance.  I don't think this will be much of a bottleneck in 
> practice.
>
> I think userspace is the right way forward given the niche use case here.

Apologies, I kicked off this thread and life intervened a bit and have 
only now had a chance to get back to read through the excellent 
discourse since.

I did have one off list conversation about this which was similarly 
leaning towards a well managed/discussed shift to a userspace approach. 
The individual in question has had quite a lot of both ham radio and 
FOSS experience - I'll give them a nudge and see if they would be 
willing to weigh in here too as I think they'd add a lot to the thread.

I wonder if anyone on list feels they have the right skills to put 
together the shim/compatibility library that would be needed to allow 
the kernel code to be removed?  Seems like that might be the next thing 
to explore ?

Hoping things settle down a bit and will be able to contribute more to 
ongoing discussion

vy 73
Hugh
VK1YYZ/AD5RV



-- 
I am slowly moving to [email protected] as my main email address.
If you're using [email protected] please update your address book accordingly.
Thank you :)