Help with OP 25 Multi_rx smartnet Setup

Status
Not open for further replies.

Vista

Newbie
Premium Subscriber
Joined
Feb 13, 2021
Messages
4
Location
West Chester, PA
New to the group, I'm running OP25 headless on a raspberry pi with 2 dongles. I've managed to get multi_rx working for other simple channels, i.e. nbfm NOAA, but had a helluva time setting up my lame smartnet setup. It's a analog system, I can hear the analog voice channels in SDR#, and have found a strong digital control channel. I'm sure this is a simple error, but I'm having a helluva time figuring it out myself. I understand this is probably the not the most interesting channel to listen to but I appreciate the support and patience to help troubleshoot.

Southeastern Pennsylvania Transportation Authority (SEPTA) Trunking System, Various, Pennsylvania - Scanner Frequencies

My JSON config file is
Code:
{
    "channels": [
        {
            "name": "control channel", 
            "trunking_sysname": "Example",
            "device": "rtl0",
            "raw_output": "",
            "demod_type": "fsk4", 
            "destination": "smartnet", 
            "excess_bw": 0.35, 
            "filter_type": "fsk", 
            "if_rate": 18000, 
            "plot": "",
            "enable_analog": "off",
            "symbol_rate": 3600
        },
        {
            "name": "voice channel", 
            "trunking_sysname": "Example",
            "meta_stream_name": "stream_0",
            "device": "rtl1",
            "blacklist": "",
            "whitelist": "",
            "raw_output": "",
            "demod_type": "fsk", 
            "destination": "udp://127.0.0.1:23456", 
            "enable_analog": "on",
            "nbfm_deviation": 4000,
            "nbfm_squelch_threshold": -80,
            "nbfm_squelch_gain": 0.0050,
            "nbfm_raw_output": "",
            "nbfm_enable_subchannel": false,
            "excess_bw": 0.2, 
            "filter_type": "widepulse", 
            "if_rate": 24000, 
            "plot": "",
            "symbol_rate": 4800
        }
    ], 
    "devices": [
        {
            "args": "rtl=0", 
            "frequency": 502537500, 
            "gains": "LNA:47", 
            "name": "rtl0", 
            "offset": 0, 
            "ppm": 0.0, 
            "rate": 100000, 
            "tunable": true
        },
        {
            "args": "rtl=1", 
            "frequency": 502537500, 
            "gains": "LNA:47", 
            "name": "rtl1", 
            "offset": 0, 
            "ppm": 0.0, 
            "rate": 100000, 
            "tunable": true
        }
    ],
    "trunking": {
        "module": "tk_smartnet.py",
        "chans": [
            {
                "sysname": "Example",
                "control_channel_list": "502.5375",
                "tgid_tags_file": "",
                "tgid_hold_time": 2.0,
                "blacklist": "",
                "whitelist": "",
                "bandplan_comment": "Set bandplan to one of '400' '800' '800_reband' '900'",
                "bandplan": "400",
                "bp_spacing": 0.0125,
                "bp_base": 502.000,
                "bp_base_offset": 380,
                "bp_mid": 502.4875,
                "bp_mid_offset": 579,
                "bp_high": 502.7125,
                "bp_high_offset": 632


            }
        ]
    },
    "audio": {
        "module": "sockaudio.py",
        "instances": [
            {
                "instance_name": "audio0",
                "device_name": "default",
                "udp_port": 23456,
                "audio_gain": 1.0,
                "number_channels": 1
            }
        ]
    },
    "terminal": {
        "module": "terminal.py",
        "terminal_type": "curses",
        "#terminal_type": "http:0.0.0.0:8080",
        "curses_plot_interval": 0.2,
        "http_plot_interval": 1.0,
        "http_plot_directory": "../www/images",
        "tuning_step_large": 1200,
        "tuning_step_small": 100
    }
}
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD
I don't see anything particularly significant jump out at me in the config file, but it would be helpful to see the log to know what's happening at runtime. On a general note you might change the voice channel nbfm_analog parameter to "auto" (from 'on') unless you like listening to static.

Suggest setting "-v 10" in your multi_rx.py startup script then look at the stderr.2 file. Of particular interest is whether you see "OSW" messages being decoded from the control channel. Once OSW receiption is confirmed, drop the logging down to "-v 5" so that we can see what happens when group voice grants are received.

Did you confirm that ppm adjustment and tuning are correct?
 

Vista

Newbie
Premium Subscriber
Joined
Feb 13, 2021
Messages
4
Location
West Chester, PA
Thanks for the quick reply, I get no audio, even with audio on, do no staci yet. as I look at the log "SMARTNET sync lost"

Visually I'm on the right control channel I believe.
1620422002424.png

1620422020548.png

Code:
Using Python /usr/bin/python2
Configuring audio instance #0 [audio0]
using ALSA sound system
audio device: default
Listening on 127.0.0.1:23456
Enabled trunking module: tk_smartnet.py
device: {u'gains': u'LNA:47', u'args': u'rtl=0', u'tunable': True, u'rate': 100000, u'frequency': 502487500, u'ppm': 0.0, u'offset': 0, u'name': u'rtl0'}
WARNING: requested sample rate 100000 for device rtl0 may not
be optimal.  You may want to use one of the following rates
[250000, 1000000, 1024000, 1800000, 1920000, 2000000, 2048000, 2400000, 2560000]
Device name: "rtl0", osmosdr args: "rtl=0"
gr-osmosdr 0.1.4 (0.1.4) gnuradio 3.7.13.4
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!
Invalid sample rate: 100000 Hz
device: {u'gains': u'LNA:47', u'args': u'rtl=1', u'tunable': True, u'rate': 100000, u'frequency': 502487500, u'ppm': 0.0, u'offset': 0, u'name': u'rtl1'}
WARNING: requested sample rate 100000 for device rtl1 may not
be optimal.  You may want to use one of the following rates
[250000, 1000000, 1024000, 1800000, 1920000, 2000000, 2048000, 2400000, 2560000]
Device name: "rtl1", osmosdr args: "rtl=1"
gr-osmosdr 0.1.4 (0.1.4) gnuradio 3.7.13.4
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Using device #1 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Invalid sample rate: 100000 Hz
channel (dev rtl0): {u'plot': u'', u'name': u'control channel', u'excess_bw': 0.35, u'symbol_rate': 3600, u'destination': u'smartnet', u'demod_type': u'fsk4', u'trunking_sysname': u'Example', u'filter_type': u'fsk', u'device': u'rtl0', u'raw_output': u'', u'if_rate': 18000, u'enable_analog': u'off'}
Using two-stage decimator for speed=100000, decim=2/2 if1=50000 if2=25000
channel (dev rtl1): {u'plot': u'', u'nbfm_raw_output': u'', u'nbfm_deviation': 4000, u'demod_type': u'fsk', u'whitelist': u'', u'destination': u'udp://127.0.0.1:23456', u'excess_bw': 0.2, u'trunking_sysname': u'Example', u'filter_type': u'widepulse', u'nbfm_squelch_threshold': -80, u'blacklist': u'', u'device': u'rtl1', u'nbfm_squelch_gain': 0.005, u'meta_stream_name': u'stream_0', u'raw_output': u'', u'if_rate': 24000, u'nbfm_enable_subchannel': False, u'symbol_rate': 4800, u'enable_analog': u'on', u'name': u'voice channel'}
Using two-stage decimator for speed=100000, decim=2/2 if1=50000 if2=25000
op25_audio::open_socket(): enabled udp host(127.0.0.1), wireshark(23456), audio(23456)
05/07/21 17:10:03.756566 [1] rx_sync::sync_reset:
05/07/21 17:10:03.756745 [1] mute channel(0)
05/07/21 17:10:03.756820 [1] mute channel(1)
05/07/21 17:10:03.757145 [1] Enabling nbfm analog audio
op25_audio::open_socket(): enabled udp host(127.0.0.1), wireshark(23456), audio(23456)
05/07/21 17:10:03.764784 [1] op25_nbfm::control: analog audio enabled
05/07/21 17:10:03.767108 [0] Initializing Smartnet system
05/07/21 17:10:03.768654 [1] Initializing voice channel
05/07/21 17:10:03.771650 [1] rx_sync::set_slot_mask: current(3), new(4)
python version detected: 2.7.16 (default, Oct 10 2019, 22:02:15)
[GCC 8.3.0]
Allocating 15 zero-copy buffers
Allocating 15 zero-copy buffers
05/07/21 17:10:04.505714 [0] SMARTNET sync lost
05/07/21 17:10:04.505910 [0] SMARTNET sync lost
05/07/21 17:10:04.506082 [0] SMARTNET sync lost
05/07/21 17:10:04.506194 [0] SMARTNET sync lost
05/07/21 17:10:04.506301 [0] SMARTNET sync lost
05/07/21 17:10:04.526511 [0] SMARTNET sync lost
05/07/21 17:10:04.526733 [0] SMARTNET sync lost
05/07/21 17:10:04.526821 [0] SMARTNET sync lost
05/07/21 17:10:04.529895 [0] SMARTNET sync lost
05/07/21 17:10:04.530048 [0] SMARTNET sync lost
05/07/21 17:10:04.534714 [0] SMARTNET sync lost
05/07/21 17:10:04.538642 [0] SMARTNET sync lost
05/07/21 17:10:04.622682 [0] SMARTNET sync lost
05/07/21 17:10:04.633196 [0] SMARTNET sync lost
05/07/21 17:10:04.646422 [0] SMARTNET sync lost
05/07/21 17:10:04.646559 [0] SMARTNET sync lost
05/07/21 17:10:04.649126 [0] SMARTNET sync lost
05/07/21 17:10:04.649317 [0] SMARTNET sync lost
05/07/21 17:10:04.649882 [0] SMARTNET sync lost
05/07/21 17:10:04.752977 [0] rx_smartnet::sync_timeout:
05/07/21 17:10:04.753208 [0] SMARTNET sync lost
05/07/21 17:10:04.759019 [0] SMARTNET sync lost
05/07/21 17:10:04.782190 [0] SMARTNET sync lost
05/07/21 17:10:04.786213 [0] SMARTNET sync lost
05/07/21 17:10:04.786433 [0] SMARTNET sync lost
05/07/21 17:10:04.786513 [0] SMARTNET sync lost
05/07/21 17:10:04.789439 [0] SMARTNET sync lost
05/07/21 17:10:04.878210 [0] SMARTNET sync lost
05/07/21 17:10:04.878364 [0] SMARTNET sync lost
05/07/21 17:10:04.878831 [0] SMARTNET sync lost
05/07/21 17:10:04.883799 [0] SMARTNET sync lost
05/07/21 17:10:04.888761 [0] SMARTNET sync lost
05/07/21 17:10:04.898954 [0] SMARTNET sync lost
05/07/21 17:10:04.902314 [0] SMARTNET sync lost
05/07/21 17:10:04.907953 [0] SMARTNET sync lost
05/07/21 17:10:05.008962 [0] SMARTNET sync lost
05/07/21 17:10:05.009234 [0] SMARTNET sync lost
05/07/21 17:10:05.009346 [0] SMARTNET sync lost
05/07/21 17:10:05.009509 [0] SMARTNET sync lost
05/07/21 17:10:05.011277 [0] SMARTNET sync lost
05/07/21 17:10:05.019854 [0] SMARTNET sync lost
05/07/21 17:10:05.024090 [0] SMARTNET sync lost
05/07/21 17:10:05.033324 [0] SMARTNET sync lost
05/07/21 17:10:05.119229 [0] SMARTNET sync lost
05/07/21 17:10:05.122948 [0] SMARTNET sync lost
05/07/21 17:10:05.130402 [0] SMARTNET sync lost
05/07/21 17:10:05.132435 [0] SMARTNET sync lost
05/07/21 17:10:05.140711 [0] SMARTNET sync lost
05/07/21 17:10:05.153363 [0] SMARTNET sync lost
05/07/21 17:10:05.160918 [0] SMARTNET sync lost
05/07/21 17:10:05.251224 [0] SMARTNET sync lost
05/07/21 17:10:05.251377 [0] SMARTNET sync lost
05/07/21 17:10:05.251467 [0] SMARTNET sync lost
05/07/21 17:10:05.252410 [0] SMARTNET sync lost
05/07/21 17:10:05.256327 [0] SMARTNET sync lost
05/07/21 17:10:05.374827 [0] SMARTNET sync lost
05/07/21 17:10:05.375725 [0] SMARTNET sync lost
05/07/21 17:10:05.397237 [0] SMARTNET sync lost
05/07/21 17:10:05.397699 [0] SMARTNET sync lost
05/07/21 17:10:05.407464 [0] SMARTNET sync lost
05/07/21 17:10:05.410996 [0] SMARTNET sync lost
05/07/21 17:10:05.413775 [0] SMARTNET sync lost
05/07/21 17:10:05.413900 [0] SMARTNET sync lost
05/07/21 17:10:05.419251 [0] SMARTNET sync lost
05/07/21 17:10:05.419836 [0] SMARTNET sync lost
05/07/21 17:10:05.420704 [0] SMARTNET sync lost
05/07/21 17:10:05.507615 [0] SMARTNET sync lost
05/07/21 17:10:05.514867 [0] SMARTNET sync lost
05/07/21 17:10:05.515003 [0] SMARTNET sync lost
05/07/21 17:10:05.515048 [0] SMARTNET sync lost
05/07/21 17:10:05.517771 [0] SMARTNET sync lost
05/07/21 17:10:05.517888 [0] SMARTNET sync lost
05/07/21 17:10:05.517931 [0] SMARTNET sync lost
05/07/21 17:10:05.525060 [0] SMARTNET sync lost
05/07/21 17:10:05.526738 [0] SMARTNET sync lost
05/07/21 17:10:05.534629 [0] SMARTNET sync lost
05/07/21 17:10:05.534782 [0] SMARTNET sync lost
05/07/21 17:10:05.534830 [0] SMARTNET sync lost
05/07/21 17:10:05.544880 [0] SMARTNET sync lost
05/07/21 17:10:05.649406 [0] SMARTNET sync lost
05/07/21 17:10:05.653914 [0] SMARTNET sync lost
05/07/21 17:10:05.659586 [0] SMARTNET sync lost
05/07/21 17:10:05.663231 [0] SMARTNET sync lost
05/07/21 17:10:05.666099 [0] SMARTNET sync lost
05/07/21 17:10:05.675751 [0] SMARTNET sync lost
Allocating 15 zero-copy buffers
Allocating 15 zero-copy buffers
05/07/21 17:10:07.014085 [0] rx_smartnet::sync_timeout:
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,338
Location
Talbot Co, MD
You may need a better antenna - the signal is not particularly strong and boosting LNA gain this high has significantly increased the noise floor. What you're looking for is a mixer plot similar to one of the following. There are two types of Smartnet FSK2 signal that you'll generally see on the mixer plot - they decode the same, but the power distribution is different. One type the simulcast and the other is standalone.

Once you've optimized the signal you need to turn on the datascope plot and adjust the ppm correction to center the plot vertically. With that done, you should see two straightish lines in the symbol plot (pic3) and OSWs decoding in the log file. If the signal reception is marginal the symbol plot will be thicker and fuzzier (pic2) due to noise and poor decoding.
 

Attachments

  • Screenshot from 2021-02-21 09-40-17.png
    Screenshot from 2021-02-21 09-40-17.png
    188.5 KB · Views: 11
  • Screenshot from 2021-02-21 09-42-57.png
    Screenshot from 2021-02-21 09-42-57.png
    178.5 KB · Views: 12
  • type ii pic3.png
    type ii pic3.png
    12.8 KB · Views: 10
  • type ii pic2.png
    type ii pic2.png
    17.4 KB · Views: 8

Vista

Newbie
Premium Subscriber
Joined
Feb 13, 2021
Messages
4
Location
West Chester, PA
Thanks boatbod, this quick reply is very helpful and much appreciated. Appologies as I'm still new to this hobby and learning a lot, I have read a pile of your posts and you're very generous with your knowledge and time. It's nice to know that it's not a setup issue, rather only my hardware, and inexperience troubleshooting. I am still using the cheap antennas that came with my SDR dongle. Funny that in SDR+ I can hear the analog trunked calls, but the digital signal is not able to be decoded. My symbol plot is definitely not close to having any lines as you show above.

I do have two more somewhat related questions if you have the time.

-For nbfm turning, when considering single frequency monitoring, can I utilize the "auto" parameter, maybe again my weak signal, but I've been trying to adjust the squelch to reduce static and hear nothing when it's set to auto.

-When running headless, can I still utilize the curses terminal function in mult.rx? I'm been trying to ulitize the json output to display talkgroups on LCD screen on my homebrew bearcat IV monitor, and I can't seem to get multi.rx to connect on my raspberry pi.
 
Status
Not open for further replies.
Top