OP25 What's The Syntax For RTL-SDR Dongles On OP25?

Status
Not open for further replies.

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
I had 2 Airspys working on OP25 and am now using 2 RTL-SDR dongles, but can't get this to work:

Code:
./rx.py --args 'rtl' -g28 -S 1000000 -n -N -T pinellassite5.tsv -U -l http:127.0.0.1:8080 2> stderr.2

It just gives a list of all the options and never runs.

1617064912390.png
 
Last edited by a moderator:

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
Look in the op25.sh file that comes with the boatbod repo.
Code:
./rx.py --nocrypt --args "rtl" --gains 'lna:36' -S 960000 -X -q 0 -v 1 -2 -V -U -T trunk.tsv 2> stderr.2

If you want to differentiate between different RTL devices you can use --args "rtl=0" or --args "rtl=1" and so forth by instance number. It also works if you've given each device a unique serial number using the rtl_eeprom utility.
 

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
the crash error messages could have been due to the fact that the option "-N" requires an argument (that accordingly may have swallowed the following "-T")

Max

^ That did the trick. I removed the -N and got it working.

So to set the gain on an RTL-SDR dongle, do we use -g or -N? And, what do we type after the letter and what's the available range? Thanks.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
So to set the gain on an RTL-SDR dongle, do we use -g or -N? And, what do we type after the letter and what's the available range? Thanks.
Did you read post #2? It's right there in the example command line which I posted. Range is generally 0-47, but anything over ~39 just increases the noise floor significantly.
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
"-N" and "--gains" refer to the same option, they're aliases. In the RTL there is only one gain type, "LNA".

You can get a complete list of valid gain values (afaik, it will simply round whatever you input to the nearest valid value)...

Code:
$ rtl_test
Found 2 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000002
  1:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6

Max
 

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
Understood, thanks. Now when I run the following command on a P25 control channel:

Code:
./rx.py --args 'rtl' -S 1000000 --gains 'lna:29' -2 -n -f 769.28125e6 -U -l http:127.0.0.1:8080 2> stderr.2

I get this from the plot:

1617497286642.png

But no actual decode of the data:

1617497354954.png

I've tried numerous other P25 control channels and have the same issue. DSD+ Fast Lane decode decodes them all just fine (except for the usual broken audio), but nothing from OP25.

Any ideas how to troubleshoot? Thanks.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
Constallation plot looks good. What do you have in the log file? (stderr.2)
What does the datascope plot look like?
 

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
Constallation plot looks good. What do you have in the log file? (stderr.2)
What does the datascope plot look like?

Here's what's in the log file stderr.2 :

Code:
Using Python /usr/bin/python3
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
gain: name: LNA range: start 0 stop 0 step 0
setting gain lna to 29
supported sample rates 250000-2560000 step 24000
Exact sample rate is: 1000000.026491 Hz
[R82XX] PLL not locked!
Using two-stage decimator for speed=1000000, decim=10/4 if1=100000 if2=25000
op25_audio::open_socket(): enabled udp host(127.0.0.1), wireshark(23456), audio(23456)
p25_frame_assembler_impl: do_imbe[1], do_output[0], do_audio_output[1], do_phase2_tdma[1], do_nocrypt[1]
metadata update not enabled
using ALSA sound system
audio device: default
Listening on 127.0.0.1:23456
python version detected: 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0]
Allocating 15 zero-copy buffers
04/03/21 21:13:00.498799 UI Timeout
main: exception occurred
main: exception:
Traceback (most recent call last):
  File "./rx.py", line 991, in run
    time.sleep(1)
KeyboardInterrupt

And here's a shot of the datascope plot:

1617569782090.png
 

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
Same thing on a different system:

Code:
./rx.py --args 'rtl' -S 1000000 --gains 'lna:29' -2 -n -f 856.9625e6 -U -l http:127.0.0.1:8080 2> stderr.2

1617569987797.png
1617570041809.png
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
921
Location
NE Wisconsin
Looks like your -T trunk.tsv is missing from the rx.py command line. As a minimum, you can start rx.py with -t but then in the curses terminal tap the letter T to start trunk tracking. This approach gives you visibility to verify the NAC against what you've populated in the trunk.tsv file.

It's also apparent that some fine tuning is going to be necessary but you should be close enough on frequency to at least get trunk signaling blocks (tsbks) that should be constantly counting up except when tracking a voice trunk. The top line of your terminal screen should look something like the screen capture shown below.

op25.png

It would be helpful if you'd post relevant configuration files. IE op25.sh, trunk.tsv, and etc. that we can help you out.

Bill
 

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
So, next question. :)

Is there a way to tell it to ignore encrypted TGs and don't even stop on 'em? I know you can silence encryption, but I wanna make it not even stop on encrypted TGs in the first place.

And, what do the "B/LIST" & "W/LIST" buttons do? I've never understood the difference between blacklisting and whitelisting.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
So, next question. :)

Is there a way to tell it to ignore encrypted TGs and don't even stop on 'em? I know you can silence encryption, but I wanna make it not even stop on encrypted TGs in the first place.

And, what do the "B/LIST" & "W/LIST" buttons do? I've never understood the difference between blacklisting and whitelisting.
If a tgid is always encrypted, the best way is to blacklist it. If the tgid sometimes has encrypted traffic, you can set --crypt-behavior=2 and this will drop the tgid and temporarily add it to the skiplist as soon as encryption is detected.
 

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
OK, thanks. So blacklist basically means to permanently lock out a TG? Or is that only a temporary lockout? And what does whitelisting do.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
I believe that's a no. one can only silence the audio. Sorry

Alec
N1AJW
See my post #15. There are 3 ways to handle encrypted traffic as controlled by the --crypt-behavior parameter
0 = allow all encrypted traffic and do not mute the audio (useful for people who want to watch the MBE parameters in the log.)
1 - mute encryptd audio but remain on the tgid for the duration of the call
2 - release the call and temporarily blacklist the tgid (5 seconds) when encryption is detected

Option 2 (the default) allows op25 to continue to monitor other traffic without getting 'stuck' on the encrypted tg.

OK, thanks. So blacklist basically means to permanently lock out a TG? Or is that only a temporary lockout? And what does whitelisting do.

Blacklisting a tgid permanently prevents it from being monitored
Whitelisting a tgid changes the scanning behavior to *only* allow whitelisted tgids to play. Typically you'd use this to limit monitoring to a specific set of talkgroups for streaming purposes or if you have a busy system but are only interested in one type of traffic.
 

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
So let's say I hit the "B/LIST" button on a TG. Now I stop OP25 and start it up again. Will it no longer stop on that blacklisted TG again? And what about the .tsv file:

1617753175933.png
 

CanesFan95

Active Member
Joined
Feb 14, 2008
Messages
3,014
Location
FL
And if I click the "W/LIST" button on even just 1 TG, does that mean all other talk groups are now ignored since that's the only whitelisted TG?
 
Status
Not open for further replies.
Top