MMDVM.ini по полочкам: разбор ключевых параметров

Категория: КалибровкаСложность: ★★★~11 минут

Файл MMDVM.ini — это паспорт вашего хотспота. В нём прошито всё: позывной, DMR ID, на какой плате вы работаете, как инвертированы сигналы модема, к какому серверу подключаться и с какими поправками частоты. Когда что-то «не взлетает» — рация не выходит в сеть, BER ползёт вверх, сервер отбивает подключение — ответ почти всегда лежит в этом текстовом файле. Разберём ключевые секции и параметры по полочкам: что они делают, какие значения безопасны, а где одна неверная цифра превращает рабочий хотспот в кирпич.

Зачем вообще лезть в MMDVM.ini

Классический MMDVMHost (демон от G4KLX, который связывает модем MMDVM с цифровыми сетями) читает свою конфигурацию именно из этого ini-файла при старте. В мире Pi-Star и WPSD за вас его обычно генерирует веб-морда, и руками туда лазить не приходится. Но понимать структуру всё равно нужно: когда панель чего-то «не умеет», когда вы диагностируете чужой хотспот по логам, или когда нестандартная плата требует ручных правок инверсий и оффсетов.

В сети DMRhub ситуация ещё проще: агент на хотспоте генерирует MMDVM.ini автоматически из данных вашего аккаунта и поддерживает его в актуальном состоянии по OTA. Адрес сервера, порт, пароль, ваш DMR ID — всё подставляется само. Править файл руками в норме не нужно вообще; этот разбор — чтобы вы понимали, что именно агент туда пишет и почему.

Секция [General]: личность хотспота

Это «кто я и как себя веду». Здесь четыре параметра, которые трогают чаще всего.

Секция [Modem]: сердце железа

Самая опасная секция. Здесь описана сама плата MMDVM и её радиочастотная подгонка. Ошибка тут не даёт явной ошибки в логе — просто хотспот «вроде работает», а рация ничего не слышит.

Порт и тип платы

Инверсии TXInvert / RXInvert

TXInvert и RXInvert (значения 0/1) переворачивают полярность сигнала. Разные платы и разные радиочипы требуют разной инверсии. Симптом неверной инверсии классический: хотспот передаёт, рация его слышит, но не принимает ответ от рации (или наоборот). Если у вас в одну сторону всё идёт, а в другую — глухо, первым делом меняйте соответствующий Invert на противоположный.

Оффсеты RXOffset / TXOffset

Это поправки частоты в герцах, компенсирующие неточность кварца модема. Цель — чтобы реальная частота приёма и передачи совпадала с заявленной с точностью до сотен герц. Подбираются они не на глаз, а по результатам калибровки. Подробно процесс описан в материалах про калибровку частоты и MMDVMCal по шагам.

Чем опасен неверный RXOffsetЕсли RXOffset уведён, хотспот «слышит» рацию на смещённой частоте. На слабом сигнале это сразу поднимает BER и обрывает приём, а при большом уходе рация просто не декодируется вообще — при этом в логах хотспота будет тишина, как будто вы не нажимали тангенту. Не подставляйте чужие оффсеты «по аналогии»: они индивидуальны для каждого экземпляра платы.

Уровни RXLevel / TXLevel

Это глубина модуляции на приём и передачу (в процентах, 0–100). Слишком низкий TXLevel — слабая девиация, рация еле декодирует. Слишком высокий — перемодуляция и рост ошибок. Эти два параметра напрямую связаны со здоровьем эфира: их крутят, добиваясь минимального BER. Глубже — в разборе TXLevel и RXLevel, а про целевые цифры BER — в материале какая норма BER.

Секция [DMR]: режим, которым вы пользуетесь

Секция [DMR Network]: связь с сервером

Здесь хотспот узнаёт, куда подключаться. Параметры:

В DMRhub все три верхних параметра агент проставляет сам из вашего профиля — это главная причина, по которой ручная правка обычно не нужна и даже вредна: при следующем OTA-обновлении ваши изменения будут перезаписаны корректными.

Дисплей: [OLED] и [Nextion]

Чисто косметические секции, на радиочасть не влияют.

Ошибка в этих секциях максимум гасит экран — связь продолжит работать.

Типовые ошибки

Мини-шпаргалка: опасные параметры

Если из всего файла запомнить только одно правило, пусть будет такое: радиочастотные параметры из [Modem] (оффсеты, уровни, инверсии) подбираются измерением на вашем конкретном экземпляре, а не копированием. Подробности измерения — в гайдах по MMDVMCal и уровням.

Не хотите править ini руками?

В сети DMRhub агент сам генерирует MMDVM.ini под ваш аккаунт и обновляет его по OTA — адрес, порт, пароль и DMR ID подставляются автоматически.

Источники

  1. G4KLX, репозиторий MMDVMHost и пример конфигурации MMDVM.ini — github.com/g4klx/MMDVMHost
  2. G4KLX, MMDVMCal — утилита калибровки модема — github.com/g4klx/MMDVMCal
  3. Документация и форум Pi-Star по настройке модема и параметрам конфигурации — pi-star.eu
  4. Сообществ. руководства по освобождению UART на Raspberry Pi для HAT-плат MMDVM