Inhaltsverzeichnis

Fertige Firmware für Hotspot-MMDVM-Modems (GPIO) mit Pi-Star selbst flashen [nur zu Archivzwecken]

Anmerkung - bitte beachten !

Sep. 2019: Die hier angebotenen Firmwarepakete V1.4.12 sind inzwischen veraltet (derzeit aktuell V1.4.17), sie sind aber nach wie vor funktionsfähig.
Somit dient diese Seite nur noch Archivierungszwecken, eine Aktualisierung der Firmwarepakete ist nicht mehr geplant.
So hat u.a. PiStar inzwischen eigene Update-Scripts zum Flashen der FW der HS-Modems - deswegen verfolge ich das hier nicht weiter.
Wer eigene, angepasste FW nutzen möchte, will ich auf meine Anleitung Update Firmware MMDVM_HS_Dual_Hat aus den Sourcen verweisen.
Mir fehlt inzwischen leider die Zeit, bei jeder neuen FW hier erneut alle FW-Pakete bereitzustellen, sri.


Vorwort

Für alle, die sich das selbstcompilieren der Firmware wie von mir bereits beschrieben, nicht ganz zutrauen, habe ich 4 verschiedene fertige Firmwarepakete der Version 1.4.12 bereitgestellt, jeweils für die Versionen mit 12 oder 14 Mhz TXCO und dann einmal für den MMDVM_HS_HAT (Simplex) bzw. MMDVM_HS_DUAL_HAT (Duplex). Es ist alles aus dem für Jeden zugänglichen Quellcode bei GitHub auf einem Raspberry Pi compiliert worden: https://github.com/juribeparada/MMDVM_HS . Alle sind mit der Option

#define CONSTANT_SRV_LED

compiliert, da mich einige OM gefragt hatten, ob man die blinkende Status-LED abschalten kann, was ich dann auch so (auf Wunsch) umgesetzt habe.
Ebenfalls ist die Blockierung einiger Frequenzen (neu ab Firmware-Version 1.4.12) abgeschalten worden:

#define DISABLE_FREQ_CHECK
#define DISABLE_FREQ_BAN

Als Funkamateur sollte man die Bandpläne kennen und bei der Frequenzwahl für den Hotspot diese Bereiche natürlich nicht benutzen - im Wesentlichen handelt es sich um den Bereich 435-438 MHz, der für Satellitenkommunikation exklusiv freigehalten werden sollte. Das gebietet eigentlich schon allein der Hamspirit unter uns Funkamateuren. Ob dafür allerdings eine grundsätzliche Sperre dieser Frequenzen notwenig erscheint, sehe ich etwas differenzierter und habe das deswegen auch nicht umgesetzt.
→ Getestet wurde das Folgende unter der Version 3.4.16 vom Pi-Star, dafür ist folgende Anleitung auch gedacht. Das geht natürlich auch unter jeder anderen Distribution, setzt allerdings das Tool stm32flash voraus, um den Flashspeicher des MMDVM_HS-Modems beschreiben zu können. Bei Pi-Star ist das bereits per default vorhanden.



MMDVM_HS_Dual_Hat/GPIO (Duplex-Hotspot)


Bezugsquelle in DL z.B. bei Funk24.net


→ Zum Flashen der MMDVM_HS_Dual_Hat (GPIO) muss bei Hardwarerevision 1.2 bzw. 1.3 des MMDVM_HS_Dual_Hat-Modems der Jumper JP1 (rechts unten auf der Platine, nicht immer bestückt) gebrückt werden. Ansonsten geht das Flashen der Firmware NICHT.

→ Bei Hardwarerevision 1.0 ist dieser Jumper JP1 meist nicht vorhanden, dort geht das Flashen einfach so.
→ Das Flashen per USB-Schnittstelle (falls vorhanden) ist nicht Bestandteil dieser Anleitung, es bezieht sich ausschließlich auf den Einsatz dieses Modems per GPIO-Connector auf dem Raspberry Pi !


Version: 1.4.12 / alle Frequenzsperren aus / rote Status LED aus (nach Start MMDVMHost)
Config.h wie folgt gesetzt:

#define MMDVM_HS_DUAL_HAT_REV10
#define ENABLE_ADF7021
#define DUPLEX
#define ADF7021_14_7456
#define AD7021_GAIN_AUTO
#define STM32_USART1_HOST
#define ENABLE_SCAN_MODE
#define SEND_RSSI_DATA
#define SERIAL_REPEATER
#define CONSTANT_SRV_LED
#define ENABLE_DEBUG
#define DISABLE_FREQ_CHECK
#define DISABLE_FREQ_BAN

Hier gehts los:

pi-star@mmdvm-rptr(ro):~$ rpi-rw

Entweder die nächste Zeile anwenden, wenn ein 14Mhz-TXCO auf dem MMDVM verbaut ist (das ist normalerweise der Standard)
pi-star@mmdvm-rptr(rw):~$ wget https://www.amft-it.de/dist/mmdvm/mmdvm_f1_duplex.bin

oder folgende Zeile anwenden, wenn ein 12Mhz-TXCO auf dem MMDVM verbaut ist
pi-star@mmdvm-rptr(rw):~$ wget https://www.amft-it.de/dist/mmdvm/mmdvm_f1_duplex_12.bin

pi-star@mmdvm-rptr(rw):~$ sudo pistar-watchdog.service stop
pi-star@mmdvm-rptr(rw):~$ sudo systemctl stop mmdvmhost.timer
pi-star@mmdvm-rptr(rw):~$ sudo systemctl stop mmdvmhost.service

Hier entweder wieder bei 14Mhz-TXCO anwenden
pi-star@mmdvm-rptr(rw):~$ sudo /usr/bin/stm32flash -v -w ./mmdvm_f1_duplex.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0

oder bei 12Mhz-TXCO folgendes
pi-star@mmdvm-rptr(rw):~$ sudo /usr/bin/stm32flash -v -w ./mmdvm_f1_duplex_12.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0

pi-star@mmdvm-rptr(rw):~$ sudo reboot


MMDVM_HS_Hat/GPIO (Simplex-Hotspot)


Bezugsquelle in DL z.B. bei Funk24.net


Version: 1.4.12 / alle Frequenzsperren aus / rote Status LED aus (nach Start MMDVMHost)
Config.h wie folgt gesetzt:

#define MMDVM_HS_HAT_REV12
#define ENABLE_ADF7021
#define ADF7021_14_7456
#define AD7021_GAIN_AUTO
#define STM32_USART1_HOST
#define ENABLE_SCAN_MODE
#define SEND_RSSI_DATA
#define SERIAL_REPEATER
#define CONSTANT_SRV_LED
#define ENABLE_DEBUG
#define DISABLE_FREQ_CHECK
#define DISABLE_FREQ_BAN

Hier gehts los:

pi-star@mmdvm-rptr(ro):~$ rpi-rw

Entweder die nächste Zeile anwenden, wenn ein 14Mhz-TXCO auf dem MMDVM verbaut ist (das ist normalerweise der Standard)
pi-star@mmdvm-rptr(rw):~$ wget https://www.amft-it.de/dist/mmdvm/mmdvm_f1_simplex.bin

oder folgende Zeile anwenden, wenn ein 12Mhz-TXCO auf dem MMDVM verbaut ist
pi-star@mmdvm-rptr(rw):~$ wget https://www.amft-it.de/dist/mmdvm/mmdvm_f1_simplex_12.bin

pi-star@mmdvm-rptr(rw):~$ sudo pistar-watchdog.service stop
pi-star@mmdvm-rptr(rw):~$ sudo systemctl stop mmdvmhost.timer
pi-star@mmdvm-rptr(rw):~$ sudo systemctl stop mmdvmhost.service

Hier entweder wieder bei 14Mhz-TXCO anwenden
pi-star@mmdvm-rptr(rw):~$ sudo /usr/bin/stm32flash -v -w ./mmdvm_f1_simplex.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0

oder bei 12Mhz-TXCO folgendes
pi-star@mmdvm-rptr(rw):~$ sudo /usr/bin/stm32flash -v -w ./mmdvm_f1_simplex_12.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0

pi-star@mmdvm-rptr(rw):~$ sudo reboot

Viel Spass ! Heiko, DL1BZ