Radio Reference Trunk Track list > .tsv for OP25

Status
Not open for further replies.

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
Trying to get the Emergency Services around LA in a .tsv file for OP25 - can anyone help me out?

Everytime I download a .csv whenI paste it into Libreoffice it all appears in rows one and two cell A.

If you have a LA .tsv and wouldnt mind sharing I'd much appreciate it!
 

br0adband

Member
Joined
Apr 8, 2005
Messages
1,569
Location
Springfield MO
For the .tsv all you need are the two columns: the TGID itself and the alpha tag so you'll end up deleting columns. I'm doing this myself at this moment so I'm going to share the step by step instructions that I'm going through as posted. I'm only doing a small number of talkgroups for this example. Obviously it would be nice to just paste the copied text into gedit or some other pure text editor and automagically delete the entire columns that aren't necessary but since I'm not that deep into using Linux (I know it can be done, I just don't have the necessary skills to do that sort of thing from the command line) so this is how I myself do a copy/paste/edit from the RR database as required. Try different ones and perhaps you'll find something that works even better for you.

1) Copy the information as needed from the given RR database page to the clipboard (highlight/select the text, right click, Copy)



2) Open LibreOffice Calc and right-click in the upper-leftmost corner cell (A1) and select Paste Special



3) Make sure Unformatted text is selected and click OK



4) In the Separator section make sure that only "Separated by" and Tab are selected



5) You should get something similar to this



6) On the column headers (where the A B C D E etc are) right click on the header itself and select "Delete Selected Columns" for those columns that need to be removed - for the tsv file all that's necessary is the TGID and the alphatag columns so the rest can go. In my example here I'll be removing the B C E F G columns (note that the contents can change based on the column so when I remove the B column everything in what was listed as C now becomes a new B column, don't get stuck on the headers, just focus on the column content and get rid of everything except the TGID column and the alphatag column)



7) You'll end up with something similar to this



8) Click File on the menu (you may have to move the mouse cursor to the top of the screen to get the menu bar to appear - I use a low resolution in my VM of 1280x800 and just keep most windows maximized for efficiency)) and then choose Save As...



9) On the dialogue that pops up, in the lower right hand corner you need to click the drop-down menu that says All Formats and then scroll down to select Text CSV (.csv) - we'll be changing the extension later but for now this is what you want it saved as (the format) because LibreOffice Calc won't save direct to a tsv extension - name the file whatever you want or just leave it as Untitled (number) and it can be renamed later, it's up to you and then click Save



10) The following popup will appear so make sure the checkbox is selected as shown and then click the "Use Text CSV Format" button



11) This is the important step so make sure you do it right: on this last popup dialogue you need to select the drop-down menu for Field delimiter and change it to Tab as shown then click OK - this formats the information using Tabs (not commas or spaces) because of course OP25 uses tab delimited configuration files



12) Find the file wherever you saved it (I save mine to the Desktop by default them copy them to wherever I need 'em so I have the originals handy there if needed) and then right-click on it and choose Rename...



13) Change the extension from csv to tsv and hit Enter to make it permanent, now the filename will reflect it's <filename>.tsv - I use gedit for editing tsv files (I changed the default association in Ubuntu from LibreOffice Calc to gedit for those) because it's faster and simpler for me to do it that way, use whatever you like but I'd suggest not using LibreOffice Calc because if you do every time you want to save the file you'll have to do the last few steps above (save as csv, text format, etc, then rename it) and that gets old fast



14) As shown in gedit, now I have the "proper" format with just the TGID, a tab, then the alphatag and nothing more



Once you're done copy or move the tsv file to the ~/op25/op25/gr-op25_repeater/apps directory as required (unless you saved them there to begin with). That should get you going, good luck.
 

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
Thanks yet again mate! You're a massive help. I've got OP25 installed and scope.py is executable -- but from reading around I think I need some GnuRadio install for GR-Osmosdr which helps select device. Is that your experience too? Im installing GNU from here OP25 How To Build - SpenchWiki with the command "wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio -v all" Got to around 90% and it crashed so redoing that script now. Hoping it works this time around -- then I can get going with OP25 proper.
One thing I can't see is a user guide for OP25 -- well I see lots and lots of videos and the wiki - but no single 'How to use OP25' . I guess I need a OP25 for dummies as its so different from SDR# and GQRX that I'm used to playing with. If there is such a guide please point me in that direction.

Out of interest have you ever managed to receive the P25 text transmissions? They send these to the cars from dispatch with the P25 signal. I read somewhere OP25 can decode these but not sure what you would use to do it.

After that I want to try and make everything as small as possible -- either using a tablet or phone with 14.04 installed so its mobile in my car. I'm a reporter in LA and that will be useful.

I saw at the beginning of the main thread someone was trying to build GNU and OP25 on a Raspberry Pi but there was no indication if it was ever successful.

Do you by chance know? Sorry for so many questions -- especially if this isn't the place for them.

Eric
 

jaguarundi

Newbie
Joined
Feb 22, 2017
Messages
4
Regarding building gnuradio you may want to use pybombs instead of build-gnuradio. I think pybombs started as build-gnuradio.
 

br0adband

Member
Joined
Apr 8, 2005
Messages
1,569
Location
Springfield MO
I'm not sure how you're building out OP25 or potentially GNURadio but the "new and improved" method of installing OP25 is much much simpler:

http://forums.radioreference.com/software-defined-radio/301459-virtualbox-project-run-op25-windows-7-a-16.html#post2654021

Those instructions, which can be used to install Ubuntu + OP25 in either a virtual machine or directly on the bare-metal hardware are faster (by hours in some instances compared to the old method of actually having to compile GNURadio then OP25) and just plain old easier to do to get it up and running. I tell people that you can do a clean install of Ubuntu 14.04.5 + OP25 and be actually monitoring something in 20 minutes and I do actually mean it, maybe even less depending on your experience with Ubuntu and the command line instructions that need to be done.

The encoded text transmissions that P25 supports aren't anything that appeal to me as I've never encountered a situation where they'd prove useful to any degree; LEOs and other agencies would use either their MDTs or perhaps smartphones for sending such information as most every actual portable radio aka handhelds in use today simply doesn't have a display panel that can adequately display a lot of info and of course those handhelds don't have a proper keyboard on them so trying to fire off a text message from a numeric keypad is unwieldy even in the best situations.

Can't speak for how "small" you can get things however; I know there was a version of Ubuntu years ago known as Ubuntu Netbook Remix which was meant for Netbooks with very limited resources and storage capacity but that stopped development quite a while back (10.10 was the last version so at least 6 full years now). As for small in terms of physical size a tablet would more than likely be your goal, it might - and I'm saying might - be possible to use Ubuntu 14.04.5 + OP25 with one of those HP Stream 7 or Stream 8 7"/8" which are actual Intel x86 based hardware as OP25 won't work on ARM-based platforms, at least not yet so it's "a real computer" running Windows by default but you can more than likely install Ubuntu on one of them (but don't quote me on that).

Never been interested in the Raspberry Pi side of things, I'm not much of a hardware developer and never had such interests personally but I do know those small types of computing devices are incredibly popular nowadays so I'm sure someone with the talent could probably make some magic happen at some point.

And as for a user guide for OP25, if I had to point you in a direction it would be either the actual OP25 website (here) or that thread about OP25 in a virtual machine we have here in the SDR subforum which contains that post I linked to above with the new method of installation. Note that the info on that page is somewhat technical but should be easy to get a handle on if you're actively using OP25 to be able to correlate the info as you're going over application itself.

Suffice to say if you can run OP25 using the command line for ./scope.py it's working and it's installed, can't speak for any issues you're currently having but if you perhaps scrap what you've got and then start over again with a clean install and use those specific instructions at the post I linked to above I'm sure it'll probably work much better the second (or third) time around as required.

Also, if you indeed are trying to get OP25 installed in a virtual machine there will be issues with the sound output but someone discovered a fix for that as well and it resolves the nasty choppy audio problems with using OP25 in a VM almost entirely and the solution is in this post (links to a YouTube video tutorial):

http://forums.radioreference.com/software-defined-radio/301459-virtualbox-project-run-op25-windows-7-a-20.html#post2711708

The solution basically involves editing a single configuration file for Pulse audio (the audio subsystem in that Ubuntu build) to disable it so it falls back to using the ALSA mixer (much less resource intense and almost no lag/latency which caused the choppy audio problems). You edit the file, remove a semicolon and change a variable from 1 to 0 and save it, reboot the VM and you're pretty much done, takes seconds to "fix" that audio.

Hope this helps...
 

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
ive got it installed and am using an external soundcard since 14.04 cant find mine.

im totaly stuck on the .tsv file though.

your Las Vegas one makes sence but i cant fing the tgids and alpha tags for LAPD only all the frequencies -- i know they use trunkimg but is there an alternative way of settimg up the tsv file with frequencies rather than tgids amd alpha tags? sorry if this is me being dumb and i really appreciate your help
 

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
ok so ive been told that LA isnt trunked just conventional P25

I tried these --args for frequency and get this errror:

./scope.py --args 'hackrf' -g 65 -f 484.93750
osmosdr source_c creation failure
Traceback (most recent call last):
File "./scope.py", line 2751, in <module>
app = stdgui2.stdapp(p25_rx_block, "APCO P25 Receiver", 3)
File "/usr/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 47, in __init__
wx.App.__init__ (self, redirect=False)
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7981, in __init__
self._BootstrapApp()
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7555, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 51, in OnInit
self._max_noutput_items)
File "/usr/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 73, in __init__
self.panel = stdpanel (self, self, top_block_maker, max_nouts)
File "/usr/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 96, in __init__
self.top_block = top_block_maker (frame, self, vbox, sys.argv)
File "./scope.py", line 156, in __init__
gain_names = self.src.get_gain_names()
AttributeError: 'NoneType' object has no attribute 'get_gain_names'

is that me not puttimg in --args correctly or is it another bad build /missing dependencies?
 

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
Does this mean anything to anyone here -- been at this for a couple weeks now!! I know Im getting closer - I did have the Scope.Py GUI at one point but then broke it when I was trying to get Ubuntu to find my sound card ... No I can't get it to run and I don't know why -- everything seemed to comeliest enough.

Do I actually need full GNURADIO for OP25 or am I overcomplicating things here?


I did new GNURadio install yesterday but still getting this output when I try to start scope.py

Osmosdr source_C creation failure
(Traceback most recent call last):
File "./scope.py", line 2751, in <module>
app = stdgui2.stdapp(p25_rx_block, "APCO P25 Receiver", 3)
File "/usr/local/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 46, in __init__
wx.App.__init__ (self, redirect=False)
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7981, in __init__
self._BootstrapApp()
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7555, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 49, in OnInit
frame = stdframe (self.top_block_maker, self.title, self._nstatus)
File "/usr/local/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 76, in __init__
self.panel = stdpanel (self, self, top_block_maker)
File "/usr/local/lib/python2.7/dist-packages/gnuradio/wxgui/stdgui2.py", line 98, in __init__
self.top_block = top_block_maker (frame, self, vbox, sys.argv)
File "./scope.py", line 156, in __init__
gain_names = self.src.get_gain_names()
AttributeError: 'NoneType' object has no attribute 'get_gain_names'
 

PiccoIntegra

Member
Joined
Dec 19, 2002
Messages
527
Location
North Texas
Try this instead..

./scope.py --args 'hackrf' -f 484.9375e6 -N 'RF:14,IF:32,BB:26' -o 20e3 -v 0

I don't have the hackrf, so I don't know how the gain stages work for that device.
 

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
Woo Hoo! Im recieving signals for first time through HackRF

Basically I hadn't installed the bloody HackRF firmware when I was building which was why they werent syncing.

Now I have activity in all the views in Scope.py -- no idea how to get the constellation to the four dot grouping though. Also not worked out the args for audio out through internal speakers. But progress is being made if a touch slow.

Im currently running off a USB drive install of 14.04 as per instructuions on maIN op25 page. Ive been told LAPD dont use trunking but do use talkgroups so at some point I have to work out what I do with the TSV.

Also Im tuning to frequencies that are known P25 on Radio Reference database but not getting much synching going on. Think that might be an offset issue I need to compensate for somewhere.

Thanks for all your help getting me to this point -- it really was a 20 minute install after 20 days of trying and failing!! NOW I WANT TO HEAR SOME VOICES!!! hahaha
 

marcotor

Member
Premium Subscriber
Joined
Nov 4, 2004
Messages
718
Location
Sunny SoCal
There's something new. In 45 years of listening to LAPD, I've never heard them use any talkgroups, Please share your information.
 

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
No this was my misunderstanding -- is previously used GQRX and DSD+ in tandem -- the dispatch would go out over expected frequency but replies were coming back on near but not the same frequencies. I misunderstood this and thought it meant it was a trunked system using talk groups.

I'm still not clear exactly how OP25 can be used to get both sides of the conversation but have been told it is not trunked and they use Simplex (what's this?) and it's not talk groups but 'Talk Around' -- how would I configure a TSV file for these? Is it even possible to follow both sides? I have buddies that are news stringers using conventional hardware scanners and they seem to be doing a pretty good job with just the hardware.

Sorry for any confusion - ignorance on my part - again, anything anyone can explain to me about using OP25 with the LAPD system would be much appreciated. I'm a journalist and my goal in this project from the start has been to monitor the frequencies when I'm mobile which is why I'm trying to run everything from a tablet so I can mount it in my car - with a rooftop antenna. Made slow progress but now have OP25 running on it with my HackRF - I used the example args / flags and TSV file on the OP25 page - it runs and I see wavy lines in dafascope etc -- my issue now is tuning in to the frequencies that are down for LA on the RR database. With the flags I've used (removing the trunking TSV file) even if I manually enter the frequency I don't think I'm getting a good P25 signal. It's likely offset? Not sure. I may even stop using the hack RF and use a RTLSDR dongle. As the tablet appears to have an issue powering the Hack RF and the external sound card I'm using as Ununtu 14.04 can't find the tablets internal sound card. On my MacBook running an install from a USB drive there's no such problem apart from me not knowing the args / flags for the internal speakers or headphones.

I'd eventually like to set this up on a Raspberry Pi 3 but I'm getting ahead of myself
 

slicerwizard

Member
Joined
Sep 19, 2002
Messages
5,527
Location
Toronto, Ontario
No this was my misunderstanding -- is previously used GQRX and DSD+ in tandem -- the dispatch would go out over expected frequency but replies were coming back on near but not the same frequencies. I misunderstood this and thought it meant it was a trunked system using talk groups.
Looks like LAPD uses separate frequencies for the dispatchers and the replies from the field. So you need software that can scan at least two specified frequencies and stop on active carriers.
 

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
&#65532;&#65532;EEEK! So are you saying OP25 can't do that? Is there anything that can other than hardware at the moment?

Thanks
 

marcotor

Member
Premium Subscriber
Joined
Nov 4, 2004
Messages
718
Location
Sunny SoCal
DSD works great for LAPD, which is repeated. Depending on use, you won't hear SWAT ops and the like unless you're very close, but the everyday dispatch/hotshot/tac/admin stuff is easy to catch in almost the entire basin.
 

awooga

Member
Premium Subscriber
Joined
Jan 12, 2017
Messages
28
Im dine with DSD+ and Gqrx on mc but how to you get the responding caller -- they respond on different frequencies -- how do you lock that in with the main freq
 

dave3825

Member
Premium Subscriber
Joined
Feb 17, 2003
Messages
2,524
Location
New York
I have been playing around for a while with this and making headway. (I am a windows guy) but i have a problem.

If I do f 502.70000e6 -g 65 -o 17e3 -N 'LNA:35' -V I can see the control channel data and it shows the active voices freqs.

If I run f 502.70000e6 -g 65 -o 17e3 -N 'LNA:35' -V -T trunk.tsv ,I get the following.. And I did edit trunk.tsv to reflect the nass.tsv (nassau co talkgroups file) I created following Broadbands step by step outlined post towards the beginning of this thread. I dont understand what the error means so I cant really search it. When the cc data was up, it listed the nac as 1a0 so thats what I added to the entry in trunk.tsv. Does anyone know what this error means?





f 502.70000e6 -g 65 -o 17e3 -N 'LNA:35' -V -T nass.tsv
linux; GNU C++ version 5.3.1 20151219; Boost_105800; UHD_003.009.002-0-unknown

gr-osmosdr 0.1.4 (0.1.4) gnuradio 3.7.9
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy redpitaya
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 35
supported sample rates 250000-2560000 step 24000
Invalid sample rate: 320000 Hz
Using Volk machine: sse4_2_64_orc
Using two-stage decimator for speed=1024000, decim=16/2 if1=64000 if2=32000
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.
p25_frame_assembler_impl: do_imbe[1], do_output[0], do_audio_output[1], do_phase2_tdma[0], do_nocrypt[0]
Traceback (most recent call last):
File "./rx.py", line 826, in <module>
rx = rx_main()
File "./rx.py", line 751, in __init__
self.tb = p25_rx_block(self.options)
File "./rx.py", line 185, in __init__
self.open_usrp()
File "./rx.py", line 683, in open_usrp
self.__set_rx_from_osmosdr()
File "./rx.py", line 628, in __set_rx_from_osmosdr
self.__build_graph(self.src, capture_rate)
File "./rx.py", line 291, in __build_graph
self.trunk_rx = trunking.rx_ctl(frequency_set = self.change_freq, debug = self.options.verbosity, conf_file = self.options.trunk_conf_file, logfile_workers=logfile_workers)
File "/home/dave/op25/op25/gr-op25_repeater/apps/trunking.py", line 628, in __init__
self.build_config_tsv(conf_file)
File "/home/dave/op25/op25/gr-op25_repeater/apps/trunking.py", line 693, in build_config_tsv
nac = int(fields['nac'], 0)
KeyError: 'nac'
dave@dave-Aspire-5820T:~/op25/op25/gr-op25_repeater/apps$
 

boatbod

Member
Premium Subscriber
Joined
Mar 3, 2007
Messages
1,787
Location
Talbot Co, MD
The error suggests op25 does not like the format of your trunk.tsv file when it is trying to read the nac value. Make sure you have one single tab character between each field.

You're also going to want to add "-U" and possibly also "-2" to your startup script command line.
 
Status
Not open for further replies.
Top