V12 Up to date 13 July 2016 Run cd ~/Downloads/MMDVMHost git checkout MMDVM.ini ./gitpull.sh to update mmdvm Zum FW guide ; Nb : Some of the new filter choice units are not shown as choices in chooser, but will work if entered as below ; MMDVM.ino.bin < Standard Zum mmdvm, no options MMDVM12.ino.bin < Standard Zum mmdvm, with Zum clock MMDVM12fb.ino.bin < Standard Zum mmdvm, with Zum clock and both TX/RX wide filtering MMDVM12fr.ino.bin < Standard Zum mmdvm, with Zum clock and RX wide filtering MMDVM12ft.ino.bin < Standard Zum mmdvm, with Zum clock and TX wide filtering MMDVM12io.ino.bin < Standard Zum mmdvm, with Zum clock and PWM pin mode control .............................................................................................. General info & examples ; nano /usr/bin/mhost.sh Go to bottom section and edit the sed lines placing # at margin/left edge, if not already, i.e commenting out to disable. > leave filelevel line as is to enable logging. Otherwise these sed commands will overide your ini config. Otherwise edit these lines to your own needs. Check sed lines in nano /usr/bin/mega.sh for the dvmega (check frequencies etc) N/A > MMDVMHost Full Updateded @ 14 May 2016 DASHBOARD ; Dashboard config files, just your callsign needed (change vk4tux to yours) in /var/www/html/config/config.php /var/www/html/ircddblocal.php ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ General setup; Use 7zip to unzip ....img.zip files ; http://www.7-zip.org/download.html Updates (Note YSFGateway is now updated in same process with MMDVMHost) ; cd ~/Downloads/MMDVMHost ./gitpull.sh git checkout filename (filename of any causing errors & run ./gitpull.sh again) Note on Odroid C2 Image ; usr/pass ; odroid/odroid sudo su gives root permission, with no password needed VNC password = mmdvm VNC port = 5900 usr/pass = mmdvm/mmdvm ssh port is default 22 sudo su to get to root, no password needed passwd to set passwd as mmdvm or root FW version set for ZUM Load Usage ZUM FW Chooser is in Digital Ham Menu select FW then run ZUM load to install FW to DUE MMDVM.ino.bin < ZUM board base FW (no ext txco) MMDVM12.ino.bin < ZUM board 12MHz FW (ext txco) MMDVM1228.ino.bin < ZUM board 12.288MHz FW (ext txco) MMDVM14.ino.bin < ZUM board 14.4MHz FW (ext txco) MMDVM19.ino.bin < ZUM board 19.2MHz FW (ext txco) MMDVM48.ino.bin < ZUM board 48KHz base # FW.sh 14 = 14.4, 19 = 19.2 48 = 48KHz base Enter FW version required exactly as shown ; MMDVM.ino.bin, MMDVM12.ino.bin, MMDVM1228.ino.bin, MMDVM14.ino.bin, MMDVM19.ino.bin, MMDVM48.ino.bin MMDVM1228.ino.bin DUE FW is set to 'MMDVM1228.ino.bin' # then run ZUM load as usual. Read run.txt, using the MMDVM.ini menu selection to bring up setup items incl run.txt Note ; /usr/bin/mhost.sh /usr/bin/mega.sh (dvmega) and /usr/bin/mserv.sh may contain scripting that overides the template file settings for the final edit forming MMDVM.ini check the sed input/output in above to suit your config. After edit delete DMRIds.dat & replace from github, as edit will effect entries. cd ~/Downloads/MMDVMHost rm DMRIds.dat git checkout DMRIds.dat Pi 2-3 & Odroid C1 images Note (update) Pi 2-3 vnc password is mmdvm . Have a template file system for Brandmeister Server (DMR) or mode selection (DSTAR/C4FM) The template files are edited as instructed in the run.txt file , opened with MMDVM.ini and Terminal in working folder /home/mmdvm/Downloads/MMDVMHost. After The main information is changed to user requirement the script /usr/bin/mega.sh can be edited to suit the change from mmdvm operation to dvmega operation. MMDVM.ini is created/edited by these two processes, and is the working config. This allows quick change from mmdvm to dvmega with the choose options available to both. Read run.txt (MMDVM.ini in menu, as advised for info. Contact vk4tux@bigpond.com for assistance if required. Dstar ircddbgateway and dstarrepeater programs included DV4mini and dvap support included. D-Star Host File updates supported. MMDVMHost github update script included in MMDVMHost run ./gitpull.sh git checkout files listed st start of process, preventing the update and repeat for example git checkout Conf.cpp git checkout Conf.h git checkout DMRControl.cpp these could be three files that were mentioned at the start of the ./gitpull process, , git checkout as above then run ./gitpull.sh again and you will see the updates follow through ; example ; Thu Mar 10 10:44:47 UTC 2016 Updating ae40ad3..3cd7e6a Fast-forward AMBEFEC.cpp | 16 +++++++++--- Conf.cpp | 40 ++++++++++++++-------------- Conf.h | 16 ++++++------ DMRControl.cpp | 11 ++++++++ DMRIPSC.cpp | 27 ++++++++++++------- DMRIPSC.h | 6 ++--- DMRLC.cpp | 2 ++ DMRShortLC.cpp | 8 ++++++ DMRSlot.cpp | 42 +++++++++++++++++++++++------- DMRSlot.h | 2 +- DStarControl.cpp | 79 ++++++++++++++++++++++++++++++++++++++++++++------------ DStarControl.h | 2 +- DStarHeader.cpp | 20 ++++++++++++++ DStarNetwork.cpp | 13 +++++++--- DStarNetwork.h | 5 ++-- Hamming.cpp | 21 ++++++++++++++- Log.cpp | 73 +++++++++++++++++++++++---------------------------- Log.h | 6 ++--- MMDVM.ini | 8 +++--- MMDVMHost.cpp | 71 ++++++++++++++++++++++++++++---------------------- MMDVMHost.h | 1 + Modem.cpp | 3 +++ README.md | 2 +- TFTSerial.cpp | 14 +++++----- Utils.cpp | 10 ++++++- Version.h | 2 +- YSFControl.cpp | 12 +++++++++ 27 files changed, 343 insertions(+), 169 deletions(-) try running again you, should just see example; Thu Mar 10 10:45:35 UTC 2016 Already up-to-date. before the make process, you now have updated MMDVMHost. There is a dstar php dashboard on port 82 ircddblocal.php and hotspot_quad.php and be edited to match your callsign in webroot. KI6ZUM > DUE firmware is loaded with ZUM load from Menu, Process is automatic, and MMDVM can be restarted immediately for use. To enable internal wifi for Pi3 ; The steps to disable /dev/AMA0 consolde must be reversed, commenting the bt disable line /config.txt, & comment 'enable tree'. also do ; systemctl enable getty@.service reboot update Friday March 2016 ; do cd /home/odroid/Downloads/MMDVMHost or cd /home/mmdvm/Downloads/MMDVMHost then run as root find ./ -type f -exec sed -i '/TXDelay=100/a DMRDelay=0' {} \; to update all ini files for last update if you had changed your TX delay , then match that in the find cmd string. There is no password as default. Many keep 5900 shut on their router and use vnc via their home lan IP (192.... eg,..) as I do. ref http://askubuntu.com/questions/229989/how-to-setup-x11vnc-to-access-with-graphical-login-screen you can add password re x11vnc and setup the password requirement on exec line in sudo nano /usr/bin/delay.sh << starts the vnc at boot To enable internal wifi on PI3, do ; in /boot/config.txt as root find ## over_voltage_sdram=1 # force_turbo=0 dtoverlay=pi3-disable-bt ## ## Device Tree ## # Disable device tree device_tree= and change to ## over_voltage_sdram=1 # force_turbo=0 #dtoverlay=pi3-disable-bt ## ## Device Tree ## # Disable device tree #device_tree= save /boot/config.txt then do sudo systemctl enable getty@.service reboot the PI, On restart in top right networkmanager > edit connections add 'wifi' In the wifi set mac address field click the dropdown to reveal the built in wifi mac address, then select it and finish seting up for you ssid and authentication. GPIO dvmega use may be unavailable to enable the internal wifi, however usb mmdvm devices will be fine. Run ZUM Load for new FW INI FILE UPDATE ONLY DO THIS ONCE ; cd /home/odroid/Downloads/MMDVMHost or cd /home/mmdvm/Downloads/MMDVMHost then run as root find ./ -type f -exec sed -i '/TXDelay=100/a DMRDelay=0' {} \; to update all ini files for last update Also only use 7zip to unzip the file ; http://www.7-zip.org/download.html Download 7-Zip 15.14 (2015-12-31) for Windows: Link Type Windows Description Download .exe 32-bit x86 7-Zip for 32-bit Windows Download .exe 64-bit x64 7-Zip for 64-bit Windows x64 (Intel 64 or AMD64) Download .7z x86 / x64 7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager Download .7z Any 7-Zip Source code Download .7z Any / x86 / x64 LZMA SDK: (C, C++, C#, Java) Download .msi 32-bit x86 (alternative MSI installer) 7-Zip for 32-bit Windows Download .msi 64-bit x64 (alternative MSI installer) 7-Zip for 64-bit Windows x64 (Intel 64 or AMD64) use a 16GB sandisk Ultra uSD, or 16GB eMMC > odroid C1 To update MMDVMHost as already indicated above, do in terminal ; cd /home/mmdvm/Downloads/MMDVMHost <> [TFT Serial] Port=/dev/ttyAMA0 Brightness=50 [HD44780] Rows=2 Columns=16 # For basic HD44780 displays (4-bit connection) # rs, strb, d0, d1, d2, d3 Pins=11,10,0,1,2,3 # Device address for I2C I2CAddress=0x20 # PWM backlight PWM=0 PWMPin=21 PWMBright=100 PWMDim=16 DisplayClock=1 UTC=0 [Nextion] Port=/dev/ttyAMA0 Brightness=50 DisplayClock=1 UTC=0 IdleBrightness=20 [OLED] Type=3 Brightness=0 Invert=0 Note on Odroid C2 Image ; usr/pass ; odroid/odroid sudo su gives root permission, with no password needed Dashboard now added on port 82 dmrid.sh #!/bin/bash cd ~/Downloads/MMDVMHost tail -f MMDVM-"$(date -u +%Y-%m-%d)".log | awk -F" " '/from/{print $12, $13, $14, $15}' #tail -f MMDVM-"$(date -u +%Y-%m-%d)".log | awk '/from/{printf "%s\n\n", $12}' dvmega notes ; ................................................................................................. take the chip off the dvmega and take the chip off the UNO. Put the dvmega chip on th UNO with the ident marker at chip end at the same orientation as when removed, which is the ident at the antenna end of board/socket. Plug into the windows PC. Use the X-Loader program to select the UNO firmware in link Firmware V 2.27 that you downloaded below, then select UNO type of arduino, and the com port from detected dropdown. baud rate should be 115000. you will see ~28xxx or so uploaded, it is done. Put the dvmega chip from the UNO back onto the dvmega as before and fit to the PI GPIO. Disable the console getty using AMA0 port so it is available for the PI. On older Pi's and images, it was ; To enable the serial port for your own use you need to disable login on the port. There are two files that need to be edited The first and main one is /etc/inittab This file has the command to enable the login prompt and this needs to be disabled. Edit the file and move to the end of the file. You will see a line similar to T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 Disable it by adding a # character to the beginning. Save the file. #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 Disable Bootup Info When the Raspberry Pi boots up, all the bootup information is sent to the serial port. Disabling this bootup information is optional and you may want to leave this enabled as it is sometimes useful to see what is happening at bootup. If you have a device connected (i.e. Arduino) at bootup, it will receive this information over the serial port, so it is up to you to decide whether this is a problem or not. You can disable it by editing the file /boot/cmdline.txt The contents of the file look like this dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait Remove all references to ttyAMA0 (which is the name of the serial port). The file will now look like this dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait On modern images (with no /etc/inttab) do the /boot/cmdline.txt part, then run these commands sudo systemctl stop serial-getty@ttyAMA0 sudo systemctl disable serial-getty@ttyAMA0 sudo systemctl disable serial-getty@... to permanently disable do ; sudo systemctl mask serial-getty@... Do sudo usermod -a -G dialout pi Misc Notes ; If your handheld is behaving as if it has accessed the repeater then it could be because it is synchronising its slot timing outside the acceptance window set in the MMDVM firmware. There seems to be quite a large difference between radios. The current window has been tweaked to work with most, but it may be that your handheld is outside the normal range. If you can, try it with a different Handheld. If that works then you may need to adjust the window in the MMDVM firmware. It is in the DMRSlotRX module in the processSample function. if (m_state == DMRRXS_NONE) { if (m_dataPtr >= 415U && m_dataPtr <= 455U) correlateSync(true); Try reducing the value 415U down to 405U. That will open up the acceptance window a little bit. You then will need to build the new firmware and download it to your Arduino. Colin G4EML recovery use GUI file manager and rename MMDVMHost to something else like MMDVMHost_wk then in terminal do git clone https://github.com/g4klx/MMDVMHost.git In File manager enter MMDVMHost enable view hidden files Select all contents with mouse, and right click copy to inside MMDVMHost_wk In file manager delete MMDVMHost rename MMDVMHost_wk to MMDVMHost run cd ~/Downloads/MMDVMHost git checkout MMDVM.ini (and any other files causing errors) ./gitpull.sh