OP25 Major New OP25 Release - Seeking Beta Testers

Status
Not open for further replies.

sjacket99

FuzzThePiGuy
Feed Provider
Joined
Dec 21, 2016
Messages
79
Location
Pa
There is no need to run oplog.sh as sudo. So let's throw that out first.

The version of sqlalchmey should be 1.4 or greater. Please run the following command (from any directory):

$ pip3 show sqlalchemy

Sample output:

Bash:
$ pip3 show sqlalchemy

Name: SQLAlchemy
Version: 1.4.20
Summary: Database Abstraction Library
.
.
.

Also, what OS are you running?


pi@raspberrypi:~ $ pip3 show sqlalchemy
Name: SQLAlchemy
Version: 1.4.25
Summary: Database Abstraction Library
Home-page: https://www.sqlalchemy.org
Author: Mike Bayer
Author-email: mike_mp@zzzcomputing.com
License: MIT
Location: /home/pi/.local/lib/python3.7/site-packages
Requires: importlib-metadata
Required-by: Flask-SQLAlchemy

Buster on the raspberry pi
 

Outerdog

T¹ ÆS Ø
Premium Subscriber
Joined
Jul 1, 2016
Messages
669
Looks like there was a change on SQLAlchemy version 1.4.23 which again removed the greenlet dependency from the default installation on certain platforms on Aug 18, 2021. See here:


In order to install with the greenlet dependency included on a machine architecture outside of the above list, the [asyncio]extra may be included by running pip install sqlalchemy[asyncio] which will then attempt to install greenlet.

You may use pip3 instead of pip.

Give that a shot and report back.

@KA1RBI can comment on a fix to the OP25 repo to accommodate this change. Looks like the SQLA folks have been screwing with greenlet for the last couple versions.
 
Last edited:

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
Outerdog

Many thanks for this diagnosis. I wasn't aware of this (but it's not surprising that they are mucking with the code).

Once we have a consensus on what needs to be changed I'll push a fix...

Max
 

sjacket99

FuzzThePiGuy
Feed Provider
Joined
Dec 21, 2016
Messages
79
Location
Pa
Looks like there was a change on SQLAlchemy version 1.4.23 which again removed the greenlet dependency from the default installation on certain platforms on Aug 18, 2021. See here:


In order to install with the greenlet dependency included on a machine architecture outside of the above list, the [asyncio]extra may be included by running pip install sqlalchemy[asyncio] which will then attempt to install greenlet.

You may use pip3 instead of pip.

Give that a shot and report back.

@KA1RBI can comment on a fix to the OP25 repo to accommodate this change. Looks like the SQLA folks have been screwing with greenlet for the last couple versions.


I'll give that a try later.

Now this is what it shows when running Ubuntu or Armbian 21.08.1 Buster. The following images is from the Armbian 21.08.1 Buster OS.
 

Attachments

  • Screen Shot 2021-10-02 at 11.50.28 AM.png
    Screen Shot 2021-10-02 at 11.50.28 AM.png
    275.1 KB · Views: 14
  • Screen Shot 2021-10-02 at 11.50.35 AM.png
    Screen Shot 2021-10-02 at 11.50.35 AM.png
    213.6 KB · Views: 13
  • Screen Shot 2021-10-02 at 11.54.20 AM.png
    Screen Shot 2021-10-02 at 11.54.20 AM.png
    125.9 KB · Views: 11

Outerdog

T¹ ÆS Ø
Premium Subscriber
Joined
Jul 1, 2016
Messages
669
I'll give that a try later.

Now this is what it shows when running Ubuntu or Armbian 21.08.1 Buster. The following images is from the Armbian 21.08.1 Buster OS.

That appears to be working as expected. It's telling you that the db is present, the db structure is good, but there are 0 rows so the flask/oplog app has nothing to do. Have you logged anything with OP25 rx.py or multi-rx.py yet?
 

sjacket99

FuzzThePiGuy
Feed Provider
Joined
Dec 21, 2016
Messages
79
Location
Pa
That appears to be working as expected. It's telling you that the db is present, the db structure is good, but there are 0 rows so the flask/oplog app has nothing to do. Have you logged anything with OP25 rx.py or multi-rx.py yet?

I didn't add a TSV file or update the trunk file. I normally just paste the files into the app dir. I haven't tried the import command way.

Import talkgroups tags file
python sql_dbi.py import_tgid tags.tsv <sysid>
also, import the radio ID tags file (optional)
python sql_dbi.py import_unit radio-tags.tsv <sysid>
import the System ID tags file (see below)
python sql_dbi.py import_sysid sysid-tags.tsv 0

I tried the import command way yesterday, but I don't know if I was doing it right.

thanks for the help.
 

Outerdog

T¹ ÆS Ø
Premium Subscriber
Joined
Jul 1, 2016
Messages
669
I didn't add a TSV file or update the trunk file. I normally just paste the files into the app dir. I haven't tried the import command way.

Import talkgroups tags file
python sql_dbi.py import_tgid tags.tsv <sysid>
also, import the radio ID tags file (optional)
python sql_dbi.py import_unit radio-tags.tsv <sysid>
import the System ID tags file (see below)
python sql_dbi.py import_sysid sysid-tags.tsv 0

I tried the import command way yesterday, but I don't know if I was doing it right.

thanks for the help.

The error message you're seeing doesn't care about the tsv files being imported with the python commands. In fact, there is an import tool which replaces those commands in Oplog itself.

All events recorded by OP25 and Oplog are placed into a single table called data_store. All joins, leaves, channel grants, logouts, logins, denials, force regs, and whatever else we tossed in go into that table. You can check that data is present (or not):

1. Navigate to: ~/op25-rc2/op25/op25/gr-op25_repeater/apps
2. Execute: $ sqlite3 op25-data.db "SELECT * from 'data_store' LIMIT 25;"

That should return the first 25 records it finds.

Screen Shot 2021-10-02 at 10.25.50 AM.png


This is what the data_store table looks like (through a viewer app) and the data that flask/oplog app needs to see. If there is none, the app has nothing at all to do.

Screen Shot 2021-10-02 at 10.23.13 AM.png
 
Last edited:

sjacket99

FuzzThePiGuy
Feed Provider
Joined
Dec 21, 2016
Messages
79
Location
Pa
The error message you're seeing doesn't care about the tsv files being imported with the python commands. In fact, there is an import tool which replaces those commands in Oplog itself.

All events recorded by OP25 and Oplog are placed into a single table called data_store. All joins, leaves, channel grants, logouts, logins, denials, force regs, and whatever else we tossed in go into that table. You can check that data is present (or not):

1. Navigate to: ~/op25-rc2/op25/op25/gr-op25_repeater/apps
2. Execute: $ sqlite3 op25-data.db "SELECT * from 'data_store' LIMIT 25;"

That should return the first 25 records it finds.

View attachment 110292


This is what the data_store table looks like (through a viewer app) and the data that flask/oplog app needs to see. If there is none, the app has nothing at all to do.

View attachment 110291

When I run the command you said about I get nothing back.
 

Outerdog

T¹ ÆS Ø
Premium Subscriber
Joined
Jul 1, 2016
Messages
669
I tried installing on Linux Mint and I get this error. I'm sure it's something simple:
john@JD:~$ git clone https://git.osmocom.org/op25
Cloning into 'op25'...
fatal: unable to access 'https://git.osmocom.org/op25/': server certificate verification failed. CAfile: none CRLfile: none

N8ZUZ

I just ran git clone on the repo without any issue. When I view the certificate in my browser, it shows as valid. Not sure how to help you here.
 

sjacket99

FuzzThePiGuy
Feed Provider
Joined
Dec 21, 2016
Messages
79
Location
Pa
I tried installing on Linux Mint and I get this error. I'm sure it's something simple:
john@JD:~$ git clone https://git.osmocom.org/op25
Cloning into 'op25'...
fatal: unable to access 'https://git.osmocom.org/op25/': server certificate verification failed. CAfile: none CRLfile: none

Does anyone have a writeup how to install on Mint?

Thanks
N8ZUZ

Run the following in terminal:

sudo apt-get install apt-transport-https ca-certificates -y
sudo update-ca-certificates
 

sjacket99

FuzzThePiGuy
Feed Provider
Joined
Dec 21, 2016
Messages
79
Location
Pa
Looks like there was a change on SQLAlchemy version 1.4.23 which again removed the greenlet dependency from the default installation on certain platforms on Aug 18, 2021. See here:


In order to install with the greenlet dependency included on a machine architecture outside of the above list, the [asyncio]extra may be included by running pip install sqlalchemy[asyncio] which will then attempt to install greenlet.

You may use pip3 instead of pip.

Give that a shot and report back.

@KA1RBI can comment on a fix to the OP25 repo to accommodate this change. Looks like the SQLA folks have been screwing with greenlet for the last couple versions.


Ok. I did a fresh install using the latest Raspberry Pi image like I did before. Once I got everything setup and my trunk file setup and all. I was still having the same issue. So I ran the pip install sqlalchemy[asyncio], which it did install a few things. But it didn't help with being able to see the log page. So I ran it again with "pip3" pip3 install sqlalchemy[asyncio] and it installed another file. And now it works.

Thanks to the ones that helped me out with this. Thanks for the people making a piece of software that has a nice GUI and works great.
 

Attachments

  • Screen Shot 2021-10-02 at 9.43.42 PM.png
    Screen Shot 2021-10-02 at 9.43.42 PM.png
    194.6 KB · Views: 8

Outerdog

T¹ ÆS Ø
Premium Subscriber
Joined
Jul 1, 2016
Messages
669
Ok. I did a fresh install using the latest Raspberry Pi image like I did before. Once I got everything setup and my trunk file setup and all. I was still having the same issue. So I ran the pip install sqlalchemy[asyncio], which it did install a few things. But it didn't help with being able to see the log page. So I ran it again with "pip3" pip3 install sqlalchemy[asyncio] and it installed another file. And now it works.

Thanks to the ones that helped me out with this. Thanks for the people making a piece of software that has a nice GUI and works great.

Appreciate knowing the issue was resolved. As Max said, we'll work to fix the reop soon. And by "we" I think I mean "he" since that's his wheelhouse. But I think this change to SQLA breaks Oplog on fresh installs of OP25 for architectures not listed on that version update.... more to follow.
 

sjacket99

FuzzThePiGuy
Feed Provider
Joined
Dec 21, 2016
Messages
79
Location
Pa
Appreciate knowing the issue was resolved. As Max said, we'll work to fix the reop soon. And by "we" I think I mean "he" since that's his wheelhouse. But I think this change to SQLA breaks Oplog on fresh installs of OP25 for architectures not listed on that version update.... more to follow.

No problem. I just did another fresh install and this one worked also after running the command that you said about.

thanks again.
 

W4KRR

Member
Premium Subscriber
Joined
Apr 1, 2001
Messages
3,517
Location
Coconut Creek
I'm trying to do a fresh install in Linux Mint. I am getting this error:

This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at op25/gr-op25/CMakeLists.txt:99 (message):
GnuRadio Runtime required to compile op25


-- Configuring incomplete, errors occurred!
See also "/home/ken/op25/build/CMakeFiles/CMakeOutput.log".
See also "/home/ken/op25/build/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target 'install'. Stop.
======
====== NOTICE
======
====== The gnuplot package is not installed by default here,
====== as its installation requires numerous prerequisite packages
====== that you may not want to install.
======
====== In order to do plotting in rx.py using the -P option
====== you must install gnuplot, e.g., manually as follows:
======
====== sudo apt-get install gnuplot-x11

I used the same procedure to successfully install on a Raspberry Pi 400 with the latest Raspberry Pi OS
 

ctencore

Member
Joined
Dec 31, 2008
Messages
17
Location
Auburn, CA
Here is the command line (script) that I use:

Code:
#! /bin/sh

l="-l http:127.0.0.1:8080"
U="-U"
python3 multi_rx.py -c cfg-trunk2.json -T  ont.tsv $l -v 1 -X $U  2> stderr.2

Also a couple of cfg*json files that got omitted from the repo have just now been checked in - including cfg-trunk2.json.

You can issue the command "git pull" (from within an OP25 directory) to pull the latest files.

You'll also want to carefully review the README-July-2021 file for details on using multi_rx and on setting up the SQL logging and viewing features...

Max

Hi Max, I'm getting this error when trying to set up multi:

Traceback (most recent call last):
File "multi_rx.py", line 29, in <module>
import osmosdr
ModuleNotFoundError: No module named 'osmosdr'

I have osmosdr installed. in the cfg-trunk2.json I changed the device name to the name of my sdr's and set the frequency.

{
"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",
"decode": "p25_decoder:cc",
"symbol_rate": 4800
},
{
"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",
"decode": "p25_decoder:vc",
"symbol_rate": 4800
}
],
"devices": [
{
"args": "rtl=00000011",
"frequency": 8323500000,
"gains": "lna:49",
"name": "rtl11_cc",
"offset": 0,
"ppm": 54,
"rate": 1000000,
"tunable": false
},
{
"args": "rtl=00000012",
"frequency": 8323500000,
"gains": "lna:49",
"name": "rtl12_vc",
"offset": 0,
"ppm": 54,
"rate": 1000000,
"tunable": true
}
]
}

Any tips?
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
As a quick guess the error "No module named 'osmosdr'" might be due to running under the wrong python. You could try changing "python3" to "python" (or vice-versa).
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
Also, in the cfg JSON "rtl:xxx" args you'll need to change the serial numbers to match your RTLs, and the ppm correction will almost assuredly be different than what is shown in the example.....
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
I'm trying to do a fresh install in Linux Mint. I am getting this error:

CMake Error at op25/gr-op25/CMakeLists.txt:99 (message):
GnuRadio Runtime required to compile op25

Could be the default gnuradio version for your system is 3.8 and the 3.8 patches for building OP25 have not been installed?

You can check the gnuradio version by running

Code:
dpkg-query -l | grep gnuradio

Max
 
Status
Not open for further replies.
Top