Personal Page of DM3MAT

Various features of dmrconf

Beside reading and writing codeplugs or writing the call-sign DB, there are some more commands and features that mainly concern the debugging of the codeplug and call-sign DB encoding and decoding. If you are interested in the codeplug internals, you may use these commands to study them.

Getting help

As usual for command line tools, a brief help text about the commands and options gets written to stdout when the --help or -h option is passed. No other commands passed are executed then.

Similar to the --help option, it is possible to print the version number of dmrconf using the --version or -v option. Like for the --help, no other commands passed get executed.

To get a list of keys identifying radio models when specified using the --radio option, --list-radios can be passed. This will print a small table to stdout that lists the keys for each known radio as well as the model and manufacturer name.

Detecting the radio type

The command detect solely detects the radio. No data is written or read from the device (except of the radio model information). This command can be used to check whether a radio is detected correctly.

dmrconf detect

This command will try to detect the connected radio. If a known radio is found, the model and manufacturer name is written to stdout. If no radio is detected or if the model is unknown or unsupported, an error message is written to stderr.

Inspecting binary codeplugs

The encode, encode-db and read commands can store the codeplug and call-sign DB in binary form in a DFU file. The generated file is a valid DFU (device firmware update) file, that can be handled with other DFU tools.

A DFU file may contains several so-called images. Each image may contains several so-called elements. The latter represents a segment of memory with an associated memory address.

The info command produces a hex-dump of the DFU file that is written to stdout. It can then be inspected using more or less.

dmrconf info codeplug.dfu | less

This example will generate a hex dump of the encoded codeplug in the specified DFU file codeplug.dfu. The result is piped to less for easy reading. The hex dump also prints some information about the file structure as well as memory addresses. It also collapses repetitive memory sections (similar to hexdump -C). To this end, this command is a helpful tool for debugging the encoding of codeplugs and call-sign DBs.