OP25 VirtualBox Project - Run OP25 on Windows 7

Status
Not open for further replies.

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
Op25 is a python2 app. It hasn't been tested or modified to work under python3.

The downside of changing every .py file is that you won't be able to git pull any updates due to the local modifications. Personally I would see if there is a way to default python so that it runs the correct version, then delete/start-over with a freshly cloned repo.

Not sure what you were getting at about terminal text not being correct, but maybe this too will be corrected if you start from a fresh install.

For the command line options, you always require "-V -w" if you are running liquidsoap. "-2" is optional for phase 2 support, but I see no reason not to have it there all the time.

Python3 is used by some other program/programs that is installed; not sure what they are right now. There are also other programs that us python2. I have no idea how arch makes them use the right python when the programs get launched. This image is built up from scratch and only the necessary desktop environment and programs needed to run op25 are installed.

In post #2250 under "op25 window:" all of that data that is in that window is not showing up and no one is showing up as talking hence no audioexcept maybe once every couple of hours. Compare that window with the one I posted in post #2259
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
Python3 is used by some other program/programs that is installed; not sure what they are right now. There are also other programs that us python2. I have no idea how arch makes them use the right python when the programs get launched. This image is built up from scratch and only the necessary desktop environment and programs needed to run op25 are installed.
It seems to me you should take the appropriate steps to make sure op25 is using the correct version of python without editing the source files. Yes it's more work initially, but makes updating the op25 sources easier later on.
How to manage multiple Python versions and virtual environments
In post #2250 under "op25 window:" all of that data that is in that window is not showing up and no one is showing up as talking hence no audioexcept maybe once every couple of hours. Compare that window with the one I posted in post #2259

You do realize that you're tuned to two different frequencies in #2250 and #2259. Are you sure the terminal shown in #2259 is actually a control channel rather than a voice channel?
 
Last edited:

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
You do realize that you're tuned to two different frequencies in #2250 and #2259. Are you sure the terminal shown in #2259 is actually a control channel rather than a voice channel?

I probably do not know what I am doing but I listed all of the freq for the repeater. Should I just have the control and alternate freq. Been doing that way for a couple of years.
 

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
By the way things seem to be getting better as the rain has slowed. The data is filling in now in the op25 window and starting to get some voice transmissions on my desktop via streaming from the pi in audacious. Going to wait it out and see if things stabilize. Thinking about building a full wave loop beam:

stream.png
 

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
In the meta.json file what is this for? "delay": "0.0"

If it for adjusting meta data with the voice what is the format to adjust. Conditions are getting a lot better and it seems like the sync is pretty good. Sometimes I think it may be off by 1 second but it is doing a lot better than using darkice.

It may be just me but I think the voice quality is better with LiquidSoap
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
In the meta.json file what is this for? "delay": "0.0"

If it for adjusting meta data with the voice what is the format to adjust. Conditions are getting a lot better and it seems like the sync is pretty good. Sometimes I think it may be off by 1 second but it is doing a lot better than using darkice.

It may be just me but I think the voice quality is better with LiquidSoap
Delay is a configurable number of seconds to delay the sending of metadata so that it aligns with voice. The parameter is a floating point number and is decimal fractions of a second. I.e. 1.25 would be a 1.25 second delay. Personally I don't use it as my metadata aligns pretty good with my audio stream.

Good to head that audio quality is improved. I found the same thing on my RPi. On my desktop the audio is good anyway so it didn't make a noticeable difference.
 

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
First I would like to thank boatboad for his help migrating from darkice to LiquidSoap with the icecast server for the RPi 3B.

SOUTH300:

I am in the final stages in getting the Arch linux 64bit Raspberry Pi 3B op25/LiquidSoap icecast server image ready for you. Hopefully I will be able to upload it to my googledrive for you to get overnight tonight. I have created some .desktop files for you to click on to open up the op2, LiquidSoap and op25 log windows to make things easier.

Desktop:

desktop.png

Server running:

server-running.png

Icecast web interface:

icecast-server.png

Ray
 
Last edited:

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
boatbod:

Was testing here with SOUTH300's image to make sure his info/passwords was working right and noticed the Genre field was showing up as "Various" so I added the field to your op25.lig script so it would show up as "Public Safety". Probably does not make much difference but it was more pleasing to my eyes. lol

genre="Public Safety"

web.png
 

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
I am at it again boatboad. I guess I can not leave well enough alone. :devilish:

I wanted to provide more info with the stream in the icecast gui using the "Stream Name" and the "Stream Description" fields (like you could do in darkice) so I added in your op25.lig script the capability to customize the "Stream Name" field in the icecast GUI.

name="op25 Scanner"

web-gui.png

Also I migrated over to LiquidSoap on my odroid-xu4 arm device and it is working well also.

odroid-xu4.png
 
Last edited:

djshadowxm81

Member
Premium Subscriber
Joined
May 5, 2010
Messages
79
@boatbod - Not sure if this was the best place to put this. Was going to file an issue on github but didn't see one. As of late I have my op25 http control out to the world. (granted i know this is not ideal and probably could just use my vpn to do it but thats a pain)
I've noticed those random bot crawlers try to send random garbage and try to hack whatever server is out there. Occasionally I get crashes from these. Is there away we could allow some sort of htaccess either blacklist or allow password to the web server portion when running that flag? Not sure if this is possible with your http implementation or not.

here is an example
1548006967535.png
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
@boatbod - Not sure if this was the best place to put this. Was going to file an issue on github but didn't see one. As of late I have my op25 http control out to the world. (granted i know this is not ideal and probably could just use my vpn to do it but thats a pain)
I've noticed those random bot crawlers try to send random garbage and try to hack whatever server is out there. Occasionally I get crashes from these. Is there away we could allow some sort of htaccess either blacklist or allow password to the web server portion when running that flag? Not sure if this is possible with your http implementation or not.

here is an example
View attachment 67781

The error checking of the http terminal is really weak and security is non-existent. I strongly suggest not using it wide open on the internet. Better to set up an SSH tunnel or VPN with decent encryption.
 

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
Boatbod:

I do not know if this is a product of your latest pushes or not but today I saw this for the first time in my op25 log saying "failed- phase2_tdma option not enabled"

op25-log.png

The system here in Arkansas is phase1 according to Radio Reference but there is a note on the page that has always been there since I started using op25 so I have no clue how old it is. I am wondering now if they are testing or some systems are on phase2:

The AWIN is undergoing upgrades over the next 5 years to be fully P-25 Phase II TDMA capable.
...
The AWIN is undergoing upgrades over the next 5 years to be fully P-25 Phase II TDMA capable. This is part of a multi step, multi year project to upgrade Arkansas Public Safety communications to meet the future needs and technologies.

My question is can I receive both phase1 and phase2 on the same dongle using 1 command line and trunk.tsv file.
I would like to see what is going on here with phase2.

Ray
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
Boatbod:

I do not know if this is a product of your latest pushes or not but today I saw this for the first time in my op25 log saying "failed- phase2_tdma option not enabled"

View attachment 67931

The system here in Arkansas is phase1 according to Radio Reference but there is a note on the page that has always been there since I started using op25 so I have no clue how old it is. I am wondering now if they are testing or some systems are on phase2:



My question is can I receive both phase1 and phase2 on the same dongle using 1 command line and trunk.tsv file.
I would like to see what is going on here with phase2.

Ray

The message you encountered means that a phase 2 group voice grant/update was received but couldn't be tuned because the phase 2 options is not enabled in op25. The simple fix is to add "-2" on the rx.py command line.

Both phase 1 and phase 2 can be enabled at the same time. Really this should be the default these days...
 

Dark-Sky

Member
Premium Subscriber
Joined
Sep 30, 2016
Messages
102
Location
Central Arkansas
Boatbod:

Pulled your changes today and beat my head against the wall trying to get the op25-liq.service to load with my arch install on my Odroid-XU4 arm device. I finally set the debug level to 3 in op25.lig and saw that permission was denied connecting to the pulse server. I then enabled the local alsa sound in op25.liq and the op25-liq.service started just fine.

To tell you the truth I am going to start using my Odroid-XU4 as headless since I have the 2 services running so there will be no use for any local sound and just may disable local sound all together.

Thanks for the latest upgrades!!

services.png

I am liking mpv to monitor on my x64 so if I am away from the computer I can look back at the history and see who said what:

mpv.png


Ray
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
Boatbod:

Pulled your changes today and beat my head against the wall trying to get the op25-liq.service to load with my arch install on my Odroid-XU4 arm device. I finally set the debug level to 3 in op25.lig and saw that permission was denied connecting to the pulse server. I then enabled the local alsa sound in op25.liq and the op25-liq.service started just fine.

To tell you the truth I am going to start using my Odroid-XU4 as headless since I have the 2 services running so there will be no use for any local sound and just may disable local sound all together.

Thanks for the latest upgrades!!

View attachment 67968

I am liking mpv to monitor on my x64 so if I am away from the computer I can look back at the history and see who said what:

View attachment 67969


Ray
You need to add your username to the pulse group. See the following discussion:
Why you should care about PulseAudio (and how to start doing it)
An important caveat is that PulseAudio creates its own group, and all users that want to use PulseAudio must be a member of it. Since most desktop users don't spend much time thinking about groups or group permissions, this can be an easy step to overlook. Under Ubuntu, you change group membership by visiting System -> Administration -> Users and Groups. This launches the Users settings manager; you have to click on the Manage Groups button and bring up Properties window for the pulse, pulse-access, and pulse-rt groups separately in order to add yourself.
 
Status
Not open for further replies.
Top