У начинающих пользователей Linux обычно вызывает затруднение установка и настройка AX25-utils для работы в пакетных сетях. В этой статье приведены реально работающие и многократно проверенные конфигурации. Файл создан 12.06.1999.


Практические примеры использования AX.25-утилит в Linux SlackWare


Установка AX25-utils с помощью программы PKGTOOL
Устанавливаем ax25-apps.tgz, ax25-tools.tgz, lib-ax25.tgz (архив Z8530DRV.TGZ нужен только для USCC карт) из комплекта Linux SlackWare с помощью программы pkgtool. На этом установка необходимых утилит завершена. Готовые к установке AX.25-utils лежат на www.slackware.com. С помощью этих утилит можно будет использовать: USCC>4, S.B. как модем, TNC в kiss режиме, TNC-2 с 6pack, baycom-модем, EPP-модем, YAM-модем.


  1. Установка и настройка AX.25-интерфейса в Linux Slackware 9.0
  2. Вход в консоль linux через AX.25-интерфейс
  3. Простой терминал и TNC-2 с прошивкой 6PACK
  4. (X)NET + BayCom-Mailbox + monitor + Linpac + tnc2(6pack)
  5. Простой терминал с картой USCC>4
  6. Терминал Linpac + двухпортовый KANTRONICS KPC-9612

Вариант 1 (простой терминал с TNC-2):
Я имею: ПК 486-586 с установленным lniux slackware 8.0, стандартный TNC-2 (например ra3apw-tnc-2) с прошивкой ПЗУ 6PACK, антенну, УКВ радиостанцию ну и всё остальное...
Я хочу: иметь простой терминал для работы с ББСом и DX-cluster, возможность видеть мониторинг пакетов в эфире и чтобы моя станция передавала маяк каждые 30 минут.
Решение:
1. В директории /etc/ax25/ должны лежать файлы axports, nrports, rsports. В файлах nrports, rsports все строки должны быть заремлены. В файле axports пишем следующее:


# /etc/ax25/axports
#
# The format of this file is:
# name callsign   speed paclen window description
#
sp0    UA6HJQ-12  9600   255     7    438.025 MHz (1200 bps)
#
2. Теперь идём в директорию /etc/rc.d/ и создаём там исполняемый файл rc.ax25 следующего содержания:

#!/bin/bash
#
insmod ax25
insmod 6pack
#
# Создаём порт sp0 с выходом на COM2 к которому подключен TNC-2 с прошивкой 6PACK
kissattach -6 /dev/ttyS1 sp0 44.178.92.11
sleep 1
ifconfig sp0 44.178.92.11 netmask 255.255.255.255 mtu 512 up
#
# Устанавливаем параметры TNC-2
#  -l txtail   -r persystanse 0-255    -s slottime 0-255   -t txdelay 0-255
kissparms -p sp0 -l 100 -r 170 -s 100 -t 270 -v
#
echo "AX.25 monitor on tty10"
listen -r -a -i -8 -c > /dev/tty10 &
#
echo "AX.25 beacons"
beacon -c ua6hjq-12 -d CQ -t 30 sp0 "Linux server from Pyatigorsk" &
#
3. Теперь можете пробовать, как это всё работает. Запустите файл /etc/rc.d/rc.ax25 , если на частоте есть другие пакетные станции, то в консоли tty10 вы будете видеть мониторинг их работы. Ваша станция будет посылать маяк каждые 30 минут. Командой call sp0 позывной вы можете соединяться с другими пакетными станциями.


Вариант 2 (node+bbs+monitor+terminal+tnc2):
Я имею: ПК 486-586 с установленным lniux slackware 8.0, стандартный TNC-2 (например ra3apw-tnc-2) с прошивкой ПЗУ 6PACK, антенну, УКВ радиостанцию ну и всё остальное...
Я хочу: иметь FlexNet - NET/ROM узел, ББС, крутой терминал с наворотами, возможность видеть мониторинг пакетов в эфире на отдельной консоли. Вообщем современную, многофункциональную, пакетную систему.
Решение:
1. В директории /etc/ax25/ должны лежать файлы axports, nrports, rsports. В файлах nrports, rsports все строки должны быть заремлены. В файле axports пишем следующее:


#
# The format of this file is:
# name callsign   speed paclen window description
#
sp0    UA6HJQ-12  9600   255     7    144.625 MHz (1200 bps)
#
2. Теперь идём в директорию /etc/rc.d/ и создаём там исполняемый файл rc.ax25 следующего содержания:

#!/bin/bash
#
insmod ax25
insmod 6pack
#
# Устанавливаем порт sp0 на COM2 с подключённым к нему TNC-2 (6pack)
kissattach -6 /dev/ttyS1 sp0 44.178.92.11
sleep 1
ifconfig sp0 44.178.92.11 netmask 255.255.255.255 mtu 512 up
net2kiss -i sp0 /dev/ptyp0 &
#
# -r persystanse 0-255   -l txtail   -s slottime 0-255   -t txdelay 0-255
kissparms -p sp0 -l 100 -r 170 -s 100 -t 280 -v
#
echo "AX.25 monitor on tty10"
/usr/bin/listen -8raic > /dev/tty10 &
#
#
echo "(X)NET on tty7"
cd /usr/xnet
./linuxsnet < /dev/tty7 > /dev/tty7 &
#
sleep 7
echo "BayCom-Mailbox on tty8"
cd /usr/bcm
./bcm144k < /dev/tty8 > /dev/tty8 &
#
echo "Linpac on tty9"
cd /usr/bcm
./linpac -s < /dev/tty9 > /dev/tty9 &
#
3. В качестве почтовой BBS программы используем BayCom-Mailbox v1.44k. Открываем файл /usr/bcm/init.l2 и пишем:

; Sample Paramaterfile for AX.25
;
dcall    ua6hjq-2    ; xnet call
monitor  4
mselect  0
mcalls   -0
;
assign   kiss
mode     38400
device   /dev/ttyp2
;
4. Для создания FlexNet - NET/ROM узла используем программу (X)NET v1.30. Редактируем файл /usr/xnet/AUTOEXEC.NET:

my alias ptgnode
my call ua6hjq-2
my tcall ua6hjq-14
my prompt ptg:%y =>
my defport 1
pa boot term 1
pa tnc bbs 1
pa tnc ds 0
pa tnc r 1

attach sdev0 kiss 0 1 9600 /dev/ttyp0   # TNC-2
po 0 name 144625khz
po 0 baud 9600
po 0 dama 0
po 0 duplex 0
po 0 persist 150
po 0 retries 10
po 0 slot 100
po 0 t3 50000
po 0 txdelay 290
po 0 window 3

attach sdev1 kiss 1 1 38400 /dev/ptyp2	# link to baybox
po 1 name local mailbox
po 1 baud 38400
po 1 duplex 255
po 1 per 200
po 1 txd 0
route local add 1 ua6hjq-8 nd BCM

start routed
start ip
5. Таким образом мы имеем современную пакетную систему. Терминальная программа Linpac настраивается легко. Маяки могут передавать в эфир XNET или BCM. Если вам нужно чтобы пакетная система запускалать сразу после загрузки linux, добавьте запуск rc.ax25 в файл rc.local.


Вариант 3 (простой терминал с картой USCC>4):
Я имею: ПК 486-586 с установленным lniux slackware 8.0, Карту BayCom USCC>4 c модемами 300бод + 1200бод + 1200бод + 9600бод.
Я хочу: иметь простой терминал для работы с ББСом и DX-cluster одновременно на разных портах, возможность видеть мониторинг пакетов.
Решение:
1. В директории /etc/ax25/ должны лежать файлы axports, nrports, rsports. В файлах nrports, rsports все строки должны быть заремлены. В файле axports пишем следующее:


# /etc/ax25/axports
#Name	   Call         Baudrate    PacLen        MaxFrame      Beschreibung
uscc0	 ua6hjq-11         300         80	      3            300bps
uscc1	 ua6hjq-12        1200        128	      4           1200bps
uscc2	 ua6hjq-13        1200        200	      5           1200bps
uscc3	 ua6hjq-14        9600        256	      7           9600bps
#
2. Теперь создаём файл /etc/ax25/z8530drv.conf и пишем в него следующее (на uscc-карте используется IRQ=5, ADR=300):

# created from ax25-config
# z8530drv.conf - initialization for the Z8530 SCC driver v 2.4
# Lines must not be longer than 255 bytes!
#
# SCC chip 1
chip	1
data_a  0x300			# data port A
ctrl_a  0x304			# control port A
data_b  0x301			# data port B
ctrl_b  0x305			# control port B
irq     5			# IRQ No. 5 (#)
pclock  4915200			# clock (+)
board   BAYCOM                  # hardware type (*)
escc    no			# enhanced SCC chip? (8580/85180/85280) (*)
vector  0			# latch for interrupt vector ($)
special 0			# address of special function register (*)
option  0			# option to set via sfr (*)
#
# SCC chip 2
chip	2
data_a  0x302
ctrl_a  0x306
data_b  0x303
ctrl_b  0x307
board   BAYCOM
#
# ------------------------------------------------------
#
device	/dev/scc0
#
speed	300			# 300 baud
clock	dpll			# clock source: use the dpll
mode	nrzi			# normal NRZI operation
#
txdelay 35			# You should know about these already!
persist 240
slot	3
tail	2
fulldup	0
wait    0
min	3
maxkey	7
idle	3
maxdef  120
group   0
txoff   off
softdcd on			# use software dcd
#
#
device	/dev/scc1
#
speed	1200			# 1200 baud
clock	dpll			# clock source: use the dpll
mode	nrzi			# normal NRZI operation
#
txdelay 30			# You should know about these already!
persist 200
slot	3
tail	2
fulldup	0
wait    0
min	3
maxkey	7
idle	3
maxdef  120
group   0
txoff   off
softdcd on			# use software dcd
#
#
device	/dev/scc2
#
speed	1200			# 1200 baud
clock	dpll			# clock source: use the dpll
mode	nrzi			# normal NRZI operation
#
txdelay 30			# You should know about these already!
persist 128
slot	3
tail	2
fulldup	0
wait    0
min	3
maxkey	7
idle	3
maxdef  120
group   0
txoff   off
softdcd on			# use software dcd
#
#
device	/dev/scc3
#
speed	9600			# 1200 baud
clock	ext			# clock source: use the dpll
mode	nrz			# normal NRZI operation
#
txdelay 6			# You should know about these already!
persist 128
slot	1
tail	2
fulldup	0
wait    0
min	3
maxkey	7
idle	3
maxdef  120
group   0
txoff   off
softdcd off			# use software dcd
#
3. Ну и наконец создаём исполняемый файл /etc/ax25/ax25-up который запустит всё это хозяйство:

#!/bin/bash
#
modprobe ax25
modprobe scc
sccinit
#
echo "Ifconfig Baycom USCC>4/ISA"
/sbin/ifconfig scc0 44.178.92.15 netmask 255.255.255.0 hw ax25 ua6hjq-11 up
/sbin/ifconfig scc1 44.178.92.15 netmask 255.255.255.0 hw ax25 ua6hjq-12 up
/sbin/ifconfig scc2 44.178.92.15 netmask 255.255.255.0 hw ax25 ua6hjq-13 up
/sbin/ifconfig scc3 44.178.92.15 netmask 255.255.255.0 hw ax25 ua6hjq-14 up
#
echo "Start ax.25 monitor on tty10"
listen -8acirt > /dev/tty10 &
#
4. Незабудьте вставить uscc-карту в ISA порт пашего компьютера! После успешной загрузки набираем call uscc0 rz6hxx и вперёд на просторы пакетной сети...

Вариант 4 (терминал Linpac + KANTRONICS KPC-9612):
Я имею: ПК 486-586 с установленным lniux slackware 8.0 и KPC-9612 (не повезло...).
Я хочу: иметь простой терминал для работы в пакетной сети, возможность видеть мониторинг пакетов в эфире.
Решение:
1. В директории /etc/ax25/ должны лежать файлы axports, nrports, rsports. В файлах nrports, rsports все строки должны быть заремлены. В файле axports пишем следующее:


# /etc/ax25/axports
# The format of this file is:
# name  callsign       speed  paclen  window    description
#
ax0	UA6HJQ-13	9600	200	5	144.675 MHz (1200 bps)
ax1	UA6HJQ-14	9600	256	7	435.085 MHz (9600 bps)
ax2	UA6HJQ-15	38400	256	7	Mailbox    (38400 bps)
#
2. Теперь идём в директорию /etc/rc.d/ и создаём там исполняемый файл rc.ax25 следующего содержания:

#!/bin/bash
#
modprobe ax25
modprobe mkiss
#
# Port 1-2 : kps9612 on COM1  (Please set KISS MODE in KPC9612 !)
/usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyq0 /dev/ptyq1
sleep 1
/usr/sbin/kissattach /dev/ttyq0 ax0 44.178.92.11
sleep 1
/usr/sbin/kissattach /dev/ttyq1 ax1 44.178.92.11
sleep 1
ifconfig ax0 44.178.92.11 mtu 512 netmask 255.255.255.255 up
ifconfig ax1 44.178.92.11 mtu 512 netmask 255.255.255.255 up
#
# Port 3 : virtual kiss link
kissattach /dev/ptyp0 ax2 44.178.92.13
sleep 1
ifconfig ax2 44.178.92.11 mtu 512 netmask 255.255.255.255 up
#
#  -l txtail   -r persystanse 0-255    -s slottime 0-255   -t txdelay 0-255
kissparms -p ax0 -l 100 -r 170 -s 100 -t 290 -v
kissparms -p ax1 -l 100 -r 170 -s 100 -t 80 -v
#
echo "AX.25 monitor on 10 consol"
listen -acr > /dev/tty10 &
#
echo "Linpac - 0.16pre6 on 11 consol"
cd /root
linpac -s -m < /dev/tty11 > /dev/tty11 &
#
3. Теперь можете пробовать, как это всё работает. Запустите файл /etc/rc.d/rc.ax25 , если на частоте есть другие пакетные станции, то в консоли tty10 вы будете видеть мониторинг их работы. В консоли tty11 будет находится окно терминальной программы Linpac.


Установка и настройка AX.25-порта в Linux Slackware 9.0
При использовании AX25-utils обязательно нужно включить поддержку протокола AX.25 в ядре. В ядре bare.i эта поддержка уже включена.

Вам потребуются следующие пакеты: ax25_apps, ax25_tools и libax25 они позволят вам организавать AX.25-интерфейс, работать в пакетной сети через простейший эмулятор терминала call, просматривать мониторинг пакетов listen, передавать маяки beacon.

node, awznode, xnet это узловые программы. С помощью них можно организовать NETROM/FlexNet/TCPIP узел. Более обширным сервисом обладает xnet.

xfbb, obcm эти пакеты позволяют организовать почтовый ящик, для обмена почтой в пределах ax.25 сети.

ПРИМЕЧАНИЕ:
Если в ПК предполагается использовать русские шрифты, то нужно сделать так чтобы файл /etc/rc.d/rc.font загружался после rc.ax25. Иначе возникает проблема с загрузкой системы!

Утановим пакеты ax25_apps-0.0.6-i386-1.tgz, ax25_tools-0.0.8-i386-1.tgz и libax25-0.0.9-i386-2.tgz с помощью installpkg, пока нам нужны только они.

Предположим, что для работы в пакетной сети вы будете использовать стандартный TNC-2 контроллер с модемом на 1200бод и прошивкой ПЗУ KISS, который подключен к порту COM2 и обменивается по нему данными со скоростью 9600бод. Сразу переведите TNC-2 в KISS режим командой IN KISS.

Первым делом создадим ax.25 интерфейс для того чтобы через него вы могли соединиться с пакетной сетью или просто послушать тех кто в ней работает. Заходим в /etc/ax25/ и закомментируем все строки в файлах nrports, rsports, в файле axports пишем примерно следующее:


# /etc/ax25/axports
#
# The format of this file is:
# name   callsign       speed    paclen   window     description
1	 UA6HJQ-1	9600      255 	    2	     144.675 MHz (1200  bps)
Обратите внимание, что скорость указана не та с которой модем будет работать в радиоканале, а та с которой TNC-2 обменивается с компьютером. Теперь создадим файл /etc/rc.d/rc.ax25 для нашей кофигурации:

#!/bin/sh
# /etc/rc.d/rc.ax25
#
# load modules
insmod ax25
insmod mkiss
#
# port 1 : tnc-2 in kiss mode on COM2
kissattach /dev/ttyS1 1 44.178.92.11
ifconfig ax0 44.178.92.11 netmask 255.255.255.255 mtu 256 up
#
# -p port, -r persystanse_0-255, -l txtail, -s slottime_0-255, -t txdelay_0-255
kissparms -p 1 -r 150 -t 310 -v
#
echo "AX.25 monitor on tty10"
listen -ari8ct > /dev/tty10 &
#
echo "AX.25 beacon every 15 min."
beacon -c UA6HJQ-1 -d CQ -t 15 1 "this is AX.25 server" &
#
Перезагрузите компьютер, запустите файл /etc/rc.d/rc.ax25 и убедитесь в том что появился ax0 интерфейс, для этого дайте команду ifconfig. Вы должны увидеть примерно следующее:

ax0       Link encap:AMPR AX.25  HWaddr UA6HJQ-1  
          inet addr:44.178.92.11  Bcast:44.255.255.255  Mask:255.255.255.255
          UP BROADCAST RUNNING  MTU:256  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10 
          RX bytes:0 (0.0 b)  TX bytes:40 (40.0 b)
Если все в порядке, подключите TNC-2 к радиостанции и посмотрите в десятой консоли мониторинг работающих пакетом радиостанций. Вызов для соединения с пакетной станцией вы можете дать командой call Например: call 1 rz6hxa-8
На этом настройку AX.25-порта можно считать законченной, если чтото непонятно читайте AX25-HOWTO.


Вход в консоль linux через AX.25-интерфейс
Исходим из того что вы прочитали предыдущий пункт и успешно создали AX.25-порт. Добавьте в конец файла /etc/rc.d/rc.ax25 строку:


#
ax25d
#
В файле /etc/ax25/axspawn.conf команду 'create yes' замените на 'create no', эта опция позволит соединяться с linux только тем пользователям которых вы сами создали командой adduser, запросы на соединение от других пользователей будут отклонены. Теперь заходим в файл /etc/ax25/ax25d.conf, закомментируем все строки в этом файле и создадим новые:

#
[LINUX VIA *]
NOCALL   * * * * * *  L
default  * * * * * *  -	root  /usr/sbin/axspawn  axspawn  %u
#
Перезагрузите компьютер и запустите ваш обновленный скрипт /etc/rc.d/rc/ax25. Создайте пользователя которому разрешено соединяться с linux, командой adduser. Теперь, если зарегистрированный пользователь наберет на своем AX.25 терминале команду для соединения с вашим компьютером 'c linux', то он получит приглашение на ввод пароля. Если пароль введен правильно, появится консоль linux. Обратите внимание, на то что позывной пользователя в его пакетном терминале, должен соответствовать аккаунту в linux.

Главный недостаток этого метода - пароль передается по радиоканалу в открытом виде и его можно перехватить.


Андрей (rz6hxa)
Игорь (ua6hjq)