OP25 audio and errors

Status
Not open for further replies.

boatbod

Member
Joined
Mar 3, 2007
Messages
3,606
Reaction score
1,003
Location
Talbot Co, MD
Okay Boatbod....I built a new system with more performance and usb 3 slots running a hackrf.....I'm using the antenna that came with the hackrf as mine outside needs to have a new cable run to it...waiting for cooler weather....I get great reception as I'm close to a repeater...no sound even after running all day. I've adjusted the frequency to adjust the dot patterns and they are rock solid. I've enabled v10 to the log file....can you tell me how to analyze this please? I get the correct talk groups decoded but need some help with what the radio is looking for....if I have to i'll move wireshark over if it would help....Thanks in advance.....

>w
Lets start with rx.py command line options and the stderr.2 log running with "-v 1" or higher.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,606
Reaction score
1,003
Location
Talbot Co, MD
Thanks. The only remaining issue that jumps out at me is the loss of framing timer should be reset when tuning takes place. I'll see what can be done about that...

Changes have been pushed, but they affected an interface in the library code, so you'll need to nuke the ~/op25/build directory and start over either with "cmake ../ " or by re-running install.sh
 
S

simpilo

Guest
Do I need to git pull? I am not using liquid soap. -v11 switch for high verbosity logging
 

Attachments

  • stderr-output.txt
    109.1 KB · Views: 2
S

simpilo

Guest
Yes it'll be a git pull as follows:
Code:
cd ~/op25/build
git pull
rm -rf *
cmake ../
make
sudo make install
git pull make install ldconfig all successful. Now I can really see the other site logged. Sounds the same. Good work @boatbod

Also I am using a brand new Nooelec Nano 3. tiny thing with a tcxo Nooelec recently released. Gets hot as heck but it came with a heat sink which helps.

here is sterr2.txt after git pull.
 

Attachments

  • stderr2.txt
    850.9 KB · Views: 5

boatbod

Member
Joined
Mar 3, 2007
Messages
3,606
Reaction score
1,003
Location
Talbot Co, MD
git pull make install ldconfig all successful. Now I can really see the other site logged. Sounds the same. Good work @boatbod

Also I am using a brand new Nooelec Nano 3. tiny thing with a tcxo Nooelec recently released. Gets hot as heck but it came with a heat sink which helps.

here is sterr2.txt after git pull.
The smaller the dongle the hotter it gets! I prefer larger ones with a little more surface area for long-term streaming use.
 

rdwrench

Member
Joined
Aug 22, 2006
Messages
7
Reaction score
0
Lets start with rx.py command line options and the stderr.2 log running with "-v 1" or higher.
Sorry for the delay....relocated.....I'm getting no audio. The constellation is good and get lot's of information in the stderr log using v 10 in the command line. I have both a noelec rtl and hackrf, both performing the same but still no audio. Thinking back, the original p25 was using the P1 standard and not P2 and I was erratic on receiving any P2 transmissions. I read where you've done a v 11 and haven't done that yet. Any and all information regarding the log file would be appreciated as I've not found any detailed information regarding it on the net. I appreciate you help and will definitly follow through when time permits........
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,606
Reaction score
1,003
Location
Talbot Co, MD
Sorry for the delay....relocated.....I'm getting no audio. The constellation is good and get lot's of information in the stderr log using v 10 in the command line. I have both a noelec rtl and hackrf, both performing the same but still no audio. Thinking back, the original p25 was using the P1 standard and not P2 and I was erratic on receiving any P2 transmissions. I read where you've done a v 11 and haven't done that yet. Any and all information regarding the log file would be appreciated as I've not found any detailed information regarding it on the net. I appreciate you help and will definitly follow through when time permits........
Can show me the beginning of the stderr.2 log, and any later snippits if there are any "voice update:" messages.
Also it would be good to see your rx.py command line so I can check it for errors/omissions.
 

rdwrench

Member
Joined
Aug 22, 2006
Messages
7
Reaction score
0
Here's the script starting line and the top portion of the stderr log file and I noticed that the do_imbe is set to one...also, i've got an
erroneous range for the -v as well and should be 10.....

python rx.py --args 'rtl' --gains 'lna:49' -f XXX.XXXXe6 -q 1 -S 1440000 -P constellation -o 50000 -w -2 -U -v 20 2> ~/stderr.2


gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd plutosdr miri hackrf bladerf rfspace a
irspy airspyhf soapy redpitaya
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
[R82XX] PLL not locked!
[R82XX] PLL not locked!
Using two-stage decimator for speed=1440000, decim=15/4 if1=96000 if2=24000
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], do_
nocrypt[0]
metadata update not enabled
audio device: default
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,606
Reaction score
1,003
Location
Talbot Co, MD
Here's the script starting line and the top portion of the stderr log file and I noticed that the do_imbe is set to one...also, i've got an
erroneous range for the -v as well and should be 10.....

python rx.py --args 'rtl' --gains 'lna:49' -f XXX.XXXXe6 -q 1 -S 1440000 -P constellation -o 50000 -w -2 -U -v 20 2> ~/stderr.2


gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd plutosdr miri hackrf bladerf rfspace a
irspy airspyhf soapy redpitaya
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
[R82XX] PLL not locked!
[R82XX] PLL not locked!
Using two-stage decimator for speed=1440000, decim=15/4 if1=96000 if2=24000
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], do_
nocrypt[0]
metadata update not enabled
audio device: default
You are missing the -T trunk.tsv so op25 is running in P25 Conventional mode and will not tune to the traffic channels.
To get audio on a trunked system you will need to create a proper trunk.tsv and fix the other errors on rx.py command line.

-f <freq> can be eliminated for trunked systems. Put the control channel freq in trunk.tsv
-o <offset> is not needed on most modern dongles
-w is not needed when using -U
-P <plot> is not recommended as the plots can be turned on/off from the terminal using 1-5 keys.
 

rdwrench

Member
Joined
Aug 22, 2006
Messages
7
Reaction score
0
Thank you for the quick reply boatbod...the modified script file is shown below from your suggested modifications....
>> python rx.py --args 'rtl' --gains 'lna:49' -T amatrnk.tsv -S 1440000 -U -2 -v 10 2> ~/stderr.2

The trunk file is shown below.....
>>
"Sysname" "Control Channel List" "Offset" "NAC" "Modulation" "TGID Tags File" "Whitelist" "Blacklist" "Center Frequency"
"Amarillo" "853.9875" "0" "951" "cqpsk" "amarillo.tsv" "" "" ""

the tag files file is shown below.....
>>
20100 APD Emergency
20101 Dispatch
20102 APD-N-E
20103 APD-S-W
20159 Training
20412 APD-Airport

The output from the stderr file partially is below.....
>>
tail: stderr.2: file truncated
gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd plutosdr miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
[R82XX] PLL not locked!
[R82XX] PLL not locked!
Using two-stage decimator for speed=1440000, decim=15/4 if1=96000 if2=24000
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], do_nocrypt[0]
metadata update not enabled
audio device: default
1579814143.543461 NAC 0x951 TSBK: op=3a : 3a 00 00 39 52 01 01 01 dd 70 b9 09
1579814143.543603 NAC 0x951 TSBK: op=3d : 3d 00 13 25 e0 32 09 15 75 62 1b 36
1579814143.543649 NAC 0x951 TSBK: op=05 : 85 90 40 c0 40 00 00 00 00 00 df 22
1579814143.543956 NAC 951 not configured
1579814143.544129 NAC 951 not configured
1579814143.544225 NAC 951 not configured
1579814143.632734 NAC 0x951 TSBK: op=33 : 33 00 23 38 40 64 0a 25 15 84 48 4b
1579814143.632831 NAC 0x951 TSBK: op=30 : 30 00 00 04 2a 28 37 a9 f5 86 69 82
1579814143.632874 NAC 0x951 TSBK: op=02 : 82 00 20 67 4e b7 20 67 4e b7 67 64
1579814143.632895 NAC 951 not configured
1579814143.633147 NAC 951 not configured
1579814143.633281 NAC 951 not configured
1579814143.720785 NAC 0x951 TSBK: op=3c : 3c 00 00 39 52 01 02 17 f0 70 d0 13
1579814143.720996 NAC 0x951 TSBK: op=16 : 16 90 c2 3f 00 85 ff ff 00 00 26 4e
1579814143.720945 NAC 951 not configured
1579814143.721089 NAC 0x951 TSBK: op=16 : 96 00 00 c0 00 d9 ff ff 00 01 81 88
1579814143.721232 NAC 951 not configured
1579814143.721339 NAC 951 not configured
1579814143.812073 NAC 0x951 TSBK: op=09 : 09 90 10 40 00 00 00 00 00 00 d6 e5
1579814143.812252 NAC 0x951 TSBK: op=33 : 33 00 33 a5 80 64 09 15 75 62 75 fc
1579814143.812276 NAC 951 not configured
1579814143.812347 NAC 0x951 TSBK: op=39 : b9 00 01 01 01 5d 04 01 85 04 44 2c
1579814143.812480 NAC 951 not configured
1579814143.812584 NAC 951 not configured
1579814143.901265 NAC 0x951 TSBK: op=3b : 3b 00 00 be e0 09 52 01 dd 70 f8 d7
1579814143.901479 NAC 0x951 TSBK: op=3a : 3a 00 00 39 52 01 01 01 dd 70 b9 09
1579814143.901469 NAC 951 not configured
1579814143.901711 NAC 0x951 TSBK: op=3d : bd 00 43 22 70 64 0b 25 6e 84 51 9d
1579814143.901729 NAC 951 not configured
1579814143.901909 NAC 951 not configured
1579814143.990723 NAC 0x951 TSBK: op=05 : 05 90 40 c0 40 00 00 00 00 00 3b 16
1579814143.990860 NAC 0x951 TSBK: op=0b : 0b 90 00 00 00 00 00 00 01 dd c1 d6
1579814143.990902 NAC 0x951 TSBK: op=33 : b3 00 53 30 c0 64 0b 25 6e 84 f9 e9
1579814143.990923 NAC 951 not configured
1579814143.991126 NAC 951 not configured
1579814143.991230 NAC 951 not configured
1579814143.998008 NAC 0x951 TSBK: op=30 : 30 00 00 04 2a 28 37 a9 f5 b8 be 1f
1579814143.998120 NAC 0x951 TSBK: op=02 : 02 00 20 67 4e b7 20 67 4e b7 83 50
1579814143.998193 NAC 0x951 TSBK: op=3c : bc 00 00 39 52 01 03 18 10 70 7e 10
1579814143.998201 NAC 951 not configured
1579814143.998449 NAC 951 not configured
1579814143.998641 NAC 951 not configured
1579814144.087992 NAC 0x951 TSBK: op=16 : 16 90 c2 3f 00 85 ff ff 00 00 26 4e
1579814144.088120 NAC 0x951 TSBK: op=16 : 16 00 00 c0 00 d9 ff ff 00 01 65 bc
1579814144.088165 NAC 0x951 TSBK: op=09 : 89 90 11 80 00 00 00 00 00 00 03 17
1579814144.088196 NAC 951 not configured
1579814144.088396 NAC 951 not configured
1579814144.088523 NAC 951 not configured
1579814144.177174 NAC 0x951 TSBK: op=3d : 3d 00 03 22 d0 32 0a 25 10 a2 63 a0
1579814144.177310 NAC 0x951 TSBK: op=39 : 39 00 01 01 01 85 04 01 ad 04 1a 98
1579814144.177357 NAC 0x951 TSBK: op=3b : bb 00 00 be e0 09 52 01 dd 70 1c e3
1579814144.177378 NAC 951 not configured
1579814144.177625 NAC 951 not configured
1579814144.177733 NAC 951 not configured
1579814144.266806 NAC 0x951 TSBK: op=3a : 3a 00 00 39 52 01 01 01 dd 70 b9 09
1579814144.267015 NAC 0x951 TSBK: op=3d : 3d 00 13 25 e0 32 09 15 75 62 1b 36
1579814144.267059 NAC 0x951 TSBK: op=05 : 85 90 40 c0 40 00 00 00 00 00 df 22
1579814144.266995 NAC 951 not configured
1579814144.267276 NAC 951 not configured
1579814144.267385 NAC 951 not configured
1579814144.357702 NAC 0x951 TSBK: op=33 : 33 00 23 38 40 64 0a 25 15 84 48 4b
1579814144.357873 NAC 951 not configured
1579814144.357958 NAC 0x951 TSBK: op=30 : 30 00 00 04 2a 28 37 a9 f5 e0 65 e2
1579814144.358080 NAC 951 not configured
1579814144.358149 NAC 0x951 TSBK: op=02 : 82 00 20 67 4e b7 20 67 4e b7 67 64
1579814144.358238 NAC 951 not configured
1579814144.362456 NAC 0x951 TSBK: op=3c : 3c 00 00 39 52 01 02 17 f0 70 d0 13
1579814144.362509 NAC 0x951 TSBK: op=16 : 16 90 c2 3f 00 85 ff ff 00 00 26 4e
1579814144.362535 NAC 0x951 TSBK: op=16 : 96 00 00 c0 00 d9 ff ff 00 01 81 88
1579814144.362611 NAC 951 not configured
1579814144.362767 NAC 951 not configured
1579814144.362858 NAC 951 not configured
1579814144.452131 NAC 0x951 TSBK: op=09 : 09 90 10 40 00 00 00 00 00 00 d6 e5
1579814144.452244 NAC 0x951 TSBK: op=33 : 33 00 33 a5 80 64 09 15 75 62 75 fc
1579814144.452285 NAC 0x951 TSBK: op=39 : b9 00 01 01 01 ad 04 01 5d 04 e7 f4
1579814144.452306 NAC 951 not configured
1579814144.452478 NAC 951 not configured
1579814144.452588 NAC 951 not configured
1579814144.541967 NAC 0x951 TSBK: op=3b : 3b 00 00 be e0 09 52 01 dd 70 f8 d7
1579814144.542104 NAC 0x951 TSBK: op=0b : 0b 90 00 00 00 00 00 00 01 dd c1 d6
1579814144.542164 NAC 0x951 TSBK: op=3a : ba 00 00 39 52 01 01 01 dd 70 5d 3d
1579814144.542169 NAC 951 not configured
1579814144.542390 NAC 951 not configured
1579814144.542519 NAC 951 not configured


Radio Reference show's system id as 952 but I get errors from that so I just ran a quick modified line with the control frequency and it showed
me to be 951....the above stderr is what I get....I still get the imbe thing going as well....you also gave me the option of using a scope or not, that
was nice...i've got verbosity set to 10 which may be overkill but am trying to figure it out myself....thank you again for your help...
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,140
Reaction score
403
Location
NE Wisconsin
Edit your amatrnk.tsv file and set the NAC in hexadecimal notation. IE: "0x951" If you're not sure of the correct NAC,then set
it to "0x0" and op25 will start trunk tracking regardless. Observe your curses terminal or http console and the correct NAC will be displayed there and then you can use that value in place of the "0x0".

Bill
 

rdwrench

Member
Joined
Aug 22, 2006
Messages
7
Reaction score
0
Thank you Boatbod and Bill...that got it....by chance would either of you have a flow diagram or a means to see how this program works...how it looks for in the stream to sync and activate voice???
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,606
Reaction score
1,003
Location
Talbot Co, MD
Thank you Boatbod and Bill...that got it....by chance would either of you have a flow diagram or a means to see how this program works...how it looks for in the stream to sync and activate voice???
The flow diagram is expressed as a bunch of python and c++ code. Sorry, there are no short cuts to understanding how it works! If you know/learn how GnuRadio works you'll be well on the way to figuring out op25.

At a very high level, RTL driver feeds samples to p25_demodulator which then feeds symbols to p25_decoder (framing and protocol handler) which in turn feeds messages to the trunking module which then sends messages back to rx.py when it wants to tune a different frequency.
 

rdwrench

Member
Joined
Aug 22, 2006
Messages
7
Reaction score
0
Beat ya to it....have already started disecting and haven't done this in years but is the fun part...were you the original author of this whole thing? If so, where did you get the information regarding how to disect the data stream? Can you set verbose to a higher level that will give more information? I've searched but found very little on the subject that takes me to that detail. I ask this to see if I can help contribute on the remaining segments of the project....all for now....have a great one...and thanks again.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,606
Reaction score
1,003
Location
Talbot Co, MD
Beat ya to it....have already started disecting and haven't done this in years but is the fun part...were you the original author of this whole thing? If so, where did you get the information regarding how to disect the data stream? Can you set verbose to a higher level that will give more information? I've searched but found very little on the subject that takes me to that detail. I ask this to see if I can help contribute on the remaining segments of the project....all for now....have a great one...and thanks again.
No, I am not the original author - there have been several key people involved along the way and you'll see references to them in the various header files. Max is one of the main guys and you can occasionally find him here on RR as well as the osmocom op25-dev mailing list.

Logging is controlled by the -v parameter. Presently you'll get the most information by turning logging up to "-v 11".
Learning how to "dissect" the datastream is something that requires knowledge of TIA-102. It's a commercial document that TIA charges for access. Some parts can be found in old version online, others are harder to track down.
 
Status
Not open for further replies.
Top