GNU Radio

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • gnuradio

    GNU Radio – the Free and Open Software Radio Ecosystem

  • redhawk

    A submodule repository for distributing REDHAWK artifacts and the latest REDHAWK source code. Use 'git clone --recurse-submodules [email protected]:RedhawkSDR/redhawk.git' to also clone all submodules.

    There's a similar SDR toolkit out there called RedHawk. Its open source but heavily funded by the NSA so you can imagine that it has specific SIGINT applications in mind. However, you can still connect it to an RTL-SDR and play around with the components in a similar manner.

    https://github.com/RedhawkSDR/redhawk

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • mobisys2018_nexmon_software_defined_radio

    Proof of concept project for operating Broadcom Wi-Fi chips as arbitrary signal transmitters similar to software-defined radios (SDRs)

    Really cool project but not much heard since 2018.

    For just experimenting with modems across a noisy path one could just use the built in microphone and speakers.

    1. https://github.com/seemoo-lab/mobisys2018_nexmon_software_de...

  • Really cool project but not much heard since 2018.

    For just experimenting with modems across a noisy path one could just use the built in microphone and speakers.

    1. https://github.com/seemoo-lab/mobisys2018_nexmon_software_de...

  • sverchok

    Sverchok

    A more generic equivalent seems to be PyFlow: https://wonderworks-software.github.io/PyFlow/.

    GNU Radio is targeted to a specific domain and the collection of existing nodes reflects that, similar tools exist for other domains, e.g. for CAD there is Sverchok which works with Blender: https://nortikin.github.io/sverchok/.

  • social_alarm

    Wireless Social Alarm (on the 868.25 MHz band)

    I reverse engineered a so called social alarm a bit ago. You can find it here: https://github.com/mrquincle/social_alarm

    Gnuradio was also new to me. However with two HackRFs I could do the entire thing. First replay attacks. Then trying to get the code by building up a set of processing blocks. Last synthesis of the complete signal.

    Very nice to do! Felt great!

  • mlat-server

    Mode S multilateration server

    I would suggest not starting in the 2.4GHz band, the protocols used there (wifi, bluetooth) are very complicated to understand. Get a rtl-sdr and start with something simpler: FM broadcast (my blogpost: https://www.abclinuxu.cz/blog/jenda/2019/11/gnu-radio-first-..., there is even an example capture you can download and replay, so you can start even without the physical radio), police radio (both analog and digital), radiosondes, weather satellites, ISM stuff - temperature sensors, garage and car remote controls, airplane multilateration (https://github.com/mutability/mlat-server)… You can do lot of stuff even with the $10 rtl-sdr, for example I have used it for multilaterating TV and radio transmitters (thesis: https://jenda.hrach.eu/dipl.pdf, unfortunately "layman's explanation" is available only as a lecture in Czech). I know people are even building radioastronomy stuff and passive radars (https://www.rtl-sdr.com/passive-radar-dual-coherent-channel-...) with rtl-sdr.

    Once you have basic understanding of the topic, you can get better hardware: AirSpy (the same features as rtl-sdr, but MUCH better signal-to-noise ratio and bandwidth) or bladeRF (costly, but probably the best radio you can get now). For example I'm now building a weather radar based on bladeRF. The bladeRF has a FPGA with open-source HDL, so you can mess even with absolutely lowlevel and bleeding edge stuff.

    Going back to your original question:

    Most cards load firmware from a file when they are initializing (check "dmesg|grep firmware", on my machine, for example, it says it has loaded /lib/firmware/rtl_nic/rtl8153b-2.fw), you are free to modify it. However, all (or maybe almost all) wifi cards have the format of the blob completely undocumented so it would be very hard to make a modification that would allow you to transmit/receive arbitrary signals. Something similar has been achieved with GSM phones (see OsmocomBB), but it requires very complicated reverse-engineering.

    Recently, there was a wifi stack released for a SDR, so the other way around: https://www.nuand.com/bladeRF-wiphy/.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • rpitx

    RF transmitter for Raspberry Pi

    There are also cheap SDR transmitters:

    https://osmocom.org/projects/osmo-fl2k/wiki (repurposing a USB-VGA dongle as analog source)

    https://github.com/F5OEO/rpitx (repurposing bitbang/PWM GPIO; we had weird problems with data corruption when we were trying to use it as a radio modem, but maybe you will have more luck)

    https://bellard.org/dvbt/ (repurposing standard VGA card, but it's probably not worth it since fl2k is way better)

    (beware that low quality of the transmitter usually means it will cause interference with other stuff. However, all of these have such a low power that if you will not use an amplifier, it will be OK, the interference will be probably undetectable outside of the room where the transmitter is)

  • carl9170fw

    CARL9170 Firmware Source Repository

    There are some cards with open source firmware, you might be able to modify it to do something like that.

    https://github.com/chunkeey/carl9170fw/

  • open-ath9k-htc-firmware

    The firmware for QCA AR7010/AR9271 802.11n USB NICs

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts