cceremuga / cceremuga/ionosphere

multimon-ng must not be used for an iGate, it corrupts packet data

Open
#30 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
58
Forks
6
PR merge metrics
No merged PRs in 30d

Description

https://github.com/cceremuga/ionosphere/blob/19d03f03f87950c54079cc0b3b9da0ff9f9a59b5/services/packet/packet.go#L15

Hi,

multimon-ng AX.25 packet radio decoder output is not binary clean. It is designed for decoding packets for human-readable use, and it strips/modifies out some bytes (non-printable packets which do appear in some packet formats) and does not handle multi-line packets well. Using it on an iGate will cause modified duplicate packets to be generated on the APRS-IS, when other iGates forward an intact packet and this igate forwards a corrupted packet.

A far better strategy for creating an iGate with an RTL-SDR is doing FM demodulation with rtl_fm, and passing the audio stream to Direwolf which can either be configured to act as a standalone iGate, or used as a KISS TNC for another iGate software (I use it with aprx). This provides a proper, safe APRS implementation, which treats the packets the same way as other iGates on the network, without data corruption.

Please see https://github.com/hessu/aprsc/blob/main/doc/IGATE-HINTS.md for details.

Contributor guide

No contributing guide indexed for this repository

Research direction

The relevant entry point is services/packet/packet.go at line 15; read how multimon-ng output enters packet handling. Compare the issue's rtl_fm/Direwolf approach and APRS guidance, then verify that forwarded packets remain binary-clean and are not duplicated in corrupted form.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.