USBIP doesn't work

Rebooting the server might fix it, but not worth it. VirtualHere might work, but not paying $50.

I’d plug the RTLSDR’s in my desktop, but no USB 2.0 ports free. No idea what the two ports under the 2.0 ports are.

Well, guess I have to just stream it from the server. My script has issues, and don’t want to fix it.

Oh those two ports are HDMI and DisplayPort, so I guess with the right CPU, I could use those. Thought it was too ancient to have those.

Wonder how long openSUSE Tumbleweed will work on laptop, without freezing. Apparently I can’t enable adaptive sync, maybe that means it won’t freeze.

Or install GUI and Pipewire, and send from it directly, but seems like a pain in the ass.

So with Icecast, I might have to add every station. Not a good solution. Might as well fix my script. Or maybe USBIP doesn’t work because of script running. Broken script disabled.

This might work.

Now looking for a frequencies list.

And maybe use JavaScript to format it, so I can spend less manual work doing it. Or look for different site, that gives me a text file.

Or use the FCC site.

Damn it, have to make a script now.

So what, I have to run it more then once? How do I change the frequency? The code doesn’t make it obvious.

Hmm, it can only be tuned to one thing. And it needs a way to change it.

Good idea, make a shell script to do it.

/usr/bin/rtl_fm -d 1 -p 55.153 -g35 -f 105.7M -M wbfm -r 64k - | play -t raw -r 32k -es -b 16 -c 2 -V1 -

Installed Pipewire on the computer with the RTL SDRs connected. Now to make a script, to play the MHz sent to it. No more fucking around with HTTP, all I need is a simple shell script.

#!/usr/bin/env python3
import sys
rfile = open("radio.txt", "r")
n = 0
for line in rfile:
    l = line.strip()
    fsp = l.find(' ')
    c = l[1:fsp]
    sp = l.find('|', fsp) + 1
    se = l.find(' ', sp)
    fm = l[sp:se]
    print('ch' + str(n) + ' =  ' + fm + ',FM,' + c)
    n = n + 1
rfile.close()

To convert FCC radio freqs to the Icecast thing’s config file. Not needed for me. No more USB IP crap either.

Replace 105.7 with $1, and then run ssh xxx@xxx ./radio.sh 105.7. Problem solved. Now to make a script for 105.7, since I got a bad memory. Or make a script, and list radio stations, then enter it.

There’s duplicates in my radio.txt or the output from script.

#!/usr/bin/env bash
cat ~/stations.txt
read -p "Enter radio station:" freq
ssh xxx@xxx ./radio.sh $freq

Nice and easy.

Don’t really need a script on the RTL SDR server.

Radio sounds worse now.

Just keep messing with the options, and it’ll sound funny.

To get 48Hz: /usr/bin/rtl_fm -d 1 -p 55.153 -g35 -f $1M -M wbfm -r 96k - | play -t raw -r 48k -es -b 16 -c 2 -V1 -

Don’t ask me, how that helps playing on headphones though.

Want an even better solution?

rtl_tcp -a IP -p 8181 -d 0

And put it in a service file. Use Gqrx.

rtl_tcp=192.168.2.41:8181,bias=0

I want Stereo FM, the rtl_fm_streamers don’t support the V4 RTL SDR Blog thing. And too lazy to figure out how to update librtlsdr.