Osmocom op25 Install issues on RPi Bookworm

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
I managed to hose an ancient install of Raspian on a Pi 3b+. I backed up all my OP25 personal files and proceeded to install the latest 64bit Bookworm Raspbian. I figured that there may have been some changes since I installed Osmocom's OP25 so I did a git pull and ran into a bunch of errors (gr-swig). I did some online research and it was suggested that I run the install-gr3.9-install.sh. Got errors there about not finding gr-swig. So I deleted my op25 directory and did a fresh clone and ended up with the same gr-swig error.I've heard some people that had these issues rolled back to an earlier version of Raspbian. Before I do that I wanted to see if anybody else had run into this issue and successfully got op25 running on Bookworm? I see Boatbod has a newer version out now and has added the nice browser radio control that Osmocom had. Would it be more efficacious and jump ship and go back to make first OP25 receiver and install Boatbod's? Does it seem to install on Bookworm without errors? If it is problematic also I guess there's no choice but to rollback.
Thanks
Mike
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,134
Reaction score
402
Location
NE Wisconsin
Mike,

If you're set on reinstalling Osmocom, then I would reflash your Pi 3B+ with Raspbian Bullseye that's still available in the archives, and is a choice withing the Raspberry Pi Imager application. Bullseye's apt repository installs GR-3.8 when you invoke op25's install.sh script and should built without fatal errors. Otherwise, I'd consider moving up to the Boatbod repo who's multi_rx.py application supports the new Gui that's similar to that of Osmocom with some nice enhancements.

If you decided on Boatbod, there are some config (JSON) examples in the apps folder. Be advised when cloning Boatbod from GitHub that the master branch defaults to a GR-310 installation that builds "As-Is" on Raspbian Bookworm. However, if you were to build on Bullseye, it would be necessary to do a git checkout gr38 after cloning in order to configure the installer for compatability with GNU Radio 3.8.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
Thank you for the reply. I just reached the end of my rope and I did install Boatbod's repo. I did run into the old interface and clicked on the New UI button only to have it switch and then flash back to the rx.py interface. I'm now in the process of trying to understand the multi-rx.py method. I gotta say I'm struggling like others have trying to Grok how the files I setup in the rx.py method relate to the multi-rx.py method. I'm currently purusing the p25_rtl_example.json. I have an idea about how to define the single device but as far as incorporating my TSV files...it still escapes me. Thanks for the reply and I probably will be back asking questions again.
Mike
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,134
Reaction score
402
Location
NE Wisconsin
Mike,

I would be happy to help. Up front, how do you prefer to run op25? Example: virually all of my instances run s system services (headless) and whereby I perfer to make the audio available via Icecast streaming in addition to occasional local audio that includes Liquidsoap and Icecast to
the applications list and does impact configuration of the multi_rx.py JSON file.

I am good in QRZ (WA8WG) if you want to move the discussion to email.

Bill
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,595
Reaction score
997
Location
Talbot Co, MD
The easiest way to get up and running with a single RTL using multi_rx is to begin with a copy of "p25_single_rtl_example.json" and enter your control channel frequency on line 41. Initially it'll start in curses terminal mode, but once you've proved it can track the control channel you can edit lines 83-84 to get the web terminal running instead of curses.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
Mike,

I would be happy to help. Up front, how do you prefer to run op25?

I am good in QRZ (WA8WG) if you want to move the discussion to email.

Bill
Bill, thanks for your assistance. I'm running OP25 on a RPi under Bookworm. I did manage to get it working in multi-rx.py. Now I'm battling the web ui on my Windows machine on the LAN. I enter the RPi's IP in the browser with the 8080 port and it gets a Connection has timed out. I know the web ui is working because from the RPi itsself I can bring it up in a web browser locally. OF course the RPi 3b+ is incredible slow with any browser. Which is why I want to access it from my Windows 10 machine. It works fine using the curses terminal through the FF browser. But the http seems to have trouble.

Mike
 
Last edited:

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
The easiest way to get up and running with a single RTL using multi_rx is to begin with a copy of "p25_single_rtl_example.json" and enter your control channel frequency on line 41. Initially it'll start in curses terminal mode, but once you've proved it can track the control channel you can edit lines 83-84 to get the web terminal running instead of curses.
I saw that recommendation in another post you made and it was helpfull getting me started. Like I told Bill I finally did get it working with mult-rx.py I'm just having trouble getting the http server in OP25 to talk to my Windows PC.

this is how I have the terminal part of my P25.json file:
"terminal": {
"module": "terminal.py",
"#terminal_type": "curses",
"terminal_type": "http:127.0.0.1:8080",
"curses_plot_interval": 0.1,
"http_plot_interval": 1.0,
"http_plot_directory": "../www/images",
"tuning_step_large": 1200,
"tuning_step_small": 100
}

I don't know what you did to the receiving in OP25 but it does seem to drop fewer packets with this new version. Good job.

Mike
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,595
Reaction score
997
Location
Talbot Co, MD
I saw that recommendation in another post you made and it was helpfull getting me started. Like I told Bill I finally did get it working with mult-rx.py I'm just having trouble getting the http server in OP25 to talk to my Windows PC.

this is how I have the terminal part of my P25.json file:
"terminal": {
"module": "terminal.py",
"#terminal_type": "curses",
"terminal_type": "http:127.0.0.1:8080",
"curses_plot_interval": 0.1,
"http_plot_interval": 1.0,
"http_plot_directory": "../www/images",
"tuning_step_large": 1200,
"tuning_step_small": 100
}

I don't know what you did to the receiving in OP25 but it does seem to drop fewer packets with this new version. Good job.

Mike
If you define the server address as 127.0.0.1 (loopback) the terminal will only be accessible on the local machine running the server. Change the address to 0.0.0.0 or the actual IP address.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
Thanks, guys wgbecks and boatbod. Yeah, its working now. I guess its the old can't see the forest for the trees. I just didn't click to the 127.0.0.1 being the loopback address and only works on that PC. I got it changed over and its all working now.

One more question if I might. I have it setup so that I get the web ui on my Win10 machine and OP25 is running on a RPi. If I click on the Plot button where will the plot show up? Since the code is running on the RPi I would think that it would show there. But I clicked on it today and nothing happened other than the Plot button turned red. It didn't show on Windows nor on the RPi. I guess its still trying to figure out what that goofy operator is trying to do.

Mike
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,134
Reaction score
402
Location
NE Wisconsin
One more question if I might. I have it setup so that I get the web ui on my Win10 machine and OP25 is running on a RPi. If I click on the Plot button where will the plot show up? Since the code is running on the RPi I would think that it would show there. But I clicked on it today and nothing happened other than the Plot button turned red. It didn't show on Windows nor on the RPi. I guess its still trying to figure out what that goofy operator is trying to do.

Mike,

Assuming the new GUI, and depending upon screen resoluton, you would scroll down to the bottom of left or right side of the screen after enabling PLOT at the top of the display then select the desired plot type radio button(s).


PLOT.jpg
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,595
Reaction score
997
Location
Talbot Co, MD
One more question if I might. I have it setup so that I get the web ui on my Win10 machine and OP25 is running on a RPi. If I click on the Plot button where will the plot show up? Since the code is running on the RPi I would think that it would show there. But I clicked on it today and nothing happened other than the Plot button turned red. It didn't show on Windows nor on the RPi. I guess its still trying to figure out what that goofy operator is trying to do.

Mike
Ah yes, there is a little bit of a problem with plots and multiple terminals open at the same time. Right now op25 doesn't differentiate between terminal sessions, and what you do in one terminal will happily be reflected in the others too. For example if you turn on a plot in terminal 1, it will also be visible in all other terminals, but only if you have the (red) Plot window enabled in each terminal.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
Mike,

Assuming the new GUI, and depending upon screen resoluton, you would scroll down to the bottom of left or right side of the screen after enabling PLOT at the top of the display then select the desired plot type radio button(s).
Well, I tried that Bill and this is what I got
1758229309769.png
It didn't show up on the Windows machine that the GUI is displayed on and it didn't show up on the RPi that is actually running OP25. Also, I have to shutdown the browser window to get the blank display to go away.

[Edit]: Of course as soon as I said that I found that if I click the Plot button again it goes away. "...Never mind"

Mike
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,134
Reaction score
402
Location
NE Wisconsin
Did you click on any of the plot buttons and obtain a display? For example, click on the Symbol button and you should see something
like what's show below.

Symbol.png
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
Bill, yes I did click on the buttons at the bottom. What you saw is what I got...nothing. I also noticed that this newer version of OP25 definitely puts some strain on my poor ol' RPi3b+. The temp gauge rises to 80 deg C and puts it into CPU throttle. Osmocom's version ran for years and it stayed down in the 60 deg range. The only thing running on it is OP25. I'm wondering if I need to move it over to my RPi5.

Are you running yours the same way? OP25 on one machine and the Web UI on another machine?
Mike
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,134
Reaction score
402
Location
NE Wisconsin
What you saw is what I got...nothing.
OK. Can you tell me exactly what RPi Bookworm image you flashed on your 3B+? IE: Lite or either of the two Desktop options?
I also noticed that this newer version of OP25 definitely puts some strain on my poor ol' RPi3b+.
I no longer have any instances of op25 running on anything less than an Pi-4B that loafs along nicely to include one at a remote site that has
three instances running and paird up with Liquidsoap to process the audio for streaming.
Are you running yours the same way? OP25 on one machine and the Web UI on another machine?
Yes. Virtually all of my instances of Boatbod run on headless devices whereby I am streaming the audio and access the Web UI on other host machines.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
OK. Can you tell me exactly what RPi Bookworm image you flashed on your 3B+? IE: Lite or either of the two Desktop options?
1758303638199.png
Yes it is the Desktop version. I probably should have gone with the Lite version. I was running the desktop version Stretch version before, and like I said, it ran the Osmocom version with no trouble.
I no longer have any instances of op25 running on anything less than an Pi-4B that loafs along nicely to include one at a remote site that has
three instances running and paird up with Liquidsoap to process the audio for streaming.
Its beginning to dawn on me that I should probably do the same. I have a Pi 3b/3b+ and a Pi5. The Pi5 is r5unning docker containers and it my WG VPN server and it has no problems. Other than memory. I got an 8GB and should have gone 16GB. I run the OP25 using a BT speaker. I've gone back and forth over going the liquidsoap path but have heard that it has its problems also. Plus, it would be one more thing to eat up processor and tip me even more into throttling.
Yes. Virtually all of my instances of Boatbod run on headless devices whereby I am streaming the audio and access the Web UI on other host machines.
OK, well its good to know it does work. Do you have issues with the Web UI hanging? I'll hear audio on the speaker but the UI still displays Control Channel. I usually have to either shutdown the browser window and restart it or restart OP25. I figured all of this stuff is commandline apps and would be lighter on the older Pis. But I guess there's a limit to everything. I may see another Pi5 in my future.

Just checked it after running for about 30 min. It seems tohave cooled down.:
1758304410551.png
Mike
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,134
Reaction score
402
Location
NE Wisconsin
OK, well its good to know it does work. Do you have issues with the Web UI hanging? I'll hear audio on the speaker but the UI still displays Control Channel. I usually have to either shutdown the browser window and restart it or restart OP25. I figured all of this stuff is commandline apps and would be lighter on the older Pis. But I guess there's a limit to everything. I may see another Pi5 in my future.

Just checked it after running for about 30 min. It seems tohave cooled down.:
View attachment 190182
Mike

Mike,

Not sure what's up with your RPi-3B+ running so hot. Do you have it mounted in a fan case with heatsinks, or in some typte of heatsink case? I have an RPI-4B operating in another city with three instances of multi_rx.py running in conjunction with Liquidsoap being used to process the three audio streams piped into a local instance of Icecast that loafs along at 42.8 C.

Pi-4B Temp.png

You might consider switching to a Small Form Factor (SFF) PC flashed with Ubuntu as a replacement for your Pi. I've purchased a number of them on the used markert as replacements for all of the PI's I once used and have been very happy with having made that choice.

Bill
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
It is in a clear plastic case ( I even took the lid off of it). It does have heat-sinks. Its my middle Pi. I think I got it about 5 years ago. I wonder if the temperature paste has dried out on it.

Funny thing is after rebooting it 2 or 3 times earlier the Web UI seems to be keeping up and hasn't locked up. It seems its gone chill now.:
1758322867394.png

Mike
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,595
Reaction score
997
Location
Talbot Co, MD
OP25 resource requirements vary depending what you are trying to do. Here are some things that are known to be resource hungry:
i. Higher sample rates such as Airspy 6/10Mhz, HydraSdr 10Mhz can impose a significant load on both the USB bus (due to data transfer rate) and CPU (due to the number of filter "taps" needed to decimate to a 24kHz IF slice)
ii. Active plots consume cpu quickly on low end hardware such as RPI, particularly Spectrum, Mixer, Tuner (lots ffts behind the scenes)
iii. Multiple simultaneous channel decodes

If you want the lowest cpu overhead, use an RTL device set to 1Mhz sampler rate, and turn all the plots off.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
299
Reaction score
17
Location
Spring, Texas
OP25 resource requirements vary depending what you are trying to do. Here are some things that are known to be resource hungry:
i. Higher sample rates such as Airspy 6/10Mhz, HydraSdr 10Mhz can impose a significant load on both the USB bus (due to data transfer rate) and CPU (due to the number of filter "taps" needed to decimate to a 24kHz IF slice)
I have an RSPDuo that is driving my SatDump install. On the OP25 setup I'm using a RTL-SDR Blog V3 dongle. I went with the default:

"rate": 1000000,

So that should not be a load, right? Maybe I'll try dropping a little more
ii. Active plots consume cpu quickly on low end hardware such as RPI, particularly Spectrum, Mixer, Tuner (lots ffts behind the scenes)
iii. Multiple simultaneous channel decodes

If you want the lowest cpu overhead, use an RTL device set to 1Mhz sampler rate, and turn all the plots off.
Well, plots are not an issue since I can't get them to work on my lash-up.

I also noticed this morning that it seems that when I have the VNC window up I'm using for the headless Pi the temp starts climbing. If I minimize the window the temp goes back down. Since I went with a new install of Raspbian (Bookworm) it is using Wayland for the desktop. I'm wondering if going back to X11 would help?

I've also noticed that sometimes shutting down the OP25 using ctrl-C doesn't work. I end up having to close the terminal window and re-issue the startup.

These are just things that I've noticed since switching back to the Boatbod fork. Not meant to be complaints. Probably just do to something I'm doing wrong since I don't see anyone else mentioning these things. the biggest issue is the over-heating and I will try going back to X11 and see if it makes a difference.
Mike
 
Top