Настройка пакетного узла на базе программы BPQ. Часть 2.

Модемы. Базовая настройка.

Немного теории по модемам

Как писал ранее (https://r2akt.ru/bpq_node_part_0/) существуют аппаратные и программные реализации модемов.

Аппаратные модемы

Взято с сайта Kantronics

Такие модемы традиционно называются TNC — Terminal node controller.

Это функционально законченное устройство, способное в большинстве случае работать автономно (относятся к старым устройствам, новое поколение как правило обеспечивает только преобразование данных), имеющее подключение к трансиверу и ПЭВМ.

Встроенное ПО обеспечивает автоматизацию основных процессов работы пакетного узла, но в силу ограниченности ресурсов (в основном памяти для хранения данных объёмом в 128 кБ, редко 512 кБ) они по современным меркам безнадёжно устарели.

Но в таких модемах (в совсем старых может отсутствовать) есть режим KISS позволяющий переводить модем в режим «преобразователя данных». В этом режиме модем преобразует данные от компьютера в аудиопоток и обратно, а сама пакетная система уже работает на ПЭВМ.

Подключение к трансиверу как правило осуществляется через сервисный разъём трансивера и требует всего несколько линий:

  • линейный выход;
  • линейный вход;
  • сигнал PTT;
  • общий.

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

Программные модемы

Модем SoundModem от UZ7HO (только для Windows):

Модем QtSoundModem, форк автора BPQ модема UZ7HO:

Программные модемы имеют преимущества (кроме проприетарных протоколов (семейство Pactor, etc)) над аппаратными модемами.

Они поддерживают несколько каналов, в том числе с разными скоростями и модуляциями, большой набор видов модуляции, разные реализации канального уровня, в том числе недавно введённые FX.25 (AX.25 с FEC преамбулой, совместимой со старыми модемами (как аппаратными, так и программными)) и IL2P, способны декодировать принятый сигнал с меньшим соотношением сигнал-шум.

Но расплачиваться за это приходится потребляемой производительностью системы (актуально для одноплатных компьютеров), необходимостью применения интерфейса связи с трансивером по аудиотракту.

Подключение модема к BPQ

Аппаратный модем

Для подключения модема к пакетному узлу необходимо в конфигурационный файл добавить соответствующие настройки.

Для одноканального аппаратного модема в режиме KISS с модуляцией AFSK со скоростью 1200бод (Kantronics KPC3, TNC2):

PORT ; Kantronics KPC3 Plus
    PORTNUM=3 ; Номер порта в программе
    ID=VHF (PKT1200) ; Краткое описание порта
    TYPE=ASYNC ; Тип порта
    PROTOCOL=KISS ; Протокол обмена по порту
    FULLDUP=0 ; Режим дуплексной работы
    COMPORT=/dev/ttyUSB1 ; Аппаратный COM-порт для Windows/Устройство для Linux
    SPEED=9600 ; Скорость обмена по порту
    CHANNEL=A ; Номер канала A или B. Для многоканальных модемов, для одноканального A
    PERSIST=64; PERSIST=256/(# of transmitters-1)
    SLOTTIME=100; CMSA interval timer in milliseconds
    TXDELAY=600 ; Задержка выдачи сигнала на переключение трансивера с приёма на передачу
    TXTAIL=50 ; Время переключения трансивера с передачи на приём для окончания передачи
    MINQUAL=236; Only broadcast essential nodes
    QUALITY=0; Quality factor applied to node broadcasts heard on this port, unless overridden by a locked route entry. Setting to 0 stops node broadcasts
    FRACK=8000; Level 2 timout in milliseconds
    RESPTIME=1500; Level 2 delayed ack timer in milliseconds
    RETRIES=10; Level 2 maximum retry value
    MAXFRAME=4; Max outstanding frames (1 thru 7)
    PACLEN=236; Длина передаваемых пакетов. Для КВ 64, для УКВ 236. Значение игнорируется для APRS режима
    L3ONLY=0; 1=No user downlink connects on this port
    DIGIFLAG=0; Digipeat: 0=OFF, 1=ALL, 255=UI Only
    DIGIPORT=0; Port on which to send digi'd frames (0 = same port)
    USERS=10; Maximum number of L2 sessions, 0 = no limit
    UIONLY=0; If set to 1 will stop any connects on this port ie it can only be used for UNPROTO traffic, such as APRS.
    UNPROTO=BPQ
    CONFIG
        MHEARD ON
ENDPORT

Если перейти по ссылке «Ports» на странице узла, то должны увидеть порт модема:

Для двухканального аппаратного модема в режиме KISS с модуляцией AFSK со скоростью 300 и 1200бод (Kantronics KAM):

PORT ; Kantronics KAM Plus, port A (УКВ)
    PORTNUM=3 ; Номер порта в программе
    ID=VHF (PKT1200) ; Краткое описание порта
    TYPE=ASYNC ; Тип порта
    PROTOCOL=KISS ; Протокол обмена по порту
    FULLDUP=0 ; Режим дуплексной работы
    COMPORT=/dev/ttyUSB1 ; Аппаратный COM-порт для Windows/Устройство для Linux
    SPEED=9600 ; Скорость обмена по порту
    CHANNEL=A ; Номер канала A или B. Для многоканальных модемов, для одноканального A
    PERSIST=64 ; PERSIST=256/(# of transmitters-1)
    SLOTTIME=100 ; CMSA interval timer in milliseconds
    TXDELAY=600 ; Задержка выдачи сигнала на переключение трансивера с приёма на передачу
    TXTAIL=50 ; Время переключения трансивера с передачи на приём для окончания передачи
    MINQUAL=236 ; Only broadcast essential nodes
    QUALITY=0 ; Quality factor applied to node broadcasts heard on this port, unless overridden by a locked route entry. Setting to 0 stops node broadcasts
    FRACK=10000; Level 2 timout in milliseconds
    RESPTIME=1500; Level 2 delayed ack timer in milliseconds
    RETRIES=15; Level 2 maximum retry value
    MAXFRAME=4; Max outstanding frames (1 thru 7)
    PACLEN=236; Длина передаваемых пакетов. Для КВ 64, для УКВ 236. Значение игнорируется для APRS режима
    L3ONLY=0; 1=No user downlink connects on this port
    DIGIFLAG=0; Digipeat: 0=OFF, 1=ALL, 255=UI Only
    DIGIPORT=0; Port on which to send digi'd frames (0 = same port)
    USERS=10; Maximum number of L2 sessions, 0 = no limit
    UIONLY=0; If set to 1 will stop any connects on this port ie it can only be used for UNPROTO traffic, such as APRS.
    UNPROTO=BPQ
    CONFIG
        MHEARD ON
ENDPORT

PORT ; Kantronics KAM Plus, port B (КВ)
    PORTNUM=4 ; Номер порта в программе
    ID=HF (PKT300) ; Краткое описание порта
    TYPE=ASYNC ; Тип порта
    PROTOCOL=KISS ; Протокол обмена по порту
    FULLDUP=0 ; Режим дуплексной работы
    COMPORT=/dev/ttyUSB1 ; Аппаратный COM-порт для Windows/Устройство для Linux
    SPEED=9600 ; Скорость обмена по порту
    CHANNEL=B ; Номер канала A или B. Для многоканальных модемов, для одноканального A
    PERSIST=64; PERSIST=256/(# of transmitters-1)
    SLOTTIME=100; CMSA interval timer in milliseconds
    TXDELAY=500; Transmit keyup delay in milliseconds
    TXTAIL=50; TX key down, in milliseconds, at packet end
    MINQUAL=236; Only broadcast essential nodes
    QUALITY=0; Quality factor applied to node broadcasts heard on this port, unless overridden by a locked route entry. Setting to 0 stops node broadcasts
    FRACK=8000; Level 2 timout in milliseconds
    RESPTIME=1500; Level 2 delayed ack timer in milliseconds
    RETRIES=10; Level 2 maximum retry value
    MAXFRAME=4; Max outstanding frames (1 thru 7)
    PACLEN=236; Длина передаваемых пакетов. Для КВ 64, для УКВ 236. Значение игнорируется для APRS режима
    L3ONLY=0; 1=No user downlink connects on this port
    DIGIFLAG=0; Digipeat: 0=OFF, 1=ALL, 255=UI Only
    DIGIPORT=0; Port on which to send digi'd frames (0 = same port)
    USERS=10; Maximum number of L2 sessions, 0 = no limit
    UIONLY=0; If set to 1 will stop any connects on this port ie it can only be used for UNPROTO traffic, such as APRS.
    UNPROTO=BPQ
    CONFIG
        MHEARD ON
ENDPORT

Если перейти по ссылке «Ports» на странице узла, то должны увидеть порты модема:

Обратите внимание, что аппаратные порты подключению у модемов одинаковые, а программные разные, как и каналы.

Программный модем

Для работы программного модема QtSoundModem могут дотребоваться дополнительные библиотеки, без их установки программа не запуститься:

apt install libqt5serialport5 libqt5widgets5 libasound2

Запуск программы без графической среды (консольный режим) возможен при указании ключа nogui.

Для работы с программным модемом QtSoundModem

PORT
 PORTNUM=4 ; Номер порта в программе
 ID=14.102,3 +1000Hz ; Краткое описание порта
 DRIVER=UZ7HO
 CHANNEL=A ; Номер канала A, B, C или D. Для многоканальных модемов, для одноканального A
 PERSIST=64 ; PERSIST=256/(# of transmitters-1)
    SLOTTIME=100 ; CMSA interval timer in milliseconds
    TXDELAY=600 ; Задержка выдачи сигнала на переключение трансивера с приёма на передачу
    TXTAIL=50 ; Время переключения трансивера с передачи на приём для окончания передачи
    MINQUAL=236 ; Only broadcast essential nodes
    QUALITY=0 ; Quality factor applied to node broadcasts heard on this port, unless overridden by a locked route entry. Setting to 0 stops node broadcasts
    FRACK=10000; Level 2 timout in milliseconds
    RESPTIME=1500; Level 2 delayed ack timer in milliseconds
    RETRIES=15; Level 2 maximum retry value
    MAXFRAME=4; Max outstanding frames (1 thru 7)
    PACLEN=236; Длина передаваемых пакетов. Для КВ 64, для УКВ 236. Значение игнорируется для APRS режима
    L3ONLY=0; 1=No user downlink connects on this port
    DIGIFLAG=0; Digipeat: 0=OFF, 1=ALL, 255=UI Only
    DIGIPORT=0; Port on which to send digi'd frames (0 = same port)
    USERS=10; Maximum number of L2 sessions, 0 = no limit
    UIONLY=0; If set to 1 will stop any connects on this port ie it can only be used for UNPROTO traffic, such as APRS.
    UNPROTO=BPQ
 CONFIG
  ADDR 127.0.0.1 8000 ; IP адрес модема QtSoundModem, номер порта
  MAXSESSIONS=10
ENDPORT

PORT
 PORTNUM=5 ; Номер порта в программе
 ID=14.102,3 +2250Hz ; Краткое описание порта
 DRIVER=UZ7HO
 CHANNEL=B ; Номер канала A, B, C или D. Для многоканальных модемов, для одноканального A
 PERSIST=64 ; PERSIST=256/(# of transmitters-1)
    SLOTTIME=100 ; CMSA interval timer in milliseconds
    TXDELAY=600 ; Задержка выдачи сигнала на переключение трансивера с приёма на передачу
    TXTAIL=50 ; Время переключения трансивера с передачи на приём для окончания передачи
    MINQUAL=236 ; Only broadcast essential nodes
    QUALITY=0 ; Quality factor applied to node broadcasts heard on this port, unless overridden by a locked route entry. Setting to 0 stops node broadcasts
    FRACK=10000; Level 2 timout in milliseconds
    RESPTIME=1500; Level 2 delayed ack timer in milliseconds
    RETRIES=15; Level 2 maximum retry value
    MAXFRAME=4; Max outstanding frames (1 thru 7)
    PACLEN=236; Длина передаваемых пакетов. Для КВ 64, для УКВ 236. Значение игнорируется для APRS режима
    L3ONLY=0; 1=No user downlink connects on this port
    DIGIFLAG=0; Digipeat: 0=OFF, 1=ALL, 255=UI Only
    DIGIPORT=0; Port on which to send digi'd frames (0 = same port)
    USERS=10; Maximum number of L2 sessions, 0 = no limit
    UIONLY=0; If set to 1 will stop any connects on this port ie it can only be used for UNPROTO traffic, such as APRS.
    UNPROTO=BPQ
 CONFIG
  ADDR 127.0.0.1 8000 ; IP адрес модема QtSoundModem, номер порта
  MAXSESSIONS=10
ENDPORT

PORT
 PORTNUM=6 ; Номер порта в программе
 ID=14.102,3 +2000Hz ; Краткое описание порта
 DRIVER=UZ7HO
 CHANNEL=C ; Номер канала A, B, C или D. Для многоканальных модемов, для одноканального A
 PERSIST=64 ; PERSIST=256/(# of transmitters-1)
    SLOTTIME=100 ; CMSA interval timer in milliseconds
    TXDELAY=600 ; Задержка выдачи сигнала на переключение трансивера с приёма на передачу
    TXTAIL=50 ; Время переключения трансивера с передачи на приём для окончания передачи
    MINQUAL=236 ; Only broadcast essential nodes
    QUALITY=0 ; Quality factor applied to node broadcasts heard on this port, unless overridden by a locked route entry. Setting to 0 stops node broadcasts
    FRACK=10000; Level 2 timout in milliseconds
    RESPTIME=1500; Level 2 delayed ack timer in milliseconds
    RETRIES=15; Level 2 maximum retry value
    MAXFRAME=4; Max outstanding frames (1 thru 7)
    PACLEN=236; Длина передаваемых пакетов. Для КВ 64, для УКВ 236. Значение игнорируется для APRS режима
    L3ONLY=0; 1=No user downlink connects on this port
    DIGIFLAG=0; Digipeat: 0=OFF, 1=ALL, 255=UI Only
    DIGIPORT=0; Port on which to send digi'd frames (0 = same port)
    USERS=10; Maximum number of L2 sessions, 0 = no limit
    UIONLY=0; If set to 1 will stop any connects on this port ie it can only be used for UNPROTO traffic, such as APRS.
    UNPROTO=BPQ
 CONFIG
  ADDR 127.0.0.1 8000 ; IP адрес модема QtSoundModem, номер порта
  MAXSESSIONS=10
ENDPORT

Если перейти по ссылке «Ports» на странице узла, то должны увидеть порты модема:

Для программы SoundModem от UZ7HO настройки аналогичные, но модем поддерживает только 2 канала.

Для системы Windows строчку ADDR можно видоизменить:

 ADDR 127.0.0.1 8000 PATH C:\BPQ\SoundModem.exe

Тогда при запуске программы BPQ необходимая программа будет запущена автоматически.

Дополнительную информацию по настройке частот и режимов на КВ можно посмотреть тут — https://eindhoven.space/radio-experiments/packet-radio/qrg/where-to-find-packet-on-20-meter-band/

Часть 1.

Часть 3.