Welcome to Russells-World

Homebrew DMR Repeater Network

PROLOGUE



Do you want to run a private DMR network separate from the mainstream systems that are available? How about connecting a repeater into mine for the variety of hacker cons that have a variety of HAM folks already, but want to be more neighborly to the already abused spectrum? Then, there is the ability of using certain hardware for easier packet mangling of DMR based communication… more on that later.

Core Components Needed



  1. RaspberryPi 3 with Raspbian
  2. DVMega shield for RPi
  3. This code
  4. And this code


    Let’s get it on


Prep your RPi by installing all the build tools.

sudo apt-get update; sudo apt-get install build-essential git
cd MMDVMHost
vi DMRAccessControl.cpp


Find and comment out these 2 lines:

        //if (prefix == 0U || prefix > 999U)
       //      return false;


Then compile!

make


Edit MMDVM.ini. Change the password, frequencies, callsigns, etc.

[General]
Callsign=[YOURSTATIONCALL]
Timeout=320
Duplex=0
RFModeHang=10
NetModeHang=3
Display=None
Daemon=0

[Info]
RXFrequency=447000000
TXFrequency=447000000
Power=1
Latitude=0.0
Longitude=0.0
Height=0
Location=Nowhere
Description=Multi-Mode Repeater
URL=www.google.co.uk

[Log]
# Logging levels, 0=No logging
DisplayLevel=1
FileLevel=1
FilePath=/var/log/mmdvm/
FileRoot=MMDVM

[DMR Id Lookup]
File=/etc/mmdvm/DMRIds.dat
Time=24

[Modem]
Port=/dev/ttyAMA0
TXInvert=1
RXInvert=0
PTTInvert=0
TXDelay=100
DMRDelay=0
RXLevel=50
TXLevel=50
RSSIMappingFile=/etc/mmdvm/RSSI.dat
Trace=0
Debug=1

[DMR]
Enable=1
Id=[YOURASSIGNEDNUMBER]
ColorCode=1
SelfOnly=0
DumpTAData=1
CallHang=3
TXHang=4
Debug=1

[DMR Network]
Enable=1
Address=127.0.0.1
Port=54000
Jitter=300
Password=s3cr37w0rd
Slot1=1
Slot2=1
Debug=1
RSSI=0


Make some files and paths as root

mkdir /etc/mmdvm
cp MMDVM.ini /etc
cp RSSI.dat /etc/mmdvm
cp DMRIds.dat /etc/mmdvm
mkdir /var/log/mmdvm
ln -s /etc/mmdvm/MMDVM.ini /etc/MMDVM.ini


Make some mods to the RPi

sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
remove all info for serial0 in /boot/cmdline.txt
sudo bash -c 'echo "dtoverlay=pi3-disable-bt" >> /boot/config.txt'
reboot
sudo usermod –a –G dialout pi
sudo ./MMDVMHOST /etc/MMDVM.ini