OP25 VirtualBox Project - Run OP25 on Windows 7

Status
Not open for further replies.

Jay911

Silent Key (April 15th, 2023)
Feed Provider
Joined
Feb 15, 2002
Messages
9,378
Location
Bragg Creek, Alberta
Happened across this on reddit today. Thought of this thread after my trials with Ubuntu last week.

WEyRD.jpg
 

AZScanner

Member
Joined
Dec 19, 2002
Messages
3,342
Location
Somewhere in this room. Right now, you're very col
Just an update on this... I've been playing a bit more with Kali Linux's VMWare image, since it already comes with GNU Radio installed and configured correctly. From there you just do the following commands:

Code:
apt-get update
git clone git://github.com/pybombs/pybombs
cd pybombs
./pybombs install gr-op25

Pybombs takes over from there and installs OP25 along with all prerequisites *including gnuradio*. Whodathunkit?

From there it's just a matter of setting up your shell env as outlined in PiccoIntegra's instructions. I'm not quite that far yet, but so far this looks like it's going to actually work. Pretty cool!

Edited to add: After this finishes and assuming I can get OP25 to at least TRY to work (I understand that performance will take a hit because I'm running it on a VM instead of a physical machine) I will try to run this on a fresh Kali install without GNURadio installed already. If THAT works, then it will be time to move on to the next step - build a physical machine, buy a real SDR and start this project up in earnest. More to come...

-AZ
 
Last edited:

wildbillx

Member
Premium Subscriber
Joined
Feb 25, 2006
Messages
429
Location
Cape May, NJ
I am using Kali Linux also, but not in a VM. Does it matter if I installed Kali with the GNU radio package, then did what PiccoIntegra instructions said? I tried to listen to a Phase II talkgroup but no voice yet. If I put in the control channel will it follow the voice channels or do I have to input the voice channels to listen. I am new to op25 sorry for the questions.
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
... tried to listen to a Phase II talkgroup but no voice yet. If I put in the control channel will it follow the voice channels or do I have to input the voice channels to listen.

OP25 trunking is designed to do talkgroup following via the control channel. Conventional phase I FDMA voice channels can also be manually tuned and received directly (whether part of a trunked system or not). Also in phase I you can alternatively tune in directly to the uplink, if the system you're monitoring is a trunked system and the subscriber unit is in range.

However voice channels on phase II/TDMA systems can only be received if they are reached via the control channel. AFAIK all current scanners that support phase II/TDMA voice channels also can only receive them via the control channel. Additionally the uplinks in TDMA use a different modulation format (currently unsupported in OP25) that's not symmetric up/down as is the case with conventional phase I...

Max
 

AZScanner

Member
Joined
Dec 19, 2002
Messages
3,342
Location
Somewhere in this room. Right now, you're very col
I am using Kali Linux also, but not in a VM. Does it matter if I installed Kali with the GNU radio package, then did what PiccoIntegra instructions said? I tried to listen to a Phase II talkgroup but no voice yet. If I put in the control channel will it follow the voice channels or do I have to input the voice channels to listen. I am new to op25 sorry for the questions.

You've gotten alot farther than I have! I have the OS installed, GNURadio installed and OP25 installed, but from there I'm rather lost. I've tried a few GRC files I've seen online, but none of them compile - all sorts of various errors and stuff I'm missing apparently. Rather than hunt down errors and start installing things whilly nilly all over trying to get one of these GRC files to work, let me instead ask the more experienced OP25 users how to get this thing working. I have my dongle plugged in and linked to the VM. When I run rtl_test I get:

Code:
 rtl_test -t
Found 1 device(s):
  0:  ezcap USB 2.0 DVB-T/DAB/FM dongle

Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Detached kernel driver
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 
No E4000 tuner found, aborting.
Reattached kernel driver

Not sure if that's good or bad. I'm guessing bad since it aborted out.

Help?

-AZ
 

PiccoIntegra

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
530
Location
North Texas
I've already stated there wasn't GRC support included in OP25. There is an app called scope.py that needs to be run from the terminal.

open a terminal window and type:
Code:
cd ~/pybombs/src/gr-op25/op25/gr-op25_repeater/apps
This directory is where the scope app and associated files reside.

This quick test will determine if things are running properly.
Code:
./scope.py --args "rtl=0" -N 'LNA:46' -f 853.33e6 -S 288000 -q 50

--args "rtl=0" tells the app to run the first rtl device found if there is more than one connected.

-N 'LNA:46' this is the signal gain to use. 46 is a good starting point. 49 is the max, and isn't recommended.

-f 853.33e6 is the control channel frequency, change this to whatever you need.

-S 288000 is the sample rate to run the RTL. The dongle is picky about this setting. There is a big gap(unusable) from about 350000 to about 950000. This setting needs to be in multiples of 96k. A setting of 288000 is the lowest rate the RTL can use. I use 2400000, which is the maximum.

-q 50 this is the PPM correction factor. Use what ever your device needs.

-v 0 this is the debug printing level. This can get quite busy when set greater than 10

Select the PSK radio button if your site uses LSM/CQPSK. Check the Constellation tab, and Traffic tab for activity. Just poke around and let me know what happens.
 

AZScanner

Member
Joined
Dec 19, 2002
Messages
3,342
Location
Somewhere in this room. Right now, you're very col
open a terminal window and type:
Code:
cd ~/pybombs/src/gr-op25/op25/gr-op25_repeater/apps
This directory is where the scope app and associated files reside.

This quick test will determine if things are running properly.
Code:
./scope.py --args "rtl=0" -N 'LNA:46' -f 853.33e6 -S 288000 -q 50

Select the PSK radio button if your site uses LSM/CQPSK. Check the Constellation tab, and Traffic tab for activity. Just poke around and let me know what happens.

Sigh... so frustrating. I know this is probably something simple but I'm such a Linux noob and Google's not much help. I tried the command suggested above and now I get:

Code:
Traceback (most recent call last):
  File "./scope.py", line 54, in <module>
    import op25
ImportError: No module named op25

Some googling around led me to add the location of op25.py to the python path like so:
Code:
export PYTHONPATH=$PYTHONPATH:/usr/share/pyshared/baz/

Now this is the error I get when I attempt to run the scope.py script:
Code:
Traceback (most recent call last):
  File "./scope.py", line 54, in <module>
    import op25
  File "/usr/share/pyshared/baz/op25.py", line 25, in <module>
    from gnuradio import gr, gru, op25 as _op25
ImportError: cannot import name op25

Have I hosed this thing all up at this point or is there still some hope? I don't really care if the thing actually works WELL in VMWare, so long as I at least get past all these errors I keep running into. I don't mind blowing the VM away and starting over, no big loss at this point other than a couple days of trying stuff. But before I do that, I thought I'd ask if there's something simple I'm overlooking - probably so.

Thanks for all the replies, help and interest in the project!
-AZ
 

PiccoIntegra

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
530
Location
North Texas
Sigh... so frustrating. I know this is probably something simple but I'm such a Linux noob and Google's not much help. I tried the command suggested above and now I get:
"ImportError: No module named op25"

Your paths are F'ed up.. easy fix.

Code:
source ~/target/setup_env.sh


Code:
export PYTHONPATH=$PYTHONPATH:/usr/share/pyshared/baz/

Now this is the error I get when I attempt to run the scope.py script:
Ok, Don't do that anymore.. :)
That is OLD code, forget about the baz stuff, it will not work for your needs. Trust me on this. This is another reason not to use pre-intalled gnuradio packages. It's good that you can Google, most don't. But this is your thread. If you're not sure about something, ask here, I get email notices.


Have I hosed this thing all up at this point or is there still some hope? I don't really care if the thing actually works WELL in VMWare, so long as I at least get past all these errors I keep running into. I don't mind blowing the VM away and starting over, no big loss at this point other than a couple days of trying stuff. But before I do that, I thought I'd ask if there's something simple I'm overlooking - probably so.
I really want to see how this runs on that RWC site out there.. so you better not give up now. Which specific sites are you wanting to monitor?

I don't think it will run well in a VM, but it won't hurt you to try. I also recommend running the RTL at a 2400000 sample rate. I just updated to the latest OP25, and it runs like crap at lower sample rates. I do not know why this is yet.
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
I really want to see how this runs on that RWC site out there..

Seconded.

I don't think it will run well in a VM, but it won't hurt you to try. I also recommend running the RTL at a 2400000 sample rate. I just updated to the latest OP25, and it runs like crap at lower sample rates. I do not know why this is yet.

100% - everything Scott said.

AZ- I think you're very much on the right track and not only that you should be pretty close (of course the remaining 10% of the journey can take much more than 10% of the total effort), but I think your idea of getting as far as possible within the VM is sound. It should be straightforward to get past this error - follow Scott's suggestions (thx Scott).

Nonetheless your rtl_test result looks like it did detect the hardware (in spite of the crash). In fact I shall be curious to see just how far you do get within the virtual machine...

Max
 

AZScanner

Member
Joined
Dec 19, 2002
Messages
3,342
Location
Somewhere in this room. Right now, you're very col
OK, it seems to be running now. As expected, it's running way too slowly in a vm window to decode anything. But I'm encouraged that if I build a physical machine I can get at least this far on the real thing. That's encouraging! I'll have to wait until I have the funds to build a dedicated machine, but at least this is a start.

Thanks again... once I build an actual physical machine for this, then I'll probably pick your brain some more if that's OK. ;)

-AZ
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
I think I'm running into a limitation of the hardware I'm on at this point.
-AZ

@AZ- What sample rate [-S] are you running - have you tried changing the samp rate?

Oh, that's what I forgot to mention

@Scott - the newest OP25 incorporates your suggested decimation scheme, so I wouldn't think your performance troubles should be caused by that (unless I somehow didn't apply your modifications right). I'll be interested to hear how this unfolds...

Max
 

AZScanner

Member
Joined
Dec 19, 2002
Messages
3,342
Location
Somewhere in this room. Right now, you're very col
@AZ- What sample rate [-S] are you running - have you tried changing the samp rate?
Max

I used the sample rate that Scott suggested - 2400000. I get all sorts of activity on the scopes and such, but nothing in the Traffic panel and no decoded audio or anything.

What about ppm corrections? This particular dongle likes to drift all over the place. Is there a way to specify the PPM offset somewhere? in SDRSharp I usually keep it around 67ppm. I'm thinking maybe this is part of the problem.

-AZ

Edit, nvm I see the -q option Scott pointed out earlier. It's been a long day.
 

PiccoIntegra

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
530
Location
North Texas
What kind of hardware are you running on? You might want to try and use the VM in full screen mode. It may give it more processor time by doing that. I can't be sure though..

Do you have an old hard drive laying around? If so, I'd try going that route first before committing to building a new machine. I've got a 200GB partition and I'm using less than 30GB. So this should give you an idea of what you'd need.
 

AZScanner

Member
Joined
Dec 19, 2002
Messages
3,342
Location
Somewhere in this room. Right now, you're very col
OK, last attempt for today: I have it running, using the following command:
./scope.py --args "rtl=0" -N 'LNA:46' -f 774.41875 -S 2400000 -q 67 -v5

On the Spectrum tab, I see no activity.
On the C4FM tab I see plenty of activity. Same for Datascope, constellation, and symbols.
Traffic shows nothing.
Correlation is set to P25P1, but had no effect.
FAC shows nothing.

I know this thing is close... again I think it just doesn't want to play nicely in a VM session along with bunches of Windoze stuff running too on this machine. But I'd like to make sure I'm not doing something else wrong first before I go the route of building a machine just to have that not work either.

Thanks again for all the help from the experts. :)
-AZ
 

AZScanner

Member
Joined
Dec 19, 2002
Messages
3,342
Location
Somewhere in this room. Right now, you're very col
What kind of hardware are you running on? You might want to try and use the VM in full screen mode. It may give it more processor time by doing that. I can't be sure though..

Do you have an old hard drive laying around? If so, I'd try going that route first before committing to building a new machine. I've got a 200GB partition and I'm using less than 30GB. So this should give you an idea of what you'd need.

I'm going to build a new machine that is more than capable of handling OP25, so that the hardware is literally the last thing that could possibly cause a problem. I have other reasons why I want to do this also, but mainly getting OP25 running is the goal for it.

I'm running it on a brand new i5 laptop. This thing isn't a gaming rig or anything but it's pretty fast. The machine I plan to build for this will run much quicker and have a lot more memory.

Speaking of, can anyone share what the minimum hardware specs should be for OP25? I want to make sure the new machine surpasses the minimums by a large margin. I'm thinking it shouldn't take TOO much horsepower and that a typical PC by today's standards should be plenty to run it.

-AZ
 

PiccoIntegra

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
530
Location
North Texas
@Scott - the newest OP25 incorporates your suggested decimation scheme, so I wouldn't think your performance troubles should be caused by that (unless I somehow didn't apply your modifications right). I'll be interested to hear how this unfolds...
Yes sir, I saw that. The only thing I did different was use an Xlating FIR filter instead of your LPF. My reasoning was to have a dedicated CC channel, with added VC channel(s) created dynamically with queued symbols, and played through a single vocoder instance.. The system I monitor fits in the allotted 2.4Ms. However, this breaks the multi-system trunking if a system doesn't fit. It is doable though.

I still want to know why 2.4Ms outperforms the lower sample rates...it's a performance issue, not a reception issue.
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
On the Spectrum tab, I see no activity.

On the right in the Axis Options, try lowering (that is If I recall correctly - try it both ways) the Ref Level.

On the C4FM tab I see plenty of activity. Same for Datascope, constellation, and symbols.
Traffic shows nothing.
Correlation is set to P25P1, but had no effect.
FAC shows nothing.

Any chance you could post pix of these screen shots? Be sure to select "Differential" not "Direct" for the constellation .

I know this thing is close... again I think it just doesn't want to play nicely in a VM session

You may be closer than you think, as long as you're not getting hardware overruns (indicated by a series of O's printed out). From the sound of it you have "plenty of activity" - so it could just be a tuning error. Looking at the C4FM tab and averaging it by eye - is it fairly consistently above or below the zero line? If so try adjusting the value of the -q parameter which you current have set to 67. Try adjusting it up and down in increments of 1 and see if you can center the C4FM (and Datascope) vertically. Ideally you want them to be perfectly centered without using the fine tune slider (set it a zero), but you can also try moving this slider to see if different tuning is going to do anything.

There is really no reason it shouldn't work inside a VM (getting audio out of the Linux guest may be a separate question). Also OP25 isn't really a CPU hog - I've run it on an Intel Atom Netbook against a local P25 Phase II/TDMA system and another one running LSM, using an RTL stick (but that's native Linux, no VM)...
 
Status
Not open for further replies.
Top