OP25 Major New OP25 Release - Seeking Beta Testers

Status
Not open for further replies.

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY
Well I have done some digging and if I run the command 'sudo rtl_test -t' I get the appropriate response from the system. Tried to create the file by:

Code:
sudo nano /etc/udev/rules.d/10-rtl-sdr.rules

Added what was in the rtl-sdr directory for the file that is there and saved it out, detached the usb stick in WSL, shutdown ubuntu through WSL. Restarted ubuntu, attached USB stick in WSL and ran command both ways, still cannot get it to work as user level, sudo level still gives correct response. So went back searching and found needed todo the file as root, so managed to get in as su, set password for su, exit out, log back in a su and went to create file, it is already there and populated with all the data. So then CTRL-O to write the file as the su and CTRL-X to exit out of nano. Then exited as su back to user permissions. Tried shutting down and restarting etc. Still have the same thing.

Will try running the ./rx.py as sudo as it sees the rtl info if run the rtl_test as sudo...... plot thickens.....
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY
Another update.......

IMG_8717.jpgIMG_8718.jpg

IT IS ALIVE! Using the sudo to run the ./rx.py worked and it is up and running. No audio and it is not locked onto control channel. When opening the stderr.2 file I get the following:

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Exact sample rate is: 1000000.026491 Hz
[R82XX] PLL not locked!
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@gmail.com
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
op25_audio::eek:pen_socket(): enabled udp host(127.0.0.1), wireshark(23456), audio(23456)
p25_frame_assembler_impl: do_imbe[1], do_output[0], do_audio_output[1], do_phase2_tdma[1]
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5220:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM default
/root/.gnuradio/prefs/vmcircbuf_default_factory: No such file or directory
vmcircbuf_createfilemapping: createfilemapping is not available
1651322385.830302 p25p1_fdma::rx_sym() timeout, channel 0
1651322386.883453 p25p1_fdma::rx_sym() timeout, channel 0
1651322387.932671 p25p1_fdma::rx_sym() timeout, channel 0
1651322388.975385 p25p1_fdma::rx_sym() timeout, channel 0
1651322390.027202 p25p1_fdma::rx_sym() timeout, channel 0
1651322391.073325 p25p1_fdma::rx_sym() timeout, channel 0

So I see the one problem now is audio device. Will have to see if I can attach through powershell the audio system to the WSL. As to why it is not locking onto the control channel of my local P25 system, I have very strong, good signal here at my house so it should be easy to do. May have to change the ppm value in the command line but so far at least I now know it will launch and run using the Windows Subsystem for Linux running on a Windows 10 PC.
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY
After looking online on how to get pulseaudio going for WSL I cane across a site that supposedly told how to do it, so did all of that and had no errors on that part. I detached the RTL in WSL and fired up UniTrunker to make sure of ppm and I was off by a lot. So let it run to warm up a little bit then shut UT down, reattached usb through the WSL. Reran the command for launching op25 with correct ppm and bingo, locked onto control channel and was populating events tab and calls were coming in but no audio on the speakers.

Here is picture of the GUI running:
IMG_8719.jpg

This is on a Windows 10 machine. No linux install on it, just running under the subsystem for linux on windows 10.

stderr.2 file shows this:

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Exact sample rate is: 1000000.026491 Hz
[R82XX] PLL not locked!
Project 25 IMBE Encoder/Decoder Fixed-Point implementation
Developed by Pavel Yazev E-mail: pyazev@gmail.com
Version 1.0 (c) Copyright 2009
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file ``LICENSE'' for details.
op25_audio::eek:pen_socket(): enabled udp host(127.0.0.1), wireshark(23456), audio(23456)
p25_frame_assembler_impl: do_imbe[1], do_output[0], do_audio_output[1], do_phase2_tdma[1]
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5220:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM default
1651324575.168249 channel 0 tuning error +1200
1651324575.304943 channel 0 tuning error +1200
1651324575.305982 channel 0 tuning error +1200
1651324575.431470 channel 0 tuning error +1200

So I think I am going to try a reboot of the PC and hopefully it will put things into place to get audio out.

If anyone has any ideas, I am all ears
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY
Well can get it going but still no audio. Aparently if you are on Wndows 11 there is support for audio and gui apps. I am not so still trying to find a way to get audio working. I am probably going to have to nuke everything and start from scratch. Then start with the audio portion and get that working first. Then go onto the install of the rtl drivers, op25.

Sucks that I did not see if they were planning on going backwards with the audio support for the WSL2 or not. From what I have seen and tried, it won't install on Windows 10 as it is an item in the Microsoft store. I could not click the 'Get' button to download it. But for anyone on windows 11, you probably can get this going realatively easy. (still have not figured out the rtl_test part yet but that my be diefferent on Win 11 also)
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,319
Location
Lafayette County, FL
Well can get it going but still no audio.
INTERNAL AUDIO SERVER
=====================
Starting rx.py with the "-U" command line option enables an internal udp
audio server which will play received audio through the default ALSA
device. Optionally you may specify which ALSA device to use by setting
the "-O audio_out" option along with "-U".

EXTERNAL UDP AUDIO SERVER
=========================
Starting rx.py with the "-w -W host" options directs udp audio data to
be sent over the network to the specified remote host. It can then be
received and played back with either of the following methods:

What command are you using to run rx.py with, the full command and switches? You need to use -U or use ./audio.py with a specified UDP port. Or dump it to an ALSA device, if WSL2 supports that, I assume it does.
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
In the same README file there is also a section on the "External audio server" - and the following command is suggested (NOTE that "-U" isn't to be used in this case)
Code:
2. Execute the command:
   nc -kluvw 1 127.0.0.1 23456 | aplay -c1 -f S16_LE -r 8000

This uses "aplay" (alsa utility) to play audio locally -- basically equivalent to using "-U"

The key here is that audio can also be redirected to a file for test and verification purposes, something like
Code:
nc -kluvw 1 127.0.0.1 23456 > audio.raw    # format is standard mono, rate 8000, signed int16

The file only lacks a WAV file header to be playable in any audio app.

In this case though it's sufficient to examine the file size ("ls -l") which should increase over time as voice audio data gets appended.

This procedure will sectionalize the problem -
1) if the file remains empty the problem is on the op25 side
2) if the file contains audio data it suggests the system is working OK up to and including the UDP pipe...

Max

p.s. note that the "nc" command is entered from a second terminal window with op25 running in the first one.

p.p.s - as to the "tuning error +1200" - that could also be a problem - make sure "-X" is in use
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY


What command are you using to run rx.py with, the full command and switches? You need to use -U or use ./audio.py with a specified UDP port. Or dump it to an ALSA device, if WSL2 supports that, I assume it does.
Here is the command I used to run this:

Code:
sudo ./rx.py --args 'rtl' --gains 'lna:30' -X -T trunk.tsv -q 52 -S 1000000 -U -l 'http:0.0.0.0:8080' -2 -v 10 2>stderr.2

As I posted earlier, I am not sure why you had to use 'sudo' to make it work, but once I attached the RTL through Powershell and did 'rtl_test -t' it would nit find the RTL. 'sudo rtl_test -t' would give the appropriate response to the command.

If you use the OP25 install using Ubuntu Mate instructions I posted a few posts back is what I used to do this.

A few things though:
  1. Windows Subsystem for Linux (WSL) needs to be version 2, virtualization enebled not 1
  2. You download Ubuntu 20.04 through the Microsoft store
  3. The version (through Win Powershell as admin) you set your version of linux to what WSL, needs to be 2. When first installed it was set to 1 and I had tried Debian first then found out that Ubuntu 20.04 was available but had to have some updates to get it first.
  4. After the 'sudo apt install build-essential -y' you need to: 'sudo apt-get install pkg-config -y'
  5. In the uncomment of the deb-src in /etc/apt/sources.list I did the first 2 deb-src in that file.
Here is a link to the info about Win11 where the audio is baked into everything. GitHub - microsoft/wslg: Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios

I am stuck on windows 10 so I am probably going to have to nuke everything and try to get the audio going first. Then work on the build of op25. @KA1RBI I may try this with the audio server before nuking everything. I'll look into it and see how it goes, so you would basically open like VLC or winamp and load via URL to the IP (presumably 127.0.0.0) and port assigned?

I hope someone else who has more linux expertise can chime in on getting the audio going on a Win 10 box. I got the OP25 going almost by a fluke as I do not know a lick of linux!!! I was more less trying to see if it could be done and I know it can, there is pictures above and if anyone needs video, I will try to do one and show it running on a Windows box through the WSL on it. LOL
 
Last edited:

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY
The key here is that audio can also be redirected to a file for test and verification purposes, something like
Code:
nc -kluvw 1 127.0.0.1 23456 > audio.raw    # format is standard mono, rate 8000, signed int16

which should increase over time as voice audio data gets appended.

p.s. note that the "nc" command is entered from a second terminal window with op25 running in the first one.

p.p.s - as to the "tuning error +1200" - that could also be a problem - make sure "-X" is in use
Max,

While I can open 2 instances of Ubuntu on Win10, I am not sure if they are 'tied' together like it would be in a standard Linux w/GUI install would be. In here, through the WSL it is just terminal commands and no GUI. So I am not sure if they are 'tied' together like it might be in a full linux install (Have no idea actually as I have said before I know nothing of linux)

As you can see from my command to invoke rx.py above, I was using the -X in the command.

RJ
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
Not sure if this has already been covered, but are you able to play audio files from within the system? So, get a WAV file, call it test.wav, and run the following command
Code:
aplay test.wav

Run this command first under regular linux to verify - then retry the same command with the same WAV file under the win ubuntu environment and let me know what happens.

Second, if you're running a full X11 linux desktop you should be able to open as many terminal windows as needed - all from within the linux instance. If it only gives you a shell prompt with no way to run other apps, something seems wrong.

Even so, you could run the instance of rx.py in background by adding a '&' character at the tail end of the command. This is OK as long as you're not running the op25 curses terminal ---- as long as you're running the HTTP terminal this should be safe to do.

Once rx.py is running (without -U) then you could attempt the tests I mentioned above, to try to capture a test file piped out of 'nc'....

Max
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY
Not sure if this has already been covered, but are you able to play audio files from within the system? So, get a WAV file, call it test.wav, and run the following command
Code:
aplay test.wav

Run this command first under regular linux to verify - then retry the same command with the same WAV file under the win ubuntu environment and let me know what happens.

Second, if you're running a full X11 linux desktop you should be able to open as many terminal windows as needed - all from within the linux instance. If it only gives you a shell prompt with no way to run other apps, something seems wrong.

Even so, you could run the instance of rx.py in background by adding a '&' character at the tail end of the command. This is OK as long as you're not running the op25 curses terminal ---- as long as you're running the HTTP terminal this should be safe to do.

Once rx.py is running (without -U) then you could attempt the tests I mentioned above, to try to capture a test file piped out of 'nc'....

Max
Max,

Here is what I am running on: What is Windows Subsystem for Linux

I am not running in a VM, direct linux or anything. I am in Windows 10 Home running under the subsystem for linux. Due to being Win 10, there are apparently a bunch of hoops to jump through to get audio passed through from the linux that is running. Win 11, they are doing more in the way of passing audio through, being able to run GUI apps, etc. The linux I am running on Windows, no VM here, I only get a terminal. Now if I can record audio out of OP25 to the disk, I can get the file and see if it is creating the audio. I will have to see if I can get the audio through the network going as well. Then I don't have to worry about passing audio through to the windows devices.

I'll dig into the readme, etc to see about sending audio over the network and will report back.
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
OK one other possible option is in "rx.py -O pulse" to select pulseaudio as the destination for playing audio...

I haven't really used it much although we did receive a few success reports when it was first added.

PA seems to be a can of worms in itself, so I don't mean to spew out yet another weird linux thing that can be a bear to grapple with. One reason to mention is there might be a howto/hint somewhere about running PA clients within the windows subsystem...

Another person who is really good about trouble shooting audio output and playing problems is @wgbecks - perhaps he has a word to the wise for this situation......

Max
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,462
Location
Talbot Co, MD
OK one other possible option is in "rx.py -O pulse" to select pulseaudio as the destination for playing audio...

I haven't really used it much although we did receive a few success reports when it was first added.

PA seems to be a can of worms in itself, so I don't mean to spew out yet another weird linux thing that can be a bear to grapple with. One reason to mention is there might be a howto/hint somewhere about running PA clients within the windows subsystem...

Another person who is really good about trouble shooting audio output and playing problems is @wgbecks - perhaps he has a word to the wise for this situation......

Max
On some systems Pulse works better than ALSA, but you have to try it and see how your system behaves. For headless systems you generally run into permissions problems because the pulse daemon only gets started when you log in to the desktop.
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY
Well after messing with this, WSL install, I managed to get sound to work through a Kali install and kex installed on it. Tried to do OP25 but was getting all kinds of notices about things so I pretty much am going to pass this one off to the side and stick to straight linux on hardware or running it on a Raspberry Pi. I still may try to finish the install to see if I can actually get it to work as it is just a virtual system but without virtualbox. As I have already got one of those going, it is way easier than the WSL system. Others on Windows 11 may have better luck running it as they have added sound support built in and some other things. So back off to figure out why I can't get my multi_rx to start @ boot on my Pi..... Found boatbod's samples in the repository so going to try that and see what happens.
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,319
Location
Lafayette County, FL
Well after messing with this, WSL install, I managed to get sound to work through a Kali install and kex installed on it. Tried to do OP25 but was getting all kinds of notices about things so I pretty much am going to pass this one off to the side and stick to straight linux on hardware or running it on a Raspberry Pi. I still may try to finish the install to see if I can actually get it to work as it is just a virtual system but without virtualbox. As I have already got one of those going, it is way easier than the WSL system. Others on Windows 11 may have better luck running it as they have added sound support built in and some other things. So back off to figure out why I can't get my multi_rx to start @ boot on my Pi..... Found boatbod's samples in the repository so going to try that and see what happens.

This is why I always tell people its so much easier and less headache to make a VM than to use WSL or build with cygwin or similar if you want to stick with Windows as your main OS. The only downside is that you may need a little more horsepower to run a VM than to run WSL, probably a little more storage and memory too. Alternatively, I find older computers to be great Linux boxes, and an adequate machine can be had for under $100 USD, or often times, if you know where to look, next to nothing. You'd be suprised how often computers get canned or given away, and all they need is a fresh OS install.
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
363
Location
Central NY
This is why I always tell people its so much easier and less headache to make a VM than to use WSL or build with cygwin or similar if you want to stick with Windows as your main OS. The only downside is that you may need a little more horsepower to run a VM than to run WSL, probably a little more storage and memory too. Alternatively, I find older computers to be great Linux boxes, and an adequate machine can be had for under $100 USD, or often times, if you know where to look, next to nothing. You'd be suprised how often computers get canned or given away, and all they need is a fresh OS install.

Yeah I know... Had a laptop that I converted and put Ubuntu Mate on it and ran op25 on it. A lot easier to do on hardware than virtual. But it is doable if you put forth the effort to try... lol Even for a linux newb like myself. I don't know anything about it actually outside of looking thing up and trying it then doing something different and not reverting what I already did so I think that is half of my issues with my Pi and the auto boot of OP25. Had it running on rx.py but can't get it to work right on the multi_rx yet. Max has messaged me about another flag to set on it and will try it either tonight or in the morning when I can get some free time to mess with it again. If anything, I'll copy off my trunk files that I need and nuke the card and start over then once it is all installed, make an image of it so I don't have to keep going back and starting from scratch... LOL
 

nokoa3116

Member
Joined
Jan 12, 2017
Messages
165
Can multi_rx.py support multiple voice channels for one control channel at the same time. I added 2 more voice channels, and they are not allocated or used.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,462
Location
Talbot Co, MD
Can multi_rx.py support multiple voice channels for one control channel at the same time. I added 2 more voice channels, and they are not allocated or used.
Boatbod multi_rx certainly can share a control channel among a group of voice channels although it is not strictly necessary because voice grant info is carried in the voice channel signaling too. My strategy for channel allocation is that voice calls take priority over the control channel, but if there is at least one idle receiver it will be assigned to monitor the cc. Further unassigned receivers will actually be idled to reduce cpu overhead. The Osmocom channel handling implementation may be different, but likely very similar in functionality.
 

Paco-Jerte

You Member, Member!
Joined
Nov 28, 2007
Messages
582
Location
34.0500° N, 118.2500° W
Decided to install on a very old laptop today, Dell 700m with Lubuntu 18.04 and but stops at the following:

Code:
gain: name: LNA range: start 0 stop 0 step 0
setting gain LNA to 37
supported sample rates 250000-2560000 step 24000

with the following command

Code:
./rx.py --args 'rtl' -N 'LNA:37' -S 2500000 -x 2 -f 851.1875e6 -o 17e3 -q 0 -l 'http:0.0.0.1:8080' -T strs-trunk.tsv -V -2 -U 2> stderr-stream0.2

results:

Code:
linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.010.003.000-0-unknown
gain: name: LNA range: start 0 stop 0 step 0
setting gain LNA to 37
supported sample rates 250000-2560000 step 24000
tuskin@tuskin-Inspiron-700m:~/op25/op25/gr-op25_repeater/apps$

even with

Code:
./rx.py  --args 'rtl' --gains 'lna:37' -X -T strs-trunk.tsv -q 0 -S 960000 -U -P constellation -l 'http:0.0.0.0:8080' -2 -v 10 2> stderr.2

same results
 
Status
Not open for further replies.
Top