Where would logs be? I don't see any dsd-neo log files in my home folder or /var/log.
I made 3 sets of ini, groups and channels files for 3 different systems. They all have names reflecting their system. The ini files point to the proper locations of the groups and channels files. I made .desktop files with --config paths to the ini files. It worked OK but later when I tried it I was seeing TG activity but no audio. Not sure why. It might be a linux audio or RTL-SDR issue. I will try again from scratch tonight or tomorrow.
My local city system is a Harris P25 phase II simulcast. The others are military bases with Motorola and Harris P25 Phase I non-simulcast systems. One of those is 60 miles away and weak but it worked. I don't know if I need to try different settings for those.
There are a lot of menu options and settings but the ini file doesn't seem to contain that much data. I don't know if everything is being saved when I force it to Save Config (Current ) or Save Config As...
All I want groups for is to show the TG names, not receiving only whitelisted TGs or locking out certain TGs. I don't know if that's possible. The two Harris systems send RID aliases over the air and that was working earlier.
In the ini file I set rtl_freq to the current CC freq and that worked but sometimes it got changed to 850000000. I made a list of the system channels starting with 1 in the format 1,85596250 but I don't know if it is actually using that or only rtl_freq.
A means normal/allowed in the group CSV. It does not automatically make the file a whitelist.
If allow_list = false, or the UI says Black List Mode, the group file can be used mainly for TG names. A new unknown TG should still be followed and played, but it will show without a name.
If allow_list = true, -W, or the UI says White List Mode, then only TGs listed in the group file are followed. A new TG may show activity, but it will not tune/play audio until you add it to the group CSV as TG,A,Name.
For what you want, use something like this:
Code:
[trunking]
enabled = true
group_csv = "/full/path/to/groups.csv"
allow_list = false
Keep named TGs as A. Do not use B or DE unless you actually want to block/mute those TGs.
DSD-neo does not create normal log files in $HOME or /var/log by default. Normal messages go to stderr. If running with the ncurses UI, stderr is suppressed unless you redirect it before startup.
Start it like this if you want a log file:
Code:
dsd-neo --config /full/path/system.ini -N -T 2> ~/dsd-neo-system.log
For a .desktop launcher, use a shell if you want redirection:
Code:
Exec=sh -c '/full/path/dsd-neo --config /full/path/system.ini -N -T 2>> "$HOME/dsd-neo-system.log"'
There are also optional logs you can configure:
Code:
[logging]
event_log = "/full/path/events.log"
frame_log = "/full/path/frames.log"
event_log is usually the useful one for call/event history. frame_log is more detailed/debug-oriented.
Your separate config files approach is fine. Use absolute paths everywhere: the .desktop file, the .ini file, group_csv, and chan_csv. Relative paths can break because a .desktop launcher may start the program from a different working
directory.
Also, if your .desktop command uses --config ... -N or any other CLI flags, include -T for trunking. Otherwise trunking inherited from the config may be disabled for that run.
If you see TG activity but no audio, first check:
1. Make sure you are not in whitelist mode unless you really want that.
2. Make sure output is not null and PulseAudio/PipeWire is not muted or using the wrong sink.
3. Make sure the TG is not encrypted.
4. Make sure group/private/encrypted call following is enabled in the UI.
5. For P25 trunking, make sure it is actually retuning to the voice channel.
For P25 systems, rtl_freq should be the current control channel frequency. The channel CSV is used for channel/frequency mapping and control-channel hunting, but rtl_freq is the predictable startup frequency.
Watch the units in the channel CSV: it must be Hz. For 855.9625 MHz, use:
Code:
ChannelNumber(dec),frequency(Hz)
1,855962500
not 85596250, which is only 85.596250 MHz.
For P25 Phase II trunking, use a mode that includes the P25 Phase I control channel plus P25 Phase II voice. In the config, use:
For a known simulcast/LSM/CQPSK site, try forcing QPSK:
Code:
[mode]
decode = "tdma"
demod = "qpsk"
or on the command line:
Code:
dsd-neo --config /full/path/system.ini -N -T -mq
The code can try to auto-switch between C4FM and QPSK, but forcing QPSK is often simpler when you know the site is simulcast. For the Phase I non-simulcast systems, do not force -mq; start with p25p1 or leave demod auto/C4FM.
If rtl_freq changes to 850000000, that is the built-in RTL default. That usually means the config was not loaded, rtl_freq was missing, or the current live/default frequency was saved back to the config.
Validate and inspect with:
Code:
dsd-neo --validate-config /full/path/system.ini
dsd-neo --config /full/path/system.ini --print-config
Save Config does not save every possible UI/runtime setting. It saves the supported config fields: input, output, mode, trunking CSVs/options, logging, alerts, and recording. Some live UI/debug/DSP state is not persisted.