GOPHERSPACE.DE - P H O X Y
gophering on gopher.linkerror.com
                             Another radio related phlog post.
   ------          -----
     ----●-      -----      p25  -  a digital trunking radio system,
                -           became pretty ubiquitous here in the USA
             --             now.  Often used by law enforcement, but
      -- ---  --  -- ---      also  many   other  entities,  including
    ------   --   -------    commercial users.
   ╼- --     --     -- -╾
            ----            Interesting radio traffic there. There's
            ----            a few services online, like broadcastify
           -----            which let you stream this  stuff  online
           ------           without even having  a  radio,  although
           ------           usually it's just limited to law and EMS
          --------          stuff.
          --------
         ----------         So, I've  mentioned  in  previous  posts
        --┏------┓--        that I've got this fancy USRP2 sdr radio
        ------------        sitting  here,  and  it's  actually  got
       ---------------       enough bandwidth to slurp in the  entire
       ----╱----╲----       p25 frequency range for  the  two  major
      -- --  --  -- --      local p25 networks all at once.
     ----  - -- -  ╲-----
     ------------------     But- what if, instead of live-streaming,
    ------━------━┻-----    it like broadcastify  does,  I  were  to
   -- ---  --------  -- ---   just log all the audio  forever  (or  at
   --  ----  --  ----  --   least until  I  run  out of disk space),
  -- ------  ---   ----- --  that way, if you read something  in  the
 -----   --- ---- --   ------ local newspaper, you  can  go  back  and
 ---      ---------      --- listen to the radio  traffic  about  the
           ------           incident AFTER the fact. No more need to
            ----            pay attention in real-time.
             --
So what does this actually look like?

Antenna  => USRP2 => ethernet switch => raspberry pi => this server!
The pi decodes all the signals and every hour it will upload what it
received to this server for all to browse.

There unfortunately are still some limitations.  I'm making use of a
few hacks on top of the op25 python codebase to pull this  off,  but
even-though the usrp2 has enough  bandwidth  to  pull  in  all  data
without ever having  to  tune,  the  op25  codebase  wasn't  exactly
written with something crazy like that in mind. Instead it tunes  in
to one thing at the time. It does come with  a  multi_rx  script  to
make use of multiple sdr radio's at once, but it has  no  provisions
for multiple decoders on the same SDR using an insanely wide  sample
rate. As such, I'm still working on my own  version  that  forks  of
multiple decode processes that listen to the same  stream  of  data,
but there's quite  a  few  pitfalls  to  implementing  this,  as  it
involves a lot of I/O on  an  rpi;  and  whilst  the  pi4  is  quite
powerful, it's not exactly an i/o monster.

In any event, you can browse the logged audio on gopher here:

    gopher://gopher.linkerror.com/1/radio/p25logs/

it is updated every hour.
( note, the lagrange gopher client doesn't seem to deal with the
spaces in the folder names very well so you might have to use
something other than lagrange to browse these on gopher
unfortunately. )

... or... on www here:

    https://www.linkerror.com/p25/logs/

    ( usename: radio ; password: livetransmission )

... or download the whole lot incrementally via rsync here:

    rsync://linkerror.com/p25/

Rsync is really the recommended way, because then you can just play
the files in order with your favorite audio player without clicking.
They are named such that when sorted by filename, they should play
in the correct order as received - just be aware there's a lot of
data there, so try and be nice to my bandwidth and only pull in one
day at a time or so :)