Personal Page of DM3MAT

Name

dmrconf — Command-line tool for programming DMR radios.

Synopsis

dmrconf [OPTIONS] [COMMAND] [file]

Description

dmrconf is a command-line tool to program DMR radios. That is, generating and uploading codeplugs to these radios. To this end, dmrconf uses a common human-readable text format to describe the codeplug for all supported radios (see below). This allows one to share codeplugs between different radios.

Additionally, dmrconf also allows one to download codeplugs from the radio and to store it in the human-readable text format.

Commands

detect

Detects a connected radios. You may specify a specific device using the -D or --device option.

read

Reads a codeplug from the radio and stores it into the given file. This command may need the -y or -b options if the file type cannot be inferred from the filename.

write

Writes the specified codeplug to the radio. This command may need the -c, -y or -b options if the file type cannot be inferred from the filename.

write-db

Writes the call-sign database to the device. This command may need the --id option to select call-signs if the complete database does not fit into the device. If specified, all call-signs closest to the specified ID are used.

verify

Verifies the codeplug with the connected radio or the specified radio passed with the --radio option. This command may also need the -y or -b options if the file type cannot be inferred from the filename.

encode

Encodes a YAML codeplug as a binary one for the connected or specified radio using the --radio option.

encode-db

Encodes the call-sign database as a binary one for the connected or specified radio using the --radio option. This command may need the --id option to select call-signs if the complete database does not fit into the device. If specified, all call-signs closest to the specified ID are used.

decode

Decodes a binary codeplug and stores the result in human-readable form. The radio must be specified using the --radio option.

info

Prints some information about the given file.

Options

-c or --csv

Specifies the file format for the input file for the verify, encode and write commands. This option is not needed if the filetype can be inferred from the filename. That is, if the file ends on .conf or .csv.

-y or --yaml

Specifies the file format for the input or output file for the verify, read and write commands. This option is not needed if the filetype can be inferred from the filename. That is, if the file ends on .yaml.

-b or --bin

Specifies the file format for the input or output file for the verify, read and write commands. This option is not needed if the filetype can be inferred from the filename. That is, if the file ends on .bin or .dfu.

-m or --manufacturer

Specifies the file format for the input file for the decode command to be the manufacturer binary codeplug format. Not all manufacturer formats are implemented.

-D or --device=DEVICE

Specifies the device to use. Either a USB BUS:DEVICE number combination or the name of a serial interface. The device must be specified if the automatic radio detection fails or if more than one radio is connected to the host.

-R or --radio=NAME

Specifies the radio for the verify, encode or decode commands. This option can also be used to override the automatic radio detection for the read and write commands. Be careful using this option when writing to the device. An incompatible code-plug might be written.

-I or --id=DMR_ID

Specifies the DMR ID or a comma separated list of DMR ID prefixes for the write-db or encode-db commands. More than one ID may be specified using a comma-separator.

-n or --limit=N

Limits several amounts, depending on the context. When encoding or writing the call-sign db, this option specifies the maximum number of call-signs to encode.

-B or --database=JSON_FILE

Specifies the call-sign database to use for writing a user-db to the device.

--init-codeplug

Initializes the code-plug from scratch. If omitted (default) the codeplug on the device gets updated. This maintains all settings made earlier via the manufacturer CPS or on the radio itself.

--auto-enable-gps

Automatically enables GPS/APRS if at least one GPS/APRS system is defined and used by any channel.

--auto-enable-roaming

Automatically enables roaming if at least one roaming zone is defined and used by any channel.

--ignore-limits

Disables the enforcement of limits. Warnings are still shown.

-h or --help

Displays a short help message.

--list-radios

Lists all supported radios.

-v or --version

Displays the version number.

-V or --verbose

Enables debug messages.

Supported Radios

The following list contains all supported radios and their names for the --radio option.

opengd77

All radios running the Open GD77 firmware.

d868uve, dmr6x2

Anytone AT-D868UVE or Baofeng DMR-6X2.

d878uv

Anytone AT-D878UV.

d878uv2

Anytone AT-D878UVII.

d578uv

Anytone AT-D578UV.

md390, rt8

TYT MD-390 or Retevis RT8.

uv390, rt3s

TYT MD-UV390 or Retevis RT3S.

md2017, rt82

TYT MD-2017 or Retevis RT82.

gd77

Retevis GD-77.

rd5r

Baofeng/Radioddity RD-5R.

dm1701, rt84

Baofeng DM1701 or Retevis RT84.

Bugs

This program is still under development and may contain bugs that may cause harm to the radios and may even destroy them. Hence you may use this software on your own risk. If you want to have guaranties, consider using the CPS (code-plug programming software) supplied with your radio.