You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

350 lines
13 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# DStarRepeater Configuration Reference
> **Note:** The config parser treats any line beginning with `#` as a
> comment, and blank lines are skipped. Use `dstarrepeater.example` as
> your starting point for a clean config.
**Config file location:** `/etc/dstarrepeater`
(or `/etc/dstarrepeater_<name>` when using the `-name` command line option)
**Format:** `key=value` — one setting per line, no spaces around the `=`.
Boolean values use `0` for off/false and `1` for on/true.
---
## Callsign Settings
| Setting | Description |
|---------|-------------|
| `callsign=GB3IN C` | Repeater callsign, padded to 8 characters. 7-character base callsign + 1-character module suffix (A, B, C, D, or E). |
| `gateway=` | Gateway callsign, padded to 8 characters (e.g. `GB3IN G`). Leave empty if not linked to a gateway. |
| `mode=0` | Operating mode — see [Mode Values](#mode-values) below. |
| `ack=1` | Acknowledgement type — see [Ack Values](#ack-values) below. Forced to `0` in Gateway, TX Only, RX Only, and TX and RX modes. |
| `restriction=0` | `1` = only whitelisted callsigns accepted. |
| `rpt1Validation=1` | `1` = only accept headers addressed to this repeater. Forced to `1` in Gateway mode. |
| `dtmfBlanking=1` | `1` = mute DTMF tones from the audio stream. |
| `errorReply=1` | `1` = reply with an 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 (ack forced off) |
| `4` | RX Only | Receive only (ack forced off) |
| `5` | TX and RX | Sequential transmit then receive |
### Ack Values
| Value | Type | Description |
|:-----:|------|-------------|
| `0` | Off | No acknowledgement |
| `1` | BER | Respond with Bit Error Rate |
| `2` | Status | Respond with status message |
---
## Network Settings
| Setting | Description |
|---------|-------------|
| `gatewayAddress=127.0.0.1` | IP address of the [ircDDBGateway](https://github.com/g4klx/ircDDBGateway) or [DStarGateway](https://github.com/g4klx/DStarGateway). |
| `gatewayPort=20010` | UDP port the gateway is listening on. |
| `localAddress=127.0.0.1` | Local IP address to bind for gateway communication. |
| `localPort=20011` | Local UDP port for gateway communication. |
| `networkName=` | Network name identifier for multi-repeater setups. Leave empty for a single repeater. |
---
## Modem Type
| Setting | Description |
|---------|-------------|
| `modemType=DVAP` | The type of modem hardware connected to this repeater. |
Must be one of the following strings (case-sensitive):
- `DVAP`
- `DVMEGA`
- `DV-RPTR V1`
- `DV-RPTR V2`
- `DV-RPTR V3`
- `GMSK Modem`
- `MMDVM`
- `Sound Card`
- `Split`
- `Icom Access Point/Terminal Mode`
Only the settings for your selected modem type need to be configured — see [Modem-Specific Settings](#modem-specific-settings).
---
## Timing
| Setting | Description |
|---------|-------------|
| `timeout=180` | Transmission timeout in seconds. `0` to disable. |
| `ackTime=500` | Acknowledgement delay in milliseconds. |
---
## Beacon
| Setting | Description |
|---------|-------------|
| `beaconTime=600` | Beacon interval in seconds. `0` to disable. |
| `beaconText=D-Star Repeater` | Text transmitted in the beacon slow data field. |
| `beaconVoice=0` | `1` = transmit a voice beacon in addition to data. |
| `language=0` | Language for voice beacon text-to-speech — see [Language Values](#language-values) below. |
### 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
| Setting | Description |
|---------|-------------|
| `announcementEnabled=0` | `1` = enable the announcement/recording feature. |
| `announcementTime=500` | Announcement playback interval in milliseconds. |
| `announcementRecordRPT1=` | RPT1 callsign that triggers recording. |
| `announcementRecordRPT2=` | RPT2 callsign that triggers recording. |
| `announcementDeleteRPT1=` | RPT1 callsign that triggers deletion. |
| `announcementDeleteRPT2=` | RPT2 callsign that triggers deletion. |
---
## DTMF Control
| Setting | Description |
|---------|-------------|
| `controlEnabled=0` | `1` = enable DTMF remote control. |
| `controlRPT1=` | RPT1 callsign required for control commands. |
| `controlRPT2=` | RPT2 callsign required for control commands. |
| `controlShutdown=` | DTMF sequence to remotely shut down the repeater. |
| `controlStartup=` | DTMF sequence to remotely start up the repeater. |
| `controlStatus1=` | DTMF sequence to trigger status message 1. |
| `controlStatus2=` | DTMF sequence to trigger status message 2. |
| `controlStatus3=` | DTMF sequence to trigger status message 3. |
| `controlStatus4=` | DTMF sequence to trigger status message 4. |
| `controlStatus5=` | DTMF sequence to trigger status message 5. |
| `controlCommand1=` | DTMF sequence for custom command 1. |
| `controlCommand1Line=` | Shell command executed when command 1 is received. |
| `controlCommand2=` | DTMF sequence for custom command 2. |
| `controlCommand2Line=` | Shell command executed when command 2 is received. |
| `controlCommand3=` | DTMF sequence for custom command 3. |
| `controlCommand3Line=` | Shell command executed when command 3 is received. |
| `controlCommand4=` | DTMF sequence for custom command 4. |
| `controlCommand4Line=` | Shell command executed when command 4 is received. |
| `controlCommand5=` | DTMF sequence for custom command 5. |
| `controlCommand5Line=` | Shell command executed when command 5 is received. |
| `controlCommand6=` | DTMF sequence for custom command 6. |
| `controlCommand6Line=` | Shell command executed when command 6 is received. |
| `controlOutput1=` | DTMF sequence to toggle output relay 1. |
| `controlOutput2=` | DTMF sequence to toggle output relay 2. |
| `controlOutput3=` | DTMF sequence to toggle output relay 3. |
| `controlOutput4=` | DTMF sequence to toggle output relay 4. |
---
## External Controller
| Setting | Description |
|---------|-------------|
| `controllerType=` | Hardware controller type for PTT, LEDs, and relays — see [Controller Types](#controller-types) below. Leave empty for none. |
| `serialConfig=1` | Hardware config selection (15). Selects pin/output mappings on the controller. |
| `pttInvert=0` | `1` = invert PTT output (active low). |
| `activeHangTime=0` | Seconds to hold active state after last transmission ends. `0` to disable. |
### Controller Types
| Value | Description |
|-------|-------------|
| *(empty)* | No controller |
| `GPIO` | Raspberry Pi GPIO pins |
| `UDRC` | UDRC board (Raspberry Pi) |
| `Velleman K8055 - 0` | Velleman K8055 USB board at address 03 |
| `URI USB - 1` | URI USB relay card at address 16 |
| `Serial - /dev/ttyUSB0` | Serial port controller |
| `Arduino - /dev/ttyUSB0` | Arduino controller via serial |
---
## Output Relay Defaults
| Setting | Description |
|---------|-------------|
| `output1=0` | Default state of output relay 1 at startup. `1` = on. |
| `output2=0` | Default state of output relay 2 at startup. `1` = on. |
| `output3=0` | Default state of output relay 3 at startup. `1` = on. |
| `output4=0` | Default state of output relay 4 at startup. `1` = on. |
---
## Logging
| Setting | Description |
|---------|-------------|
| `logging=0` | `1` = enable logging to file. |
---
## Window Position (GUI only)
| Setting | Description |
|---------|-------------|
| `windowX=-1` | Window X position. `-1` for system default. |
| `windowY=-1` | Window Y position. `-1` for system default. |
---
## Modem-Specific Settings
Only configure the section that matches your `modemType`.
### DVAP
| Setting | Description |
|---------|-------------|
| `dvapPort=` | Serial port (e.g. `/dev/ttyUSB0`). |
| `dvapFrequency=145500000` | Operating frequency in Hz (e.g. `438500000` = 438.500 MHz). |
| `dvapPower=10` | Transmit power in dBm. |
| `dvapSquelch=-100` | Squelch level in dBm. Signals below this are ignored. |
### GMSK Modem
| Setting | Description |
|---------|-------------|
| `gmskAddress=768` | USB address of the GMSK modem (decimal). Default 768 = 0x0300 hex. |
### DV-RPTR V1
| Setting | Description |
|---------|-------------|
| `dvrptr1Port=` | Serial port (e.g. `/dev/ttyUSB0`). |
| `dvrptr1RXInvert=0` | `1` = invert received signal polarity. |
| `dvrptr1TXInvert=0` | `1` = invert transmitted signal polarity. |
| `dvrptr1Channel=0` | `0` = Channel A, `1` = Channel B. |
| `dvrptr1ModLevel=20` | Modulation level (0100%). |
| `dvrptr1TXDelay=150` | Transmit delay in milliseconds. |
### DV-RPTR V2
| Setting | Description |
|---------|-------------|
| `dvrptr2Connection=0` | `0` = USB, `1` = Network. |
| `dvrptr2USBPort=` | USB serial port (when connection = `0`). |
| `dvrptr2Address=127.0.0.1` | Network address (when connection = `1`). |
| `dvrptr2Port=0` | Network port (when connection = `1`). |
| `dvrptr2TXInvert=0` | `1` = invert transmitted signal polarity. |
| `dvrptr2ModLevel=20` | Modulation level (0100%). |
| `dvrptr2TXDelay=150` | Transmit delay in milliseconds. |
### DV-RPTR V3
| Setting | Description |
|---------|-------------|
| `dvrptr3Connection=0` | `0` = USB, `1` = Network. |
| `dvrptr3USBPort=` | USB serial port (when connection = `0`). |
| `dvrptr3Address=127.0.0.1` | Network address (when connection = `1`). |
| `dvrptr3Port=0` | Network port (when connection = `1`). |
| `dvrptr3TXInvert=0` | `1` = invert transmitted signal polarity. |
| `dvrptr3ModLevel=20` | Modulation level (0100%). |
| `dvrptr3TXDelay=150` | Transmit delay in milliseconds. |
### DVMEGA
| Setting | Description |
|---------|-------------|
| `dvmegaPort=` | Serial port (e.g. `/dev/ttyAMA0`). |
| `dvmegaVariant=0` | `0` = Modem, `1` = Radio 2m, `2` = Radio 70cm, `3` = Radio 2m/70cm. |
| `dvmegaRXInvert=0` | `1` = invert received signal polarity. |
| `dvmegaTXInvert=0` | `1` = invert transmitted signal polarity. |
| `dvmegaTXDelay=150` | Transmit delay in milliseconds. |
| `dvmegaRXFrequency=145500000` | Receive frequency in Hz (radio variants only). |
| `dvmegaTXFrequency=145500000` | Transmit frequency in Hz (radio variants only). |
| `dvmegaPower=100` | Transmit power as a percentage (0100%, radio variants only). |
### MMDVM
| Setting | Description |
|---------|-------------|
| `mmdvmPort=` | Serial port (e.g. `/dev/ttyACM0`). |
| `mmdvmRXInvert=0` | `1` = invert received signal polarity. |
| `mmdvmTXInvert=0` | `1` = invert transmitted signal polarity. |
| `mmdvmPTTInvert=0` | `1` = invert PTT signal. |
| `mmdvmTXDelay=50` | Transmit delay in milliseconds. |
| `mmdvmRXLevel=100` | Receive audio level (0100%). |
| `mmdvmTXLevel=100` | Transmit audio level (0100%). |
### Sound Card
| Setting | Description |
|---------|-------------|
| `soundCardRXDevice=` | Sound card device name for receiving audio. |
| `soundCardTXDevice=` | Sound card device name for transmitting audio. |
| `soundCardRXInvert=0` | `1` = invert received signal polarity. |
| `soundCardTXInvert=0` | `1` = invert transmitted signal polarity. |
| `soundCardRXLevel=1.0000` | Receive level multiplier (1.0 = unity gain). |
| `soundCardTXLevel=1.0000` | Transmit level multiplier (1.0 = unity gain). |
| `soundCardTXDelay=150` | Transmit delay in milliseconds. |
| `soundCardTXTail=50` | Transmit tail in milliseconds (extra carrier after last frame). |
### Icom Access Point/Terminal Mode
| Setting | Description |
|---------|-------------|
| `icomPort=` | Serial port (e.g. `/dev/ttyUSB0`). |
### Split
| Setting | Description |
|---------|-------------|
| `splitLocalAddress=` | Local IP address for split RX/TX communication. |
| `splitLocalPort=0` | Local UDP port for split communication. |
| `splitTimeout=0` | Split timeout in seconds. `0` to disable. |
Split TX/RX names are stored as indexed entries (`splitTXName0`, `splitRXName0`, etc.) — up to 5 transmitters and 25 receivers.
---
## MQTT Settings
*Only used when built with `make MQTT=1`. See [MQTT.md](MQTT.md) for full details on topics, JSON format, and Display-Driver compatibility.*
| Setting | Description |
|---------|-------------|
| `mqttHost=127.0.0.1` | MQTT broker hostname or IP address. Set to empty to disable MQTT at runtime even when compiled in. |
| `mqttPort=1883` | MQTT broker port. |
| `mqttAuth=0` | `1` = authenticate with the broker using `mqttUsername` and `mqttPassword`. |
| `mqttUsername=` | Broker username (when `mqttAuth=1`). |
| `mqttPassword=` | Broker password (when `mqttAuth=1`). |
| `mqttKeepalive=60` | Keepalive interval in seconds. Minimum 5. |
| `mqttName=dstar-repeater` | Client name and topic prefix for all published messages. |
### MQTT Topics
With the default `mqttName` of `dstar-repeater`, the following topics are published:
| Topic | Content |
|-------|---------|
| `dstar-repeater/log` | Timestamped log messages, filtered by severity. |
| `dstar-repeater/status` | JSON repeater status, published once per second. |
| `dstar-repeater/json` | Display-Driver-compatible events at state transitions. |

Powered by TurnKey Linux.