OP25 Issue with boatbod version

Status
Not open for further replies.
Joined
Dec 19, 2002
Messages
61
Reaction score
12
Starting yesterday when I pulled the then-latest commit, the terminal freezes (tried with both curses and http), after which blacklisted talkgroups are no longer ignored. The issue still exists after pulling the current commit. Here is my stderr log from this evening:
Code:
Using Python /usr/bin/python3
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!
gain: name: LNA range: start 0 stop 0 step 0
setting gain lna to 36
supported sample rates 250000-2560000 step 24000
[R82XX] PLL not locked!
Using two-stage decimator for speed=960000, decim=10/4 if1=96000 if2=24000
op25_audio::open_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[1]
11/01/21 19:20:23.891404 Reading blacklist file
11/01/21 19:20:23.891519 added talkgroup 13 from blist-onon.tsv
11/01/21 19:20:23.891550 added talkgroup 19 from blist-onon.tsv
11/01/21 19:20:23.891576 added talkgroup 20 from blist-onon.tsv
11/01/21 19:20:23.891602 added talkgroup 30 from blist-onon.tsv
11/01/21 19:20:23.891626 added talkgroup 32 from blist-onon.tsv
11/01/21 19:20:23.891651 added talkgroup 38 from blist-onon.tsv
11/01/21 19:20:23.891675 added talkgroup 40 from blist-onon.tsv
11/01/21 19:20:23.891700 added talkgroup 46 from blist-onon.tsv
11/01/21 19:20:23.891724 added talkgroup 50 from blist-onon.tsv
11/01/21 19:20:23.891747 added talkgroup 60 from blist-onon.tsv
11/01/21 19:20:23.891772 added talkgroup 61 from blist-onon.tsv
11/01/21 19:20:23.891796 added talkgroup 72 from blist-onon.tsv
11/01/21 19:20:23.891820 added talkgroup 73 from blist-onon.tsv
11/01/21 19:20:23.891844 added talkgroup 74 from blist-onon.tsv
11/01/21 19:20:23.891867 added talkgroup 75 from blist-onon.tsv
11/01/21 19:20:23.891891 added talkgroup 76 from blist-onon.tsv
11/01/21 19:20:23.891915 added talkgroup 77 from blist-onon.tsv
11/01/21 19:20:23.891938 added talkgroup 81 from blist-onon.tsv
11/01/21 19:20:23.891962 added talkgroup 82 from blist-onon.tsv
11/01/21 19:20:23.891985 added talkgroup 83 from blist-onon.tsv
11/01/21 19:20:23.892009 added talkgroup 84 from blist-onon.tsv
11/01/21 19:20:23.892034 added talkgroup 91 from blist-onon.tsv
11/01/21 19:20:23.892058 added talkgroup 92 from blist-onon.tsv
11/01/21 19:20:23.892081 added talkgroup 95 from blist-onon.tsv
11/01/21 19:20:23.892105 added talkgroup 96 from blist-onon.tsv
11/01/21 19:20:23.892129 added talkgroup 97 from blist-onon.tsv
11/01/21 19:20:23.892153 added talkgroup 98 from blist-onon.tsv
11/01/21 19:20:23.892177 added talkgroup 100 from blist-onon.tsv
11/01/21 19:20:23.892200 added talkgroup 101 from blist-onon.tsv
11/01/21 19:20:23.892223 added talkgroup 102 from blist-onon.tsv
11/01/21 19:20:23.892246 added talkgroup 109 from blist-onon.tsv
11/01/21 19:20:23.892270 added talkgroup 112 from blist-onon.tsv
11/01/21 19:20:23.892293 added talkgroup 119 from blist-onon.tsv
11/01/21 19:20:23.892316 added talkgroup 122 from blist-onon.tsv
11/01/21 19:20:23.892339 added talkgroup 125 from blist-onon.tsv
11/01/21 19:20:23.892363 added talkgroup 129 from blist-onon.tsv
11/01/21 19:20:23.892386 added talkgroup 137 from blist-onon.tsv
11/01/21 19:20:23.892410 added talkgroup 138 from blist-onon.tsv
11/01/21 19:20:23.892433 added talkgroup 139 from blist-onon.tsv
11/01/21 19:20:23.892457 added talkgroup 141 from blist-onon.tsv
11/01/21 19:20:23.892481 added talkgroup 143 from blist-onon.tsv
11/01/21 19:20:23.892504 added talkgroup 145 from blist-onon.tsv
11/01/21 19:20:23.892530 added talkgroup 146 from blist-onon.tsv
11/01/21 19:20:23.892553 added talkgroup 148 from blist-onon.tsv
11/01/21 19:20:23.892578 added talkgroup 5312 from blist-onon.tsv
11/01/21 19:20:23.892601 added talkgroup 8203 from blist-onon.tsv
11/01/21 19:20:23.892625 added talkgroup 8204 from blist-onon.tsv
11/01/21 19:20:23.892649 added talkgroup 8205 from blist-onon.tsv
11/01/21 19:20:23.892672 added talkgroup 8350 from blist-onon.tsv
11/01/21 19:20:23.892696 added talkgroup 9991 from blist-onon.tsv
11/01/21 19:20:23.892719 added talkgroup 9992 from blist-onon.tsv
11/01/21 19:20:23.892743 added talkgroup 9993 from blist-onon.tsv
11/01/21 19:20:23.892787 added talkgroup 9994 from blist-onon.tsv
11/01/21 19:20:23.892812 added talkgroup 9995 from blist-onon.tsv
11/01/21 19:20:23.892835 added talkgroup 9996 from blist-onon.tsv
11/01/21 19:20:23.892860 added talkgroup 45116 from blist-onon.tsv
metadata update not enabled
using ALSA sound system
audio device: default
Listening on 127.0.0.1:23456
python version detected: 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0]
Allocating 15 zero-copy buffers
11/01/21 19:20:24.981064 voice update:  tg(45056), freq(460237500), slot(-), prio(3)
11/01/21 19:20:30.579026 voice update:  tg(33), freq(453287500), slot(-), prio(3)
11/01/21 19:20:34.809715 voice update:  tg(45056), freq(453612500), slot(-), prio(3)
11/01/21 19:20:37.676050 voice update:  tg(33), freq(453562500), slot(-), prio(3)
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "./rx.py", line 975, in run
    self.callback(msg)
  File "/home/bob/op25/op25/gr-op25_repeater/apps/trunking.py", line 1657, in process_qmsg
    updated += self.trunked_systems[nac].decode_fdma_lcw(s, curr_time)
  File "/home/bob/op25/op25/gr-op25_repeater/apps/trunking.py", line 1160, in decode_fdma_lcw
    syid  = get_ordinals(msg[4,6]) & 0x0fff
TypeError: byte indices must be integers or slices, not tuple
main: exception occurred
main: exception:
Traceback (most recent call last):
  File "./rx.py", line 997, in run
    time.sleep(1)
KeyboardInterrupt
 
Joined
Dec 19, 2002
Messages
61
Reaction score
12
After further testing, I have found that this only occurs when using rx.py; multi_rx.py appears to function without issues. I also want to clarity that when the terminal froze under rx.py I did continue to hear audio (that's how I knew that blacklisted talkgroups were not being skipped).
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,715
Reaction score
1,115
Location
Talbot Co, MD
The freezing is caused by the Traceback (crash) because of a couple of typos. A fix has been pushed to github. Please pull, retry and let me know if it is resolved.
Thanks
 
Joined
Dec 19, 2002
Messages
61
Reaction score
12
Pulled and ran. Still froze after a few minutes. Here's the stderr log:
Code:
Enabled trunking module: tk_p25.py
device: {'args': 'rtl=0', 'gains': 'LNA:36', 'gain_mode': False, 'name': 'sdr0', 'offset': 0, 'ppm': 58.0, 'rate': 1000000, 'usable_bw_pct': 0.85, 'tunable': True}
Device name: "sdr0", osmosdr args: "rtl=0"
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!
gr-osmosdr driver gain_mode: False
Exact sample rate is: 1000000.026491 Hz
[R82XX] PLL not locked!
channel (dev sdr0): {'name': 'Voice_ch1', 'device': 'sdr0', 'trunking_sysname': 'P25 System', 'meta_stream_name': 'stream_0', 'demod_type': 'cqpsk', 'cqpsk_tracking': True, 'tracking_threshold': 30, 'tracking_feedback': 0.85, 'destination': 'udp://127.0.0.1:23456', 'excess_bw': 0.2, 'filter_type': 'rc', 'if_rate': 24000, 'plot': '', 'symbol_rate': 4800, 'enable_analog': 'off', 'blacklist': 'blist-onon.tsv', 'whitelist': ''}
Using two-stage decimator for speed=1000000, decim=10/4 if1=100000 if2=25000
op25_audio::open_socket(): enabled udp host(127.0.0.1), wireshark(23456), audio(23456)
11/01/21 20:46:56.150131 [0] Initializing P25 receiver: Voice_ch1
11/01/21 20:46:56.150205 [0] metadata updates not enabled
11/01/21 20:46:56.150233 [0] reading channel blacklist file: blist-onon.tsv
11/01/21 20:46:56.150715 [0] added talkgroup 13 from blist-onon.tsv
11/01/21 20:46:56.150754 [0] added talkgroup 19 from blist-onon.tsv
11/01/21 20:46:56.150783 [0] added talkgroup 20 from blist-onon.tsv
11/01/21 20:46:56.150809 [0] added talkgroup 30 from blist-onon.tsv
11/01/21 20:46:56.150835 [0] added talkgroup 32 from blist-onon.tsv
11/01/21 20:46:56.150862 [0] added talkgroup 38 from blist-onon.tsv
11/01/21 20:46:56.150887 [0] added talkgroup 40 from blist-onon.tsv
11/01/21 20:46:56.150913 [0] added talkgroup 46 from blist-onon.tsv
11/01/21 20:46:56.150938 [0] added talkgroup 50 from blist-onon.tsv
11/01/21 20:46:56.150963 [0] added talkgroup 60 from blist-onon.tsv
11/01/21 20:46:56.150989 [0] added talkgroup 61 from blist-onon.tsv
11/01/21 20:46:56.151013 [0] added talkgroup 72 from blist-onon.tsv
11/01/21 20:46:56.151038 [0] added talkgroup 73 from blist-onon.tsv
11/01/21 20:46:56.151062 [0] added talkgroup 74 from blist-onon.tsv
11/01/21 20:46:56.151087 [0] added talkgroup 75 from blist-onon.tsv
11/01/21 20:46:56.151120 [0] added talkgroup 76 from blist-onon.tsv
11/01/21 20:46:56.151154 [0] added talkgroup 77 from blist-onon.tsv
11/01/21 20:46:56.151191 [0] added talkgroup 81 from blist-onon.tsv
11/01/21 20:46:56.151224 [0] added talkgroup 82 from blist-onon.tsv
11/01/21 20:46:56.151257 [0] added talkgroup 83 from blist-onon.tsv
11/01/21 20:46:56.151302 [0] added talkgroup 84 from blist-onon.tsv
11/01/21 20:46:56.151338 [0] added talkgroup 91 from blist-onon.tsv
11/01/21 20:46:56.151365 [0] added talkgroup 92 from blist-onon.tsv
11/01/21 20:46:56.151390 [0] added talkgroup 95 from blist-onon.tsv
11/01/21 20:46:56.151415 [0] added talkgroup 96 from blist-onon.tsv
11/01/21 20:46:56.151440 [0] added talkgroup 97 from blist-onon.tsv
11/01/21 20:46:56.151465 [0] added talkgroup 98 from blist-onon.tsv
11/01/21 20:46:56.151490 [0] added talkgroup 100 from blist-onon.tsv
11/01/21 20:46:56.151515 [0] added talkgroup 101 from blist-onon.tsv
11/01/21 20:46:56.151540 [0] added talkgroup 102 from blist-onon.tsv
11/01/21 20:46:56.151564 [0] added talkgroup 109 from blist-onon.tsv
11/01/21 20:46:56.151610 [0] added talkgroup 112 from blist-onon.tsv
11/01/21 20:46:56.151635 [0] added talkgroup 119 from blist-onon.tsv
11/01/21 20:46:56.151660 [0] added talkgroup 122 from blist-onon.tsv
11/01/21 20:46:56.151684 [0] added talkgroup 125 from blist-onon.tsv
11/01/21 20:46:56.151709 [0] added talkgroup 129 from blist-onon.tsv
11/01/21 20:46:56.151733 [0] added talkgroup 137 from blist-onon.tsv
11/01/21 20:46:56.151757 [0] added talkgroup 138 from blist-onon.tsv
11/01/21 20:46:56.151788 [0] added talkgroup 139 from blist-onon.tsv
11/01/21 20:46:56.151822 [0] added talkgroup 141 from blist-onon.tsv
11/01/21 20:46:56.151854 [0] added talkgroup 143 from blist-onon.tsv
11/01/21 20:46:56.151904 [0] added talkgroup 145 from blist-onon.tsv
11/01/21 20:46:56.151947 [0] added talkgroup 146 from blist-onon.tsv
11/01/21 20:46:56.151981 [0] added talkgroup 148 from blist-onon.tsv
11/01/21 20:46:56.152013 [0] added talkgroup 5312 from blist-onon.tsv
11/01/21 20:46:56.152044 [0] added talkgroup 8203 from blist-onon.tsv
11/01/21 20:46:56.152074 [0] added talkgroup 8204 from blist-onon.tsv
11/01/21 20:46:56.152113 [0] added talkgroup 8205 from blist-onon.tsv
11/01/21 20:46:56.152146 [0] added talkgroup 8350 from blist-onon.tsv
11/01/21 20:46:56.152178 [0] added talkgroup 9991 from blist-onon.tsv
11/01/21 20:46:56.152210 [0] added talkgroup 9992 from blist-onon.tsv
11/01/21 20:46:56.152242 [0] added talkgroup 9993 from blist-onon.tsv
11/01/21 20:46:56.152272 [0] added talkgroup 9994 from blist-onon.tsv
11/01/21 20:46:56.152303 [0] added talkgroup 9995 from blist-onon.tsv
11/01/21 20:46:56.152334 [0] added talkgroup 9996 from blist-onon.tsv
11/01/21 20:46:56.152364 [0] added talkgroup 45116 from blist-onon.tsv
python version detected: 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0]
Allocating 15 zero-copy buffers
11/01/21 20:46:57.803933 [0] voice update:  tg(1), rid(0), freq(453.287500), slot(-), prio(3)
11/01/21 20:47:00.028773 [0] voice update:  tg(1), rid(0), freq(453.287500), slot(-), prio(3)
11/01/21 20:47:01.342258 [0] voice update:  tg(1), rid(0), freq(453.287500), slot(-), prio(3)
11/01/21 20:47:05.799500 [0] voice update:  tg(1), rid(215103), freq(453.287500), slot(-), prio(3)
11/01/21 20:47:10.647010 [0] voice update:  tg(1), rid(0), freq(453.287500), slot(-), prio(3)
11/01/21 20:47:11.565589 [0] voice update:  tg(1), rid(215102), freq(453.287500), slot(-), prio(3)
11/01/21 20:47:15.627608 [0] voice update:  tg(1), rid(0), freq(453.287500), slot(-), prio(3)
11/01/21 20:47:17.726214 [0] voice update:  tg(1), rid(911005), freq(453.612500), slot(-), prio(3)
11/01/21 20:47:22.704841 [0] voice update:  tg(1), rid(0), freq(453.612500), slot(-), prio(3)
11/01/21 20:47:25.195130 [0] voice update:  tg(7), rid(0), freq(460.212500), slot(-), prio(3)
11/01/21 20:47:27.292201 [0] voice update:  tg(7), rid(0), freq(460.212500), slot(-), prio(3)
11/01/21 20:47:29.914190 [0] voice update:  tg(7101), rid(0), freq(453.612500), slot(-), prio(3)
11/01/21 20:47:33.062948 [0] voice update:  tg(47), rid(134109), freq(460.237500), slot(-), prio(3)
11/01/21 20:47:33.845666 [0] voice update:  tg(47), rid(0), freq(460.237500), slot(-), prio(3)
11/01/21 20:47:42.237202 [0] voice update:  tg(47), rid(0), freq(460.237500), slot(-), prio(3)
11/01/21 20:47:42.892285 [0] voice update:  tg(47), rid(0), freq(460.237500), slot(-), prio(3)
11/01/21 20:47:45.248683 [0] voice update:  tg(47), rid(911029), freq(460.212500), slot(-), prio(3)
11/01/21 20:47:46.299807 [0] voice update:  tg(47), rid(0), freq(460.212500), slot(-), prio(3)
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "./multi_rx.py", line 996, in run
    self.callback(msg)
  File "/home/bob/op25/op25/gr-op25_repeater/apps/tk_p25.py", line 171, in process_qmsg
    updated += self.systems[self.receivers[m_rxid]['sysname']]['system'].process_qmsg(msg, curr_time)
  File "/home/bob/op25/op25/gr-op25_repeater/apps/tk_p25.py", line 519, in process_qmsg
    updated += self.decode_fdma_lcw(m_rxid, s[2:], curr_time)
  File "/home/bob/op25/op25/gr-op25_repeater/apps/tk_p25.py", line 1238, in decode_fdma_lcw
    syid  = get_ordinals(msg[4,6]) & 0x0fff
TypeError: byte indices must be integers or slices, not tuple
 
Joined
Dec 19, 2002
Messages
61
Reaction score
12
Ok, that new fix you just pushed seems to have solved the problems. Thank you for your efforts.
 

W4KRR

Member
Premium Subscriber
Joined
Apr 1, 2001
Messages
3,677
Reaction score
285
Location
Coconut Creek
I too, am having an issue with OP25 Boatbod version.
When using an Airspy, the program will run anywhere from a few seconds to ten minutes, and then the audio will stop and the web display will freeze. Closing the terminal and restarting is the fix. It doesn't have this issue when using an RTL dongle.

Command Line:
./rx.py --args "airspy" --nocrypt --gains "LNA:15,MIX:15,IF:15" -S 2500000 -q 0 -T bctrunk.tsv -V -2 -U 2> stderr.2 -l "http:0.0.0.0:8080"

The stderr.2 file:

Using Python /usr/bin/python3
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 AirSpy NOS v1.0.0-rc10-6-g4008185 2020-05-08, samplerates: 2.5M 10M
gain: name: LNA range: start 0 stop 15 step 1
gain: name: MIX range: start 0 stop 15 step 1
gain: name: IF range: start 0 stop 15 step 1
setting gain LNA to 15
setting gain MIX to 15
setting gain IF to 15
supported sample rates 2500000-10000000 step 7500000
Airspy decim:1 kernel size:47
Using two-stage decimator for speed=2500000, decim=25/4 if1=100000 if2=25000
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[1]
11/02/21 15:12:03.408575 Reading whitelist file
11/02/21 15:12:03.408734 added talkgroup 12070 from white.tsv
11/02/21 15:12:03.408842 added talkgroup 12071 from white.tsv
11/02/21 15:12:03.408869 added talkgroup 12072 from white.tsv
11/02/21 15:12:03.408891 added talkgroup 12073 from white.tsv
11/02/21 15:12:03.408911 added talkgroup 12074 from white.tsv
11/02/21 15:12:03.408933 added talkgroup 11015 from white.tsv
metadata update not enabled
using ALSA sound system
audio device: default
Listening on 127.0.0.1:23456
python version detected: 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0]
11/02/21 15:15:01.705047 PCM underrun

Using Linux Mint 20.2 in VirtualBox on a Windows 10 host.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,206
Reaction score
463
Location
NE Wisconsin
I too, am having an issue with OP25 Boatbod version.
When using an Airspy, the program will run anywhere from a few seconds to ten minutes, and then the audio will stop and the web display will freeze. Closing the terminal and restarting is the fix. It doesn't have this issue when using an RTL dongle.

Command Line:
./rx.py --args "airspy" --nocrypt --gains "LNA:15,MIX:15,IF:15" -S 2500000 -q 0 -T bctrunk.tsv -V -2 -U 2> stderr.2 -l "http:0.0.0.0:8080"

The stderr.2 file:

Using Python /usr/bin/python3
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 AirSpy NOS v1.0.0-rc10-6-g4008185 2020-05-08, samplerates: 2.5M 10M
gain: name: LNA range: start 0 stop 15 step 1
gain: name: MIX range: start 0 stop 15 step 1
gain: name: IF range: start 0 stop 15 step 1
setting gain LNA to 15
setting gain MIX to 15
setting gain IF to 15
supported sample rates 2500000-10000000 step 7500000
Airspy decim:1 kernel size:47
Using two-stage decimator for speed=2500000, decim=25/4 if1=100000 if2=25000
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[1]
11/02/21 15:12:03.408575 Reading whitelist file
11/02/21 15:12:03.408734 added talkgroup 12070 from white.tsv
11/02/21 15:12:03.408842 added talkgroup 12071 from white.tsv
11/02/21 15:12:03.408869 added talkgroup 12072 from white.tsv
11/02/21 15:12:03.408891 added talkgroup 12073 from white.tsv
11/02/21 15:12:03.408911 added talkgroup 12074 from white.tsv
11/02/21 15:12:03.408933 added talkgroup 11015 from white.tsv
metadata update not enabled
using ALSA sound system
audio device: default
Listening on 127.0.0.1:23456
python version detected: 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0]
11/02/21 15:15:01.705047 PCM underrun

If you still have any issues after updating op25 per the fixes posted by @boatbod then checkout the couple of
tips below that apply when running op25 on a VM under VirtualBox.


(1) Make sure you have installed the VirtualBox Guest Addition.
(2) Configure your VM to use the USB 3.0 (xHCI) Controller.
(3) Allocate a minimum of 4096 MB of Base Memory
(4) Allocate at least two (2) CPU's to your Linux VM.

These items greatly improve the execution of your VM as well as the hardware virtualization of
the USB Bus.

Check that your Airspy R2's USB cable fits snuggly into both the R2 as well as into the PC's USB jack.
Avoid using external USB hubs and extension cables other than the cable that was supplied with
your Airspy R2.

Increase your logging verbose level (-v) to a value of 10 or 11 if the problem persists if none of the above
makes any improvement in hopes that the log may capture some other information germane to your
trouble report.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,715
Reaction score
1,115
Location
Talbot Co, MD
I too, am having an issue with OP25 Boatbod version.
When using an Airspy, the program will run anywhere from a few seconds to ten minutes, and then the audio will stop and the web display will freeze. Closing the terminal and restarting is the fix. It doesn't have this issue when using an RTL dongle.
Do you see anything in the output of a "dmesg" command?
Sometimes when freezes occur it's because the dongle disconnected from the kernel due to a connector wobble or similar. Typically if this happens you should see something in the log, but not always.
Both Airspy and the RTL use the same osmocom driver so op25 code is completely identical for both. There are differences in sample rate and hence the size of gnuradio filter taps and memory usage, but not much else I can think of. Both my development system and a production streaming server use Airspy Mini dongles, so it's not as if op25 havsn't had extensive exercise on that hardware.
 

W4KRR

Member
Premium Subscriber
Joined
Apr 1, 2001
Messages
3,677
Reaction score
285
Location
Coconut Creek
If you still have any issues after updating op25 per the fixes posted by @boatbod then checkout the couple of
tips below that apply when running op25 on a VM under VirtualBox.


(1) Make sure you have installed the VirtualBox Guest Addition.
(2) Configure your VM to use the USB 3.0 (xHCI) Controller.
(3) Allocate a minimum of 4096 MB of Base Memory
(4) Allocate at least two (2) CPU's to your Linux VM.

1. I have.
2. USB 3.0 not an available option. The only one there is USB 1.1 (OHCI) controller. My other VB setup does have the USB 3.0 option
3. I have
4. Done

To boatbod:
When I run "dmesg" it shows my Airspy device, and other USB devices that are connected.

After it crashed this most recent time, the end of the stderr.2 log showed numerous "PCM underrun" messages.
I will try a different USB cable to connect the Airspy to the USB port (no hubs!)
 

telvana

Member
Feed Provider
Joined
Nov 19, 2014
Messages
91
Reaction score
11
I suppose I chose the wrong time to migrate from a Raspberry Pi to my ESXi server - having this current issue - maybe it's related? When it does this it quits scanning and stays on whatever TGID it was on when it failed. I tried to figure it out on my own, but the more I went down that rabbit hole the more I realized I am horrible with python LOL

[GCC 7.5.0]
11/03/21 00:02:26.654892 Reconfiguring NAC from 0x000 to 0x343
11/03/21 00:02:27.934876 voice update: tg(27500), freq(856237500), slot(-), prio(3)
update_state: unknown command: duid19
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "./rx.py", line 969, in run
self.callback(msg)
File "/home/censored/op25/op25/gr-op25_repeater/apps/trunking.py", line 1261, in process_qmsg
self.update_state('duid%d' % m_type, curr_time)
File "/home/censored/op25/op25/gr-op25_repeater/apps/trunking.py", line 1551, in update_state
assert 0 == 1
AssertionError

11/03/21 00:03:40.094758 UI Timeout

Running 18.04 in an ESXi container.

I also looked through dmesg - but nothing is there that has to do with OP25.
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
1,206
Reaction score
463
Location
NE Wisconsin
2. USB 3.0 not an available option. The only one there is USB 1.1 (OHCI) controller. My other VB setup does have the USB 3.0 option

/QUOTE]

I find it strange that you don't have the option to choose the USB 3.0 (xHCI) Controller unless your Windows-10 PC doesn't have any
USB 3.0 ports to virtualize. I have been a VirtualBox users for a good number of years and have always found this option to be a must
have when running SDR's, especially those with higher sample rates such as the Airspy R2's and Mini's.



VirtualBox.png
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,715
Reaction score
1,115
Location
Talbot Co, MD
I suppose I chose the wrong time to migrate from a Raspberry Pi to my ESXi server - having this current issue - maybe it's related? When it does this it quits scanning and stays on whatever TGID it was on when it failed. I tried to figure it out on my own, but the more I went down that rabbit hole the more I realized I am horrible with python LOL

[GCC 7.5.0]
11/03/21 00:02:26.654892 Reconfiguring NAC from 0x000 to 0x343
11/03/21 00:02:27.934876 voice update: tg(27500), freq(856237500), slot(-), prio(3)
update_state: unknown command: duid19
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "./rx.py", line 969, in run
self.callback(msg)
File "/home/censored/op25/op25/gr-op25_repeater/apps/trunking.py", line 1261, in process_qmsg
self.update_state('duid%d' % m_type, curr_time)
File "/home/censored/op25/op25/gr-op25_repeater/apps/trunking.py", line 1551, in update_state
assert 0 == 1
AssertionError

11/03/21 00:03:40.094758 UI Timeout

Running 18.04 in an ESXi container.

I also looked through dmesg - but nothing is there that has to do with OP25.
For this specific issue it looks like you are running an outdated version of trunking.py with newer library code. What does the command "git status" show when executed in the 'apps' directory? Is it possible that you made local edits to trunkling.py and as a result 'git pull' is refusing to overwrite them?
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,715
Reaction score
1,115
Location
Talbot Co, MD
To boatbod:
When I run "dmesg" it shows my Airspy device, and other USB devices that are connected.

After it crashed this most recent time, the end of the stderr.2 log showed numerous "PCM underrun" messages.
I will try a different USB cable to connect the Airspy to the USB port (no hubs!)
"PCM underrun" messages are ALSA warnings that the application is not keeping up with delivering pcm samples quickly enough to avoid disruption of the audio. Isolated instances can usually be ignored, but a big cluster of them suggests the CPU was off doing something else and couldn't spend enough time on op25.
 

telvana

Member
Feed Provider
Joined
Nov 19, 2014
Messages
91
Reaction score
11
For this specific issue it looks like you are running an outdated version of trunking.py with newer library code. What does the command "git status" show when executed in the 'apps' directory? Is it possible that you made local edits to trunkling.py and as a result 'git pull' is refusing to overwrite them?

Apparently you've nailed it. I am not exactly sure what modified the files though (other than trunk.tsv, op-25-liq.service/op25-rx.service, op25.liq & op25.sh) I modified those in my original config for quite a long time ago.


On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified: op25/gr-op25_repeater/apps/cfg.json
modified: op25/gr-op25_repeater/apps/helper_funcs.py
modified: op25/gr-op25_repeater/apps/icemeta.py
modified: op25/gr-op25_repeater/apps/multi_rx.py
modified: op25/gr-op25_repeater/apps/op25-liq.service
modified: op25/gr-op25_repeater/apps/op25-rx.service
modified: op25/gr-op25_repeater/apps/op25.liq
modified: op25/gr-op25_repeater/apps/op25.sh
modified: op25/gr-op25_repeater/apps/p25_airspy_example.json
modified: op25/gr-op25_repeater/apps/p25_demodulator.py
modified: op25/gr-op25_repeater/apps/p25_rtl_example.json
modified: op25/gr-op25_repeater/apps/rx.py
modified: op25/gr-op25_repeater/apps/terminal.py
modified: op25/gr-op25_repeater/apps/tk_p25.py
modified: op25/gr-op25_repeater/apps/tk_smartnet.py
modified: op25/gr-op25_repeater/apps/tk_trbo.py
modified: op25/gr-op25_repeater/apps/trunk.tsv
modified: op25/gr-op25_repeater/apps/trunking.py

no changes added to commit (use "git add" and/or "git commit -a")
 

W4KRR

Member
Premium Subscriber
Joined
Apr 1, 2001
Messages
3,677
Reaction score
285
Location
Coconut Creek
wgbecks: I now have the option to select USB 3.0 controller, which I have done. I had to install VirtualBox Extension Pack to get this ability. I had done this on my other machine, but had since forgotten about it on this new install.

Since doing so, I have been running over an hour with no crashes. Maybe this was the issue.
 

telvana

Member
Feed Provider
Joined
Nov 19, 2014
Messages
91
Reaction score
11
Apparently you've nailed it. I am not exactly sure what modified the files though (other than trunk.tsv, op-25-liq.service/op25-rx.service, op25.liq & op25.sh) I modified those in my original config for quite a long time ago.


On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified: op25/gr-op25_repeater/apps/cfg.json
modified: op25/gr-op25_repeater/apps/helper_funcs.py
modified: op25/gr-op25_repeater/apps/icemeta.py
modified: op25/gr-op25_repeater/apps/multi_rx.py
modified: op25/gr-op25_repeater/apps/op25-liq.service
modified: op25/gr-op25_repeater/apps/op25-rx.service
modified: op25/gr-op25_repeater/apps/op25.liq
modified: op25/gr-op25_repeater/apps/op25.sh
modified: op25/gr-op25_repeater/apps/p25_airspy_example.json
modified: op25/gr-op25_repeater/apps/p25_demodulator.py
modified: op25/gr-op25_repeater/apps/p25_rtl_example.json
modified: op25/gr-op25_repeater/apps/rx.py
modified: op25/gr-op25_repeater/apps/terminal.py
modified: op25/gr-op25_repeater/apps/tk_p25.py
modified: op25/gr-op25_repeater/apps/tk_smartnet.py
modified: op25/gr-op25_repeater/apps/tk_trbo.py
modified: op25/gr-op25_repeater/apps/trunk.tsv
modified: op25/gr-op25_repeater/apps/trunking.py

no changes added to commit (use "git add" and/or "git commit -a")


I sorted the issue by downloading the git zip and renaming my files to non-conflicting names. Round-a-bout way of doing it, but I would have otherwise figured out a way to wipe out all of my config files on a running broadcastify feed - that would have been annoying. :)
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,488
Reaction score
1,033
Well, since everybody else is getting technical support from Boatbod, might as well ask my own question.

Been trying to lock onto Duke Energy, Live Oak FL, signal APPEARS to be adequately strong, maybe, anyways, haven't had any luck. System is reported to use P2 TDMA control channel, and this is the command I'm using to rx.py

Code:
./rx.py --args rtl=0 -N LNA:36 -f 855.3625e6 -o 250000 -S 2048000 -q 2.0 -t -D cqpsk -2 -w 2> stderr.2

I've tried various things suck as changing modulation betweek fsk4 and cqpsk, tuning the gain up and down to varying degrees, fine tuning the frequency with ,.<> and also wasn't sure if I needed a -V for the vocoder or not. Anyways, All I get is a blank display, nothing decoded. Didn't know if this was normal, or if my command is busted.

Also, I'm willing to concede I may NOT actually have strong enough signal for P2, I don't really know. I've had luck getting other things to decode in OP25 with similar or worse.


Screenshot_MX Linux SDR [Running] - Oracle VM VirtualBox_6.png

System of interest.

 
Last edited:

boatbod

Member
Joined
Mar 3, 2007
Messages
3,715
Reaction score
1,115
Location
Talbot Co, MD
Well, since everybody else is getting technical support from Boatbod, might as well ask my own question.

Been trying to lock onto Duke Energy, Live Oak FL, signal APPEARS to be adequately strong, maybe, anyways, haven't had any luck. System is reported to use P2 TDMA control channel, and this is the command I'm using to rx.py

Code:
./rx.py --args rtl=0 -N LNA:36 -f 855.3625e6 -o 250000 -S 2048000 -q 2.0 -t -D cqpsk -2 -w 2> stderr.2

I've tried various things suck as changing modulation betweek fsk4 and cqpsk, tuning the gain up and down to varying degrees, fine tuning the frequency with ,.<> and also wasn't sure if I needed a -V for the vocoder or not. Anyways, All I get is a blank display, nothing decoded. Didn't know if this was normal, or if my command is busted.

Also, I'm willing to concede I may NOT actually have strong enough signal for P2, I don't really know. I've had luck getting other things to decode in OP25 with similar or worse.


View attachment 111738

System of interest.

If it really is a TDMA CC you need to add the command line option "--tdma-cc"
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,488
Reaction score
1,033
If it really is a TDMA CC you need to add the command line option "--tdma-cc"
Okay, cool, thanks. I'm going to give that a go and see what happens. I may still have inadequate signal. Not sure.

Just an FYI, on the github readme under gr-op25_repeater/apps, it doesn't have that option listed. I was under the impression that I was just supposed to use -2, --phase2-tdma with no specification whether that was for control channels or voice channels. Might be beneficial to add that option on the readme

NOTE: For phase1 voice the "-V" option is not used. Instead the
"-w" option is used (see AUDIO SERVER section, below). For P25 phase 2/TDMA,
the "-2" option is required in addition to the "-w" option.

...

-2, --phase2-tdma enable phase2 tdma decode
 
Status
Not open for further replies.
Top