Инструкция по сборке и установке SvxLink из исходных кодов, на Raspberry_Pi c SD-картой не менее 8Гб, для подготовленных радиолюбителей.
Скачиваем свежий Raspberry Pi Imager, выбираем образ Lite, для вашей платы и создаём загрузочную SD-карту. Нужно будет указать логин и пароль, подключение к wifi (если нужно) и включить sshd.
На платы Raspberry_Pi, выпущенные до 2017 года (версия B без плюса) лучше устанавливать 32-х битную версию Raspberry Pi OS. Скорость работы и стабильность будет выше.
Вставляем SD-карту в плату, подаём питание, подключаемся к локальной сети, ждём пару минут, В роутере смотрим на присвоенный IP.
Подключаем интерфейс для радиостанции или звуковую карту с гарнитурой (для тестирования и предварительной настройки).

Заходим в консоль программой PuTTY (вводим IP платы и юзер/пароль тот который вы указали). Приведённые ниже команды, нужно по очереди копировать в консоль и смотреть на результат!
Обновляемсяsudo apt update sudo apt upgrade -yДобавляем необходимые библиотеки и программы
sudo apt-get -yq install gcc g++ make cmake tcl-dev git git-core mc curl rtl-sdr groff sudo apt-get -yq install libgcrypt-dev libgcrypt20-dev libgsm1-dev libsigc++-2.0-dev sudo apt-get -yq install libspeex-dev libasound2-dev libpopt-dev libssl-dev libopus-dev sudo apt-get -yq install libjsoncpp-dev libgpiod-dev gpiod librtlsdr-dev libogg-dev sudo apt-get -yq install ca-certificates doxygen alsa-utils vorbis-tools sudo apt-get -yq install libcurl4-openssl-dev libcurl4-openssl-dev ladspa-sdkСоздаём пользователя svxlink, с нужными правами
sudo useradd -rG audio,plugdev,dialout svxlink sudo gpasswd -a svxlink gpio sudo gpasswd -a svxlink ttyСкачиваем исходный код в домашнюю папку текущего пользователя
cd ~ git clone https://github.com/sm0svx/svxlink.git mkdir svxlink/src/build cd svxlink/src/buildПроверяем конфигурацию, смотрим чего не хватает
cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=ON ..Если Systemd не нужен, пишем так
cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DCMAKE_BUILD_TYPE=Release ..Если ошибок нет, компилируем и устанавливаем (время компиляции длится 10-30 минут).
make make doc sudo make install sudo ldconfigТеперь, устанавливаем два набора звуков (в одном файле), русскоязычный комплект, как основной и дополнительный англоязычный (спасибо ua6hjq):
wget http://ua6hjq.qrz.ru/files/svxlink-sounds-ru-16k.tgz sudo tar xvf svxlink-sounds-ru-16k.tgz -C / sudo chown -R svxlink:svxlink /usr/share/svxlink/sounds
Как показала практика, svxlink иногда, использует звуки из англоязычного комплекта, даже если в настройках указан другой набор звуков. Поэтому в архиве два языка, такая комбинация будет оптимальной.
Откройте конфигурационный файл и установите русскоязычные звуки
sudo mcedit /etc/svxlink/svxlink.conf DEFAULT_LANG=ru вместо DEFAULT_LANG=en_US
Итак, у нас есть собранный и установленный svxlink, который нужно настроить путём редактирования этих файлов
sudo mcedit /etc/svxlink/svxlink.conf sudo mcedit /etc/svxlink/gpio.confНастройка описана в другой статье, а здесь примеры минимальных настроек svxlink.conf и gpio.conf для первого запуска svxlink.
Если ранее вы выбрали ...SYSTEMD=ON, будет правильно запустить svxlink в режиме демона и включить автозапуск, чтобы он стартовал самостоятельно. Делаем так:
sudo systemctl enable --now svxlink
Запуск, остановка и перезапуск (в режиме демона) делается так
sudo systemctl start svxlink sudo systemctl stop svxlink sudo systemctl restart svxlink
Чтобы запустить svxlink в консоли (если вы его собрали без Systemd), набираем
sudo -u svxlink svxlink
Увидеть что делает svxlink, в реальном времени, посмотреть ошибки, можно так
tail -f /var/log/svxlink
для выхода нажмите Ctrl+C
Чтобы иметь всегда свежую версию svxlink, обновите исходный код так:
sudo systemctl stop svxlink cd ~/svxlink/src/build git pull make clean ........
и далее повторяем компиляцию (как описано выше) начиная со строки cmake .... Ваша рабочая конфигурация в /etc/svxlink/ останется не тронутой. После обновления, вы можете запустить svxlink и работать.
Если вы зашли в тупик! Линк не работает! Всё пропало ;-), проще удалить svxlink и поставить заново. Для этого остановим его:
sudo systemctl stop svxlink sudo systemctl stop remotetrx sudo systemctl stop svxreflector sudo systemctl stop svxlink_gpio_setup sudo killall svxlink sudo pkill -u svxlink
Теперь, удаляем папки и файлы
sudo rm -f /usr/lib/arm-linux-gnueabihf/libasynccor* /usr/lib/arm-linux-gnueabihf/libasynccpp* /usr/lib/arm-linux-gnueabihf/libecholib* sudo rm -f /usr/lib/arm-linux-gnueabihf/libasyncaudio* /usr/lib/arm-linux-gnueabihf/libsvxmisc.a sudo rm -rf /usr/lib/arm-linux-gnueabihf/svxlink /usr/share/svxlink /usr/share/doc/svxlink /usr/include/svxlink sudo rm -f /usr/sbin/svxlink* /usr/bin/svx* /usr/bin/remotetrx /usr/bin/siglevdetcal /usr/bin/devcal sudo rm -rf /etc/svxlink /etc/default/svx* /etc/default/remotetrx /etc/systemd/system/svx*
Удаляем сервисы (если вы их ставили)
sudo rm -f /lib/systemd/system/svxlink_gpio_setup.service /lib/systemd/system/svxlink.service sudo rm -f /lib/systemd/system/remotetrx.service /lib/systemd/system/svxreflector.service
Перезагружаемся
sudo reboot
Если у вас установлена 32-х битная версия Raspberry Pi OS, то, после установки, нужно вручную создать каталоги и скопировать в них файлы:
sudo mkdir /usr/lib/aarch64-linux-gnu sudo mkdir /usr/lib/aarch64-linux-gnu/svxlink sudo cp /usr/lib/arm-linux-gnueabihf/svxlink/* /usr/lib/aarch64-linux-gnu/svxlink/После этого, проверьте соответствие номеров GPIO:
cat /sys/kernel/debug/gpioЕсли GPIO изменились, для активации PTT и COS, выполняем команды:
# PTT GPIO 9 echo 521 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio521/direction # COS GPIO 18 echo 530 > /sys/class/gpio/export echo in > /sys/class/gpio/gpio530/direction
Installation Instructions
InstallSrcHwRpi
Using a USB Audio Device with the Raspberry Pi
Установка SvxLink из репозитория
Настройка SvxLink
Возможности SvxLink
UA6HJQ