Before I go down a hole and end in a dead end....
I have some questions on using the -L option for "logging."
Logging in my universe means logging the audio to Dictaphone/tape/disk/CD/what
ever physical media... NOT the -v option, thats a log, not logging! :) ;)
So after reading about 30 different files on this -L option, it appers that it
will act as A LOGGING RECORDER and RECORD the audio to disk... Great!
What I am after is to record UNKNOWN GROUPS for analysis for ID purposes....
My question(s) are what options are used with this for:
rx.py
trunk.tsv
whitelist.tsv
blacklist.tsv
ie:
rx.py example
./rx.py --args 'rtl' -N 'LNA:47' -S 2400000 -f 8xx.xxxxe6 -o 25000 -q 72 -L 4
-v 10 -T trunk.tsv -V -2 -U -O loop0 -M mysystem.json -l
http:192.168.0.26:8080 -x 3 2>> stderr.2
trunk.tsv then REQUIRES a "center frequency" for the system... 8xx.xxxx based
on the channels of the system... I've determined this for this system,
and it will just fit the way this is setup.
This will then RECORD the various groups that are NOT BLACKLISTED to disk as
WAV's from what I understand... Correct????
Ie: OP25 tunes to a group, it records it.
Anything that is exlusive of each other on this -L option with other optons
for rx.py????
Any thing I am missing in this?????
Goal is simple to log any group I've not blacklisted as known user/use..
Thanks.
In reviewing the various setups of trunking_file.tsv, id_file.tsv
etc... and looking over various documentation, I am not seeing a means
to do RID(LID) or Radio ID aliasing...
I am I missing this some place???
The systems can be setup to alias out $47E136 as "Helo1" etc... The
systems have places to do this from the start and update from consoles
etc...
Any way to do that in OP25???????? ie:
rid.tsv
47e136 Helo1
47e137 Helo2
etc...
Turning RID into an alias would be a plus to ID units... ie: Ladder1,
Ladder1_Portable, FF152521, etc.. Many of these are pretty static..
now some depending on you agency(s) may not be... in on a particular
group would need some updates each year, as they change based on a
progression system.
CC Data is there some sort of aggregate that determines the quality of
the CC data coming out???? That can accessed programmatically???
Or maybe that question is better referenced as is the there something
that documents the API to OP25 that the various python scripts are
using to possible do what I want... The plots are not useful as I
desire text data to use in another place....
So I guess something that documents interacting with the underlying
mechnations of OP25 would probably help to do what I am after with the
CC.
Thanks.
Trying to report an bug/issue, but
https://github.com/boatbod/op25/issues doesn't work, goes to wrong
place, and there is no link on the main page of it.
BUG: Program dies due to uncaught exception
Details:
When updating the metadata/"tags" to IceCast, if the connection has
died for some reason, LAN goes down, what ever... There is an uncaught
exception which will kill OP25 running.
1547434556.069343 set tgid=53, srcaddr=0
Exception in thread Thread-4:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/home/pi/op25/op25/gr-op25_repeater/apps/icemeta.py", line 60, in run
self.send_metadata(self.msg.to_string())
File "/home/pi/op25/op25/gr-op25_repeater/apps/icemeta.py", line
77, in send_metadata
r = requests.get((requestToSend), auth=("source",self.cfg['icecastPass']))
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 70, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line
488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line
609, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line
487, in send
raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='audio.myserver.net',
port=8000): Max retries exceeded with url:
/admin/metadata?mount=/RedactedFeed&mode=updinfo&song=[idle] (Caused
by
NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection
object at 0x691bc8d0>: Failed to establish a new connection: [Errno
110] Connection timed out',))
This is not about an issue with the connection, there was, and
eventually led to the Pi being replaced as faulty or melted down from
use of OP25 :) ;)
If the max retries is exceeded or any error where the update fails, it
shouldn't kill OP25 from running...
Glad to add to the issues section of github, but see top part, for
some reason its not there. (??????)
Hi --
After a few months away, I fired up the op25 machine today and updated
to the latest boatbod version. Great improvements, especially the web
interface!
I'm having a minor issue, though. It seems as though my whitelist file
is no longer working. The log shows that it's being read, but doesn't
list the included groups, and I'm hearing lots of traffic from TGs that
aren't on the list. Has anything changed in whitelist handling? (My wl
file is in two column format: TGID<tab>TAG which worked after patches
that Graham applied last year.)
And, by the way, thanks Graham for fixing the statistics.sh script; I
never quite got around to that after the log file format changed.
Thanks,
John
Before I go down a hole and end in a dead end....
I have some questions on using the -L option for "logging."
Logging in my universe means logging the audio to Dictaphone/tape/disk/CD/what
ever physical media... NOT the -v option, thats a log, not logging. :) ;)
So after reading about 30 different files on this -L option, it
appears that it
will act as A LOGGING RECORDER and RECORD the audio to disk... Great!
What I am after is to record UNKNOWN GROUPS for analysis for ID purposes....
My question(s) are what options are used with this for:
rx.py
trunk.tsv
whitelist.tsv
blacklist.tsv
ie:
rx.py example
./rx.py --args 'rtl' -N 'LNA:47' -S 2400000 -f 8xx.xxxxe6 -o 25000 -q 72 -L 4
-v 10 -T trunk.tsv -V -2 -U -O loop0 -M mysystem.json -l
http:192.168.0.26:8080 -x 3 2>> stderr.2
trunk.tsv then REQUIRES a "center frequency" for the system... 8xx.xxxx based
on the channels of the system... I've determined this for this system,
and it will just fit the way this is setup.
This will then RECORD the various groups that are NOT BLACKLISTED to disk as
WAV's from what I understand... Correct????
Ie: OP25 tunes to a group, it records it.
Anything that is exclusive of each other on this -L option with other optons
for rx.py????
Any thing I am missing in this?????
Goal is simple to log any group I've not blacklisted as known user/use..
Thanks.
I am noticing as I set this up and letting it run that after some
point the audio dies on loop0, thus the feed is silence, nicht gut!
Any one else seeing this????
This is both on a PI3B+....and an old dual core laptop.....
The laptop has a -V10 and I tail the output log, and the decode
traffic is still good for the CC, no errors in it...
I can see TG's appear in the tags for the groups from both, just no
audio.... :( :(
Simply killing rx.py, restart, audio comes back,....
Doesn't seem to be much to tie it down... runs overnight, no issues, I
even restarted OP25 on both setups to make some changes to use the TG
priority option... and that was about 10 or so hours of run time....
as some point after the 5-6 hour time period it die{d|s} .. can't be
exact as real work gets in the way...
Dongle related?? But if it was that would expect to see CC decode
errors etc... but I see CC decodes stream, and then decodes for data
when voice is active..... ? ? ?
Any one else seeing this ??? Any corrective action???? ? ? ? ? ? ??
? ? ? ? ? ?
THANKS!
OK... I've put my RPi3B+ to work...
Raspbian Image, updated, fully loaded.. (NOT NOOBS, this is just
Raspbian Full )
Run through the install setup for OP25 from:
https://www.hagensieker.com/wordpress/2018/07/17/op25-for-dummies/
Did this for my reclaimed laptop and this Pi...
OP25 working on both... Local audio good on both. Tracks the PII
system I need to put under review...
So that works good..
The problem is feeding audio to my IceCast server.. :( :( :(
I installed a MP3 capable Darkice with its deps... its starts up
fine.. The feed appears on my server
I am using the info at
https://www.hagensieker.com/wordpress/2018/07/20/op25-raspberry-pi-streamin…
I created /etc/asound.conf and /etc/modprobe.d/bcm2835.conf
I rebooted the Pi rather than any reloading of things, to ensure that
loopback created and loaded etc...
For the ALSA Loopback etc. info and setup.....
so is the ALSA loopback setup????
/darkice $ cat /proc/modules | grep snd
snd_aloop 24576 0 - Live 0x7f3a6000
snd_bcm2835 32768 1 - Live 0x7f399000 (C)
Check! Pi audio and ALSA loopback... CHECK CHECK!
snd_pcm 98304 2 snd_aloop,snd_bcm2835, Live 0x7f138000
snd_timer 32768 1 snd_pcm, Live 0x7f11d000
snd 69632 6 snd_aloop,snd_bcm2835,snd_pcm,snd_timer, Live 0x7f102000
ALSA seems to be a dark arts thing.. I use some plugins on another
setup to create L/R into separate feeds into darkice and that works
great.... so I took it this loopback thing would do the same...
Seems the loopback exists....from:
~/darkice $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 7/7
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 2/2
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 2/2
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Loopbacks!!!! WOOT!
With this I will take it that the loopback and needed config files are
correct, and have not posted them...
Darkice cfg IS SET to loop0
~/darkice $ cat lakelandp25.cfg
# sample DarkIce configuration file, edit for your needs before using
# see the darkice.cfg man page for details
# this section describes general aspects of the live streaming session
[general]
duration = 0 # duration of encoding, in seconds. 0 means forever
bufferSecs = 1 # size of internal slip buffer, in seconds
reconnect = yes # reconnect to the server(s) if disconnected
# this section describes the audio input that will be streamed
[input]
device = loop0 # OSS DSP soundcard device for the audio input
sampleRate = 22050 # sample rate in Hz. 22050 i
bitsPerSample = 16 # bits per sample. 16 for mono feeds, 32 for
stereo feeds
channel = 1 # channels. 1 = mono, 2 = stereo
# this section describes a streaming connection to an IceCast server
# there may be up to 8 of these sections, named [icecast-0] ... [icecast-7]
# these can be mixed with [icecast2-x] and [shoutcast-x] sections
# If you want to send to your own icecast server, you basically copy
# this whole section and put in the values to point the feed to your own
# server i
# Don't forget, the name [icecast2-0] needs to change to [icecast2-1]
# and 2 and 3 as you add more feed destinations.
[icecast2-0]
# The audio format to encode to, we're using mp3 here
format = mp3
# The bit rate mode to use, the commented out lines are for a fixed bit
# rate "constant bit rate" at 16 bits. I prefer the variable bit rate
# for the sound quality it has and the throughput is very similar on avg
#bitrateMode = cbr
#bitrate = 16
sampleRate = 22050 # sample rate in Hz. 22050 is the
bitrateMode = cbr
bitrate = 16
# Quality at .1, max is 1.0, but as you increase, so does the bandwidth
# used. For mono scanner audio .1 is totally fine.
quality = 0.1
# Takes the input and mixes it down to a mono output for the feed.
channel = 1
# Cuts frequency response over 5kHz. For scanner feed this mostly
# eliminates hiss and harshness on paging tones. Saves a bunch of
# bandwidth as well.
lowpass = 5000
# From Feed Technical Details, the "Server"
server = audio.myserver.net
# From Feed Technical Details, the "Port"
port = 8000 # port of the IceCast server, usually 8000
# From Feed Technical Details, the Password exactly as shown
password = hackmeNOT!
# From Feed Technical Details, the mount...remove the leading "/", it's
# not needed in this file. So if it is /999999 make it just 999999
mountPoint = Redacatedfeed
# name of the stream
# On My Live Audio Feeds, it's the first part ending in a colon ":"
name = Redactedfeed
# On My Live Audio Feeds, it's the part in parentheses in the Feed name
description = redactedfeed
start up OP25
./rx.py --args 'rtl' -N 'LNA:19' -l http:192.168.0.28:8080 -S 2400000
-f 8xx.7xxxxe6 -o 25000 -q 26 -T trunk.tsv -V -2 -O loop0 2>
stderrstream.2
OP25 starts up... SILENCE on the feed
./rx.py --args 'rtl' -N 'LNA:19' -l http:192.168.0.28:8080 -S 2400000
-f 8xx.7xxxe6 -o 25000 -q 26 -T trunk.tsv -V -2 -M myststem.json -O
loop0 2> stderrstream.2
SILENCE BUT I GET TAGS! ! ! ! So the audio is not piped through some
where?????
I figured if it was a issue with audio, tags would come through with
out the audio...
./rx.py --args 'rtl' -N 'LNA:19' -l http:192.168.0.28:8080 -S 2400000
-f 8xx.xxxxe6 -o 25000 -q 26 -T trunk.tsv -V -2 -U -W 127.0.0.1 2>
stderrstream.2
Watching the http output I see data come in, TSBK count goes up, TG's
appear etc... NO AUDIO :( on the feed, WITH tags.... :)
Local audio comes out the speakers.... So audio is recovered and in
good quality even for a Pi..
Any hints, clues? ?? ? I've tried a couple of different setups for
the loopback with an .asound.rc in the /home/user, used loop1, hw:1,0,
hw:1,1 etc. tried as 2 channel audio v. single channel audio in
darkice... still silence is not golden.... :(
Any hints on getting the loopback audio working?? ? ? ? ? I might try
it on the laptop setup too to see if its a Pi thing... My hunch is
the magic dark arts of the right ALSA name for where the audio is at
is wrong in the darkice config....but I've tried everything I can
think of
Thanks.
Effective January 1, 2019, this op25-dev mailing list is closed; no
further posts to the yahoo group will be accepted after that date.
The list is being relocated; going forward it will be hosted
by osmocom.org. For more information please refer to the
list's new home page:
https://lists.osmocom.org/mailman/listinfo/op25-devhttps://lists.osmocom.org/mailman/listinfo/op25-dev
At this time I should like to take the opportunity to thank our
new hosts at osmocom.org for volunteering to host the mail
list, and for going to the trouble of backfilling list content
starting from 2012...
Best
Max
p.s. if anyone has a copy of the old list archives covering the period
from 2008 - 2012, please contact us