OP25 OP25 on Raspberry pi3b Help

Status
Not open for further replies.

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD
I see the problem... you did the "git clone" as root, now all the files and directories are owned by root.

Code:
cd ~
sudo chown -R 1000:1000 op25

Then try your copy/move again.
 

rumfordsa

Member
Premium Subscriber
Joined
Jun 3, 2017
Messages
28
looks like it took that time. Lets see if I can figure out how to run it.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD
looks like it took that time. Lets see if I can figure out how to run it.

Running it is simple enough. Dialing in the tuning... not so much!
Code:
cd ~/op25/op25/gr-op25_repeater/apps
./op25.sh

Ideally you want two terminal windows open. Once has the commands shown above, the other has the following for showing the log. Note: run this after you start the op25.sh script.
Code:
cd ~/op25/op25/gr-op25_repeater/apps
tail -f stderr.2
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD

IQ_imbalance

Member
Premium Subscriber
Joined
Jan 1, 2010
Messages
213
I'm on the fence whether this warrants a separate thread or not, but:
How does one go about troubleshooting liquidaudio vs. voice decoding issues within op25 itself (due to freq instablity, etc)? I suspect the latter as I keep seeing voice timeouts in the stderr log, but despite my best attempts to fine tune and getting the mixer balance down to single digits, I still cannot tweak any audio out of the RPi3's audio jack. Speaker-test produces noise so I know that the hardware works....

I'm using an old RTL-SDR stick so frequency drift is an issue, but i've got a TCXO version on the way so I'll be able to try that in a few days.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD
I'm on the fence whether this warrants a separate thread or not, but:
How does one go about troubleshooting liquidaudio vs. voice decoding issues within op25 itself (due to freq instablity, etc)? I suspect the latter as I keep seeing voice timeouts in the stderr log, but despite my best attempts to fine tune and getting the mixer balance down to single digits, I still cannot tweak any audio out of the RPi3's audio jack. Speaker-test produces noise so I know that the hardware works....

I'm using an old RTL-SDR stick so frequency drift is an issue, but i've got a TCXO version on the way so I'll be able to try that in a few days.

It's pretty simple if you know the secret :)
Have rx.py running as you normally would, then in a separate terminal run this command from the apps directory:
Code:
./audio.py -s

If audio is coming out of op25 you should see screenfulls of garbage scroll by. (i.e. the raw pcm samples are streamed to stdout)

The other method would be to run ./audio.py without the -s option and this should play the audio through the default audio device.[/quote]
 

IQ_imbalance

Member
Premium Subscriber
Joined
Jan 1, 2010
Messages
213
When I run OP25 using the following:
./rx.py --args 'rtl' -N 'LNA:48' -S 96000 -T trunk.tsv -2 -V -U -w -O plughw:0,1 -v 5 -q 1 2>stderr.2

I do get talkgroups, but no audio is evident in the headphones. Again, this might be a fine tuning issue but I'm not sure.

If I then try to open ./audio.py -s in a separate terminal window, I get a "socket.error; [Errno 98] Address already in use" response. Icecast2 has been installed but was stopped prior to this exercise.

Is it necessary to use -U and -w to enable local audio only? I'm trying to figure out what the minimum configuration is to get audio through the headphones, and then i can work out from there.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD
Local audio only needs -U (not -w). is there a reason you are including -O? If you eliminate this parameter, audio will be sent to the default device which is usually sufficient.

Note: the address already in use error was because -U runs a copy of the audio receiver under rx.py control, then you tried to run a second copy externally from audio.py
 

rumfordsa

Member
Premium Subscriber
Joined
Jun 3, 2017
Messages
28
Running it is simple enough. Dialing in the tuning... not so much!
Code:
cd ~/op25/op25/gr-op25_repeater/apps
./op25.sh

Ideally you want two terminal windows open. Once has the commands shown above, the other has the following for showing the log. Note: run this after you start the op25.sh script.
Code:
cd ~/op25/op25/gr-op25_repeater/apps
tail -f stderr.2


Once I get to the ./op25.sh I get permission denied
 

zapman987

Member
Premium Subscriber
Joined
Jan 16, 2014
Messages
292
Location
nc, recently moved to jax, FL
Trying to do this and getting an error setting the control channel to get the NAC:

@pi2:~/op25/op25/gr-op25_repeater/apps$ ./rx.py --args 'rtl' -N 'LNA:47' -S 2400000 -f 859.4375c -o 25000 -q -2

Usage: rx.py [options]

rx.py: error: option -f: invalid engineering notation value: '859.4375c'
@pi2:~/op25/op25/gr-op25_repeater/apps$
@pi2:~/op25/op25/gr-op25_repeater/apps$ ./rx.py --args 'rtl' -N 'LNA:47' -S 2400000 -f 859.4375c -o 25000
Usage: rx.py [options]

rx.py: error: option -f: invalid engineering notation value: '859.4375c'

UPDATE: the RR db has "c" listed with the CC. I remove it and it works, same if I add e6. What is both these for?

New error after the above:
r@pi2:~/op25/op25/gr-op25_repeater/apps$ ./rx.py --args 'rtl' -N 'LNA:47' -S 2400000 -f 859.4375 -o 25000 -q -2
linux; GNU C++ version 6.2.0 20161010; Boost_106100; UHD_003.009.005-0-unknown

gr-osmosdr 0.1.4 (0.1.4) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya
Using device #0 Generic RTL2832U OEM
usb_open error -3
Please fix the device permissions, e.g. by installing the udev rules file rtl-sdr.rules

FATAL: Failed to open rtlsdr device.

Trying to fill up 1 missing channel(s) with null source(s).
This is being done to prevent the application from crashing
due to gnuradio bug #528.

setting gain LNA to 47
Traceback (most recent call last):
File "./rx.py", line 876, in <module>
rx = rx_main()
File "./rx.py", line 797, in __init__
self.tb = p25_rx_block(self.options)
File "./rx.py", line 191, in __init__
self.open_usrp()
File "./rx.py", line 724, in open_usrp
self.__set_rx_from_osmosdr()
File "./rx.py", line 669, in __set_rx_from_osmosdr
self.__build_graph(self.src, capture_rate)
File "./rx.py", line 272, in __build_graph
symbol_rate = self.symbol_rate)
File "/home/yoder/op25/op25/gr-op25_repeater/apps/p25_demodulator.py", line 249, in __init__
self.if1 = input_rate / self.decim
ZeroDivisionError: float division by zero

I assume either my SDR is locked up or otherwise not showing as connected. How do I check this?
 
Last edited:

dave3825

* * * * * * * * * * * *
Premium Subscriber
Joined
Feb 17, 2003
Messages
7,609
Location
Suffolk County NY
UPDATE: the RR db has "c" listed with the CC. I remove it and it works, same if I add e6. What is both these for?

The c listed in radio reference means its a control channel. Do not put it in your argument...

As far as e6, @boatbod answered that very question when I asked. https://forums.radioreference.com/threads/new-op25-goto-featurette.380534/#post-3037004

"e3" means 10^3, or "000". In other words "-o 17e3" is equivalent to "-o 17000".
Similarly, "e6" means 10^6, or "000000". i.e. "-f 853.3000e6" is equivalent to "-f 853300000"

usb_open error -3
Please fix the device permissions, e.g. by installing the udev rules file rtl-sdr.rules

FATAL: Failed to open rtlsdr device.

So you had it working. Have you rebooted it since the rtl error? After a reboot, what happens if you run the argument without the c attached to the freq?

I could be wrong, but you do not seem to define a trunk.tsv file. I think its needed. Hopefully someone comes along with that answer..
 

zapman987

Member
Premium Subscriber
Joined
Jan 16, 2014
Messages
292
Location
nc, recently moved to jax, FL
The c listed in radio reference means its a control channel. Do not put it in your argument...

As far as e6, @boatbod answered that very question when I asked. https://forums.radioreference.com/threads/new-op25-goto-featurette.380534/#post-3037004

"e3" means 10^3, or "000". In other words "-o 17e3" is equivalent to "-o 17000".
Similarly, "e6" means 10^6, or "000000". i.e. "-f 853.3000e6" is equivalent to "-f 853300000"



So you had it working. Have you rebooted it since the rtl error? After a reboot, what happens if you run the argument without the c attached to the freq?

I could be wrong, but you do not seem to define a trunk.tsv file. I think its needed. Hopefully someone comes along with that answer..

zapman, please post your complete rx.py command line. I think you've still got some issues in there.

This is to identify the NAC, not have it running; and to isolate my Q value. So that is the complete line. This is early on in the hagensieker guide. Im not to the trunk file part yet.


Thanks for explaining the "e" bit.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD
This is to identify the NAC, not have it running; and to isolate my Q value. So that is the complete line. This is early on in the hagensieker guide. Im not to the trunk file part yet.

You don't need to identify the NAC in order to successfully run the app; just put "0" in the nac field of trunk.tsv and the trunking module will accept the first one it sees.
 

zapman987

Member
Premium Subscriber
Joined
Jan 16, 2014
Messages
292
Location
nc, recently moved to jax, FL
hagensieker's pi streaming part 2 has the answer. Its a rules issue fixed by this line/cmd:
sudo cp udev/*.rules /etc/udev/rules.d/

Where is udev located? Its not in the op25 dir that I can find. I think the line is missing a cd or soemthing.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD
hagensieker's pi streaming part 2 has the answer. Its a rules issue fixed by this line/cmd:
sudo cp udev/*.rules /etc/udev/rules.d/

Where is udev located? Its not in the op25 dir that I can find. I think the line is missing a cd or soemthing.
There's no udev rules that are part of the op25 directory hierarchy. I think you're probably talking about blacklisting in /etc/modprobe.d
 
Status
Not open for further replies.
Top