OP25 Noob To OP25 (and Linux) Needs Help

BinaryMode

Active Member
Joined
Jul 3, 2023
Messages
750
Location
USA
So, I followed the instructions to a -T- from here: OP25 - The RadioReference Wiki

Everything seemed to install fine with no errors that I could tell using Ubuntu version 20.04.6. I did run an apt-get update prior to installing OP25. I CDed to the path of the app folder for OP25 and ran the following in terminal:
Code:
./rx.py --args 'rtl' -S 1000000 -n --gains 'lna:28' -T trunk.tsv -U -l http:0.0.0.0:8080 2> stderr.2 -X

My SDR (RTL2832U V.3) was connected to the guest OS in VMware Workstation Player.

After I hit enter in terminal I get nothing, nada, no other terminals display and if I go to localhost at port 8080 in Firefox there's nothing. I even tried
Code:
-l http:127.0.0.1:8080

I'm wondering if my commands are wrong, or I'm wondering if I actually have to run GNU Radio along side OP25 as well? I thought perhaps GNU Radio dependencies or what ever was in the code base.

I'm using the Boatbod version.

I've seen other commands that had the frequency. I tired that too like this:
Code:
-f 855.63750e6
and nothing. I really don't understand why the frequency command though when trunk.tsv has the control channels.

I edited the trunk.tsv file with LibreOffice Calc. When I saved it said something about a format issue and I saved as CSV, but made sure the extension of .tsv was still in place, and that the CSV format was still in place in the file which it is. Also saved as default UTF-8. All that's in my trunk.tsv file are the control channel frequencies separated with commas and no spaces, the NAC without prefixing with a 0x, the name of the system I chose and C4FM as this is not a simulcast system. It's P25 phase I. I'm at this time not using any "tags" (talk groups IDs) and just wanted to monitor the whole tower for testing OP25 at the moment. So that's not reflected in the trunk.tsv file.

Any and all help would be appreciated. I'm a massive Linux noob and this is the first time trying OP25.
 

imonitorit

Member
Joined
Jan 16, 2003
Messages
177
Location
New London County, Connecticut
Try leaving the 0x with the hex code in your .tsv file. ie: 0x3A9
I finally got it working too. I'm not a linux pro either. I had issues trying it with other linux versions untiI did EXACTLY as the directions.
 

dkcorlfla

Member
Joined
Feb 12, 2023
Messages
171
Location
Orlando
So, I followed the instructions to a -T- from here: OP25 - The RadioReference Wiki

Everything seemed to install fine with no errors that I could tell using Ubuntu version 20.04.6. I did run an apt-get update prior to installing OP25. I CDed to the path of the app folder for OP25 and ran the following in terminal:
Code:
./rx.py --args 'rtl' -S 1000000 -n --gains 'lna:28' -T trunk.tsv -U -l http:0.0.0.0:8080 2> stderr.2 -X

My SDR (RTL2832U V.3) was connected to the guest OS in VMware Workstation Player.

After I hit enter in terminal I get nothing, nada, no other terminals display and if I go to localhost at port 8080 in Firefox there's nothing. I even tried
Code:
-l http:127.0.0.1:8080

I'm wondering if my commands are wrong, or I'm wondering if I actually have to run GNU Radio along side OP25 as well? I thought perhaps GNU Radio dependencies or what ever was in the code base.

I'm using the Boatbod version.

I've seen other commands that had the frequency. I tired that too like this:
Code:
-f 855.63750e6
and nothing. I really don't understand why the frequency command though when trunk.tsv has the control channels.

I edited the trunk.tsv file with LibreOffice Calc. When I saved it said something about a format issue and I saved as CSV, but made sure the extension of .tsv was still in place, and that the CSV format was still in place in the file which it is. Also saved as default UTF-8. All that's in my trunk.tsv file are the control channel frequencies separated with commas and no spaces, the NAC without prefixing with a 0x, the name of the system I chose and C4FM as this is not a simulcast system. It's P25 phase I. I'm at this time not using any "tags" (talk groups IDs) and just wanted to monitor the whole tower for testing OP25 at the moment. So that's not reflected in the trunk.tsv file.

Any and all help would be appreciated. I'm a massive Linux noob and this is the first time trying OP25.
 

dkcorlfla

Member
Joined
Feb 12, 2023
Messages
171
Location
Orlando
I have not tried OP25 so I can't be of much help but here are a couple things that might.

When working with config files under Linux avoid the high end text editors. NANO from the command line is a good and easy to use editor that will not add any formatting that might mess up the code.

the output of dmesg from the command line may give some clues. Probably have to use sudo (sudo dmesg)

The text editor from the GUI may also work as it is a simple editor that I don't think adds any formatting.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,020
Location
NE Wisconsin
My SDR (RTL2832U V.3) was connected to the guest OS in VMware Workstation Player.

After I hit enter in terminal I get nothing, nada, no other terminals display and if I go to localhost at port 8080 in Firefox there's nothing. I even tried
Code:
-l http:127.0.0.1:8080
At this point you could have a number of errors that will cause op25 to abort execution and thus you're unable to connect to
the HTTP Console. In that you haven't posted your logfile, I would start with a few basics. The first most important question
to answer is can op25 see your SDR?

Submit lsusb from a terminal session without attempting to execute op25 to determine if VMware Workstation Player is
configured to virtualize the RTL SDR such that if true, should provide a response similar to the highlighted line below.

pi@raspberrypi:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

If your RTL SDR does appear, then resubmit your rx.py command line using the example below that will execute the application
in terminal (curses) mode without the possibly of an incorrectly configured trunk.tsv causing a traceback (halt of execution).
This example command line will provide a well detailed logfile (-v 11) that can be used for further diagnosis.

./rx.py --args 'rtl' --gains 'lna:30' -S 1000000 -f 855.63750e6 -2 -U -V -X -v 11 2>stderr.2
 
Last edited:

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,297
Location
Lafayette County, FL
You guys are missing the most basic troubleshooting tool here. What is the contents of the stderr.2 file. That's where all your stderr output is going. Might be worth while to rename it to something more useful like 2> log.txt and take a look in there and see what all errors its throwing, if there are any errors. Also worth mentioning, but if you use -l http:0.0.0.0:8080 I don't think your going to get the curses terminal so it may indeed appear like 'nada' when its all routed into the contents of whats on the other side of 2>
 

BinaryMode

Active Member
Joined
Jul 3, 2023
Messages
750
Location
USA
I manged to get it to work. I ran lsusb and the SDR was in fact connected so that wasn't an issue. I then looked in the log that was generated with a verbose of 11 and nothing really stuck out at me. So I began to wonder if by using Libre Office Calc to save the trunk.tsv file if the formatting got messed up. Well, I looked at my backup on the desktop and then the one in the apps folder and the backup had quotes while my active version in the apps folder did not. Once I fixed that using nano this time and ran the commands again which were:
Code:
./rx.py --args 'rtl' --gains 'lna:25' -n -S 1000000 -T trunk.tsv -U -V -X -v 0 2>stderr.2 -l http:127.0.0.1:8080
everything worked and I could access the program in Firefox with port 8080.

About the curses terminal though. The only terminal that shows up is the one that I launched to enter the commands. No other terminal shows up. I do see a curses terminal, or what appears to be a curses terminal if I run this command:
Code:
./rx.py --args 'rtl' --gains 'lna:30' -S 1000000 -f 855.63750e6 -2 -U -V -X -v 11 2>stderr.2

Other than that everything seems to work as it should and I get a really good decode using an old AMPS cell antenna meant for the 900 MHz band that's mounted outside.

Now my next hurdle is getting this interfaced with Wireshark. I read I need a certain version that needs to be compiled or something. So I need to read more about that. Anyone done it before and can offer any tips?

I find it to be absolutely amazing SDRs and the software out there now-a-days can do this stuff. Back then when P25 capable scanners first came out this stuff was simply unheard of. Especially using Wireshark. Unreal!
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,020
Location
NE Wisconsin
About the curses terminal though. The only terminal that shows up is the one that I launched to enter the commands. No other terminal shows up. I do see a curses terminal, or what appears to be a curses terminal if I run this command:
Code:
./rx.py --args 'rtl' --gains 'lna:30' -S 1000000 -f 855.63750e6 -2 -U -V -X -v 11 2>stderr.2

That is correct. The terminal session opened to spawn op25 will appear to hang in limbo while output is redirected to the HTTP server
when including -l http:127.0.0.1:8080 on the rx.py command line.

Now my next hurdle is getting this interfaced with Wireshark. I read I need a certain version that needs to be compiled or something. So I need to read more about that. Anyone done it before and can offer any tips?

Substituting -w for -U directs audio away from the default Linux audio device over to the "LOOPBACK" network stack in the form of UDP
PCM packets. You can then process the audio packets from another terminal session using sockaudio.py listening on the appropriate port
or with applications such as Liquidsoap that can add audio processing and MP3 conversion for use in streaming to local or remote Icecast
servers.

Most of my instances of op25 are configured for the Wireshark audio interface whereby I use Liquidsoap to add audio processing (leveling)
before pushing the MP3 packets to an upstream server as well as to the local audio device if so desired.

See "README-rpi3-liquidsoap.md" for additional reference.
 
Last edited:

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,020
Location
NE Wisconsin
It dawned on me that you may have intended to use the Wireshark interface for Protocol analysis instead of opening a network audio link.
If that is the case, then you’d have to build a modified and very old version of Wireshark that would be missing a lot of the desired information
a person might be looking for.

Instead, setting logging verbose levels of -v 10 or -v 11 captures a wealth of system and protocol information that can easily be filtered
from the logfile output using simple tools such as grep and so forth.
 

ki4hyf

Member
Premium Subscriber
Joined
Mar 2, 2005
Messages
203
Location
Jackson, TN
you may have intended to use the Wireshark interface for Protocol analysis
I agree with what you said, but I like DSD-FME for detailed packet analysis. It shows me everything I need to know and then some.
 

BinaryMode

Active Member
Joined
Jul 3, 2023
Messages
750
Location
USA
HAHA Digital Speech Decoder - Florida Man Edition... Is that like Alabama Man?


NSFW
Code:
https://www.youtube.com/watch?v=BrimMyOoEDA

Yeah, Protocol analysis.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,409
Location
Talbot Co, MD
Now my next hurdle is getting this interfaced with Wireshark. I read I need a certain version that needs to be compiled or something. So I need to read more about that. Anyone done it before and can offer any tips?
Do yourself a BIG FAVOR and don't bother trying to do that. Wireshark support is deprecated and the wireshark decoder itself knows only a very small subset of P25 Phase 1 (and no Phase 2 whatsoever). OP25's built-in logging at -v 11 are far more comprehensive.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,409
Location
Talbot Co, MD
So no chance of PCAPing the data?
I don't see it happening, but if you are skilled at coding and feel like developing the capability you might want to know that op25 is able to send phase 1 messaging out over UDP. The same is not true for phase 2, although it could be added relatively easily if you felt motivated.
 

BinaryMode

Active Member
Joined
Jul 3, 2023
Messages
750
Location
USA
Thank you. Yeah, my coding is very subpar so it's something I may never be able to do. I'd love to tackle it though and contribute, I really would. I do have and use a Github account as I am affiliated with a firewall project. But all of my contributions to that project has been nothing but ideas that made its way into the code base and as modules to the code rather than me actually submitting code.. The Dev is a friend of mine.

I do want to thank you however for a very cool project. It's amazing how we can do stuff like this now with a simple $20 odd dollar SDR. The code does exactly what I thought it should do in that it monitors the control channel and then when it gets the data off the control channel for a talk group it jumps to the voice channel in a seemly instant. Pretty cool to see that happen in real time. Back in the day you'd need a discriminator tap and two scanners. I actually did that for my Radio Shack Pro 2042.

But yeah, I would love to contribute code, it's just that it would take me a long time to learn it all without error which really is a years long endeavor of constant practice, trial and error. Must of the code I mess with now is PHP and I just started to mess around with JavaScript for node.js running in Windows. With the help of ChatGPT I was able to create a script that runs as a Windows service that auto detects and ends an annoying process that sometimes consumes my CPU cycles. Pretty cool stuff.
 

JustinWHT

Member
Joined
Apr 16, 2022
Messages
225

Attachments

  • 850dbf29b977263838ee26f08f3ef162.jpg
    850dbf29b977263838ee26f08f3ef162.jpg
    46.6 KB · Views: 17
  • 34d19aef6c8d928d79068def668be611.jpg
    34d19aef6c8d928d79068def668be611.jpg
    32.1 KB · Views: 17

JustinWHT

Member
Joined
Apr 16, 2022
Messages
225
Forty years ago there was a help wanted post in a New York paper.

Wanted UNIX developer with ten years experience.

Unfortunately the spell checker replaced UNIX with Enuch
 
Top