RF Path Probing
We are trying to put up a 70cm amateur radio packet network, I started this by hacking together a connector last week. I really need to figure out where I can reach on 70cm.
Hibby and I tried to voice between my home and his, but were unable to hear each other. That isn't so bad, we really want to be able to get into my office where a friend can host a packet repeater.
I have remote access to work, so if I can get audio out of a radio onto the internet I will be able to do a remote check. The plan was to setup a pi, with an [rtl-sdr][6] and [rtl_fm][7] doing demodulation, ssh in and stream the audio back to where ever I am.
rtl_fm
is an excellent tool, it can connect to an rtl-sdr stick and provide
samples from the sdr. It can give you raw iq output or demodulate audio. This
rtl_fm
command can be used with the
play
(from the [sox][8] package to play
broadcast fm.
$ rtl_fm -M wbfm -f 90.9M | play -r 32k -t raw -e s -b 16 -c 1 -V1 -
I referred to a blog post with an example of streaming audio over ssh using sox. To test audio streaming over ssh I pushed a copy of this amazing album and got lost for a while listening to it.
$ ssh -C sdr@192.168.1.181 "cat test.flac"| play -q -
rtl_fm
will happily dump samples to stdout, a test with broadcast fm over ssh
is:
$ ssh -C localhost "rtl_fm -M wbfm -f 90.9M " | play -r 32k -t raw -e s -b 16 -c 1 -V1 -
Broadcast FM is an excellent way to figure out if your demodulate pipeline is working, it is always running and it shits out a fuckton of power.
The command to demod narrow fm looks like:
$ rtl_fm -M fm -s 1000000 -f 145.800M -r 48k | play -r 32k -t raw -e s -b 16 -c 1 -V1 -
And it can be run over ssh:
$ ssh -C localhost "rtl_fm -M fm -s 1000000 -f 433.550M -r 48k "| play -r 48k -t raw -e s -b 16 -c 1 -V1 -
Hibby and I tried some calls to this station from his, but I wasn't able to hear anything. Probably something to do with both of us being in buildings facing away from each other. I will give this a try from mine and see what happens.
Reading: Normal
Of course before trying to do all this from my desktop I faffed about for two hours getting a pi up and running with FreeBSD. The pi wasn't able to handle the sdr without really choppy audio. Eventually while writing this up I noticed that the cable from the antenna was long enough to read my desktop. Oh well.
Look it is post 0x100