OP25 Trying To Update OP25 Osmocom Version

CanesFan95

Analog already is interoperable.
Joined
Feb 14, 2008
Messages
3,359
Location
FL
I'm running Ubuntu 20.04.4 LTS inside of VMWare Workstation 16 on a Windows 10 PC. I installed the Osmocom version over 2 years ago and want to update it. I believe these are the right commands:

cd op25
git pull
./rebuild.sh

But running git pull gives an error:

1734842776692.png

So I was just wondering if anyone has advice how to update it. Thanks.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,102
Location
NE Wisconsin
I installed the Osmocom version over 2 years ago and want to update it. I believe these are the right commands:

cd op25
git pull
./rebuild.sh

For the record, rebuild.sh is a part of the Boatbod OP25 suite and does not exist as part of the current Osmocom repository.

But running git pull gives an error:

View attachment 174911

It appears from the list of python applications bombing out that your Osmocom build is perhaps from the previous version that existed
prior June 2021 when a completely new version was released. It this truly is the case, then you'll either need to start with a fresh VM
or perform a complete uninstallation of op25 and start over.

Before proceeding with a fresh build, determine the GNU Radio version that is/will be installed on your Linux distro.

IE: app list | grep gnuradio-dev See example output below.

(1) gnuradio-dev/focal,now 3.8.1.0~rc1-2build2 amd64
(2) gnuradio-dev/jammy,now 3.10.1.1-2 amd64

Carefully read and understand the README, README-gr3.9, and README-gr3.8.patch files outlining instructions pertaining to the
correct procedures for your installed GNU Radio version. Play close attention to terminal output as op25 builds for important steps or
installation options. Once the build is complete, go to the /apps folder and review README-July-2021.
 
Last edited:

boatbod

Member
Joined
Mar 3, 2007
Messages
3,500
Location
Talbot Co, MD
I'm running Ubuntu 20.04.4 LTS inside of VMWare Workstation 16 on a Windows 10 PC. I installed the Osmocom version over 2 years ago and want to update it. I believe these are the right commands:

cd op25
git pull
./rebuild.sh

But running git pull gives an error:

So I was just wondering if anyone has advice how to update it. Thanks.
The error pertains to version-controlled files having been locally edited, and thus no longer able to be automatically updated by git. The simple solution is to go back to the top level directory (using "git checkout .") and clear the local changes, but beware this may have other implications. You may be better off starting with a whole fresh directory and starting over with git clone.

As wgbecks noted, you do need to ascertain whether you are using gnuradio-3.8 or gnuradio-3.10 because there are different steps to take to get op25 working in each situation.
 

CanesFan95

Analog already is interoperable.
Joined
Feb 14, 2008
Messages
3,359
Location
FL
Ok, thanks. This will be harder than I thought. I may just opt to do a new WM machine.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,500
Location
Talbot Co, MD
Ok, thanks. This will be harder than I thought. I may just opt to do a new WM machine.
It's been a long time since I looked at the osmocom version, but back when I last did, the gr310 patches were overlaid directly onto the version controlled source files. The problem with that approach (vs using a separate git branch) is that once you run the patches you cannot pull any git updates without resetting the sources.

All you really need to do though, is move the op25 directory and clone a new one. No need to pull a whole new VM unless you really want to.
Code:
cd ~/op25/build
sudo make uninstall
cd ~
mv op25 op25.old
Then git clone like you would for a fresh install.
 

CanesFan95

Analog already is interoperable.
Joined
Feb 14, 2008
Messages
3,359
Location
FL
So I went ahead and created a new Ubuntu 20.04.6 machine on VMWorkstation 16 Running on Windows 10. I can get a 2-dongle setup working on RTL-SDR dongles, bot not with 2 Airspys. This is the .json file:


{
"channels": [
{
"demod_type": "cqpsk",
"destination": "udp://127.0.0.1:56124",
"excess_bw": 0.2,
"filter_type": "rc",
"frequency": 0,
"if_rate": 24000,
"name": "P25 Control Channel",
"plot": "symbol,constellation",
"decode": "p25_decoder:cc",
"symbol_rate": 4800,
"decode": "p25_decoder:role=cc:dev=airspycc"
},
{
"demod_type": "cqpsk",
"destination": "udp://127.0.0.1:23456",
"excess_bw": 0.2,
"filter_type": "rc",
"frequency": 0,
"if_rate": 24000,
"name": "P25 Voice Channel",
"plot": "symbol,constellation",
"decode": "p25_decoder:vc",
"symbol_rate": 4800,
"decode": "p25_decoder:role=vc:dev=airspyvc"
}
],
"devices": [
{
"args": "airspy=A74068C82D5D5193",
"frequency": 0,
"gains": "LNA:12,MIX:10,IF:8",
"name": "airspycc",
"offset": 0,
"ppm": 0,
"rate": 3000000,
"tunable": true
},
{
"args": "airspy=26A464DC28423E93",
"frequency": 0,
"gains": "LNA:12,MIX:10,IF:8",
"name": "airspyvc",
"offset": 0,
"ppm": 0,
"rate": 3000000,
"tunable": true
}
]
}


Running the following script does nothing:

./multi_rx.py -c airspy.json -T hillsboroughwest.tsv -U -l http:0.0.0.0:8080 2> stderr.2 -X

Running this gives an error "osmosdr source_c creation failure":

./rx.py --args 'airspy' -S 3000000 -n -N 'LNA:10,MIX:10,IF:10' -T hillsboroughwest.tsv -P symbol,constellation -2 -U -l http:0.0.0.0:8080 2> stderr.2 -X

1737774193431.png

All of this works on an older VM with an OP25 version from about 2 1/2 years ago. Has anything with the commands / syntax changed since then ?

Thanks.
 

CanesFan95

Analog already is interoperable.
Joined
Feb 14, 2008
Messages
3,359
Location
FL
A shorter script of:

./rx.py --args 'airspy' -S 3000000 -n -N 'LNA:10,MIX:10,IF:10' -T hillsboroughwest.tsv

gives a different error:

1737774469340.png
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,102
Location
NE Wisconsin
A shorter script of:

./rx.py --args 'airspy' -S 3000000 -n -N 'LNA:10,MIX:10,IF:10' -T hillsboroughwest.tsv
First, be sure that you've executed ~/op25/scripts/udev_rules.sh followed by a reboot of your Linux VM.

Remove the "-n" from your rx.y command line. Osmocom op25 rx.py requires the -f frequency argument in addition to populating the
control channel list in your trunk.tsv file.

./rx.py --args 'airspy=0' -N 'LNA:15,MIX:12,IF:8' -S 3000000 -f 853.925e6 -q 0.3 -D cqpsk -T trunk.tsv (etc.)
 

CanesFan95

Analog already is interoperable.
Joined
Feb 14, 2008
Messages
3,359
Location
FL
I ran ./udev_rules.sh before but went ahead and did it again and re-booted. Then I ran this:

./rx.py --args 'airspy' -S 3000000 -N 'LNA:10,MIX:10,IF:10' -T hillsboroughwest.tsv -f 768.0000e6

and still get errors:

1738028933891.png
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,102
Location
NE Wisconsin
It's possible there's and issue with hardware virtualization of your Airspy device in VMWare, or that your
Osmocom build is hosed up. A good test to isolate issues with your VM would be to install GQRX to see if
it will discover the Airspy, and be able run successfully.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,102
Location
NE Wisconsin
GQRX is able to detect an RTL-SDR dongle: --- But not an AirSpy:

This is definitely an issue with VMware! I delt with this in Workstation as well as in Hypervisor. I would recommend that
you dump Workstation for hosting your VM and switch to VirtualBox. Just remember to configure the USB Controller
as USB 3.0 if switching to VirtualBox.

However, if you're up to the challenge, then you and try to resolve the problem with your AIrSpy device in Workstation
by applying quirks per the procedure show below. You may also need to try this with different USB ports as well.

To add quirks:

1. Open the vmware.log file.

2. Search for the device manufacturer's name. Locate a line similar to:

vmx | USB: Found device [name:Apple\ IR\ Receiver vid:05ac
pid:8240 path:13/7/2 speed:full family:hid]


The line has the name of the USB device and its vid and pid information. Make a note of
the vid and pid values.

3. Edit the .vmx file. Add this line to the .vmx file, replacing vid and pid with the values
noted in Step 2, each prefixed by the number 0 and the letter x.

usb.quirks.device0 = "0xvid:0xpid skip-reset"

For example, for the Apple device found in step 2, this line is:

usb.quirks.device0 = "0x05ac:0x8240 skip-reset"

4. Save and close the .vmx file.

5. Restart the virtual machine and try connecting the device again.

6. If the issue is not resolved, replace the quirks line added in Step 4 with one of these lines, in
the order provided, and repeat Steps 5 to 8:

usb.quirks.device0 = "vid : pid skip-refresh"
usb.quirks.device0 = "vid : pid skip-setconfig"
usb.quirks.device0 = "vid : pid skip-reset, skip-refresh, skip-setconfig"

Notes:

• Use one of these lines at a time. If one does not work, replace it with another one
in the list. Do not add more than one of these in the .vmx file at a time.

• The last line uses all three quirks in combination. Use this only if the other three
lines do not work.
 

CanesFan95

Analog already is interoperable.
Joined
Feb 14, 2008
Messages
3,359
Location
FL
So I went ahead and tried the .vmx file edits and now it says the file is corrupted and won't open the machine:

1738375410466.png

Installing VirtualBox gives a couple errors and can't get the Ubuntu machine created:

1738375455437.png
1738375476382.png

And I don't see where to configure anything called a USB Controller as USB 3.0.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,102
Location
NE Wisconsin
So I went ahead and tried the .vmx file edits and now it says the file is corrupted and won't open the machine:
The corruption was likely incorrect formatting or the insertion of a hidden character that it didn't like.

And I don't see where to configure anything called a USB Controller as USB 3.0.
Onward and upward, let's start over with building your VirtualBox Ubuntu VM. Be sure that you've first download and have installed
the VirtualBox Extension Pack along with VirtualBox itself.

1. Delete the existing VM using the "Remove" function with the "Delete all files" option.
2. Create a new Ubuntu VM. Be sure to specify "Ubuntu 20 xxx" when naming the VM as VB uses this to set initial parameters.

Reference the highlighted areas in the following screen captures.

VBOX-1.png
3. Complete (Finish) the initial VM the proceed with settings that will be specific to this VM.

VBOX-2.png

(4) Set the Base Memory to at least 4096 MB.

VBOX-3.png
5. Set the Processor to use two (2) CPUs.

VBOX-4.png
6. Set the Network to attach at a Bridged Adapter or as desired for your intended application.

VBOX-5.png
7. Be sure your AirSpy SDR is plugged in and has enumerated on Windows.
8. Set the USB section for the USB 3.0 (xHCI) Controller. (Do this regardless of the AirSpy being a USB 2.x device.)
9. Click on the + Icon to Add your Airspy to the USB Device Filters. (USB Hardware Virtualization)

VBOX-6.png
10. Locate and select your SDR.

VBOX-7.png

11. Verify that your AirSpy SDR appears in the USB Device List.

VBOX-8.png
12. Proceed to start the Ubuntu VM to begin the Installation process. I usually choose the "Minimal Installation" for my op25 VMs
as I don't need the full set of applications that would otherwise get installed.

13. With the Ubuntu OS not completely installed, you'll want to Install the Guest Editions package for your VM. Begin by installing the
perquisites. IE: sudo apt install gcc make perl

14. With Ubuntu up and running, click on "Devices" then select "Insert Guest Editions CD image".

15. A dialog box should now appear whereby you click on the "RUN" button to perform the installation.

Upon successful completion of the Guest Editions package, it will be necessary to completely shut down the VM and restart
it for the support functions to become active. You should be able to maximize the VM window whereby Ubuntu will display
as a full window on your PC.

GQRX should now recognize the AirSpy and run if all went well.

Screenshot from 2025-02-01 09-27-03.png

GQRX works, happy days!! Now proceed to install and configure op25.
 
Last edited:
Top