RadioReference on Facebook   RadioReference on Twitter   RadioReference Blog
 

Go Back   The RadioReference.com Forums > Computer Aided Monitoring and Programming > Software Defined Radio


Software Defined Radio - A forum for general discussion of software defined radio (SDR) receiver equipment.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1901 (permalink)  
Old 03-14-2018, 5:50 AM
jparks29's Avatar
Member
   
Join Date: Nov 2003
Location: Melmac
Posts: 1,083
Default

I'm finally getting all this dialed in. I appreciate everyone's assistance.

I would suggest maybe starting a new thread with relevant instructions and maybe a help file/documentation, as this thread is now over 1900 posts long and much of the information is now out of date and the valid information is getting harder to find.

That being said....

My current issue is this.

As mentioned before, only 1 NAC per system. If the NAC doesn't match then the CC is ignored. Thus, each site must be set up as a separate system with its own NAC.

So, I have Site 1, NAC 1..... Site 2, NAC 2, etc. with associated control channels for each site.

Now, the situation I'm running into is since is the same system, the preferred behavior is for it to search for a valid CC, and hold on that site, until the site is out of range.. A set time to receive no CC information or a set % data error rate...then it moves down the list until it finds another valid CC with valid NAC.

The current behavior has it jumping from site to site (System to System, as the prog sees it), as I may have 2 or 3 sites in range, and I'm missing calls while it's scanning for the CC of another site (system),

So, how to get the desired mode of operation? Or, maybe allow multiple NACs to be validated, then just have one long list of CCs? Maybe use SYSID as validation instead of NAC?

Obviously, for a home user, sitting on one site is fine. For a mobile user, which is how I want to use it, I want it to be able to change sites when signal gets poor, without constantly changing sites, or having any user interaction. I also have a friend of mine who loves the hobby but can't afford a new Phase II scanner, so I was going to integrate a Pi with a small touch screen so he can press it and start scanning, or stop scanning this system and scan another, he'd really get a kick out of that. I have to learn how to do this stuff first, and make it idiot proof for him.. I'm sure you know what it feels like to get a call or message every 30 seconds with questions about 'hey, how does this work'? Case in point..

There are only 3 systems in my area that are Phase II, so, not trying to make it into anything super complicated, just 3 different config files for each system so I can monitor each one as I/he sees fit. The constant scanning is an issue though.

Again, thanks for all the help.

I haven't tinkered with *nix since before Ubuntu came out, in the days of red hat, DSL, and Knoppix.. KDE and Gnome were pretty much all you had.. I've lost all that knowledge because I haven't used it in almost 2 decades.... :sigh: .and to think I used to compile custom kernels.. now I'm a blabbering idiot..
__________________
The only good cat is a stir-fried cat!
Reply With Quote
Sponsored links
  #1902 (permalink)  
Old 03-14-2018, 9:04 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by jparks29 View Post

The current behavior has it jumping from site to site (System to System, as the prog sees it), as I may have 2 or 3 sites in range, and I'm missing calls while it's scanning for the CC of another site (system),

So, how to get the desired mode of operation? Or, maybe allow multiple NACs to be validated, then just have one long list of CCs? Maybe use SYSID as validation instead of NAC?
The way the trunking module looks at control channels and systems (nacs) is as follows:

i. If control channel times out 6 times due to loss of framing for 1.0 seconds, the trunking logic cycles to the next control channel in the list specified for that NAC. This continues forever until framing is reestablished.

ii. After TSYS_HOLD_TIME (3.0 sec) sitting on an idle control channel with framing but no voice calls meeting whitelist/blacklist criteria, the trunking logic will cycle to the next NAC listed in the trunk.tsv file.

I've not tested whether find_next_tsys() takes priority over a control channel timeout, but I see no immediate reason why the two wouldn't operate in parallel. Does the behavior you observe seem like it corresponds to my description?
Reply With Quote
  #1903 (permalink)  
Old 03-14-2018, 5:18 PM
jparks29's Avatar
Member
   
Join Date: Nov 2003
Location: Melmac
Posts: 1,083
Default

Quote:
Originally Posted by boatbod View Post
The way the trunking module looks at control channels and systems (nacs) is as follows:

i. If control channel times out 6 times due to loss of framing for 1.0 seconds, the trunking logic cycles to the next control channel in the list specified for that NAC. This continues forever until framing is reestablished.

ii. After TSYS_HOLD_TIME (3.0 sec) sitting on an idle control channel with framing but no voice calls meeting whitelist/blacklist criteria, the trunking logic will cycle to the next NAC listed in the trunk.tsv file.

I've not tested whether find_next_tsys() takes priority over a control channel timeout, but I see no immediate reason why the two wouldn't operate in parallel. Does the behavior you observe seem like it corresponds to my description?
So, I just wanna clarify. You said 1 NAC per system, so each site with a different NAC must set up as different system, correct? That's what I did.

Code:
"Sysname"	"Control Channel List"	"Offset"	"NAC"	"Modulation"	"TGID Tags File"	"Whitelist"	"Blacklist"	"Center Frequency"
"SS911 Site 1"	"774.68125,774.43125,773.93125"	"0"	"0x1e1"	"CQPSK"	"ss911t.tsv"	""	"40108,40119,40113,40204,30204,40209,40210,40217,40246"	
"SS911 Site 2"	"774.48125,773.98125,770.60625,770.35625"	"0"	"0x1e2"	"CQPSK"	"ss911t.tsv"		"40108,40119,40113,40204,30204,40209,40210,40217,40246"	
"SS911 Site 3"	"773.73125"	"0"	"0x1e3"	"CQPSK"	"ss911t.tsv"	""	"40108,40119,40113,40204,30204,40209,40210,40217,40246"	
"SS911 Site 4"	"774.70625,773.20625,774.20625"	"0"	"0x1e4"	"CQPSK"	"ss911t.tsv"	""	"40108,40119,40113,40204,30204,40209,40210,40217,40246"
"SS911 Site 5"	"773.48125,772.93125"	"0"	"0x1e5"	"CQPSK"	"ss911t.tsv"	""	"40108,40119,40113,40204,30204,40209,40210,40217,40246"
It will search system 1 (site 1), and lock onto the CC because I'm in range, after a couple seconds it will attempt to scan system 2 (site 2) and not lock onto a CC because it's not in range....Then it will stop on site 3 and may/may not pick up a TG, before it scans system 4 and bypasses because no valid CC (out of range) before locking onto system 5 (site 5) before going around again to system 1 (site 1). During that time, I may/may not pick up audio calls, but I'm missing a lot of calls compared to only having 1 system (1 site) in the list.


It looks like TSYS_HOLD_TIME is the thorn in my side, as I want it to remain on a system (site) until the CC signal is unusable.

The other option would be validate by system ID, but I don't know easy that would be to implement. Seems it would be easier to change the TSYS_HOLD_TIME to infinite or comment that line out..
The blacklist actually works,lol.
__________________
The only good cat is a stir-fried cat!
Reply With Quote
  #1904 (permalink)  
Old 03-14-2018, 6:02 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by jparks29 View Post
So, I just wanna clarify. You said 1 NAC per system, so each site with a different NAC must set up as different system, correct? That's what I did.

Code:
"Sysname""Control Channel List""Offset""NAC""Modulation""TGID Tags File""Whitelist""Blacklist""Center Frequency"
"SS911 Site 1""774.68125,774.43125,773.93125""0""0x1e1""CQPSK""ss911t.tsv""""40108,40119,40113,40204,30204,40209,40210,40217,40246"
"SS911 Site 2""774.48125,773.98125,770.60625,770.35625""0""0x1e2""CQPSK""ss911t.tsv""40108,40119,40113,40204,30204,40209,40210,40217,40246"
"SS911 Site 3""773.73125""0""0x1e3""CQPSK""ss911t.tsv""""40108,40119,40113,40204,30204,40209,40210,40217,40246"
"SS911 Site 4""774.70625,773.20625,774.20625""0""0x1e4""CQPSK""ss911t.tsv""""40108,40119,40113,40204,30204,40209,40210,40217,40246"
"SS911 Site 5""773.48125,772.93125""0""0x1e5""CQPSK""ss911t.tsv""""40108,40119,40113,40204,30204,40209,40210,40217,40246"
It will search system 1 (site 1), and lock onto the CC because I'm in range, after a couple seconds it will attempt to scan system 2 (site 2) and not lock onto a CC because it's not in range....Then it will stop on site 3 and may/may not pick up a TG, before it scans system 4 and bypasses because no valid CC (out of range) before locking onto system 5 (site 5) before going around again to system 1 (site 1). During that time, I may/may not pick up audio calls, but I'm missing a lot of calls compared to only having 1 system (1 site) in the list.


It looks like TSYS_HOLD_TIME is the thorn in my side, as I want it to remain on a system (site) until the CC signal is unusable.

The other option would be validate by system ID, but I don't know easy that would be to implement. Seems it would be easier to change the TSYS_HOLD_TIME to infinite or comment that line out..
The blacklist actually works,lol.
Sounds like it's working as currently designed.

Personally I don't like scanning multiple sites as it misses too may calls, but if you set it up that way there's really not much you can do about it other than modifying the timers.
Reply With Quote
  #1905 (permalink)  
Old 03-14-2018, 6:06 PM
jparks29's Avatar
Member
   
Join Date: Nov 2003
Location: Melmac
Posts: 1,083
Default

Quote:
Originally Posted by boatbod View Post
Sounds like it's working as currently designed.

Personally I don't like scanning multiple sites as it misses too may calls, but if you set it up that way there's really not much you can do about it other than modifying the timers.
That's why I don't want it scanning another system (site) until that site goes out of range. Think Raspberry Pi and mobile operation.

How would one modify the timer? I assume through trunking.py. I'm digging into it now.

EDIT: Found it in trunking.py and changed to 300 seconds. 5 Minutes should do.

EDIT: Looks like all it's doing is changing the time between searching for a new CC. That won't work because it sits on an invalid CC.
__________________
The only good cat is a stir-fried cat!

Last edited by jparks29; 03-14-2018 at 6:26 PM..
Reply With Quote
Sponsored links
  #1906 (permalink)  
Old 03-14-2018, 6:33 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by jparks29 View Post
That's why I don't want it scanning another system (site) until that site goes out of range. Think Raspberry Pi and mobile operation.

How would one modify the timer? I assume through trunking.py. I'm digging into it now.

EDIT: Found it in trunking.py and changed to 300 seconds. 5 Minutes should do.

EDIT: Looks like all it's doing is changing the time between searching for a new CC. That won't work because it sits on an invalid CC.
Conceivably the logic could be tweaked to force an immediate hunt once all the defined control channels for a given system have been exhausted. That way you'd only have to wait some number of seconds until trunking finds a site it can receive. The process would be quicker if you can eliminate the secondary control channel definitions...
Reply With Quote
  #1907 (permalink)  
Old 03-14-2018, 7:06 PM
jparks29's Avatar
Member
   
Join Date: Nov 2003
Location: Melmac
Posts: 1,083
Default

Quote:
Originally Posted by boatbod View Post
Conceivably the logic could be tweaked to force an immediate hunt once all the defined control channels for a given system have been exhausted. That way you'd only have to wait some number of seconds until trunking finds a site it can receive. The process would be quicker if you can eliminate the secondary control channel definitions...
This system regularly changes CCs... Haven't figured out why quite yet.....
__________________
The only good cat is a stir-fried cat!
Reply With Quote
  #1908 (permalink)  
Old 03-14-2018, 8:50 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by jparks29 View Post
This system regularly changes CCs... Haven't figured out why quite yet.....
That's unfortunate. I must be one of the lucky guys who's local P25 system never changes over to the secondary cc.
Reply With Quote
  #1909 (permalink)  
Old 03-17-2018, 11:17 AM
Covack's Avatar
Member
   
Join Date: Jun 2004
Location: God's Country
Posts: 19
Default Pi Install

This method works great, thanks for posting


sudo apt-get -y install git
git clone https://github.com/boatbod/op25
cd op25
./install.sh

Last edited by Covack; 03-17-2018 at 11:21 AM.. Reason: wrong info
Reply With Quote
  #1910 (permalink)  
Old 03-17-2018, 5:37 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by Covack View Post
This method works great, thanks for posting


sudo apt-get -y install git
git clone https://github.com/boatbod/op25
cd op25
./install.sh
If you want plots, you'll need to add those manually.
Code:
sudo apt-get install gnuplot-xll
(Or just regular "gnuplot" if you're only going to use the http terminal)
Reply With Quote
  #1911 (permalink)  
Old 03-19-2018, 10:24 PM
dseven's Avatar
Member
  Premium Subscriber
Premium Subscriber
Amateur Radio Operator
Amateur Radio
 
Join Date: Sep 2008
Location: SF Bay / Delta, CA
Posts: 282
Default groups.io ?

We're approaching 2,000 posts in this thread, on a vast array of different topics relating to op25. Seems to me that trying to use one humongous monolithic thread is not optimal - conversations get forgotten because new ones take over the thread.

Any interest in starting a groups.io group for op25? I think it'd be considerably more efficient.....
Reply With Quote
  #1912 (permalink)  
Old 03-20-2018, 11:45 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by dseven View Post
We're approaching 2,000 posts in this thread, on a vast array of different topics relating to op25. Seems to me that trying to use one humongous monolithic thread is not optimal - conversations get forgotten because new ones take over the thread.

Any interest in starting a groups.io group for op25? I think it'd be considerably more efficient.....
There's already an op25-dev yahoo group.
Reply With Quote
  #1913 (permalink)  
Old 03-20-2018, 12:34 PM
dseven's Avatar
Member
  Premium Subscriber
Premium Subscriber
Amateur Radio Operator
Amateur Radio
 
Join Date: Sep 2008
Location: SF Bay / Delta, CA
Posts: 282
Default

Quote:
Originally Posted by boatbod View Post
There's already an op25-dev yahoo group.
Oh, ok. Didn't find that one by searching, but was able to find it by URL. Have requested to join. Thanks.

A lot of ham groups are abandoning Yahoo! Groups and going to groups.io
Reply With Quote
  #1914 (permalink)  
Old 03-20-2018, 6:17 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by dseven View Post
Oh, ok. Didn't find that one by searching, but was able to find it by URL. Have requested to join. Thanks.

A lot of ham groups are abandoning Yahoo! Groups and going to groups.io
It's pretty quiet over there compared to here.
Reply With Quote
  #1915 (permalink)  
Old 03-24-2018, 12:08 AM
Newbie
  Amateur Radio Operator
Amateur Radio
 
Join Date: Jun 2017
Posts: 2
Default RTL-SDR Power issues on RPi 3 Model B

Thanks to everyone on this forum, I have successfully setup an RTL-SDR on a dual boot desktop running Ubuntu to scan a P25 Phase II system in Tucson, AZ.

Now I'm onto my next challenge, scanning the same system on a RPI3 Model B while mobile. I had everything setup and decoding with Raspian, but after a few seconds, everything would freeze. I also experienced many system crashes, where the Pi would completely crash and reboot.

I moved on to Ubuntu mate, hoping for more success; but no luck. I'm still experiencing several system crashes.

I was thinking it was a power issue, as I getting it setup with HDMI, running a keyboard, mouse, and the sdr. I've tried a couple different power sources; all of which should provide more than enough amps.

Looking for any suggestions or anybody who has experienced anything similar.
Reply With Quote
  #1916 (permalink)  
Old 03-24-2018, 7:05 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by KG7RBX View Post
Thanks to everyone on this forum, I have successfully setup an RTL-SDR on a dual boot desktop running Ubuntu to scan a P25 Phase II system in Tucson, AZ.

Now I'm onto my next challenge, scanning the same system on a RPI3 Model B while mobile. I had everything setup and decoding with Raspian, but after a few seconds, everything would freeze. I also experienced many system crashes, where the Pi would completely crash and reboot.

I moved on to Ubuntu mate, hoping for more success; but no luck. I'm still experiencing several system crashes.

I was thinking it was a power issue, as I getting it setup with HDMI, running a keyboard, mouse, and the sdr. I've tried a couple different power sources; all of which should provide more than enough amps.

Looking for any suggestions or anybody who has experienced anything similar.
Try a bigger power supply before doing anything else.
Reply With Quote
  #1917 (permalink)  
Old 03-24-2018, 11:05 AM
   
Join Date: Mar 2018
Posts: 2
Default Can't switch Plots

Hello,

First, thanks for this fork of op25, it's fantastic!

I have everything working great but I can't switch plots. I can initially open any plot using the -P flag, but if I try to switch plots using the 1-5 keys the current plot just closes and I get OOOOOO overflow to the log file.

No other data appears in the log file even with verbosity set to 10. Any ideas? running Ubuntu 14.04 in a VM.

-Hash
Reply With Quote
  #1918 (permalink)  
Old 03-24-2018, 11:30 AM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

Quote:
Originally Posted by Hash79 View Post
Hello,

First, thanks for this fork of op25, it's fantastic!

I have everything working great but I can't switch plots. I can initially open any plot using the -P flag, but if I try to switch plots using the 1-5 keys the current plot just closes and I get OOOOOO overflow to the log file.

No other data appears in the log file even with verbosity set to 10. Any ideas? running Ubuntu 14.04 in a VM.

-Hash
Are you by any chance using a RPI3? I've seen a couple reports of a freeze occurring when switching plots on lower end cpu's such as the Pi. I think it's a deadlock condition and have a good idea what the fix is, but haven't yet had time to implement it.

In the meantime, try starting without the -P command line option then just use the key to enable/disable the plots. If at all possible, only switch plots when there is no voice activity as it frees up cpu and seems to hang less.

ETA: I think I fixed it. Please pull the update, give it a try and report back.

Last edited by boatbod; 03-24-2018 at 11:40 AM..
Reply With Quote
  #1919 (permalink)  
Old 03-25-2018, 8:29 PM
Newbie
  Amateur Radio Operator
Amateur Radio
 
Join Date: Jun 2017
Posts: 2
Default

Quote:
Originally Posted by boatbod View Post
Try a bigger power supply before doing anything else.
As suspected, it was indeed a power supply issue. I now have it up and running. Thanks!

Now I'm struggling with getting everything to start at boot so I can run headless. Any advice for a Linux novice? Thanks.
Reply With Quote
  #1920 (permalink)  
Old 03-25-2018, 8:31 PM
Member
  Premium Subscriber
Premium Subscriber
 
Join Date: Mar 2007
Location: Talbot Co, MD
Posts: 1,056
Default

My code for dynamically swapping plots has been tweaked to eliminate the deadlock/race condition that was causing gnuradio to freeze after a plot was deactivated. It seems to work well for me on systems running Ubuntu 14.04, Ubuntu 16.04 and Raspbian Stretch. There is however a report of an ongoing issue with Raspbian Jessie, but I've been unable to look in to that yet.

Additionally I just pushed a fix for failure to properly hunt control channels when the NAC was set to 0 in trunk.tsv. Prior to this fix it seems the hunting only worked if the NAC was non-zero. (i.e. properly configured)
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -5. The time now is 10:42 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
All information here is Copyright 2012 by RadioReference.com LLC and Lindsay C. Blanton III.Ad Management by RedTyger
Copyright 2015 by RadioReference.com LLC Privacy Policy  |  Terms and Conditions