cceremuga / cceremuga/ionosphere
multimon-ng must not be used for an iGate, it corrupts packet data
- 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