# DStarRepeater Configuration Reference The configuration file uses INI format with `[Section]` headers, `Key=Value` pairs, and `#` comments. The format is compatible with MMDVMHost. To get started, copy the example config and edit for your installation: ```bash sudo cp /etc/dstarrepeater/dstarrepeater.ini.example /etc/dstarrepeater/dstarrepeater.ini sudo nano /etc/dstarrepeater/dstarrepeater.ini ``` Then start the daemon: ```bash dstarrepeaterd /etc/dstarrepeater/dstarrepeater.ini ``` --- ## [General] | Key | Default | Description | |-----|---------|-------------| | `Callsign` | `GB3IN C` | Repeater callsign, padded to 8 characters. 7-character base + 1-character module suffix (A–E). | | `Gateway` | *(empty)* | Gateway callsign, padded to 8 characters (e.g. `GB3IN G`). Leave empty if not linked. | | `Mode` | `0` | Operating mode — see [Mode Values](#mode-values) below. | | `Ack` | `1` | Acknowledgement type — see [Ack Values](#ack-values). Forced to `0` in Gateway, TX Only, RX Only, and TX+RX modes. | | `Restriction` | `0` | `1` = only whitelisted callsigns accepted. | | `RPT1Validation` | `1` | `1` = only accept headers addressed to this repeater. | | `DTMFBlanking` | `1` | `1` = mute DTMF tones from the audio stream. | | `ErrorReply` | `1` | `1` = reply with error message for invalid commands. | ### Mode Values | Value | Mode | Description | |:-----:|------|-------------| | `0` | Duplex | Full duplex repeater (simultaneous TX and RX) | | `1` | Simplex | Simplex repeater | | `2` | Gateway | Gateway mode (ack forced off, RPT1 validation forced on) | | `3` | TX Only | Transmit only | | `4` | RX Only | Receive only | | `5` | TX and RX | Sequential transmit then receive (split-site) | ### Ack Values | Value | Type | Description | |:-----:|------|-------------| | `0` | Off | No acknowledgement | | `1` | BER | Respond with Bit Error Rate | | `2` | Status | Respond with status message | --- ## [Log] Logging levels match MMDVMHost: `0`=None, `1`=Debug, `2`=Message, `3`=Info, `4`=Warning, `5`=Error, `6`=Fatal. Higher values are more selective (fewer messages). | Key | Default | Description | |-----|---------|-------------| | `FilePath` | `/var/log` | Directory for daily log files (`dstarrepeaterd-YYYY-MM-DD.log`). | | `FileLevel` | `2` | Minimum level to write to log file. `0` = no file logging. | | `DisplayLevel` | `2` | Minimum level to write to stdout. `0` = no stdout output. | | `MQTTLevel` | `2` | Minimum level to forward to MQTT. `0` = no MQTT logging. | --- ## [Paths] | Key | Default | Description | |-----|---------|-------------| | `Data` | `/usr/share/dstarrepeater` | Directory containing AMBE voice beacon files (`.ambe` and `.indx`). | | `Audio` | `/var/log` | Directory for DVTool audio recordings and announcements. | --- ## [Network] | Key | Default | Description | |-----|---------|-------------| | `GatewayAddress` | `127.0.0.1` | IP address of the gateway (ircDDBGateway or DStarGateway). | | `GatewayPort` | `20010` | UDP port the gateway is listening on. | | `LocalAddress` | `127.0.0.1` | Local IP address to bind. | | `LocalPort` | `20011` | Local UDP port. | | `Name` | *(empty)* | Network name for multi-repeater setups. | --- ## [Modem] | Key | Default | Description | |-----|---------|-------------| | `Type` | `DVAP` | Hardware modem type (case-sensitive). | Valid modem types: | Value | Hardware | |-------|----------| | `DVAP` | DVAP USB Dongle | | `DVMEGA` | DV-Mega board | | `DV-RPTR V1` | DV-RPTR Version 1 | | `DV-RPTR V2` | DV-RPTR Version 2 | | `DV-RPTR V3` | DV-RPTR Version 3 | | `GMSK Modem` | GMSK modem (Dutch*STAR) | | `MMDVM` | Multi-Mode Digital Voice Modem | | `Sound Card` | Sound card modem (ALSA/PortAudio) | | `Split` | Multi-receiver split-site | | `Icom Access Point/Terminal Mode` | Icom radio in AP/terminal mode | Only configure the section matching your modem type. --- ## [Times] | Key | Default | Description | |-----|---------|-------------| | `Timeout` | `180` | Transmission timeout in seconds. `0` to disable. | | `AckTime` | `500` | Acknowledgement delay in milliseconds. | --- ## [Beacon] | Key | Default | Description | |-----|---------|-------------| | `Time` | `600` | Beacon interval in seconds. `0` to disable. | | `Text` | `D-Star Repeater` | Text transmitted in the beacon slow data field. | | `Voice` | `0` | `1` = transmit a voice beacon in addition to data. | | `Language` | `0` | Language for voice beacon — see [Language Values](#language-values). | ### Language Values | Value | Language | |:-----:|----------| | `0` | English (UK) | | `1` | Deutsch | | `2` | Dansk | | `3` | Francais | | `4` | Italiano | | `5` | Polski | | `6` | Espanol | | `7` | Svenska | | `8` | Nederlands | | `9` | English (US) | | `10` | Norsk | --- ## [Announcement] | Key | Default | Description | |-----|---------|-------------| | `Enabled` | `0` | `1` = enable announcement recording and playback. | | `Time` | `500` | Announcement playback interval in seconds. | | `RecordRPT1` | *(empty)* | RPT1 callsign that triggers recording. | | `RecordRPT2` | *(empty)* | RPT2 callsign that triggers recording. | | `DeleteRPT1` | *(empty)* | RPT1 callsign that triggers deletion. | | `DeleteRPT2` | *(empty)* | RPT2 callsign that triggers deletion. | --- ## [Control] DTMF remote control via D-Star headers. When enabled, specific YOURCALL values trigger actions. | Key | Default | Description | |-----|---------|-------------| | `Enabled` | `0` | `1` = enable DTMF remote control. | | `RPT1` | *(empty)* | RPT1 callsign required for control commands. | | `RPT2` | *(empty)* | RPT2 callsign required for control commands. | | `Shutdown` | *(empty)* | YOURCALL value to shut down the repeater. | | `Startup` | *(empty)* | YOURCALL value to start up the repeater. | | `Status1`–`Status5` | *(empty)* | YOURCALL values to trigger status messages 1–5. | | `Command1`–`Command6` | *(empty)* | YOURCALL values for custom commands 1–6. | | `Command1Line`–`Command6Line` | *(empty)* | Shell command executed when the corresponding command is triggered. | | `Output1`–`Output4` | *(empty)* | YOURCALL values to toggle output relays 1–4. | --- ## [Controller] External hardware controller for PTT, LEDs, and relay outputs. | Key | Default | Description | |-----|---------|-------------| | `Type` | *(empty)* | Controller type — see [Controller Types](#controller-types). | | `SerialConfig` | `1` | Pin/output configuration preset (1–5). | | `PTTInvert` | `0` | `1` = invert PTT output (active low). | | `ActiveHangTime` | `0` | Seconds to hold active state after last transmission. `0` to disable. | ### Controller Types | Value | Description | |-------|-------------| | *(empty)* | No controller (dummy) | | `GPIO` | Raspberry Pi GPIO pins | | `UDRC` | UDRC board (Raspberry Pi) | | `Velleman K8055 - 0` | Velleman K8055 USB board (address 0–3) | | `URI USB - 1` | URI USB relay card (address 1–6) | | `Serial - /dev/ttyUSB0` | Serial port controller | | `Arduino - /dev/ttyUSB0` | Arduino controller via serial | --- ## [Outputs] Default state of output relays at startup. | Key | Default | Description | |-----|---------|-------------| | `Output1` | `0` | Output relay 1. `1` = on at startup. | | `Output2` | `0` | Output relay 2. | | `Output3` | `0` | Output relay 3. | | `Output4` | `0` | Output relay 4. | --- ## [Frame Logging] | Key | Default | Description | |-----|---------|-------------| | `Enabled` | `0` | `1` = record all D-Star frames to `.dvtool` files in the audio directory. | --- ## [Whitelist] / [Blacklist] / [Greylist] Callsign access control lists. Each takes a single `File` key pointing to a text file with one callsign per line. | Key | Default | Description | |-----|---------|-------------| | `File` | *(not set)* | Full path to the list file. Leave commented out to disable. | Example: ```ini [Whitelist] File=/etc/dstarrepeater/rptr_whitelist.dat ``` --- ## Modem-Specific Settings Only configure the section matching your `[Modem] Type`. ### [DVAP] | Key | Default | Description | |-----|---------|-------------| | `Port` | *(empty)* | Serial port (e.g. `/dev/ttyUSB0`). | | `Frequency` | `145500000` | Operating frequency in Hz. | | `Power` | `10` | Transmit power in dBm. | | `Squelch` | `-100` | Squelch threshold in dBm. | ### [GMSK] | Key | Default | Description | |-----|---------|-------------| | `InterfaceType` | `0` | `0` = libUSB, `1` = direct/serial. | | `Address` | `768` | USB address in decimal (768 = 0x0300). | ### [DV-RPTR V1] | Key | Default | Description | |-----|---------|-------------| | `Port` | *(empty)* | Serial port (e.g. `/dev/ttyUSB0`). | | `RXInvert` | `0` | `1` = invert received signal polarity. | | `TXInvert` | `0` | `1` = invert transmitted signal polarity. | | `Channel` | `0` | `0` = Channel A, `1` = Channel B. | | `ModLevel` | `20` | Modulation level (0–100%). | | `TXDelay` | `150` | Transmit delay in milliseconds. | ### [DV-RPTR V2] | Key | Default | Description | |-----|---------|-------------| | `Connection` | `0` | `0` = USB, `1` = Network. | | `USBPort` | *(empty)* | USB serial port. | | `Address` | `127.0.0.1` | Network address (when Connection=1). | | `Port` | `0` | Network port (when Connection=1). | | `TXInvert` | `0` | `1` = invert transmitted signal polarity. | | `ModLevel` | `20` | Modulation level (0–100%). | | `TXDelay` | `150` | Transmit delay in milliseconds. | ### [DV-RPTR V3] Same keys as [DV-RPTR V2]. ### [DVMEGA] | Key | Default | Description | |-----|---------|-------------| | `Port` | *(empty)* | Serial port (e.g. `/dev/ttyAMA0`). | | `Variant` | `0` | `0` = Modem, `1` = Radio 2m, `2` = Radio 70cm, `3` = Radio 2m/70cm. | | `RXInvert` | `0` | `1` = invert received signal. | | `TXInvert` | `0` | `1` = invert transmitted signal. | | `TXDelay` | `150` | Transmit delay in milliseconds. | | `RXFrequency` | `145500000` | Receive frequency in Hz (radio variants only). | | `TXFrequency` | `145500000` | Transmit frequency in Hz (radio variants only). | | `Power` | `100` | Transmit power 0–100% (radio variants only). | ### [MMDVM] | Key | Default | Description | |-----|---------|-------------| | `Port` | *(empty)* | Serial port (e.g. `/dev/ttyACM0`). | | `RXInvert` | `0` | `1` = invert received signal. | | `TXInvert` | `0` | `1` = invert transmitted signal. | | `PTTInvert` | `0` | `1` = invert PTT signal. | | `TXDelay` | `50` | Transmit delay in milliseconds. | | `RXLevel` | `100` | Receive level (0–100%). | | `TXLevel` | `100` | Transmit level (0–100%). | ### [Sound Card] | Key | Default | Description | |-----|---------|-------------| | `RXDevice` | *(empty)* | Sound card device name for receiving. | | `TXDevice` | *(empty)* | Sound card device name for transmitting. | | `RXInvert` | `0` | `1` = invert received signal. | | `TXInvert` | `0` | `1` = invert transmitted signal. | | `RXLevel` | `1.0` | Receive level multiplier (1.0 = unity gain). | | `TXLevel` | `1.0` | Transmit level multiplier (1.0 = unity gain). | | `TXDelay` | `150` | Transmit delay in milliseconds. | | `TXTail` | `50` | Transmit tail in milliseconds (extra carrier after last frame). | ### [Split] Multi-receiver split-site configuration using UDP. | Key | Default | Description | |-----|---------|-------------| | `LocalAddress` | *(empty)* | Local IP address for split communication. | | `LocalPort` | `0` | Local UDP port. | | `Timeout` | `0` | Timeout in milliseconds. `0` to disable. | TX/RX names are configured as indexed keys: `TXName0`–`TXName4` and `RXName0`–`RXName24`. ### [Icom] | Key | Default | Description | |-----|---------|-------------| | `Port` | *(empty)* | Serial port (e.g. `/dev/ttyUSB0`). | --- ## [MQTT] *Only used when built with `make MQTT=1`. See [MQTT.md](MQTT.md) for full details.* | Key | Default | Description | |-----|---------|-------------| | `Host` | `127.0.0.1` | MQTT broker hostname or IP. Empty to disable MQTT at runtime. | | `Port` | `1883` | Broker port. | | `Auth` | `0` | `1` = authenticate with username/password. | | `Username` | *(empty)* | Broker username (when Auth=1). | | `Password` | *(empty)* | Broker password (when Auth=1). | | `Keepalive` | `60` | Keepalive interval in seconds. | | `Name` | `dstar-repeater` | Client name and topic prefix. | ### MQTT Topics With `Name=dstar-repeater`: | Topic | Content | |-------|---------| | `dstar-repeater/log` | Timestamped log messages (filtered by MQTTLevel). | | `dstar-repeater/status` | JSON repeater status (1/sec). | | `dstar-repeater/json` | Display-Driver-compatible D-Star events. |