DMRCONF(1)

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 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 or .yml.

-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, is unsave 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, that are not part of the codeplug.

--update-device-clock
    If set, the device clock gets updated with the transfer to the radio. That is, with any codeplug or call-sign DB being written to the device. Not all radios support this feature.

--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, openuv380
    All radios running the Open GD77 firmware.

d868uv, d868uve
    Anytone AT-D868UV(E).

d878uv
    Anytone AT-D878UV.

d878uv2
    Anytone AT-D878UVII.

d578uv, d578uv2
    Anytone AT-D578UV (II).

md390, rt8
    TYT MD-390 or Retevis RT8.

uv390, rt3s
    TYT MD-UV390 or Retevis RT3S.

md2017, rt82
    TYT MD-2017 or Retevis RT82.

gd73
    Radioddity GD-73.

gd77
    Radioddity GD-77.

rd5r
    Baofeng/Radioddity RD-5R.

dm1701, rt84
    Baofeng DM1701 or Retevis RT84.

dr1801uv
    Baofeng DR1801UV-A6.

dm32uv
    Baofeng DM-32UV.

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.

AUTHOR

Hannes Matuschek <dm3mat@darc.de>
    Main author