Intent to create new SDR ports: comms/ka9q-radio and comms/SoapyRX888

Larry Gadallah <[email protected]>
Newsgroups gmane.os.freebsd.devel.ports
Message-ID <CAPtFaQvY9ReWKq+AMrrC69vXz7rhoG=0-cGy4hy_QWCUi0Sy7Q@mail.gmail.com>
Hello FreeBSD ports maintainers,

I'm announcing my intention to create two new ports in the comms category
for Software Defined Radio (SDR) applications:
Port 1: comms/ka9q-radio

*Description:* Multichannel SDR platform based on fast convolution and IP
multicasting
*Upstream:* https://github.com/ka9q/ka9q-radio
*License:* Mixed (primarily BSD/MIT compatible)
*Author:* Phil Karn (KA9Q)

*Overview:* ka9q-radio is a high-performance SDR platform that can
simultaneously demodulate hundreds of channels using efficient fast
convolution algorithms. It's designed for applications requiring many
concurrent receivers (APRS gateways, monitoring systems, etc.). The
software already has partial macOS support, providing a BSD-compatible
foundation for FreeBSD porting.

*Dependencies:* FFTW3, Opus, Avahi, ncurses, various SDR hardware libraries
*Challenges:* Requires adaptation from systemd to rc.d service management
Port 2: comms/SoapyRX888

*Description:* SoapySDR module for RX888 wideband SDR receivers
*Upstream:* https://github.com/cozycactus/SoapyRX888
*License:* Open source (investigating specific license)
*Author:* CozyCactus

*Overview:* SoapySDR backend module for the RX888, a popular $200 16-bit
SDR with up to 64 MHz bandwidth. This would complement existing SoapySDR
modules already in ports (SoapyRTLSDR, SoapyHackRF, SoapyAirspy). The
module already works on macOS via Homebrew, demonstrating BSD compatibility.

*Dependencies:* SoapySDR, libusb, librx888 (may need separate port)
*Challenges:* RX888 has a somewhat fragmented driver ecosystem
Questions for the Community:

   1. *Port naming:* Are comms/ka9q-radio and comms/SoapyRX888 appropriate
   names and categories?
   2. *Dependencies:* Should librx888 be a separate port, or bundled with
   SoapyRX888?
   3. *Staging:* I plan to develop these incrementally. Is it acceptable to
   submit PRs with basic functionality while continuing development?
   4. *Conflicts:* Are there any existing ports or planned developments
   that might conflict?

Development Timeline:

   - *Phase 1:* ka9q-radio interactive components (control, monitor) -
   leveraging existing macOS compatibility
   - *Phase 2:* ka9q-radio daemon (radiod) with rc.d service management
   - *Phase 3:* SoapyRX888 module porting from macOS implementation
   - *Phase 4:* Integration testing and optimization

I have experience with both SDR hardware and FreeBSD systems, and I'm
committed to maintaining these ports long-term. The SDR community has
expressed significant interest in FreeBSD support for these tools.

I welcome any feedback, suggestions, or offers of collaboration. Please let
me know if there are any concerns or recommendations before I begin
development.
Related Existing Ports:

   - comms/SoapySDR (framework)
   - comms/SoapyRTLSDR, comms/SoapyHackRF, comms/SoapyAirspy (similar
   backends)
   - comms/rtl-sdr, comms/hackrf (hardware support)
   - math/fftw3 (dependency)

Thank you for your time and consideration.

Best regards,
-- 
Larry Gadallah, NM7A/VE6VQ lgadallah AT gmail DOT com
PGP Sig: 0247 9AD1 FFA8 2E35 0B5B  E387 F9B8 2875 FDFE DB69
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.