OP25 Double Success:
A big Thank You to the OP25 Developers! Nice Job!
I have a little experience with 8-bit microcontrollers, but I am a total novice to RPi’s and Linux.
I have an RTL-SDR V3 up and running on an RPi V3B+.
It was, for me at least, a steep learning curve for both learning the new OS and getting OP25 up and running. It now works very well for monitoring an 800 trunk tracking system on a very busy system, where the Talk Group’s literally just stream by continuously.
It will occasionally miss a transmission when compared side-by-side to my Fire/EMS Kenwood HT, but that is the nature of a trunked 800 system.
I then purchased a second RPi 3 B+ and “cheaper” RTL-SDR V3, (It looks the same, but it was from a different web site, perhaps a clone?), and it totally failed. Interestingly, it worked for ADSB receiving, and works for commercial FM radio stations, but not for the 800 MHz system.
I then purchased a third RTL-SDR V3 and went through my notes and found it would receive the 800 MHz trucked Talk Groups for a while, and then it would stop receiving them. “For a while” could be 10 minutes, or perhaps an hour or two. It would then work again, instantly, when restarted. (And was, therefore, not a thermal detuning problem.)
I spent days, on and off, over several months, trying to figure out why one system worked perfectly, and the other would only receive for a short while before stopping.
Bottom Line: The tutorial sites that I visited, and the “Op25 documentation, April, 2017” pdf, never mentioned the FINE TUNING, -d, option/argument, or explained it.
Many sites said: OK, now adjust the -q parameter, perhaps over a range of -10 to + 10, until the system works…
Yesterday, reading some forum posts, I learned about the -d fine tuning, performed after the -q option to tune until one is seeing the NAC and TGs listed.
I also learned, from forum discussions, that the Constellation Plot should look like four small, tight, clusters at 45 degrees off axis, and that one should adjust for the SMALLEST deviation on the Option #6 Tuner Plot.
It turns out my course range tuning, with the -q argument, was good enough to receive the control channel and get the NAC and see the TGs, and briefly listen in, but it was too far off to stay locked in.
Once I adjusted the Fine Tuning, with the “, “ and “.” keys, and then put the offset into the command line argument, the system has been receiving just fine, without stopping as it previously did.
It was truly frustrating to have two, side-by-side systems, one working well, and one totally failing.
One forum post for a similar problem suggested that the I/Q demod was locking onto the control channel signal, and then mis-synching when returning from a voice channel that was distant to the control channel. That, now, in retrospect makes good sense. (I'm using a single SDR dongle receiver on the RPi.)
In hind sight, now, I have a better understanding of how the system works, and how one should tune it, including the Fine Tuning.
Perhaps my Google Searches were missing the mark, but I kept finding a command line reference pdf from April 2017 that did not include the -d fine tuning option / parameter. And, unfortunately, the RPi – for – Idiots & OP25 tutorial I used, although incredibly helpful, didn’t mention the fine tuning process.
I did not find a more up to date reference for the command line arguments.
If there is one, perhaps it could be added to the WikiStart OP25 Wiki / Starting Points / Install Instructions list.
If not, perhaps one could be created and added.
It would also be very helpful, for the newbie, to have an explanation of the six GnuPlots, with diagrams, and a couple of sentences of what one is looking at. For example, I never paid any attention to the Tuner Plot, as I had no idea what information it was telling me, and I didn’t know if -1 was good, or if +1 was good, or (heaven forbid), if 0 was good. From one of the forum posts I noted that the SMALLER the deviations the better.
From my reading I understood that C4FM (etc) had four states, and therefor that the Constellation and the Symbol plots should likely have four values without a lot of in between values, but I didn’t know how to fine tune the system to optimize the data stream and minimize the data error rate.
It would be great if the Wiki Starting Points had even just a paragraph explaining the process of course tuning to see the NAK and TGs show up, followed by fine tuning to minimize the Tuning Plot bar graph deviation, to make the system work reliably.
It would be super-great if there was also a simple flow chart / box diagram of the signal processing, and where the various GnuPlots data comes from along the signal processing chain. That would help one with debugging their setup. It doesn’t have to include all of the nuances and inter-dependencies of the software, but the big picture. Something along the lines of: Antenna, Tunable RF Rx, I/Q Demod, Packet re-ordering / reconstruction, Packet interpretation, Talk Group White List / Black List / Encrypted check, IBME Audio decoder, Audio output routing.
The Starting Points could also have a short paragraph explaining that the RF Receiver is temperature dependent, and that one should let the receiver, (regardless of which model is being used), warm up to a stable operating temperature before attempting tuning. (I understood this, and it wasn’t my stumbling block for the above problem, but it seems to be useful info for many individuals who have a problem getting their system up and running.)
I noticed that the little RTL-SDR USB dongle was running very hot, too hot to comfortably hold one’s finger on the case. I put two heat sinks on the dongle, one on each side, held in place with a rubber band, and without bothering to use any thermal paste, and the dongle now runs much cooler, which is generally a good thing for electronics.
Also, for anyone else reading this, perhaps before the OP25 documentation is updated, I think that also the -q course tuning is given as an integer, -10 to 0 to +10, (or whatever range), and each unit represents 1200 Hz offset deviation, ( ? ), the -d arguments are actually listed as -100, or + 400, etc., in 100 Hz increments, and not as a multiplier for the number of 100 Hz offset units.
Once again, the fine tuning option got my second setup up and running perfectly, matching the first setup! It was, for me, a somewhat lengthy and frustrating process to determine that the solution was actually very simple and straightforward! Hopefully this comment will help others who have a similar issue with their setup, and perhaps the Wiki could have a few more comments, as suggested above, to help the true beginner get up and running smoothly.
I am truly impressed by OP25, and again want to say Thank You to the developers!
A big Thank You to the OP25 Developers! Nice Job!
I have a little experience with 8-bit microcontrollers, but I am a total novice to RPi’s and Linux.
I have an RTL-SDR V3 up and running on an RPi V3B+.
It was, for me at least, a steep learning curve for both learning the new OS and getting OP25 up and running. It now works very well for monitoring an 800 trunk tracking system on a very busy system, where the Talk Group’s literally just stream by continuously.
It will occasionally miss a transmission when compared side-by-side to my Fire/EMS Kenwood HT, but that is the nature of a trunked 800 system.
I then purchased a second RPi 3 B+ and “cheaper” RTL-SDR V3, (It looks the same, but it was from a different web site, perhaps a clone?), and it totally failed. Interestingly, it worked for ADSB receiving, and works for commercial FM radio stations, but not for the 800 MHz system.
I then purchased a third RTL-SDR V3 and went through my notes and found it would receive the 800 MHz trucked Talk Groups for a while, and then it would stop receiving them. “For a while” could be 10 minutes, or perhaps an hour or two. It would then work again, instantly, when restarted. (And was, therefore, not a thermal detuning problem.)
I spent days, on and off, over several months, trying to figure out why one system worked perfectly, and the other would only receive for a short while before stopping.
Bottom Line: The tutorial sites that I visited, and the “Op25 documentation, April, 2017” pdf, never mentioned the FINE TUNING, -d, option/argument, or explained it.
Many sites said: OK, now adjust the -q parameter, perhaps over a range of -10 to + 10, until the system works…
Yesterday, reading some forum posts, I learned about the -d fine tuning, performed after the -q option to tune until one is seeing the NAC and TGs listed.
I also learned, from forum discussions, that the Constellation Plot should look like four small, tight, clusters at 45 degrees off axis, and that one should adjust for the SMALLEST deviation on the Option #6 Tuner Plot.
It turns out my course range tuning, with the -q argument, was good enough to receive the control channel and get the NAC and see the TGs, and briefly listen in, but it was too far off to stay locked in.
Once I adjusted the Fine Tuning, with the “, “ and “.” keys, and then put the offset into the command line argument, the system has been receiving just fine, without stopping as it previously did.
It was truly frustrating to have two, side-by-side systems, one working well, and one totally failing.
One forum post for a similar problem suggested that the I/Q demod was locking onto the control channel signal, and then mis-synching when returning from a voice channel that was distant to the control channel. That, now, in retrospect makes good sense. (I'm using a single SDR dongle receiver on the RPi.)
In hind sight, now, I have a better understanding of how the system works, and how one should tune it, including the Fine Tuning.
Perhaps my Google Searches were missing the mark, but I kept finding a command line reference pdf from April 2017 that did not include the -d fine tuning option / parameter. And, unfortunately, the RPi – for – Idiots & OP25 tutorial I used, although incredibly helpful, didn’t mention the fine tuning process.
I did not find a more up to date reference for the command line arguments.
If there is one, perhaps it could be added to the WikiStart OP25 Wiki / Starting Points / Install Instructions list.
If not, perhaps one could be created and added.
It would also be very helpful, for the newbie, to have an explanation of the six GnuPlots, with diagrams, and a couple of sentences of what one is looking at. For example, I never paid any attention to the Tuner Plot, as I had no idea what information it was telling me, and I didn’t know if -1 was good, or if +1 was good, or (heaven forbid), if 0 was good. From one of the forum posts I noted that the SMALLER the deviations the better.
From my reading I understood that C4FM (etc) had four states, and therefor that the Constellation and the Symbol plots should likely have four values without a lot of in between values, but I didn’t know how to fine tune the system to optimize the data stream and minimize the data error rate.
It would be great if the Wiki Starting Points had even just a paragraph explaining the process of course tuning to see the NAK and TGs show up, followed by fine tuning to minimize the Tuning Plot bar graph deviation, to make the system work reliably.
It would be super-great if there was also a simple flow chart / box diagram of the signal processing, and where the various GnuPlots data comes from along the signal processing chain. That would help one with debugging their setup. It doesn’t have to include all of the nuances and inter-dependencies of the software, but the big picture. Something along the lines of: Antenna, Tunable RF Rx, I/Q Demod, Packet re-ordering / reconstruction, Packet interpretation, Talk Group White List / Black List / Encrypted check, IBME Audio decoder, Audio output routing.
The Starting Points could also have a short paragraph explaining that the RF Receiver is temperature dependent, and that one should let the receiver, (regardless of which model is being used), warm up to a stable operating temperature before attempting tuning. (I understood this, and it wasn’t my stumbling block for the above problem, but it seems to be useful info for many individuals who have a problem getting their system up and running.)
I noticed that the little RTL-SDR USB dongle was running very hot, too hot to comfortably hold one’s finger on the case. I put two heat sinks on the dongle, one on each side, held in place with a rubber band, and without bothering to use any thermal paste, and the dongle now runs much cooler, which is generally a good thing for electronics.
Also, for anyone else reading this, perhaps before the OP25 documentation is updated, I think that also the -q course tuning is given as an integer, -10 to 0 to +10, (or whatever range), and each unit represents 1200 Hz offset deviation, ( ? ), the -d arguments are actually listed as -100, or + 400, etc., in 100 Hz increments, and not as a multiplier for the number of 100 Hz offset units.
Once again, the fine tuning option got my second setup up and running perfectly, matching the first setup! It was, for me, a somewhat lengthy and frustrating process to determine that the solution was actually very simple and straightforward! Hopefully this comment will help others who have a similar issue with their setup, and perhaps the Wiki could have a few more comments, as suggested above, to help the true beginner get up and running smoothly.
I am truly impressed by OP25, and again want to say Thank You to the developers!
Last edited: