Re: Intent to create new SDR ports: comms/ka9q-radio and comms/SoapyRX888
Tomek CEDRO <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.ports |
|---|---|
| Message-ID | <CAFYkXjmu6mbBh5g6fejof67E748LCPDann3GBzOqRro6ZkkYxQ@mail.gmail.com> |
On Tue, Sep 16, 2025 at 8:58 PM Larry Gadallah <[email protected]> wrote: > 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: > > Port naming: Are comms/ka9q-radio and comms/SoapyRX888 appropriate names and categories? Looks good :-) No minus in the name is preferred but there are ports with minus too :-P > Dependencies: Should librx888 be a separate port, or bundled with SoapyRX888? If this can serve other applications / ports as standalone library then yes it can be a separate port, if only used by SoapyRX888 then it can be bundled. Depending on how big is the package libs may be just part of bigger bundle. > Staging: I plan to develop these incrementally. Is it acceptable to submit PRs with basic functionality while continuing development? Yes, assuming basic port is operational, and new working features are added with updates these may come as port options / flavors :-) > 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 Thank you Larry and Have Fun! Let me know if there is anything to test and how to test :-) You should find all necessary hints in the Porter's Handbook :-) https://docs.freebsd.org/en/books/porters-handbook/ NM7A 73 SQ7MHZ / Tomek -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info