stdw / cm-sdr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cm-sdr

cm-sdr is a piece of software to turn a Broadcom BCM3383-based cable modem into a general purpose software defined radio.

Status

In its current state, cm-sdr serves as a proof of concept. It can currently stream I/Q data to a peer via TCP. A script to demodulate and play FM radio broadcasts is also provided.

cm-sdr is dependent on many functions and memory mapped registers in the unmodified firmare. Thus, at the moment it is highly tailored to one specific cable modem model and firmware version.

TODO

  • Figure out how to decrease sample rate
  • Transmitting
  • Usability improvemnts
  • Porting

Usage

Building

Running

  • Ensure Python 3 is installed
  • Load binary with the provided python script python3 upload.py
  • Connect to modem and begin recieving data nc 192.168.100.1 1337 > data
  • To run FM demo, ensure numpy, scipy, and sounddevice are installed
  • Use the tune.py script and netcat to set the frequency and pipe the data into the demodulation script python3 tune.py --freq 107900000 | nc 192.168.100.1 1337 | python3 fm-stream.py

About

License:MIT License


Languages

Language:C 62.5%Language:Python 34.5%Language:Makefile 3.0%