Модемы. Базовая настройка.
Немного теории по модемам
Как писал ранее (https://r2akt.ru/bpq_node_part_0/) существуют аппаратные и программные реализации модемов.
Аппаратные модемы
Такие модемы традиционно называются 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/