# 📖 Полная инструкция по установке DVSwitch-Server на Ubuntu 22.04 > **Автор:** ua1zbe > **Дата:** Апрель 2026 > **Сервер:** 192.168.1.34 (Ubuntu 22.04 LTS) --- ## 📋 Оглавление 1. [Введение](#введение) 2. [Требования к системе](#требования-к-системе) 3. [Проблемы при установке и их решения](#проблемы-при-установке-и-их-решения) 4. [Пошаговая установка](#пошаговая-установка) 5. [Настройка веб-дашборда](#настройка-веб-дашборда) 6. [Настройка Android приложения](#настройка-android-приложения) 7. [Конфигурация DVSwitch](#конфигурация-dvswitch) 8. [Управление сервисами](#управление-сервисами) 9. [Диагностика проблем](#диагностика-проблем) --- ## 📌 Введение **DVSwitch-Server** — это серверное ПО для радиолюбителей, позволяющее подключаться к цифровым сетям (DMR, D-STAR, YSF, NXDN, P25) через IP. Состоит из нескольких компонентов: | Компонент | Назначение | |-----------|------------| | **Analog_Bridge** | Преобразование между аналоговым и цифровым аудио (AMBE/IMBE ↔ PCM) | | **MMDVM_Bridge** | Мост между различными цифровыми режимами | | **DVSwitch-Server** | Основной серверный пакет | | **Web_Proxy** | Веб-интерфейс для передачи аудио | | **DVSwitch Dashboard** | Веб-дашборд для мониторинга | | **md380-emu** | Эмулятор AMBE вокодера | --- ## 🖥️ Требования к системе - **ОС:** Ubuntu 20.04/22.04 LTS или Debian 10/11/12 - **RAM:** Минимум 512 MB (рекомендуется 1 GB) - **Диск:** 2 GB свободного места - **Сеть:** Статический IP-адрес - **Права:** root или sudo доступ --- ## ⚠️ Проблемы при установке и их решения ### Проблема 1: Репозиторий DVSwitch недоступен для Ubuntu 22.04 **Симптомы:** ```bash wget http://dvswitch.org/buster ./buster # Ошибка: Distribution is 'bookworm', exiting. ``` **Причина:** Скрипт `buster` проверяет версию ОС и отказывается работать на Ubuntu 22.04 (jammy). **Решение:** Использовать скрипт `bookworm` вместо `buster`: ```bash wget http://dvswitch.org/bookworm chmod +x bookworm sudo ./bookworm ``` --- ### Проблема 2: Конфликт веб-серверов (Apache vs lighttpd) **Симптомы:** ```bash Job for apache2.service failed because the control process exited with error code. (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 ``` **Причина:** DVSwitch устанавливает lighttpd, но Apache также пытается занять порт 80. **Решение:** ```bash # Остановить Apache sudo systemctl stop apache2 sudo systemctl disable apache2 # Запустить lighttpd sudo systemctl restart lighttpd ``` --- ### Проблема 3: Dashboard показывает страницу Apache вместо DVSwitch **Симптомы:** При открытии http://IP-адрес/ показывается "Apache2 Ubuntu Default Page" **Причина:** DVSwitch Dashboard установлен в `/usr/share/dvswitch/`, но lighttpd настроен на `/var/www/html`. **Решение:** ```bash # Изменить конфигурацию lighttpd sudo sed -i 's|server.document-root.*|server.document-root = "/usr/share/dvswitch/"|' /etc/lighttpd/lighttpd.conf # Перезапустить lighttpd sudo systemctl restart lighttpd ``` --- ### Проблема 4: Сервисы не запускаются автоматически **Симптомы:** ```bash systemctl status analog_bridge # Active: inactive (dead) ``` **Причина:** Конфигурационные файлы могут содержать ошибки или отсутствовать. **Решение:** ```bash # Проверить конфигурацию cat /opt/Analog_Bridge/Analog_Bridge.ini # Запустить вручную для проверки /opt/Analog_Bridge/Analog_Bridge /opt/Analog_Bridge/Analog_Bridge.ini # Если OK, запустить сервис sudo systemctl start analog_bridge sudo systemctl enable analog_bridge ``` --- ### Проблема 5: Ошибки при загрузке TGList и YSFHosts **Симптомы:** ```bash Error, YSFHosts.txt file does not seem to be valid Warning, download failure Error, TGList_TGIF.txt file does not seem to exist ``` **Причина:** Файлы баз данных не загрузились при установке. **Решение:** ```bash # Перезапустить сервисы для повторной попытки sudo systemctl restart mmdvm_bridge # Или скачать вручную cd /opt/MMDVM_Bridge wget https://raw.githubusercontent.com/DVSwitch/YSFGateway/master/YSFHosts.txt ``` --- ## 🚀 Пошаговая установка ### Шаг 1: Подготовка системы ```bash # Обновить систему sudo apt update && sudo apt upgrade -y # Установить необходимые пакеты sudo apt install -y wget curl git net-tools ``` --- ### Шаг 2: Добавление репозитория DVSwitch ```bash # Скачать скрипт репозитория (bookworm для Ubuntu 22.04) cd ~ wget http://dvswitch.org/bookworm # Сделать исполняемым chmod +x bookworm # Запустить от root sudo ./bookworm ``` **Ожидаемый вывод:** ``` Starting DVSwitch repository install/correction Downloading DVSwitch GPG keyring... Verified: Valid DVSwitch Keyring (72147EC1E788D4C3) Configuring /etc/apt/sources.list.d/dvswitch.list... Updating package information... Finished DVSwitch repository install ``` --- ### Шаг 3: Установка DVSwitch-Server ```bash # Обновить список пакетов sudo apt update # Установить DVSwitch-Server с веб-сервером sudo apt install -y dvswitch-server lighttpd php-cgi ``` **Время установки:** ~5-10 минут **Занимаемое место:** ~238 MB --- ### Шаг 4: Исправление конфликта веб-серверов ```bash # Остановить Apache (если установлен) sudo systemctl stop apache2 sudo systemctl disable apache2 # Настроить lighttpd для DVSwitch Dashboard sudo sed -i 's|server.document-root.*|server.document-root = "/usr/share/dvswitch/"|' /etc/lighttpd/lighttpd.conf # Перезапустить lighttpd sudo systemctl restart lighttpd ``` --- ### Шаг 5: Проверка установки ```bash # Проверить версию dvs --version # Проверить сервисы sudo systemctl status analog_bridge sudo systemctl status mmdvm_bridge sudo systemctl status webproxy # Проверить веб-дашборд curl http://localhost/ | grep "DVSwitch Dashboard" ``` --- ## 🌐 Настройка веб-дашборда ### Доступ к дашборду 1. Откройте браузер 2. Введите: `http://192.168.1.34/` (замените на ваш IP) 3. Должен открыться **DVSwitch Dashboard** ### Разделы дашборда: | Раздел | Описание | |--------|----------| | **Last Heard** | Последние прослушанные станции | | **Local RF** | Локальные передачи | | **System Monitor** | Загрузка CPU, память, температура | | **Settings** | Текущие настройки сервера | --- ## 📱 Настройка Android приложения ### Шаг 1: Установка DVSwitch Mobile **Вариант A: Google Play Store** ``` 1. Откройте Google Play Store 2. Найдите "DVSwitch Mobile" 3. Установите приложение ``` **Вариант B: APK файл** ``` 1. Посетите: https://apkpure.com/dvswitch-mobile/org.dvswitch 2. Скачайте последнюю версию APK 3. Установите на устройство (разрешите установку из неизвестных источников) ``` --- ### Шаг 2: Настройка подключения 1. **Откройте DVSwitch Mobile** 2. **Нажмите "Add Connection"** 3. **Заполните параметры:** | Параметр | Значение | |----------|----------| | **Connection Type** | USRP (Analog_Bridge) | | **IP Address** | 192.168.1.34 (IP вашего сервера) | | **Port** | 31001 | | **Username** | (оставьте пустым) | | **Password** | (оставьте пустым) | | **Caller ID** | Ваш DMR ID | 4. **Нажмите "Save"** 5. **Подключитесь:** Нажмите на созданное подключение --- ### Шаг 3: Проверка подключения 1. Нажмите **PTT** (Push-To-Talk) в приложении 2. Говорите в микрофон 3. Проверьте дашборд — должна появиться активность 4. Проверьте логи сервера: ```bash sudo journalctl -u analog_bridge -f ``` --- ## ⚙️ Конфигурация DVSwitch ### Настройка Analog_Bridge **Файл:** `/opt/Analog_Bridge/Analog_Bridge.ini` ```ini [GENERAL] logLevel = 2 exportMetadata = true transferRootDir = /tmp subscriberFile = /var/lib/dvswitch/subscriber_ids.csv decoderFallBack = true useEmulator = true emulatorAddress = 127.0.0.1:2470 pcmPort = 2222 [AMBE_AUDIO] address = 127.0.0.1 txPort = 31103 rxPort = 31100 ambeMode = DMR minTxTimeMS = 2500 gatewayDmrId = 1234567 ; ← Ваш DMR ID repeaterID = 123456789 ; ← Ваш ID повторителя txTg = 9 ; ← TG по умолчанию txTs = 2 ; ← Слот (1 или 2) colorCode = 1 [USRP] address = 0.0.0.0 ; ← Слушать все интерфейсы txPort = 31001 ; ← Порт для DVSwitch Mobile rxPort = 31001 usrpAudio = AUDIO_USE_GAIN usrpGain = 1.10 ``` --- ### Настройка MMDVM_Bridge **Файл:** `/opt/MMDVM_Bridge/MMDVM_Bridge.ini` ```ini [General] Callsign=UA1ZBE RptAddress=127.0.0.1 RptPort=31103 LocalAddress=127.0.0.1 LocalPort=31100 Debug=0 [DMR Network] Enable=1 Address=brandmeister.network Port=62031 Password=ваш_пароль ; ← Пароль от BrandMeister Id=1234567 ; ← Ваш DMR ID ``` --- ### Настройка для BrandMeister 1. **Получите пароль:** - Посетите: https://brandmeister.network/ - Войдите под своим DMR ID - Получите пароль для DVSwitch 2. **Отредактируйте MMDVM_Bridge.ini:** ```ini [DMR Network] Enable=1 Address=brandmeister.network Port=62031 Password=ваш_пароль_от_BrandMeister Id=1234567 ``` 3. **Перезапустите сервисы:** ```bash sudo systemctl restart mmdvm_bridge sudo systemctl restart analog_bridge ``` --- ## 🔧 Управление сервисами ### Запуск/остановка/перезапуск ```bash # Analog_Bridge sudo systemctl start analog_bridge sudo systemctl stop analog_bridge sudo systemctl restart analog_bridge # MMDVM_Bridge sudo systemctl start mmdvm_bridge sudo systemctl stop mmdvm_bridge sudo systemctl restart mmdvm_bridge # Web_Proxy sudo systemctl start webproxy sudo systemctl stop webproxy sudo systemctl restart webproxy # Все сервисы сразу sudo systemctl restart analog_bridge mmdvm_bridge webproxy ``` ### Автозапуск при загрузке ```bash sudo systemctl enable analog_bridge sudo systemctl enable mmdvm_bridge sudo systemctl enable webproxy sudo systemctl enable md380-emu ``` ### Просмотр логов ```bash # В реальном времени sudo journalctl -u analog_bridge -f sudo journalctl -u mmdvm_bridge -f # Последние 50 строк sudo journalctl -u analog_bridge -n 50 # За сегодня sudo journalctl -u analog_bridge --since today ``` ### Проверка статуса ```bash # Все сервисы DVSwitch sudo systemctl list-units --type=service | grep -E "analog|mmdvm|webproxy|dvswitch" # Детальный статус sudo systemctl status analog_bridge --no-pager ``` --- ## 🐛 Диагностика проблем ### Сервис не запускается ```bash # Проверить статус sudo systemctl status analog_bridge # Проверить логи sudo journalctl -u analog_bridge -n 100 # Проверить конфигурацию /opt/Analog_Bridge/Analog_Bridge --check /opt/Analog_Bridge/Analog_Bridge.ini # Запустить вручную для отладки /opt/Analog_Bridge/Analog_Bridge /opt/Analog_Bridge/Analog_Bridge.ini ``` --- ### Веб-дашборд не открывается ```bash # Проверить lighttpd sudo systemctl status lighttpd # Проверить порт 80 sudo netstat -tlnp | grep :80 # Проверить конфигурацию cat /etc/lighttpd/lighttpd.conf | grep document-root # Перезапустить sudo systemctl restart lighttpd ``` --- ### Нет звука при передаче 1. **Проверьте настройки gain в Analog_Bridge.ini:** ```ini usrpAudio = AUDIO_USE_GAIN usrpGain = 1.50 ; Увеличьте значение ``` 2. **Проверьте логи на ошибки AMBE:** ```bash sudo journalctl -u analog_bridge | grep -i ambe ``` 3. **Убедитесь, что md380-emu запущен:** ```bash sudo systemctl status md380-emu ``` --- ### Приложение не подключается 1. **Проверьте брандмауэр:** ```bash sudo ufw status sudo ufw allow 31001/udp sudo ufw allow 2222/udp ``` 2. **Проверьте, что порт слушается:** ```bash sudo netstat -ulnp | grep 31001 ``` 3. **Проверьте IP-адрес в приложении:** - Должен совпадать с `hostname -I` на сервере --- ## 📊 Порты и протоколы | Порт | Протокол | Назначение | |------|----------|------------| | 31001 | UDP | USRP (DVSwitch Mobile) | | 31100 | UDP | MMDVM_Bridge ↔ Analog_Bridge (RX) | | 31103 | UDP | MMDVM_Bridge ↔ Analog_Bridge (TX) | | 2222 | UDP | Web_Proxy (аудио поток) | | 2470 | UDP | md380-emu (AMBE эмулятор) | | 80 | TCP | Веб-дашборд | --- ## 📝 Полезные команды ```bash # Проверка версии DVSwitch dvs --version # Меню конфигурации (интерактивное) sudo dvs # Пересоздать конфигурацию sudo /usr/local/dvs/init_config.sh # Обновить базу DMR ID sudo /usr/local/dvs/tgdb.sh # Проверка сети ping -c 4 brandmeister.network # Мониторинг в реальном времени watch -n 1 'sudo systemctl status analog_bridge mmdvm_bridge --no-pager' ``` --- ## 🔗 Полезные ссылки - **Официальный сайт:** http://dvswitch.org/ - **GitHub DVSwitch:** https://github.com/DVSwitch - **DVSwitch Mobile (APK):** https://apkpure.com/dvswitch-mobile/org.dvswitch - **BrandMeister:** https://brandmeister.network/ - **Форум DVSwitch:** https://dvswitch.groups.io/g/main - **Wiki DVSwitch Mobile:** https://dvswitch.groups.io/g/Mobile/wiki --- ## 📞 Поддержка Если возникли проблемы: 1. Проверьте логи: `sudo journalctl -u analog_bridge -f` 2. Проверьте конфигурацию: `cat /opt/Analog_Bridge/Analog_Bridge.ini` 3. Обратитесь на форум: https://dvswitch.groups.io/ 4. Проверьте wiki: https://dvswitch.groups.io/g/main/wiki --- **Версия инструкции:** 1.0 **Последнее обновление:** Апрель 2026 **Протестировано на:** Ubuntu 22.04 LTS