DSD FME

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
Would DSD-FME be able to monitor an EDACS Networked standard system like this one: STM - Montreal transit ?
All voice calls are analog

Yes, theoretically, the newest Windows release, v2.1b and audio_work branches all should be able to handle EDACS analog calls (and also analog source monitoring), and you may or may not need to use the -9 switch to force it to use standard framesets if it doesn't automatically detect which variant of EDACS is in operation. If you use SDR++, you'll want to use the squelch box so DSD-FME knows when the call has ended via RMS and return to the control channel. Analog calls will not work correctly on arm devices currently as using the rtl_rms function is a CPU hog, so I had to disable it.

If you use the slightly newer v2.1b or audio_work branches, I literally just added support for the EDACS/PV EOT dotting sequence, so using squelch shouldn't be required over there, but if the signal is poor, it may not tranlate the dotting sequence at the end of the call correctly and return to the control channel properly, but I've noticed with it enabled, it MAY randomly flip back to the CC so, I guess its up to you to test it out for me.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
274
Location
Spring, Texas
Sounds like you have SDR++ on the client side connected up to the SDR++ server side just fine if its running. Again, you'll need to run the network sink in TCP mode, 480000, no stereo, and either just use the default localhost address and port provided, or give it an IP address to bind to (usually the computers own IP address) and basically just do the same for rigctl, have it configured with localhost or a binding IP address and port. You'll want to start up both so that they are both listening, and then attempt to connect dsd-fme to it.
I absolutely have it configured just as you say: Network sink (no stereo,rate 48k, TCP mode). I have RigCtl set to 192.168.0.208 (the IP of the client SDRpp machine) Controlled VFO Radio, Tuning is the only thing checked and when I start it goes to Listening. I then start DSD-FME with

dsd-fme -fs -i tcp -U 4532 -T -C united_site14.csv -G united_groups.csv -N 2> log.ans

Network sink goes to connected and RigCtl is Listening. But, if I change the source to localhost and then start DSD-FME both Network Sink and Rig-Ctl go to connected.
If nothing else, perhaps just watching the correct sequence of events will be good enough to point you in the correct direction.
So, I watched your video and when I have both Net sink and Rig-Ctl set to localhost and they're both connected SDRpp doesn't do what yours does and display that it is monitoring the CC. So now I wonder if something is wrong with my csv files. I followed the template in your examples folder. I have attached the files here. Of course I had to rename them to txt since I couldn't keep them as csv files. I followed RR database for my site.csv but no TGs were listed for the IAH site so I used the O'Hare TGs. I thought that all that is important for the groups.csv is the TG number and its mode. As you see on the O'Hare TG numbers don't agree and they're using 'T' mode (Trunk mode?). Does it matter if the TG numbers in the group.csv aren't the TG numbers from my local CC are different? Since RR doesn't have a TG listing can I just leave the groups.csv off?

If I'm not being clear I can make a video showing you what I'm doing.
mike
 

Attachments

  • united_site14.txt
    290 bytes · Views: 6
  • united_groups.txt
    660 bytes · Views: 4
  • United TGs.png
    United TGs.png
    32.4 KB · Views: 9
  • United Chan Map.PNG
    United Chan Map.PNG
    18.6 KB · Views: 9
Last edited:

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
This is what your 'csv' file looks like
Code:
ChannelNumber(dec)    frequency(Hz) (do not delete this line or won't import properly)       
1    936900000    default cc (come here first)     optional use non-existent channel as first entry
2    936900000
1    937162500
2    937162500
1    937650000
2    937650000
1    937675000
2    937675000   
1    937900000       
2    937900000

it seems to be missing the 'comma seperated' portion of the 'csv' format, and also appears to have busted LCN listings. I'm assuming this is because RR doesn't carry the LCN listing because it breaks some scanners or something from working correctly. You'll probably have to do some sleuthing by observing the CC for the Cd channel listing (lpcn) to import by matching a Cd value from a voice grant to a frequency.

DMR T3 Voice Grants
Code:
 Talkgroup Voice Channel Grant (TV_GRANT) - Logical
  Ch [036] Cd [0054] C+ [0110] - TS [1] - Target [01900500] - Source [01900505]

This is what your csv file should look like, just substitute in the LCN numbers for the real ones, you might can ask somebody in the region appropriate forum for the real LCN (lpcn) values on that system. Also remember, on multi site systems, make one csv file per site if they have overlapping LCN (lpcn) values. Or you might try an LCN calculator to calculate the real LCN value from the frequencies, but your mileage may vary on those.

Code:
ChannelNumber(dec),frequency(Hz)   
1,936900000
2,936900000
3,937162500
4,937162500
5,937650000
6,937650000
7,937675000
8,937675000   
9,937900000       
10,937900000

Same issue on the group list, although any group.csv file is completely optional, its nice to have if wanted to block things and give names, but not mandatory.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
274
Location
Spring, Texas
This is what your 'csv' file looks like
Code:
ChannelNumber(dec)    frequency(Hz) (do not delete this line or won't import properly)      
1    936900000    default cc (come here first)     optional use non-existent channel as first entry
2    936900000
1    937162500
2    937162500

it seems to be missing the 'comma seperated' portion of the 'csv' format,
Crap. I'm so used to editing in Libre Calc the TSV files for DSD+ FL that I just by habit save it as tab separated.
and also appears to have busted LCN listings.
Yeah, I remember something about the LCNs in the days that I was using DSD+ FL.
You'll probably have to do some sleuthing by observing the CC for the Cd channel listing (lpcn) to import by matching a Cd value from a voice grant to a frequency.

DMR T3 Voice Grants
Code:
 Talkgroup Voice Channel Grant (TV_GRANT) - Logical
  Ch [036] Cd [0054] C+ [0110] - TS [1] - Target [01900500] - Source [01900505]

This is what your csv file should look like, just substitute in the LCN numbers for the real ones,
I'm not sure how I get access to the voice grants data on the CC.
you might can ask somebody in the region appropriate forum for the real LCN (lpcn) values on that system.
I may have to do that. Although the TIII system for United just got put up on RR so probably no one has that info yet.

I do have the trunking working to a degree but that's probably by pure luck some of the frequencies in the site csv are actually right. But until I have it 100% mapped correctly it won't work 100%. :cool:

I noticed that in your video you must've been using a different version of DSD-FME. When you were receiving data the screen that is normally the Call History had data scrolling by on it. Mine doesn't do that. When it jumps to a different frequency I see SDRpp change frequencies but the Call History just shows what calls have come in. Is there a setting in the esc menu that turns that on?
Mike
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
Crap. I'm so used to editing in Libre Calc the TSV files for DSD+ FL that I just by habit save it as tab separated.
I've just found it easier to use a basic text editor, or even nano to make the csv files

I'm not sure how I get access to the voice grants data on the CC.
I'd just park on the control channel for a while, and later on, open up the log.ans file and look for any voice grants, and make note of the Cd values, then you can work out what frequency goes to which channel that way. Usually, on Tier 3, lower channel numbers will correspond to lower frequency values, so that should kind of help you out if you know the same number of channels as frequencies, just go from low to high on both when making the channel map csv file.

Again, for context, in the log.ans file, what you'll be looking for is call grants, can be voice or data grants on T3, the channel values will be the same.

Code:
23:46:53 Sync: +DMR   slot1  [slot2] | Color Code=04 | CSBK
 Private Data Channel Grant: Single Item (PD_GRANT) - Logical
  Ch [036] Cd [0054] C+ [0110] - TS [1] - Target [00100279] - Source [01915333]

23:50:00 Sync: +DMR   slot1  [slot2] | Color Code=04 | CSBK
 Private Data Channel Grant: Single Item (PD_GRANT) - Logical
  Ch [024] Cd [0036] C+ [0074] - TS [1] - Target [00100279] - Source [01940115]
23:50:00 Sync: +DMR  [slot1]  slot2  | Color Code=04 | IDLE 

23:50:44 Sync: +DMR  [slot1]  slot2  | Color Code=04 | CSBK
 Talkgroup Voice Channel Grant (TV_GRANT) - Logical
  Ch [024] Cd [0036] C+ [0073] - TS [0] - Target [01940001] - Source [01940134]

I always find it easiest to open the log.ans file in a text editor, and just use the built in search to look for any instance of Cd [ and it should also be noted that the Ch values are hex lpcn values and C+ values are DSDplus like channel values (lpcn + ts) or LSN values. We just want the Cd value for DSD-FME, but the other two formats are there to help other people who may know those values in hex or in the DSDPlus styling to convert to a dsd-fme channel map.

I noticed that in your video you must've been using a different version of DSD-FME. When you were receiving data the screen that is normally the Call History had data scrolling by on it. Mine doesn't do that. When it jumps to a different frequency I see SDRpp change frequencies but the Call History just shows what calls have come in. Is there a setting in the esc menu that turns that on?
Well, that is the audio_work branch, so its more 'experimental' code, more bleeding edge, but also, the real difference is that was an EDACS system, and not DMR, so the display and handling of the call history is more LCN based than purely chronologically based. In other words, I hacked in some code I wrote 3 years ago into DSD-FME so it was a lazy port, but more of an LCN tree view port. If I did that for Large DMR systems or P25, I'd probably have a sanity fit or something. That was way more work than I ever should have put into gettting it to work properly, on DMR/NXDN/P25 it just shows active channels rolling on a single line instead of the tree view. It also just eats up way too much space in a terminal for its own good, especially on really large EDACS systems (luckily, SLERS systems are contained to only a few LCNs by comparison)
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
274
Location
Spring, Texas
I'd just park on the control channel for a while, and later on, open up the log.ans file and look for any voice grants,
Well, I did that and I don't get much in my log.ans file. I removed the Rig-Ctl parameter in the command-line and tuned to the CC and let it run for a while and I get none of what you say should be in there.
Mike
 

Attachments

  • log.txt
    1 KB · Views: 4

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
If this is the only thing that is in that log, it doesn't look like it was even connected to the audio sink.

Code:
            Digital Speech Decoder: Florida Man Edition
 ██████╗  ██████╗██████╗     ███████╗███╗   ███╗███████╗
 ██╔══██╗██╔════╝██╔══██╗    ██╔════╝████╗ ████║██╔════╝
 ██║  ██║╚█████╗ ██║  ██║    █████╗  ██╔████╔██║█████╗ 
 ██║  ██║ ╚═══██╗██║  ██║    ██╔══╝  ██║╚██╔╝██║██╔══╝ 
 ██████╔╝██████╔╝██████╔╝    ██║     ██║ ╚═╝ ██║███████╗
 ╚═════╝ ╚═════╝ ╚═════╝     ╚═╝     ╚═╝     ╚═╝╚══════╝
Build Version:  v2.1-19-g79339d0
MBElib Version: 1.3.2
Decoding DMR Stereo BS/MS Simplex

Should see a TCP connection active on that, and something being decoded if its on a control channel that's active.

Code:
            Digital Speech Decoder: Florida Man Edition
 ██████╗  ██████╗██████╗     ███████╗███╗   ███╗███████╗
 ██╔══██╗██╔════╝██╔══██╗    ██╔════╝████╗ ████║██╔════╝
 ██║  ██║╚█████╗ ██║  ██║    █████╗  ██╔████╔██║█████╗ 
 ██║  ██║ ╚═══██╗██║  ██║    ██╔══╝  ██║╚██╔╝██║██╔══╝ 
 ██████╔╝██████╔╝██████╔╝    ██║     ██║ ╚═╝ ██║███████╗
 ╚═════╝ ╚═════╝ ╚═════╝     ╚═╝     ╚═╝     ╚═╝╚══════╝
Build Version: AW v2.1-142-gf217f17
MBElib Version: 1.3.4
CODEC2 Support Enabled
Decoding DMR BS/MS Simplex
TCP Direct Link: 192.168.7.8:7355
TCP Connection Success!
Audio In Device: tcp
02:12:07 Sync: +DMR   slot1  [slot2] | Color Code=00 | IDLE
02:12:07 Sync: +DMR  [slot1]  slot2  | Color Code=00 | CSBK
 C_ALOHA_SYS_PARMS - Small - Net ID: 1 Site ID: 1.1 Cat: AB
  Reg Req: 1 V: 4 Mask: 00 MS: 0
02:12:07 Sync: +DMR   slot1  [slot2] | Color Code=00 | IDLE
 SLCO CRC ERR
02:12:07 Sync: +DMR  [slot1]  slot2  | Color Code=00 | CSBK
 C_ALOHA_SYS_PARMS - Small - Net ID: 1 Site ID: 1.1 Cat: AB
  Reg Req: 1 V: 4 Mask: 00 MS: 0
02:12:07 Sync: +DMR   slot1  [slot2] | Color Code=00 | IDLE
02:12:07 Sync: +DMR  [slot1]  slot2  | Color Code=00 | CSBK
 C_ALOHA_SYS_PARMS - Small - Net ID: 1 Site ID: 1.1 Cat: AB
  Reg Req: 1 V: 4 Mask: 00 MS: 0
02:12:07 Sync: +DMR   slot1  [slot2] | Color Code=00 | IDLE
 SLC_C_SYS_PARMS - Small - Net ID: 1 Site ID: 1.1 - Reg Req: 1 - CSC: 63
02:12:07 Sync: +DMR  [slot1]  slot2  | Color Code=00 | CSBK
 C_ALOHA_SYS_PARMS - Small - Net ID: 1 Site ID: 1.1 Cat: AB
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
274
Location
Spring, Texas
If this is the only thing that is in that log, it doesn't look like it was even connected to the audio sink.
As you can see this is how its configured. Are you telling me I need to add an audio Sync?
Mike
 

Attachments

  • SDRpp and DSD-FME.png
    SDRpp and DSD-FME.png
    258 KB · Views: 23

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
As you can see this is how its configured. Are you telling me I need to add an audio Sync?
I'm just saying there should be more in your log file than what you uploaded, the last one was pretty much blank after the start up. That seems to be synced up, so what's the contents of that log.ans file (or whatever file you are redirecting 2> to)
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
274
Location
Spring, Texas
I'm just saying there should be more in your log file than what you uploaded, the last one was pretty much blank after the start up. That seems to be synced up, so what's the contents of that log.ans file (or whatever file you are redirecting 2> to)
That is my log.ans file. RR requires you change filetypes to fit their approved filetypes for attachments. I noticed on yours you have a newer version of DSD-FME is that a pre-release or am I on the latest version that is released? Its just weird how how I can decode audio when I manually move to the voice frequencies but nothing is captured in the log. I'm not sure having the audio sink would do to help capture data in the log file. Would it help if I add another audio sink? As defualt it appears you can either run the Audio Sink OR the Network sink.

I have everything running in Trunk mode and every now and then I see SDRpp change frequency and some audio plays but it goes for long periods just sitting on the CC. As you mentioned earlier, I need to find out what the proper channel mapping is. I fired up DSD+ last night and monitored the CC but since they seemed to be shutdown for the night I didn't see much voice traffic so all I saw were CSBK packets.
Mike
 

LimaZulu

Member
Joined
Jul 7, 2011
Messages
357
@lwvmobile I am not sure I understand -W option correctly. I was thinking it is used together with group.csv file and when trunking it will tune only to the groups marked with A. As I previously posted I do have a 4 instances running at the same time, each includes different groups file with different A and B's so I am able to monitor 4 different TG's separately. When I include -W I got not voice what so ever but I am able to see the traffic.
So, did I misunderstood what -W is doing or it's not working with setup like this? Could you please shed some light over that option?
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
I am not sure I understand -W option correctly. I was thinking it is used together with group.csv file and when trunking it will tune only to the groups marked with A. As I previously posted I do have a 4 instances running at the same time, each includes different groups file with different A and B's so I am able to monitor 4 different TG's separately. When I include -W I got not voice what so ever but I am able to see the traffic.
So, did I misunderstood what -W is doing or it's not working with setup like this? Could you please shed some light over that option?

That's the way its supposed to work, but if it isn't working that way, could be a bug somewhere in the code. I'll have to review the code and see if there was any obvious errors along the way. Also, keep in mind, if its on a composite control channel or if it lands on that frequency while CC hunting and that group is present, it may or may not mute that group, just really depends on system type. The white list / blacklist is just to either only tune groups that are allowed with A, or block groups with a B or a DE.
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
As I previously posted I do have a 4 instances running at the same time, each includes different groups file with different A and B's so I am able to monitor 4 different TG's separately.
Is it possible that you have a TG value that is blocked, but that TG value is shared with a SRC value that isn't blocked. Early on, I had a request to code NXDN by examining both TG and SRC values due to TG 0 being a valid value on NXDN systems. The checkdown for a call to be blocked or not blocked examines for a TG value, and then a SRC value, so its entirely possible that the TG value has a B in it, but earlier in the list, there is a SRC value that is the same as the TG value that is allowed?

What's the log look like when it tunes to a group when running white list mode and that group isn't on your white list. It should print whether that group is A or B if its in the csv file. Is there any double prints, like [Name1][A][Name2][B]or something
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
274
Location
Spring, Texas
OK, I'm an idiot. Since I copied the examples directory to my home folder and my site.csv file is in the examples folder I had to cd to the Examples folder so that DSD-FME could find it (yeah, I know. I can put the path to the file in the start command). While digging around in there I found another log.ans file. Well whadda ya know. That's the file that my start command was created while I was in the Examples folder (DUH!). Only thing is I see no Ch or Cd text in the log. Its as if there are no Voice payloads. Yet I can see them in the waterfall. I searched for Ch and all it found was the word Channel from my site file. I do see a lot of CRC/FEC ERRs. It strange because the audio comes through very clear.

Now what's going on? I tried to zip and attach the real log.ans and it hangs Firefox when I try to attach it. OK, I'll drop it into my DropBox account and provide you the link.

log.ans file

Mike
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
The log shows every CSBK as CRC ERR, so the system appears to be RAS Enabled (Restricted Access System, a form of CRC Manipulation), so you'll need to use the -F switch on the CLI to bypass the CRC Failure on RAS systems, that should reveal a lot more about that system including call grants and system identification, etc. The RR database lists that system as CapMax, so those always are 50/50 chance of being RAS enabled it seems (just a personal observation)

So, I'd park on the CC again the the -F switch on, and look in the log later on and see if any channels are listed, you should start seeing something similar to this if that system gets busy with calls.

 

n5pwp

Member
Joined
Jan 10, 2015
Messages
274
Location
Spring, Texas
Here's a clip from the log during a voice payload but no Cd or Ch.
The log shows every CSBK as CRC ERR, so the system appears to be RAS Enabled (Restricted Access System, a form of CRC Manipulation), so you'll need to use the -F switch on the CLI to bypass the CRC Failure on RAS systems,
Thank you, yes it did. I started getting the information you showed in your example (although it hasn't shown any frequency info yet). I went through the log.ans and there they are: the Cd are now showing. I went through and wrote down the Cd numbers. So far I have come up with 7. You said earlier that the channels usually go in numerical order as do the frequencies. I assume that as I collect more of them I would just assign them in numerical order to the frequencies in my channel map? I never saw any slot2 info in the CC decode. Do I still double the frequencies to account for 2 slots on each frequency. Since the docs say that CC is at the top of the list it gets the lowest Cd number, right?
Mike
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
The frequency information won't show unless the csv file has the proper channel mapping to the frequencies, so at this point, if you've got some channels gathered, I'd just fill them into the csv file and try it out, see if it tunes to the correct channels, if not, then make adjustments and try again. Yeah, like you said earlier, I'd just look at the channel numbers provided, and the frequencies you have, and try to match them in ascending order, see if that works. If you have more channels than frequencies, then you may just need to observe the surrounding frequencies for activity to occur and see if you find more frequencies that match that system. Using bookmarks in SDR++ is a good idea so you can plot out frequencies as channel values so you'll know what you've already got and if they match up or need adjustments.
 

n5pwp

Member
Joined
Jan 10, 2015
Messages
274
Location
Spring, Texas
Does the CC get the lowest channel numbers? There's 5 frequencies in the RR db. If you double that it says I should have 10 Cds. I now have 11 Cds collected. So there may be another frequency out there floating around in this system. I'll go fishing for some more. They all seem to be clustered together on the spectrum so its not like the next frequency would be in the 400MHz range, would it?

When watching the DSD-FME window the display for Active Groups show up. Sometimes there's only 1 active, sometimes 2. I assume they are the 2 slots that are active on that frequency (whatever it is). I've seen it display 2 TGs on the same active channel. How does that work?

I'm trying to read up on CapMax TIII at the same time I'm chasing the mapping. I still have my DSDplus.frequencies file but the United site didn't exist as CapMax TIII back then. I have a couple of other TIII sites in the file but DSDPlaus defines theirs differently from DSD-FME.
Mike
 

lwvmobile

DSD-FME
Joined
Apr 26, 2020
Messages
1,295
Location
Lafayette County, FL
Does the CC get the lowest channel numbers?
no, that should be included in the ascending order. actually, it'll probably be one that you won't have the channel number for, since its not apart of the call grants...usually, unless the call takes place on the control channel (some composite cc systems will do that). If you include the control channel frequency at the top of your csv file (purely optional) then I usually just assign it a fake number if I don't know what its real channel number is.

They all seem to be clustered together on the spectrum so its not like the next frequency would be in the 400MHz range, would it?
On Tier 3, they are probably all going to be pretty close together, might be worth looking into trying out an LCN calculator for Tier 3, see if that can help you any.

When watching the DSD-FME window the display for Active Groups show up. Sometimes there's only 1 active, sometimes 2. I assume they are the 2 slots that are active on that frequency (whatever it is). I've seen it display 2 TGs on the same active channel. How does that work?
For DMR Tier 3, it just shows one active call per timeslot, if multiple calls are active all at once, it'll probably cycle through multiple active calls if you are parked on the cc.

I'm trying to read up on CapMax TIII at the same time I'm chasing the mapping. I still have my DSDplus.frequencies file but the United site didn't exist as CapMax TIII back then. I have a couple of other TIII sites in the file but DSDPlaus defines theirs differently from DSD-FME.
Those old map files won't translate, Cap+, XPT, and usually Con+ always follow a sequential LSN or LCN numbering scheme 1,2,3,n-1,n and not a 12-bit channel value scheme. Tier 3 channels usually correspond to a formula similar to ( (base frequency) + (channel number * step * bandwidth) ) or something like that, so if you know for sure one frequency LCN pair, you can work out the others, but I don't know if that formula is set in stone like it usually is with P25.
 
Top