Howto AX25

66
1. Introducción. La radioafición es una actividad, altruista , no comercial y una afición extendida por todo el mundo. Los radioaficionados están autorizados por las autoridades gubernamentales para usar porciones del espectro radiolectrico con fines no- comerciales, para realizar actividades lúdicas incluyendo comunicaciones personales, y servicios a la comunidad. El Packet-Radio es una forma de comunicación digital que posibilita la comunicación de ordenador a ordenador, mediante una red enlazada por radio. Este documento era originalmente un apéndice del HAM-HOWTO, pero creció demasiado para incluirse en ese doc. Aquí se describe como instalar y configurar el soporte nativo AX25, NetRom y Rose para Linux. Hay descritas algunas configuraciones típicas para que puedas usarlas como modelos. La implementación de los protocolos de radioaficionados en Linux es muy flexible. La configuración puede parecer un poco complicada para personas no muy familiarizadas con Linux y tardarás algún tiempo en entender como funciona. Si no estás mentalizado para aprender Linux, seguramente las cosas se complicarán. No puedes pretender cambiarte desde otro sistema operativo a Linux sin aprender Linux. 1.1 Cambios sobre las versiones previas. Actualización y Nueva Documentación. Pasar el DocBook a formato SGML. Optimizar la información tabular con el uso de tablas. Nueva versión de la licencia GNU FDL. Añadir información sobre los nuevos drivers para Baycom, YAM, 6PACK y usuarios con tarjeta de sonido. Añadir la sección de APRS. Y varios cambios, no documentados sobre la última actualización de 1997. 1.2 Donde obtener nuevas versiones de este documento. El mejor lugar donde obtener la última versión de este documento es en el archivo del servidor de web de LDP (Linux Documentation Project), donde aparece como AX25- HOWTO. La documentación puede canseguirse en varios formatos en Linux Documentation Project. Ud. también puedes comunicarse conmigo, pero yo paso lo nuevo directamente al coordinador de LDP, por lo que si no está allí, es probable que no la haya finalizado aun. 1.3 Otra documentación.

Transcript of Howto AX25

Page 1: Howto AX25

1. Introducción.

La radioafición es una actividad, altruista , no comercial y una afición extendida por todo el mundo. Los radioaficionados están autorizados por las autoridades gubernamentales para usar porciones del espectro radiolectrico con fines no-comerciales, para realizar actividades lúdicas incluyendo comunicaciones personales, y servicios a la comunidad. El Packet-Radio es una forma de comunicación digital que posibilita la comunicación de ordenador a ordenador, mediante una red enlazada por radio.

Este documento era originalmente un apéndice del HAM-HOWTO, pero creció demasiado para incluirse en ese doc. Aquí se describe como instalar y configurar el soporte nativo AX25, NetRom y Rose para Linux. Hay descritas algunas configuraciones típicas para que puedas usarlas como modelos.

La implementación de los protocolos de radioaficionados en Linux es muy flexible. La configuración puede parecer un poco complicada para personas no muy familiarizadas con Linux y tardarás algún tiempo en entender como funciona. Si no estás mentalizado para aprender Linux, seguramente las cosas se complicarán. No puedes pretender cambiarte desde otro sistema operativo a Linux sin aprender Linux.

1.1 Cambios sobre las versiones previas.

• Actualización y Nueva Documentación. • Pasar el DocBook a formato SGML. • Optimizar la información tabular con el uso de tablas. • Nueva versión de la licencia GNU FDL. • Añadir información sobre los nuevos drivers para Baycom, YAM, 6PACK y

usuarios con tarjeta de sonido. • Añadir la sección de APRS.

Y varios cambios, no documentados sobre la última actualización de 1997.

1.2 Donde obtener nuevas versiones de este documento.

El mejor lugar donde obtener la última versión de este documento es en el archivo del servidor de web de LDP (Linux Documentation Project), donde aparece como AX25-HOWTO. La documentación puede canseguirse en varios formatos en Linux Documentation Project.

Ud. también puedes comunicarse conmigo, pero yo paso lo nuevo directamente al coordinador de LDP, por lo que si no está allí, es probable que no la haya finalizado aun.

1.3 Otra documentación.

Page 2: Howto AX25

Hay mucha documentación general sobre el trabajo en Linux en la red. Recomiendo leer esta información, lo que te permitirá conocer más profundamente otras posibles configuraciones.

Sitios recomendados:

• Linux Networking HOWTO • Linux Ethernet HOWTO • Linux Firewall and Proxy Server HOWTO • Linux 2.4 Advanced Routing HOWTO • Netrom-Node mini-HOWTO

Hay muchisima documentación sobre HOWTO de Linux para radioaficionados. OJO, la mayoria esta obsoleta, debe reemplazarse por la que obtengamos en el sitio Web Hamsoft Linux Ham Radio Applications and Utilities Database. Para mas información sobre otros documentos HOWTO de Linux relativos a nuestra afición ver Linux HOWTO .

2. Los Protocolos de Packet Radio y Linux.

El protocolo AX25 te ofrece modos de trabajo con y sin conección, y se usa tanto para enlaces punto a punto, como transporte para otros protocolos como el TCP/IP y el NetRom.

Su estructura es similar a la del X.25 Level 2, con algunas extensiones para hacerlo más útil al entorno de la radioafición.

El NetRom es un intento de protocolo completo de red y usa al AX.25 como protocolo de enlace de nivel inferior. Provee un nivel de red que es una adaptación del AX.25, permitiendo ruteos dinámicos y alias de nodos.

El protocolo Rose fue concebido por vez primera por Tom Moulton W2VY , y es una implementación del X.25 designado para operar con el protocolo AX.25 a nivel de enlace de datos. También provee un nivel de red. Las direcciones de Rose usan 10 dígitos numéricos. Los primeros 4 son llamados DNIC (Data Network Identification Code) y son tomados de la recomendación X.121 del apéndice B de la CCITT. Se puede obtener más información del Servidor Web de RATS.

Alan Cox desarrollo el primer kernel para soporte de AX.25 en Linux. Jonathon Naylor continuó el desarrollo, agregó soporte para NetRom y Rose y es el actual creador del código kernel. DAMA fue desarrollado por Joerg, DL1BKE. Baycom y SoundModem fue agregado por Thomas Sailer. En la actualidad el software AX.25 Utility es mantenido por multitud de colegas y programadores en la WEB SourceForge.

El código Linux soporta TNC´s en modo KISS y 6PACK , tarjetas Ottawa PI, Gracilis PacketTwin y otras tarjetas basadas en el Z8530 SCC con el controlador genérico SCC, y también tanto el puerto paralelo como el serie de los módem Baycom y los serie de los módem YAM.

Page 3: Howto AX25

Los nuevos drivers SoundModem de Thomas Sailer soportan Soundblaster y tarjetas de sonido basadas en los chips Crystal, por medio del uso de los drivers estardar de sonido del Kernel , igualmente las tarjetas de sonido soportadas por Linux.

Los programas de Usuarios (User) contienen un sencillo PMS (Sistema Personal de Mensajes), un emisor de balizas, una utilidad para conexión en línea, un ejemplo de captura de frames a nivel interface y un programa de configuración de NetRom. También incluye un servidor de AX.25 para gestionar entradas y salidas de AX.25 y un demonio de NetRom que hace la mayoría del trabajo pesado de NetRom.

También programas de utilidad de soporte de APRS, incluyendo un repetidor digital y una puerta de enlace con Internet.

2.1 Como trabajan juntos.

La implementación del AX.25 para Linux esta escrita totalmente de nuevo. Aunque se parezca de alguna manera a NOS, o BPQ u otro AX.25, no lo es y no es igual a ninguna otra. Si bien es capaz de poderse configurar para obtener los mismos resultados que los citados, el proceso es muy diferente.

Para ayudarte a entender como tienes que pensar para configurarlo, en esta sección describo la estructura básica del AX.25 y como encaja dentro del contexto de la estructura del Linux.

Diagrama Simple de los Niveles de Protocolo

______________________________________________ | AF_AX25 | AF_NETROM | AF_INET|AF_ROSE||=========|===========|============ =|=========| | | | | | | | | TCP/IP | | | | |________ | | | | NET/ROM | | ROSE | | |____________________|____|_________| | AX.25 | |_____________________________________________|

Este diagrama muestra que NetRom, Rose y TCP/IP corren sobre el AX.25, pero que a nivel de programación de interface, cada uno de ellos es tratado como un protocolo separado. Cuando escribimos un programa para usarlos, los "AF_" son simplemente nombres dados a las "Address Family" (Familia de dirección) de cada uno de ellos. Lo importante de notar es la implícita dependencia de la configuración del AX.25, antes de configurar los dispositivos NetRom, Rose o TCP/IP.

Diagrama modular de software de la Implementación de Trabajo en Red de Linux.

Page 4: Howto AX25

___________________________________________________ ________________________ | | | || | | | User | Programs | call node || D aemons | ax25d mheardd | | | | pms mheard || | inetd netromd | |_________|___________|_______________________||___ _______|_________________| | | Sockets |open(), close(), listen(), r ead(), write(), connect()| | | |__________________________________________________ ___| | | | AF_AX25 | AF_NETROM | AF_ROSE | AF_INET | | |___________|_____________|_____________|__________ ___|___________| |Kernel | Protocols | AX.25 | NetRom | ROSE | IP/TCP/UDP| | |___________|_____________|_____________|__________ ___|___________| | | Devices | ax0,ax1 | nr0,nr1 | rose0,rose1 | eth0,ppp0 | | |___________|_____________|_____________|__________ ___|___________| | | Drivers | Kiss PI2 PacketTwin S CC BPQ | slip ppp | | | | Soundmodem Baycom | ethernet | |_________|___________|____________________________ _____________|___________| |Hardware | PI2 Card, PacketTwin Card, SCC card, Se rial port, Ethernet Card | |_________|________________________________________ _________________________|

Este diagrama, es un poco más general que el anterior, trata de mostrar las relaciones entre las aplicaciones del usuario, el kernel y el hardware. También muestra la relación con los Sockets aplicaciones de programación de interfaces, los módulos actuales de protocolos, los dispositivos de trabajo en red del kernel y los manejadores de dispositivos. Cualquier cosa de este diagrama depende de lo que está bajo de él, y en general se debe configurar de abajo hacia arriba. Por ej., si quieres correr el programa CALL,

• Hay que configurar el Hardware • Comprobar que el kernel tiene el drive necesario, que creo el correspondiente

dispositivo de red. • Que el kernel tiene ese protocolo • Y que este protocolo presenta una interface programada que el programa CALL

pueda usar.

He tratado de desarrollar este documento en ese orden estricto.

Page 5: Howto AX25

3. Los componentes del software de AX.25/NetRom/Rose

El software de AX.25 está compuesto de tres componentes, el código fuente del kernel, las herramientas de configuración de la red y los programas de utilidad.

A partir de la versión 2.2 del Kernel, el AX.25 es totalmente estable. Este documento supone que estas usando esta o una versión del Kernel posterior, más actalizada. Cuando escribo este documento va por la 2.4.9.

El software descrito en este documento, se basa en las actualizaciones ACTUALES , en el tiempo en que se está escribiendo, puede haber habido cambios. Verifica las nuevas versiones y bájatelas de internet.

3.1 Buscando el Kernel, paquetes de herramientas y utilidades

3.1.1 Código fuente del Kernel.

El código fuente del Kernel se puede encontrar en www.kernel.org y ftp.kernel.org. La versión 2.4.9 del Kernel se puede bajar de la dirección, ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.9.tar.gz.

3.1.2 Herramientas de red.

Las últimas versiones de las herramientas estándares de Linux para AX.25 y NetRom se encuentran en: www.tazenda.demon.co.uk/phil/net-tools.

Los últimos paquetes de cambios de ip están en http://netfilter.filewatcher.org/ipchains/.

Normalmente no es necesario bajar e instalar la última versión de la distribución Linux, vayamos a lo seguro.

3.1.3 Utilidades del AX.25.

Las viejas utilidades de AX.25 usadas en los Kernel 2.0 y 2.1, está, obsoletas y deben reemplazarse por los nuevos paquetes alojados en: SourceForge.

El software se distribuye en tres paquetes. Las librerias, las herramientas y las aplicaciones. Cuando esdribo estas letras las versiones mas recientes están en:

• Librerias • Herramientas • Aplicaciones

Page 6: Howto AX25

3.1.4 Utilidades APRS.

Si vamos a usar les utilidades de APRS hay que descargarlas de:

• APRSD • APRSDIGI

• 4. Instalando el software AX.25/NetRom/Rose. • Para que funcione correctamente el soporte AX25, primero hay que configurar y

compilar un Kernel adecuado, luego instalar las utilidades AX25.

En vez de configurar y luego compilar el código fuente, yo prefiero instalar una configuración en binario ya probada. Los paquetes en formato RPM de Debian están disponibles en varios servidores de ficheros como www.debian.org y http://rpmfind.net/ ; revisar el listado de incidencias de AX25 y vereis como la distribución Linux de Debian está considerada como la mejor para las aplicaciones relacionadas con los Radioaficionados.

• 4.1 Compilando el kernel. • Si estas familiarizado con el proceso de compilación del kernel de Linux, puedes

saltarte esta sección, pero has de estar seguro de elegir las opciones adecuadas antes de compilar el Kernel, Si no estas seguro, sigue leyendo o busca mas información en Linux Kernel HOWTO.

• El lugar estandar para desempaquetar las fuentes del kernel es el directorio /usr/src dentro de un subdirectorio llamado linux. Para hacer esto debes haber entrado en la máquina como root y los comandos son los siguientes:

# cd /usr/src

# mv linux linux.old

# tar xzvf linux-2.4.9.tar.gz

# cd linux

Lógicamente en la tercera línea hay que poner la versión que tengamos.

• Después de desempaquetar los fuentes del kernel es necesario ejecutar el script de configuración para elegir las opciones según nuestro hardware y las opciones que quieras compilar. Empleando el siguiente comando:

• # make menuconfig or make config • Si usamos una interface gráfica usar: • # make xconfig • También se puede usar: • # make config • A continuación describo tal y como sale por pantalla el método menuconfig,

pero puedes usar el método que mas sencillo para ti guste. • En los tres casos, nos da a elegir dos o tres opciones, que son 'Y' (si), 'N' (no) o

'M' si lo quieres compilar como módulo. Para simplificarlo, opta por no usar módulos (si los usas, hay que hacer las correcciones necesarias).

• Las opciones mas importantes para la configuración del AX25 son:

Page 7: Howto AX25

Code maturity level options --->

...

[*] Prompt for development and/or incomplete code/drivers

...

General setup --->

...

[*] Networking support

...

Networking options --->

<*> UNIX domain sockets

...

[*] TCP/IP networking

...

[?] IP: Tunneling

...

Amateur Radio Suport --->

--- Packet Radio Protocols

[*] Amateur Radio AX.25 Level 2 protocol

[?] Amateur Radio NET/ROM

[?] Amateur Radio X.25 PLP (Rose)

AX.25 Network device drivers --->

[?] Serial port KISS driver

[?] Serial port 6PACK driver

[?] BPQ Ethernet driver

[?] High-speed (DMA) SCC driver for AX.25

[?] Z8530 SCC driver

[?] BAYCOM ser12 fullduplex driver for AX.25

[?] BAYCOM picpar and par96 driver for AX.25

[?] BAYCOM epp driver for AX.25

[?] Soundcard modem driver

[?] Soundmodem support for Soundblaster and compatible cards

[?] Soundmodem support for WSS and Crystal cards

[?] Soundmodem support for 1200 baud AFSK modulation

[?] Soundmodem support for 2400 baud AFSK modulation (7.3728Mhz crystal)

[?] Soundmodem support for 2400 baud AFSK modulation (8Mhz crystal)

[?] Soundmodem support for 2666 baud AFSK modulation

[?] Soundmodem support for 4800 baud HAPN-1 modulation

[?] Soundmodem support for 4800 baud PSK modulation

Page 8: Howto AX25

[?] Soundmodem support for 9600 baud FSK G3RUH modulation

[?] YAM driver for AX.25

• Las opciones marcadas '*' son obligatorias con 'Y' (si).El resto dependerá del hardware que tengamos. Algunas opciones se comentan mas adelante con mas detalle, si no las conoces, continua leyendo y luego vuelves otra vez aqui.

• Después de haber completado la configuración del kernel, estas preparado para proceder a su compilación.

# make dep

# make clean

# make zImage

• Asegurate de mover el archivo /i386/boot/zImage a su sitio, luego ha que editar el archivo /etc/lilo.conf, y volver a ejecutar el lilo para estar seguro de rebotar con el nuevo kernel.

• 4.1.1 Algunas palabras sobre los módulos del kernel. • Solo en contadas ocasiones debemos compilar algún driver de AX.25 como

modulo. Mucha gente a tenido problemas para hacer funcionar los módulos, no por el software en si, sino porque son más complicados de configurar.

• Si hemos compilado algún modulo, habra que ejecutar los siguientes comandos:

# make modules

# make modules_install

• para instalar los modulos en su sitio correcto. • Además necesitarás agregar algunas líneas en el fichero /etc/modules.conf para

asegurarte de que el kernel sepa como manejar los módulos. • Veamos un ejemplo, y añadamos o quitemos, según nuestra configuración. • alias net-pf-3 ax25 • alias net-pf-6 netrom • alias net-pf-11 rose • alias tty-ldisc-1 slip • alias tty-ldisc-3 ppp • alias tty-ldisc-5 mkiss • alias bc0 baycom • alias nr0 netrom • alias pi0a pi2 • alias pt0a pt • alias scc0 optoscc (or one of the other

scc drivers) • alias sm0 soundmodem • alias tunl0 newtunnel • alias char-major-4 serial • alias char-major-5 serial • alias char-major-6 lp

En la distribución Debian estas lineas se ponen en el fichero /etc/modutils/aliases, y se ejecuta /sbin/update-mpodules.

Page 9: Howto AX25

• 4.2 Librerias, Herramientas y programas de aplicación del AX.25. • Despues de haber compilado y rebotado la máquina, con el nuevo Kernel, hay

que compilar e instalar las librerias, herramientas y programas de aplicación del AX.25.

• Se puede hacer esto, ejecutando los siguientes comandos: • # cd /usr/src • # tar xzvf libax25-0.0.7.tar.gz • # cd libax25-0.0.7 • # ./configure --exec_prefix=/usr --sysconfdir=etc --

localstatedir=var • # make • # make install

Los argumentos del comando configure aseguran que los ficheros se instalen en el directorio /usr en los subdirectorios bin, sbin, etc y man. Si ejecutamos el comando sin opciones , por defecto nos lo colocara en /usr/local. En esta situación, tenemos los ficheros de arranque en /usr y /usr/local. Si estamos seguros que ha sucedido esto, podemos hacer de nuevo make /usr/local/etc/ax25 con el enlace simbólico a /etc/ax25 reiniciando todo el proceso de instalación.

• Si es la primera vez que instalamos, y nunca hemos instalado antes el codigo AX.25 en nuestra máquina , hay que ejecutar:

• # make installconf • Instalaremos las herramientas del AX.25 de forma similar • # cd /usr/src • # tar xzvf ax25-tools-0.0.6.tar.gz • # cd ax25-tools-0.0.6 • # ./configure --prefix=/usr --sysconfdir=/etc --

localstatedir=/var • # make • # make install • # make installconf (Si instalas los ficheros de

configuración)

• Y finalmente instalaremos las aplicaciones • # cd /usr/src • # tar xzvf ax25-apps-0.0.4.tar.gz • # cd ax25-apps-0.0.4 • # ./configure --prefix=/usr --sysconfdir=/etc --

localstatedir=/var • # make • # make install • # make installconf (Si instalas los ficheros de

configuración)

• Si salen los siguientes mensages:

gcc -Wall -Wstrict-prototypes -02 -I../lib -c call.c call.c: In function 'statline': call.c:268 warning: inplicit declaration of function 'attron' call.c:268 'A_REVERSE? undeclared (first use this function) call.c:268 (Each undeclared identifier is reported only once call.c:268 for each function it appears in.)

Page 10: Howto AX25

• verificar que tenemos el paquete ncurses instalado correctamente en nuestro sistema. El scrip de configuración supone que este paquete esta en su sitio, si no lo esta no puede localizarlo.

5. Notas Indicativos (licencia de radioaficionados), direcciones y otras cosas anter de empezar.

Cada puerto AX.25 y NetRom en nuestro sistema debe de estar identificado por un Indicativo/ssid propio. Estos se ponen en los archivos de configuración que detallaremos más tarde.

Otras implementaciones como NOS y BPQ te permiten poner el mismo indicativo/ssid en cada puerto AX.25 y NetRom. Por razones técnicas bastante complicadas , Linux no lo permite. Esto no es un gran problema como podria parecernos.

Sencillamente son cosas que debemos tener en consideración en el momento de configurar.

1. Cada puerto AX.25 y NetRom debe tener un único indicativo/ssid. 2. TCP/IP usará para transmitir o recibir el mismo indicativo/ssid puesto para el

puerto AX.25 en el punto 1. 3. NetRom usará el indicativo/ssid puesto para él en el fichero de configuración,

solamente cuando hable con otro NetRom. Este no es el indicativo/ssid que usará un usuario que quiera utilizar su nodo. SE explicará mas adelante.

4. Rose usa por defecto el indicativo/ssid del AX.25 a no ser que se haya indicado con el comando "rsparms" otro indicativo/ssid. Si asi lo hemos hecho, Rose usará ese Indicativo/ssid en todos los puertos.

5. Otros programas como el "ax25d" pueden escuchar con cualquier Indicativo/ssid y pueden duplicarse en diferentes puertos.

6. Si eres cuidadoso al configurar las rutas, puedes usar la misma dirección IP, si quieres, en todos los puertos.

5.1 Que son esa cosas T1, T2, N2.

No todas las versiones de AX.25 son TNC2. Linux usa diferente nomenclatura de la que nosotros usamos, si solo tienes experiencia en packet con una TNC. La tabla siguiente te ayudara a interpretar que es cada cosa, de tal manera que en el futuro cuando las veas puedas entender que significan cada una.

Linux TAPR TNC Descripción

T1 FRACK Tiempo de espera antes de retransmitir un paquete desconocido.

T2 RESPTIME Tiempo mínimo de espera de recepción de otro paquete antes de transmitir un frame de reconocimiento.

T3 CHECK Tiempo de espera entre chequeos de que el enlace está todavía vivo o activo.

N2 RETRY Cuantas veces retransmitimos un paquete antes de suponer que

Page 11: Howto AX25

Linux TAPR TNC Descripción

el enlace ha fallado.

Idle Tiempo que una conección puede estar en espera (sin intercambio) antes de que la cerremos.

Window MAXFRAME La máxima cantidad de paquetes transmitidos sin recibir reconocimiento.

5.2 Parámetros configurables en tiempo de ejecución.

Los kernels 2.1.* le permiten configurar en tiempo de ejecución muchos parámetros. Si miramos cuidadosamente la estructura del directorio /proc/sys/net/ veremos varios archivos con nombres útiles que describen varios parámetros de configuración de red. Los archivos en el directorio /proc/sys/net/ax25/ representan un puerto AX.25 configurado. El nombre del archivo describe al nombre del puerto.

La estructura de los archivos en /proc/sys/net/ax25/<portname>/ es :

Nombre del Fichero Significado Valores Por defecto

ip_default_mode IP Default Mode 0=DG 1=VC 0

ax25_default_mode AX.25 Default Mode 0=Normal 1=Extended 0

backoff_type Backoff 0=Linear 1=Exponential 1

connect_mode Connected Mode 0=No 1=Yes 1

standard_window_size Standard Window 1 .. 7 2

extended_window_size Extended Window 1 .. 63 32

t1_timeout T1 Timeout 1s .. 30s 10s

t2_timeout T2 Timeout 1s .. 20s 3s

t3_timeout T3 Timeout 0s .. 3600s 300s

idle_timeout Idle Timeout 0m or greater 20m

maximum_retry_count N2 1 .. 31 10

maximum_packet_length AX.25 Frame Length 1 .. 512 256

En la tabla T1, T2 y T3 están en segundos, el tiempo de IDLE está en minutos. Pero por favor advertir que los valores usados en la interface sysctl son unidades internas donde un segundo hay que multiplicarlo por 10, lo que permite una resolución de 1/10 de seg. Si el valor del TIMER es 0, quiere decir que está desconectado.

La estructura de los archivos de /proc/sys/net/netrom/ es:

Nombre del Fichero Significado Valores Por Defecto

default_path_quality 10

link_fails_count 2

network_ttl_initialiser 16

Page 12: Howto AX25

Nombre del Fichero Significado Valores Por Defecto

obsolescence_count_initialiser 6

routing_control 1

transport_acknowledge_delay 50

transport_busy_delay 1800

transport_maximum_tries 3

transport_requested_window_size 4

transport_timeout 1200

Nombre Fichero Significado Valores Por Defecto

acknowledge_hold_back_timeout 50

call_request_timeout 2000

clear_request_timeout 1800

link_fail_timeout 1200

maximum_virtual_circuits 50

reset_request_timeout 1800

restart_request_timeout 1800

routing_control 1

window_size 3

Para poner un parámetro, todo lo que has de hacer es escribir el valor deseado en el correspondiente fichero, por ej. Para verificar y poner la ventana de Rose harias algo así:

# cat /proc/sys/net/rose/window_size 3 # echo 4 >/proc/sys/net/rose/window_size # cat /proc/sys/net/rose/window_size 4

6. Configurando un puerto AX.25.

Cada aplicación de AX.25 lee un fichero particular de configuración para obtener los parámetros de los varios puertos AX.25 configurados en su máquina Linux. Para los puertos AX.25 el fichero que se lee es /etc/ax25/axport, donde debe haber una linea de entrada por cada puerto que quieras tener en tu máquina.

6.1 Creando un dispositivo de red de AX.25.

El dispositivo de red es el listado cuando usas el comando "ifconfig". Este es el objeto al cual el kernel de Linux le manda y recibe los datos de la Red. Casi siempre el dispositivo tiene un puerto físico asociado con él, pero hay ocasiones en que no es necesario. El dispositivo de red trabaja directamente con el driver del dispositivo.

Page 13: Howto AX25

En el código AX.25 de Linux hay numerosos driver de dispositivos. El más común probablemente es el KISS, pero otros son el SCC, el Baycom y el SoundModem. Cada uno de estos driver crea un dispositivo de red cuando son iniciados.

6.1.1. Creando un dispositivo KISS.

Opciones al compilar kernel:

6.1.1. Creating a KISS device

Kernel Compile Options:

Amateur Radio support ---> [*] Amateur Radio support --- Packet Radio protocols <*> Amateur Radio AX.25 Level 2 protocol ... AX.25 network device drivers ---> --- AX.25 network device drivers <*> Serial port KISS driver ...

Probablemente la más común de las configuraciones es la de una TNC en modo KISS puesta en un puerto serie. Necesitaras la TNC ya configurada y conectada al puerto serie. Puedes usar cualquier programa de comunicaciones, para poner la TNC en modo KISS.

Para crear un dispositivo KISS se debe usar el programa kissattach. Simplemente haz lo que sigue:

# /usr/sbin/kissattach /dev/ttyS0 radio 44.135.96.2 42 # kissparms -p radio -t 100 -s 100 -r 25

OJO: El 44.135.96.242 es una dirección IP, hay que poner la tuya.

El comando kissattach crea el dispositivo de red KISS. Estos dispositivos se llaman "ax[0-9]". La primera vez crea "ax0", la segunda "ax1", etc. Cada Kiss tiene asociado su puerto serie.

El comando kissparms te permite poner varios parámetros para el dispositivo KISS.

En el ejemplo de arriba creará un dispositivo de red KISS usando el dispositivo serie "/dev/ttyS0" y la línea de entrada en /etc/ax25/axports que tenga el nombre de puerto "radio". Y lo configurará con un txdelay y slottime de 100 milisegundos y un valor de ppersist de 25.

Por favor dirigirse a las páginas man para más información.

Configurando una TNC de doble puerto.

Page 14: Howto AX25

La utilidad mkiss incluida en ax25-utils te permite hacer uso de ambos puertos. La configuración es simple. Trabaja hablando a un dispositivo de red simple conectado a un TNC simple multipuerto y haciendo aparecer un numero de dispositivos distintos, cada uno conectado a un puerto simple de la TNC.

Ud. hace esto antes de configurar el AX.25. Los dispositivos que configuras en el AX.25 son seudos-interfaces-TTY, (/dev/ttyq*), y no el dispositivo serie físico. Los dispositivos seudos-TTY crean una especie de redireccionamientos o entubados (pipes) a través de los cuales los programas para hablar con los dispositivos tty hablan con otros programas destinados a hablar con dispositivos tty. Cada entubamiento tiene un terminal maestro y otro esclavo. El maestro es llamado generalmente "/dev/ptyq*" y el esclavo "/dev/ttyq*". Existe una relación de a pares de maestros y esclavos, así el /dev/ptyq0 es el maestro y /dev/ttyq0 es su esclavo. Siempre debes abrir el maestro antes de abrir el esclavo. Mkiss es el encargado de dividir un dispositivo serie simple en dos dispositivos separados.

Ejemplo: si tienes una TNC doble conectada a 9600 bps a un dispositivo físico serie /dev/ttyS0, el comando es el siguiente:

# /usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyq0 /de v/ptyq1 # /usr/sbin/kissattach /dev/ttyq0 port1 44.135.96.2 42 # /usr/sbin/kissattach /dev/ttyq1 port2 44.135.96.2 42

OJO: El 44.135.96.242 como en el ejemplo anterior, es una dirección IP, hay que poner la tuya.

Esto creará dos dispositivos seudos-tty que aparecerán cada uno como una TNC de puerto simple. Entonces tratarás a /dev/ttyq0 y /dev/ttyq1 como si fuera un dispositivo serial común conectado a una TNC. Esto significa que usaras el comando kissattach exactamente como se describió anteriormente, en cada uno de ellos, en el ejemplo para los puertos AX.25 llamados port1 y port2. No deberías usar kissattach en el dispositivo serie real como lo usa el programa mkiss.

El comando mkiss tiene un número de argumentos opcionales que Ud. puede usar, y son :

-c

Habilita la adición del checksum de un byte en cada frame KISS.No es soportado en la mayoría de las implementaciones KISS pero sí en el G8BPQ KISS ROM.

-s <velocidad>

Pone la velocidad del puerto serie.

-h

Habilita el control por hardware del puerto sere que por omisión está en off. La mayoría de KISS no lo soportan, pero algunas sí.

Page 15: Howto AX25

-l

Habilita el logeo de información hacia el archivo de log del sistema(syslog).

6.1.2.Creando un dispositivo 6PACK.

Opciones al compilar el Kernel.

Amateur Radio support ---> [*] Amateur Radio support --- Packet Radio protocols <*> Amateur Radio AX.25 Level 2 protocol ... AX.25 network device drivers ---> --- AX.25 network device drivers ... <*> Serial port 6PACK driver ...

6PACK es un protocolo soportado por algunas TNC, es una alternativa al KISS. Se usa de forma parecida al driver del KISS, usando el comando slattach en vez de comado kissattach.

Ayuda, en forma de mini HOWTO, para incluir el driver de 6PACK, la podemos encontrar en /usr/src/linux/Documentation/networking/6pack.txt.

6.1.3.Creando un dispositivo Baycom.

Opciones al compilar kernel:

Amateur Radio support ---> [*] Amateur Radio support --- Packet Radio protocols <*> Amateur Radio AX.25 Level 2 protocol ... AX.25 network device drivers ---> --- AX.25 network device drivers ... <?> BAYCOM ser12 fullduplex driver for AX.25 <?> BAYCOM ser12 halfduplex driver for AX.25 <?> BAYCOM picpar and par96 driver for AX.25 <?> BAYCOM epp driver for AX.25 ...

Thomas Sailer, a pesar de que todos decian que no funcionaría muy bien, ha desarrollado soporte Linux para Baycom. Sus driver soportan el puerto serie Ser12, y los módem de puerto paralelo Par96 y el extendido PicPar. Más información puede obtenerse del sitio Web: Baycom Web Site.

El primer paso es determinar cual es el i/o y dirección del puerto serie o paralelo en el cual tienes conectado tu módem Baycom. Cuando los tienes, ya puedes puedes configurar tu Driver Baycom con ellos.

Page 16: Howto AX25

El Driver Baycom, cuando se configura, crea dispositivos de red llamados: bc0, bc1, etc.

La utilidad sethdlc te permite configurar el driver con estos parámetros, o, si solo tienes un módem Baycom puedes especificar los parámetros en el comando de línea insmod cuando cargas el módulo Baycom.

Ejemplo de una configuración sencilla. Deshabilitar el driver serie de COM1: y entonces configurar el driver Baycom para un módem de puerto serie Ser12 en COM1: con la opción de software DCD habilitada:

# setserial /dev/ttyS0 uart none # insmod hdlcdrv # insmod baycom mode="ser12*" iobase=0x3f8 irq=4

OJO: el iobase=0x3f8 y el la interrupción IRQ=4, son las standard, tu debes de poner las de tu COM1:

Para el módem Par96 el el puerto paralelo LPT1: usando la detección por hardware DCD:

# insmod hdlcdrv # insmod baycom mode="par96" iobase=0x378 irq=7 opt ions=0

OJO: el iobase=0x378 y el la interrupción IRQ=7, son las standard, tu debes de poner las de tu LPT1:

Esta realmente no es mi manera preferida de hacerlo. El sethdlc trabaja igual de bien con uno que con varios dispositivos.

La página man de sethdlc tiene todos los detalles, pero un par de ej. Ilustrarán los aspectos más importante de la configuración. El siguiente ej. presupone que ya tienes cargado el módulo Baycom usando:

# insmod hdlcdrv # insmod baycom

O que has compilado el kernel con el driver incluido.

Configurar el driver de dispositivo bc0 en el puerto paralelo LPT1: para un módem Baycom con DCD por software:

# sethdlc -p -i bc0 mode par96 io 0x378 irq 7

Configurar el driver de dispositivo bc1 para un módem Baycom en el puerto serie COM1:

# sethdlc -p -i bc1 mode "ser12*" io 0x3f8 irq 4

Page 17: Howto AX25

6.1.4.Configurando los parámetros de acceso a los canales en AX.25.

Los parámetros de acceso a los canales de AX.25 son los equivalentes a ppersist, txdelay y slottime de KISS. Otra vez tienes que usar la utilidad sethdlc para hacer esto.

Y de nuevo la página man de sethdlc trae la información completa, pero un ejemplo no está de mas:

Configurar el dispositivo bc0 como half dúplex, con txdelay de 200 ms., slottime de 1 ms. y ppersist de 40:

# sethdlc -i bc0 -a txd 200 slot 100 ppersist 40 ha lf

OJO: los valores de tiempo, estan en milisegundos.

6.1.4.1.Configurando el kernel AX.25 para usar un dispositivo Baycom.

El driver Baycom crea dispositivos estándares de red que puede usar el código del kernel AX.25 . La configuración es similar a la de una tarjeta PI o PackletTwin.

El primer paso es configurar el dispositivo con un Indicativo(callsing) AX.25. Usamos la utilidad ifconfig para esto.

# /sbin/ifconfig bc0 hw ax25 EA4URE-15 up

Esto asigna el indicativo EA4URE-15 de AX.25 al dispositivo Baycom bc0. Alternativamente puede usar el comando axparms, pero igualmente tienes que usar el ifconfig para activar el dispositivo (up):

# ifconfig bc0 up # axparms -setcall bc0 EA4URE-15

El próximo paso en crear una entrada en el archivo /etc/ax25/axports como harías para cualquier otro dispositivo. La entrada en el axports se asocia con el dispositivo de red que has configurado con el Indicativo. La entrada en el archivo axports que tenga el Indicativo con el cual configuró el dispositivo Baycom, es la que va a usarse para referirnos a él.

Puedes tratar al nuevo dispositivo AX.25 como a cualquier otro. Puedes configurarlo para TCP/IP, agregarlo a ax25d o correr NetRom o Rose, como mas te guste.

6.1.5.Creando en el Kernel un dispositivo SoundModem.

Opciones de configuración del kernel:

Amateur Radio support ---> [*] Amateur Radio support --- Packet Radio protocols

Page 18: Howto AX25

<*> Amateur Radio AX.25 Level 2 protocol ... AX.25 network device drivers ---> --- AX.25 network device drivers ... <*> Soundcard modem driver [?] soundmodem support for Soundblaster and c ompatible cards [?] soundmodem support for WSS and Crystal ca rds [?] soundmodem support for 1200 baud AFSK mod ulation [?] soundmodem support for 2400 baud AFSK mod ulation (7.3728MHz crystal) [?] soundmodem support for 2400 baud AFSK mod ulation (8MHz crystal) [?] soundmodem support for 2666 baud AFSK mod ulation [?] soundmodem support for 4800 baud HAPN-1 m odulation [?] soundmodem support for 4800 baud PSK modu lation [?] soundmodem support for 9600 baud FSK G3RU H modulation ...

Thomas Sailer a construido un nuevo driver para el kernel que te permite usar tu tarjeta de sonido como módem. Conecta tu equipo de radio directamente a la tarjeta de sonido y haga packet!!. Thomas recomienda como mínimo una 486DX2/66, si quieres usar este soft, ya que usa el cpu para todo el proceso digital de la señal.

Este driver actualmente emula los módem tipo 1200 bps AFSK, 4800 HAPN y 9600 FSK (Compatible G3RUH ). Las únicas tarjetas soportadas son los modelos Soundblaster y WindowsSoundSystem y compatibles. Las tarjetas de sonido necesitan algún tipo de circuitería para ayudar a usar el PTT (PushToTalk), y hay información sobre esto en La página web de Thomas´s SoundModem PTT. Hay varias posibilidades como son: detectar la salida de audio desde la tarjeta de sonido, o usar una salida del puerto paralelo, serial o midi. Hay circuitos de ejemplo en el sitio de Thomas.

Cuando se configura, el driver SoundModem, crea dispositivos llamados: sm0, sm1, etc.

Los Driver SoundModem utilizan los mismos recursos que los drivers de sonido de Linux. Por lo tanto si quieres usar SoundModem, debes estar seguro de que los drivers de sonido de Linux no estén instalados. Puedes compilar ambos como módulos e insertarlos y quitarlos a tu gusto.

6.1.5.1.Configurando la tarjeta de sonido.

El driverr SoundModem no inicializa la tarjeta de sonido. La utilidad ax25-util trae a "setcrystal" que puede usarse para tarjetas basadas en chipset Crystal. Si tienes otras tarjetas, deberás usar otra utilidad para inicializarlas. La sintaxis es la siguiente:

setcrystal [-w wssio] [-s sbio] [-f synthio] [-i irq] [-d dma] [-c dma2]

Ejemplo: para una Soundblaster con dirección iobase 0x388, irq 10 y DMA 1, hay que usar:

Page 19: Howto AX25

# setcrystal -s 0x388 -i 10 -d 1

Para una Windows Sound System con dirección base i/o 0x534, irq 5 y DMA 3, usariamos:

# setcrystal -w 0x534 -i 5 -d 3

El parámetro [-f synthio] es para poner la dirección del sintetizador, y el [-c dma2] es para poner el segundo canal de DMA para operación full dúplex.

6.1.5.2.Configurando el driver soundModem.

Cuando ya hayas configurado la tarjeta, necesitarás configurar el driver para decirle donde encontrar a la tarjeta y que clase de módem quieres que emule.

La utilidad sethdlc te permite configurar los parámetros, o, si solo tienes una tarjeta de sonido instalada puedes usar el comando insmod con los parámetros necesarios cuando cargas el módulo de SoundModem.

Ejemplo: Una Soundblaster configurada como se describe arriba para emular a un módem de 1200 bps:

# insmod hdlcdrv # insmod soundmodem mode="sbc:afsk1200" iobase=0x22 0 irq=5 dma=1

Esta no es la mejor manera de hacerlo ya que sethdlc trabaja lo mismo para uno como para varios.

La página man de sethdlc trae los detalles completos, pero un par de ejemplos aclararan los aspectos mas importantes de la configuración. El siguiente ejemplo supone que ya cargaste los módulos SoundModem usando:

# insmod hdlcdrv # insmod soundmodem

O que compilaste el kernel con el driver.

Configurar el driver para soportar una tarjeta WSS como arriba emulando a un módem compatible G3RUH 9600, como dispositivo sm0 usando el puerto paralelo en 0x378 para el PTT.

# sethdlc -p -i sm0 mode wss:fsk9600 io 0x534 irq 5 dma 3 pario 0x378

Configurar el driver para soportar una tarjeta Soundblaster como arriba emulando a un módem compatible 4800 HAPN como dispositivo sm1 usando el puerto serie ubicado en 0x2f8 para el PTT.

Page 20: Howto AX25

# sethdlc -p -i sm1 mode sbc:hapn4800 io 0x388 irq 10 dma 1 serio 0x2f8

Configurar el driverr para soportar una tarjeta Soundblaster como arriba emulando a un módem compatible 1200 AFSK como dispositivo sm1 usando el puerto serie ubicado en 0x2f8 para el PTT.

# sethdlc -p -i sm1 mode sbc:afsk1200 io 0x388 irq 10 dma 1 serio 0x2f8

6.1.5.3.Configurando los parámetros de acceso al canal AX.25.

Los parámetros de acceso a los canales de AX.25 son los equivalentes a ppersist, txdelay y slottime de KISS. Otra vez usaremos la utilidad sethdlc para hacer esto.

De nuevo vez la página man de sethdlc trae la información completa, pero un ejemplo ayuda:

Configurar el dispositivo sm0 como full duplex con TxDelay 100 ms., SlotTime 50 ms., PPersist 128.

# sethdlc -i sm0 -a txd 100 slot 50 ppersist 128 fu ll

OJO: los valores de tiempo, estan en milisegundos.

6.1.5.4.Definiendo los niveles de audio y sintonizando el driver.

Para que trabaje correctamente el modem con el equipo de Radio, es necesario que los niveles de audio estén puestos correctamente. Lo mismo para SoundModem. Thomas ha desarrollado utilidades para hacer este trabajo más fácil y se llaman: smdiag y smmixer.

Smdiag

Suministra dos formas de display, tipo osciloscopio o tipo patrón de ojo

Smmixer

Permite ajustar el nivel de audio de transmisión y recepción.

Ejemplo: Para arrancar el smdiag en modo "ojo" (eye) para un SoundModem sm0 :

# smdiag -i sm0 -e

Para arrancar el smmixer para un SoundModem sm0:

# smmixer -i sm0

Page 21: Howto AX25

6.1.5.5.Configurando el kernel para usar un SoundModem.

El driver de SoundModem crea dispositivos de red estándares que puede usar el kernel AX.25. La configuración es idéntica que para una tarjeta PI o PacketTwin.

Lo primero es configurar el dispositivo con un indicativo AX.25. Usamos el comando ifconfig:

# /sbin/ifconfig sm0 hw ax25 EA4URE-15 up

Esto asigna el indicativo EA4URE-15 al dispositivo SoundModem sm0. Alternativamente puedes usar el comando axparms pero necesitaras el ifconfig para levantar el dispositivo:

# ifconfig sm0 up # axparms -setcall sm0 vk2ktj-15

El próximo paso es crear una entrada en el archivo /etc/ax25/axports como haríamos para otro dispositivo. La entrada en el axports asocia el dispositivo de red que se ha configurado con el Indicativo configurado. La entrada en el archivo axports que tenga el Indicativo con el cual configuraste el dispositivo SoundModem, es la que va a usarse para referirse a él.

Puedes tratar el nuevo dispositivo AX.25 como a cualquier otro. Puedes configurarlo para TCP/IP, agregarlo a ax25d o correr NetRom o Rose, como te plazca.

6.1.6.Creando un dispositivo SoundModem en modo usuario.

No hay opciones, para la compilación del Kernel.

Thomas Sailer, ha escrito un driver para SoundModem, para que pueda ejecutarse en modo usuario, usando los modulos de sonido propios del Kernel, de esta forma podemos trabajar con las tarjetas de sonido que corren bajo Linux.

El driver esta implementado en el programa de usuario soundmodem. El programa gráfico soundmodemconfig configura y prueba los driver de soundmodem. Necesitaremos el soporte de sonido del Kernel AX.25 mkiss.

El sofware y la documentación, nos lo podemos bajar de: http://www.baycom.org/~tom/ham/soundmodem/.

6.1.7.Creando un driver para YAM

Opciones de compilación del Kernel.

Amateur Radio support ---> [*] Amateur Radio support --- Packet Radio protocols

Page 22: Howto AX25

<*> Amateur Radio AX.25 Level 2 protocol ... AX.25 network device drivers ---> --- AX.25 network device drivers ... <?> YAM driver for AX.25 ...

YAM es otro modem a 9600 baudios, diseñado por Nico Palermo. La información sobre los driver para Linux, puede bajarse de http://www.teaser.fr/~frible/yam.html, mas información de tipo general sobre este modem puede encontrarse en http://www.microlet.com/yam/.

6.1.8.Creando un dispositivo de tarjeta PI.

Opciones de configuración del kernel.

General setup ---> [*] Networking support Network device support ---> [*] Network device support ... [*] Radio network interfaces [*] Ottawa PI and PI/2 support for AX.25

El driver de dispositivo de la tarjeta PI crea dispositivos llamados "pi[0-9] [ab]". La primera tarjeta detectada es "pi0", la segunda "pi1" etc. La "a" o "b" se refieren a la primera o segunda interface física de la tarjeta. Si tienes compilado el kernel con el driver para PI incluido, y la tarjeta se ha detectado correctamente, puedes usar el comando siguiente para configurar el dispositivo de red:

# /sbin/ifconfig pi0a hw ax25 EA4URE-15 up

Este comando configura el primer puerto de la primera tarjeta PI detectada con el Indicativo EA4URE-15 y lo activa (up). Para usar el dispositivo lo que necesitas hacer ahora es agregar una entrada en /etc/ax25/axports con un Indicativo/ssid que se corresponda con el citado, y está listo para continuar.

El driver para PI fue escrito por: David Perry.

6.1.9.Creando un driver PacketTwin.

Opciones de configuración del kernel.

General setup ---> [*] Networking support Network device support ---> [*] Network device support ... [*] Radio network interfaces [*] Gracilis PackeTwin support for AX.25

Page 23: Howto AX25

El driver de dispositivo de tarjeta PacketTwin crea dispositivos llamados "pt[0-9] [ab]". La primera tarjeta detectada es "pt0", la segunda "pt1" etc. La "a" o "b" se refieren a la primera o segunda interface física de la tarjeta. Si tienes compilado el kernel con el driver para PacketTwin incluido, y la tarjeta se ha detectado correctamente, puedes usar el siguiente comando para configurar el dispositivo de red:

# /sbin/ifconfig pt0a hw ax25 EA4URE-15 up

Este comando configura el primer puerto en la primera tarjeta PacketTwin detectada con el Indicativo EA4URE-15 y lo activa (up). Para usar el dispositivo lo que necesitas hacer ahora es agregar una entrada en /etc/ax25/axports con un Indicativo/ssid que corresponde al citado, y estás listo para continuar.

El driver para tarjeta PacketTwin fue escrito por Craig Small,VK2XLZ .

6.1.10.Creando un driver genérico SCC.

Opciones de configuración del kernel.

General setup ---> [*] Networking support Network device support ---> [*] Network device support ... [*] Radio network interfaces [*] Z8530 SCC KISS emulation driver for AX.25

Joerg Reuter, DL1BKE, ha desarrollado el soporte genérico para tarjetas SCC basadas en Z8530. Su driver permite configurarlo para soportar un rango de diferentes tipos de tarjetas y presenta una interface que parece una TNC KISS, de tal modo que la trata como si fuera una TNC KISS.

6.1.10.1.Obteniendo y construyendo el paquete de herramientas de configuración.

Mientras el driver del kernel viene normalmente en la distribuciones estándares, Joerg distribuye la versión más reciente de su driver junto con las herramientas que tendrá que conseguir en:

Joerg's web page

También en los siguientes sitios: ftp://db0bm.automation.fh-aachen.de/incoming/dl1bke, ftp://insl1.etec.uni-karlsruhe.de/pub/hamradio/linux/z8530, ftp://ftp.ucsd.edu/hamradio/packet/tcpip/linux, o ftp://ftp.ucsd.edu/hamradio/packet/tcpip/incoming.

Encontrarás muchas versiones. Selecciona la que mejor vaya con tu versión del kernel.

Page 24: Howto AX25

z8530drv-2.4a.dl1bke.tar.gz para 2.0.* z8530drv-utils-3.0.tar.gz para 2.1.6 o mayor

Los siguientes comandos son los que usarás para compilar e instalar el paquete para el kernel 2.0.30:

# cd /usr/src # gzip -dc z8530drv-2.4a.dl1bke.tar.gz | tar xvpofz - # cd z8530drv # make clean # make dep # make module # Si quiere construir el driv er como módulo # make for_kernel # Si quiere el driver incluid o dentro del kernel # make install

Después de la compilación, tendrás tres nuevos programas, instalados en /sbin : gencfg, sccinit y sccstat. Son los que se usan para configurar la tarjeta SCC.

También tendrás un nuevo grupo de archivos de dispositivos creados en /dev llamados scc0-scc7. Estos se usaran mas tarde y serán los dispositivos KISS que terminarás usando.

Si usas "make for_kernel" entonces deberás recopilar el kernel. Para estar seguro que se ha incluido el soporte para z8530, debes estar seguro de haber contestado "y" a "Z8530 SCC kiss emulation driver for AX.25" cuando te lo preguntan en el "make config".

Si elegiste "make module" entonces el nuevo scc.o se instalará en el directorio /lib/modules apropiado, y no se necesita recompilar el kernel. Recuerda usar el comando insmod para cargar el módulo antes de configurarlo y usarlo.

6.1.10.2.Configurando el driver para tu tarjeta.

El driver z8530 SCC se creo para ser lo más flexible posible, para soportar la mayor cantidad de tarjetas posibles. Esta flexibilidad trae aparejado el costo de una mayor complicación en la configuración.

Hay mas información en el paquete y debes leerla si tienes problemas. Particularmente lee doc/scc_eng.doc o doc/scc_ger.doc para más detalles. He resaltado lo mas importante, pero hay detalles de bajo nivel que no he incluido.

El archivo de configuración maestro es leído por el programa sccinit y es llamado /etc/z8530drv.conf. Este archivo está separado en dos partes: configuración de los parámetros de hardware y configuración del canal. Después de haber configurado este archivo, solo necesitas añadir:

# sccinit

dentro del archivo rc que configura tu red de trabajo y el driver se inicializara de acuerdo con el contenido de este archivo de configuración. Debes hacer esto antes de intentar usarlo.

Page 25: Howto AX25

6.1.10.2.1.Configuración de los parámetros de hardware.

La primera sección esta dividida en partes o estrofas, cada estrofa representa un chip 8530. Cada estrofa es una lista de palabras claves con argumentos. Puedes especificar por omisión en este fichero hasta 4 chips SCC. El #define MAXSCC 4 en scc.c puede incrementarse si requieres soportar más.

Las palabras claves y argumentos permitidos son:

chip

Esta palabra clave se usa para separar estrofas. No usa argumento.

data_a

Esta palabra clave se usa para indicar la dirección del puerto de datos para el canal "A" del z8530. El argumento es un número hex. Ej. 0x300

ctrl_a

Se usa para indicar la dirección del puerto de control del canal "A" del z8530.. El argumento es un número hex. Ej 0x304

data_b

Esta palabra clave se usa para indicar la dirección del puerto de datos para el canal "B" del z8530. El argumento es un número hex. Ej. 0x301

ctrl_a

Se usa para indicar la dirección del puerto de control del canal "B" del z8530.. El argumento es un número hex. Ej 0x305

irq

Se usa para indicar el IRQ usado por la SCC 8530 descrita en esta estrofa. El argumento es un entero. Por ej. 5

pclock

Se usa para indicar la frecuencia del reloj en el pin PCLK del 8530. El argumento es la frecuencia en número entero de hetz, y por omisión usa 4915200, cuando no le indicamos otra.

board

El tipo de tarjeta que soporta esta SCC 8530. El argumento es una cadena de caracteres y se permiten los siguientes:

PA0HZP

Page 26: Howto AX25

Tarjeta PA0HZP SCC

EAGLE

Tarjeta EAGLE

PC100

Tarjeta DRSI PC100 SCC

PRIMUS

Tarjeta PRIMUS-PC (DG9BL)

BAYCOM

Tarjeta BAYCOM (U)SCC

scc

Es opcional y se usa para habilitar el soporte para chip extendidos SCC (ESCC) como los 8580, 85180 y 85280. El argumento es una cadena de caracteres y se permite "yes" o "no". Por omisión "no"

vector

opcional. Especifica la dirección del vector de lanzamiento o "intack port" de la tarjeta PA0HZP. Puede haber solo un vector de lanzamiento para todos los chips. Por omisión 0.

special

Opcional. Especifica la dirección del registro de función especial de algunas tarjetas. Por omisión 0.

option

Opcional. Por omisión 0.

Ejemplos de configuraciones para las tarjetas más comunes:

BayCom USCC chip 1 data_a 0x300 ctrl_a 0x304 data_b 0x301 ctrl_b 0x305 irq 5 board BAYCOM # # SCC chip 2

Page 27: Howto AX25

# chip 2 data_a 0x302 ctrl_a 0x306 data_b 0x303 ctrl_b 0x307 board BAYCOM

PA0HZP SCC card chip 1 data_a 0x153 data_b 0x151 ctrl_a 0x152 ctrl_b 0x150 irq 9 pclock 4915200 board PA0HZP vector 0x168 escc no # # # chip 2 data_a 0x157 data_b 0x155 ctrl_a 0x156 ctrl_b 0x154 irq 9 pclock 4915200 board PA0HZP vector 0x168 escc no

DRSI SCC card chip 1 data_a 0x303 data_b 0x301 ctrl_a 0x302 ctrl_b 0x300 irq 7 pclock 4915200 board DRSI escc no

Si ya tienes una configuración funcionando para tu tarjeta bajo NOS, entonces puedes usar el comando gencfg para convertir los comandos del driver PE1CHL del NOS al formato necesario por el archivo de configuración del driver z8530.

Para usar el gencfg simplemente invóquelo con los parámetros usados para el driver PE1CHL del NET/NOS. Por ejemplo:

# gencfg 2 0x150 4 2 0 1 0x168 9 4915200

Esto generará un modelo de configuración para la tarjeta OptoSCC.

6.1.10.3.Configuración del canal.

Page 28: Howto AX25

La Sección de configuración del canal es donde se especifica los otros parámetros asociados con el puerto a configurar. Otra vez, esta sección esta dividida en estrofas. Una estrofa represente un puerto lógico, y por lo tanto debería de haber dos de estas por cada una de las estrofas de parámetros de hardware, ya que cada 8530 SCC soporta dos puertos.

Estas palabras claves y argumentos se escriben también en el archivo /etc/z8530drv.conf y deben aparecer después de la sección de parámetros de hardware.

La secuencia correcta es muy importante, pero si usas la sugerida, funcionará perfectamente. Las palabras claves y argumentos son los siguientes:

device

Esta palabra clave debe ser la primera en la definición de un puerto y indica el nombre del archivo de dispositivo para el cual el resto de la configuración se aplica. Ejemplo: /dev/scc0

speed

Velocidad en bits por seg. De la interface. El argumento es un entero, por ejemplo: 1200

clock

indica de donde saca el origen el reloj para la data. Se permiten:

dpll

halfdulex normal

external

el módem provee su propio reloj de Rx/Tx

divider

usa divisor fullduplex, si esta instalado.

mode

Indica la codificación de datos usada. Se permite nrzi o nrz

rxbuffers

Indica el número de buffers de recepción para los cuales se reserva memoria. El argumento es un entero, por ej. 8

txbuffers

Page 29: Howto AX25

Indica el número de buffers de transmisión para los cuales se reserva memoria. El argumento es un entero, por ej. 8

bufsize

Indica el tamaño de los bufers de transmisión y recepción. El argumento es en bytes y representa el largo total del paquete, por lo tanto se debe tener en cuenta también las cabeceras AX.25 y no solo los datos. Es opcional y por omisión es 384.

txdelay

Valor de retardo de transmisión de KISS, argumento entero en miliseg.

persist

valor del persist de KISS, argumento entero.

slot

valor del slottime de KISS, argumento entero.

tail

valor de cola de tx. de KISS, argumento entero en miliseg.

fullduplex

bandera de fullduplex de KISS. Argumento entero y puede ser: 1==Full Duplex, 0==Half Duplex.

wait

valor de espera de KISS, argumento entero en miliseg.

min

valor mínimo de KISS, argumento entero en seg.

maxkey

Tiempo máximo de ptt on. Argumento entero en seg.

idle

valor del timer de idle de KISS, argumento entero en seg.

maxdef

valor maxdef de KISS, argumento entero.

Page 30: Howto AX25

group

valor de grupo de KISS, argumento entero.

txoff

valor de txoff de KISS, argumento entero en miliseg.

softdcd

valor del softdcd de KISS, argumento entero.

slip

Bandera del slip del KISS. Argumento entero.

6.1.10.4.Usando el driver.

Para usar el driver, trata simplemente a los dispositivo /dev/scc* como si fueran un dispositivo tty con una TNC KISS conectada a el. Ejemplo: para configurar el kernel de Linux para red y usar una tarjeta SCC deberías usar algo así:

# kissattach -s 4800 /dev/scc0 EA4URE

Ud. también puede usar NOS para adjuntarr (attach)al kernel de la misma manera. Por ejemplo del JNOS usarías algo así:

attach asy scc0 0 ax25 scc0 256 256 4800

6.1.10.5.Las herramientas sccstat y sccparam .

Para el diagnostico de problemas puedes usar sccatat para ver en el monitor la configuración de un dispositivo SCC. Prueba esto:

# sccstat /dev/scc0

Verás una gran cantidad de información relativa a la configuración y pulso (datos de funcionamiento) del puerto SCC /dev/scc0. El sccparam te permite cambiar los parámetros de configuración después de haber rebotado. La sintaxis es similar a la del comando param del NOS, por lo tanto para poner la txtail de un dispositivo a 100 ms. Debería usar:

# sccparam /dev/scc0 txtail 0x8

6.1.11.Creando un dispositivo ethernet BPQ.

Opciones de configuración del kernel

Page 31: Howto AX25

General setup ---> [*] Networking support Network device support ---> [*] Network device support ... [*] Radio network interfaces [*] BPQ Ethernet driver for AX.25

Linux tiene compatibilidad con BPQ Ethernet. Esto te permite correr el protocolo AX.25 sobre la LAN Ethernet y así usar tus maquinas Linux con otras máquinas BPQ en tu LAN.

Los dispositivo de red BPQ se llaman "bpq[0-9]". El "bpq0" se asocia con "eth0" y así sucesivamente.

La configuración es bastante exacta. Primero debes tener configurado un dispositivo ethernet estándar, lo que significa que se debe tener el kernel compilado con soporte para ethernet , y que funcione. Para más información ver Ethernet-HOWTO.

Para configurar el soporte para BPQ, necesitas configurar el dispositivo ethernet con un Indicativo AX.25. Los siguientes comandos harán ese trabajo:

# /sbin/ifconfig bpq0 hw ax25 EA4URE-14 up

Recuerda, de nuevo, que el Indicativo usado aquí debe corresponderse con la entrada en el archivo /etc/ax25/axports que quieras usar para este puerto.

6.1.12.Configurando el Nodo BPQ para trabajar con el AX.25 de Linux.

El BPQ Ethernet usa normalmente una dirección multicast. Linux no, y en cambio usa la dirección normal de broadcast ethernet. Por lo tanto, el fichero NET.CFG para el driver BPQ ODI debe modificarse para que se parezca a lo siguiente:

LINK SUPPORT MAX STACKS 1 MAX BOARDS 1 LINK DRIVER E2000 ; or other MLI D to suit your card INT 10 ; PORT 300 ; to suit your card FRAME ETHERNET_II PROTOCOL BPQ 8FF ETHERNET_II ; required for BPQ - can change PID BPQPARAMS ; optional - o nly needed if you want ; to override the default target addr

Page 32: Howto AX25

ETH_ADDR FF:FF:FF:FF:FF:FF ; Target addre ss

6.2 Creando el fichero /etc/ax25/axports.

El archivo /etc/ax25/axports es simplemente un fichero texto que puedes crear con cualquier editor de texto. Su formato es el siguiente:

portname callsign baudrate paclen window descr iption

donde:

portname

Nombre (texto) con el que se referirá a ese puerto.

callsign

Indicativo AX.25 que quieres asignarle a ese puerto.

baudrate

Velocidad de comunicación de ese puerto con tu TNC.

paclen

Largo máximo del paquete que quieras configurar para ese puerto cuando usa AX.25 en modo conectado.

window

es el parámetro AX.25 window. En muchas TNC es lo mismo que el MAXFRAME.

description

descripción textual del puerto.

Un ejemplo:

radio EA4URE-15 4800 256 2 4800bps 144.800 MHz ether EA4URE-14 10000000 256 2 BPQ/ethernet device

Recuerda que debes asignar Indicativos/ssid únicos para cada puerto AX.25 que crees. Crea una entrada para cada puerto AX.25 que quieras; esto incluye puertos KISS, Baycom, SCC, PI, PT y SoundModem. Cada entrada aquí, describe exactamente un dispositivo de red AX.25. Las entradas en este archivo estan asociadas con los

Page 33: Howto AX25

dispositivo de red mediante su Indicativo/ssid. Esta es una buena razón para requerir un único Indicativo/ssid.

6.3 Configurando el enrutado AX.25.

A ti te gustaría configurar caminos específicos a determinados host a través de digipiters. Esto es útil tanto para conexiones AX.25 como para conexiones IP. El comando axparms te permite hacer esto. Otra ves las páginas man ofrecen una completa descripción, pero algunos ejemplos simples ayudan:

# /usr/sbin/axparms -route add radio EA4URE EA5B

Este comando pone un camino para EA4URE a través del digi EA5B en el puerto AX.25 llamado radio.

7. Configurando una interface AX.25 para TCP/IP.

Es muy fácil configurar un puerto AX.25 para que transporte TCP/IP. Si tienes interfaces KISS hay dos métodos para configurar una dirección IP. El comando kissattach tiene una opción que te permite especificar una dirección IP. El comando más convencional ifconfig trabaja en todo tipo de interfaces.

Por lo tanto...modificando el ejemplo KISS anterior:

TABLE bgColor=#e0e0e0 border=1 width="100%">

# /usr/sbin/kissattach -i 44.136.8.5 -m 512 /dev/tt yS0 radio # /sbin/route add -net 44.136.8.0 netmask 255.255.2 55.0 ax0 # /sbin/route add default ax0

Aquí creamos una interface AX.25 con una dirección IP 44.136.8.5 y un MTU de 512. Todavia podrias usar el comando ifconfig para configurar si fuera necesario otros parámetros.

Si tienes algún otro tipo de interface, usa entonces el programa ifconfig para configurar la dirección IP y la máscara de red para ese puerto y añadir una ruta o vía a ese puerto, igualmente como lo harías con cualquier otra interface TCP/IP. El ejemplo siguiente es para un dispositivo de tarjeta PI, pero trabaja igualmente bien para otro dispositivo de red AX.25:

# /sbin/ifconfig pi0a 44.136.8.5 netmask 255.255.25 5.0 up # /sbin/ifconfig pi0a broadcast 44.136.8.255 mtu 51 2 # /sbin/route add -net 44.136.8.0 netmask 255.255.2 55.0 pi0a # /sbin/route add default pi0a

El comando anterior es una configuración típica que muchos de vosotros encontrareis familiar si habeis usado algún NOS u otros soft derivados de TCP/IP. Fijate que si tienes configurado algún otro dispositivo de red, no son necesarias las rutas por defecto.

Page 34: Howto AX25

Para probar, haga un ping o telnet a un host local.

# ping -i 5 44.136.8.58

Fijate en que el argumento "-i 5" se usa para indicarle que mande un ping cada 5 seg. Y no cada 1 seg. como es por defecto.

8. Configurando un puerto NetRom.

El protocolo NetRom usa los puertos AX.25 que creaste. Corre por encima del protocolo AX.25. Para configurar NetRom en una interface AX.25 debes preparar dos ficheros. Uno describiendo la propia interface NetRom, y otro describiendo que puertos AX.25 transportarán NetRom. Usando el mismo procedimiento, puedes configurar múltiples puertos NetRom, cada uno con su propio indicativi y alias.

8.1 Configurando el fichero /etc/ax25/nrports

Este fichero describe los puertos NetRom de la misma manera que el /etc/ax25/axports describe los puertos AX.25. Cada dispositivo NetRom debe tener su propia entrada en este fichero. Normalmente una máquina Linux tiene un solo dispositivo NetRom configurado que usaría un número de puertos AX.25 definidos. En algunos casos especiales, quisieras tener un servicio de BBS con su propio alias de NetRom, y entonces deberías crear más de uno.

Este fichero esta formateado de la siguiente manera:

name callsign alias paclen description

Donde:

name

nombre (texto) con el que se referirá a ese puerto.

callsign

Indicativo que va a usar el tráfico NetRom por este puerto. Advierte que este no es el Indicativo al que los usuarios se van a conectar para tener acceso a una interface tipo nodo. ( Esto se verá más tarde). Este Indicativo/ssid debería ser único y no debería aparecer por ningún sitio en los ficheros /etc/ax25/axports o /etc/ax25/nrports.

alias

NetRom alias asignado a este puerto.

paclen

Page 35: Howto AX25

medida máxima de los paquetes NetRom transmitidos por este puerto.

description

descripción de texto libre del puerto.

Ejemplo:

netrom EA4URE-9 LINUX 236 Linux Switch Port

Este ej. crea un puerto NetRom conocido para el resto de la red NetRom como "LINUX:EA4URE-9".

Este fichero se usa por programas como por el call.

8.2 Configurando el fichero /etc/ax25/nrbroadcast

Este fichero puede contener varias entradas. Normalmente existirá una para cada puerto AX.25 que quieras que tenga tráfico NetRom.

Este fichero se formatea de la siguiente manera:

axport min_obs def_qual worst_qual verbose

Donde:

axport

nombre del puerto obtenido de /etc/ax25/axports. Si no tienes una entrada en /etc/ax25/nrbroadcast para un puerto, no existirá ningún enrutamiento NetRom y la recepción de NetRom broadcast será ignorada para ese puerto.

min_obs

valor de obsolencia mínimo para este puerto.

def_qual

Calidad por omisión o predefinida para este puerto.

worst_qual

la peor calidad definida para este puerto. Cualquier ruta debajo de este valor será ignorada.

verbose

Page 36: Howto AX25

determina si en este puerto existirá broadcast de ruteos NetRom completos o solo broadcast propios.

Ejemplo:

radio 1 200 100 1

8.3 Creando un dispositivo de red NetRom.

Cuando hayas configurado los dos ficheros citados anteriormente, deberás crear el dispositivo NetRom de igual forma a como se hizo con un dispositivo AX.25. En este caso usa el comando nrattach. Este comando trabaja de igual forma que el axattach a excepción de que crea dispositivos NetRom de red llamados "nr[0-9]". La primera ves que usas nrattach crea el dispositivo nr0, la segunda nr1, y así sucesivamente. Por Ejemplo para crear dispositivo de red para el puerto NetRom definido usaremos:

# nrattach netrom

Este comando inicia el dispositivo NetRom (nr0) llamado netrom, configurado con los detalles del fichero /etc/ax25/nrports.

8.4 Iniciando al demonio NetRom.

El kernel de Linux tiene todo el protocolo y switching de NetRom pero no maneja algunas funciones. El demonio NetRom maneja las tablas de enrutado y genera los NetRom broadcast de enrutado. El demonio se inicia con el siguiente comando:

# /usr/sbin/netromd -i

Rápidamente veras como se llena el fichero /proc/net/nr_neigh con información de sus NetRom vecinos.

Acuerdate de poner el comando /usr/sbin/netromd en tu fichero rc de manera que cada ves que rebotes arranque automáticamente.

8.5 Configurando ruteos de NetRom.

Puedes querer configurar rutas estáticas para determinados host. El comando nrparams te permite hacerlo. Más información en las páginas man, pero un ejemplo ayuda:

# /usr/sbin/nrparms -nodes EA4URE-10 + #MINTO 120 5 radio EA4M-9

Este comando configura una ruta NetRom a #MINTO:EA4URE-10 vía el vecino EA4M-9 a través de mi puerto AX.25 llamado "radio".

Page 37: Howto AX25

Puedes puede crear manualmente entradas para nuevos vecinos usando el comando nrparams. Por ejemplo:

# /usr/sbin/nrparms -routes radio EA4A-9 + 120

Este comando crea una ruta a un NetRom vecino como EA4A-9 con una calidad de 120, esta bloqueada y no se borra automáticamente.

9. Configurando una interface NetRom para TCP/IP.

La configuración de una interface NetRom para TCP/IP es idéntica a la de una AX.25 para TCP/IP.

De nuevo puedes especificar la dirección ip y mtu en la línea del comando nrattach o usar los comandos ifconfig y route, pero deberás agregar las entradas arp manualmente para los host que quieras rutear porque no hay ningún mecanismo que le permita aprender a tu máquina que dirección NetRom usar para llegar a un ip particular.

Entonces, para crear un dispositivo nr0 con IP 44.136.8.5, mtu de 512 y configurado con los detalles del fichero /etc/ax25/nrports para un puerto NetRom llamado netrom, deberías usar:

# /usr/sbin/nrattach -i 44.136.8.5 -m 512 netrom # route add 44.136.8.5 nr0

o podrías usar algo similar a lo siguiente manualmente:

# /usr/sbin/nrattach netrom # ifconfig nr0 44.136.8.5 netmask 255.255.255.0 hw netrom EA4URE-9 # route add 44.136.8.5 nr0

Entonces, para cada host IP al que quieras llegar vía NetRom necesitas agregar una entrada de ruta y arp. Para llegar a un host con IP 44.136.80.4 con dirección NetRom BBS:EA4BBS vía un vecino NetRom llamado EA4SUT-0 usarás:

# route add 44.136.80.4 nr0 # arp -t netrom -s 44.136.80.4 EA4SUT-0 # nrparms -nodes EA3BBS + BBS 120 6 sl0 EA4SUT-0

Los argumentos del comando nrparms "120" y "6" son los valores de cualidad y obsolencia de la ruta.

10. Configurando un puerto Rose.

El nivel del protocolo de packet Rose es similar al nivel 3 de X.25. Este kernel es una modificación del la implementación FPAC Rose. FPAC Rose implementation

Page 38: Howto AX25

El nivel del protocolo de packet Rose usa los puertos AX25 que has creado. El Rose corre por encima del AX25. Para configurarlo, debes crear un archivo de configuración que describa los puertos Rose que quieres. Puedes crear multiples puertos Rose, y el mismo procedimiento se aplica a cada uno de ellos.

10.1 Configurando /etc/ax25/rsports

El fichero para configurar los puertos Rose, es el /etc/ax25/rsports. Este fichero de configuración describe los puertos Rose de la misma manera que el axports describe los AX25.

Este archivo esta formateado como sigue:

nombre dirección descripción

Donde:

nombre

nombre con el que se referiría al puerto.

dirección

los 10 digitos de la dirección Rose asignados al puerto.

descripción

texto libre descriptivo

Ejemplo:

rose 5050294760 Rose Port

Advertir que Rose usa el indicativo/ssid configurado por defecto en cada puerto AX25, a no ser que se especifique otra cosa.

Para configurar otro indicativo/ssid para Rose, debe usarse el comando rsparms:

# /usr/sbin/rsprams -call EA4URE-10

Este ejemplo hace que linux escuche y use el indicativo/ssid EA4URE-10 en todos los puertos AX25 configurados para llamadas Rose.

10.2 Creando un dispositivo de red Rose.

Cuando has creado el archivo /etc/ax25/rsports, debes crear el dispositivo Rose, igual que el AX25. Esta ves usa el comando rsattach, el que crea dispositivos llamados 'rose[0-5]', comenzando con 'rose0'...Ejemplo:

Page 39: Howto AX25

# rsattach rose

Este comando arranca el dispositivo Rose (rose0) configurado con los detalles indicados en /etc/ax25/rsports bajo el nombre 'rose'.

10.3 Configurando el ruteo Rose.

El protocolo de Rose soporta solo ruteo estático. La utilidad rsparms le permite configurar esta la tabla de rutas en Linux. Por Ejemplo:

# rsparms -nodes add 5050295502 radio ea4ure

Esto agrega una ruta al nodo Rose 5050295502 a traves del puerto AX25 llamado 'radio' en tu /etc/ax25/axports hacia tu vecino EA4URE.

Puedes puede especificar una ruta con una máscara para captar varios destinos Rose dentro de una simple entrada. Ej.:

# rsparms -nodes add 5050295502/4 radio ea4ure

Como vemos el formato es idéntico al del ejemplo anterior, excepto en el /4 . Esto hará que capture todos los destinos que coincidan con los primeros 4 digitos (5050). Otra forma de hacerlo es:

# rsparms -nodes add 5050/4 radio ea4ure

Una forma mucho menos ambigua.

11. Haciendo llamadas con AX.25/NetRom/Rose.

Ahora que ya tienes tus interfaces AX.25/NetRom/Rose configuradas y activas, deberías poder hacer algunos llamadas de prueba.

El paquete de utilidades AX.25 trae un programa llamado "call" que es un programa terminal de pantalla dividida para AX.25, NetRom y Rose.

Una simple llamada AX.25 sería así:

/usr/bin/call radio EA4URE via EA4M

Una simple llamada NetRom a un nodo llamado con el alias PUNTAL sería:

/usr/bin/call netrom PUNTAL

Page 40: Howto AX25

Una simple llamada Rose a HEARD en el nodo 5050882960 sería así:

/usr/bin/call rose HEARD 5050882960

OJO: Debes decirle al programa call en que puerto quieres hacer la llamada, ya que el mismo nodo de destino puede alcanzarse por varios de los puertos que hayas configurado.

El programa "call" es un programa terminal en modo de línea de comandos, para llamadas AX.25. Reconoce líneas comenzadas con "~" como líneas de comandos. El comando "~." . cerrará una conexión.

Para más información, dirigirse a las páginas man en /usr/man.

12. Configurando Linux para aceptar conexiones de Packet.

Linux es un Sistema Operativo poderosísimo y ofrece una gran dosis de flexibilidad para su configuración. Esta flexibilidad trae aparejado el costo en la configuración para que hagas lo que quieras. Es necesario que se te hagas una serie de preguntas antes de configurar Linux para que acepte conexiones AX.25, NetRom y Rose. La más importante es: "Que quiero que vean mis usuarios cuando se conecten?". La gente está produciendo una cantidad de aplicaciones que pueden usarse para suministrar servicios a los usuarios; por ejemplo el sencillo programa pms que incluyen las utilidades AX.25, otro más complejo es el programa para nodo también incluido en las utilidades AX.25. A lo mejor tu quieres darles a tus usuarios la oportunidad de logeo para usar una cuenta en tu máquina, o has escrito un programa de base de datos o un juego que quieres ofrecer a tus usuarios. Elijas lo que elijas, debes decirle al AX.25 tu elección para que este sepa que software correr cuando acepte una conección entrante de AX.25.

El programa ax25d es similar al inetd usado normalmente para aceptar conexiones TCP/IP en máquinas unix. El escucha las conexiones entrantes, y cuando detecta una, va y verifica en el archivo de configuración para determinar a que programa conectar dicha conección entrante. Ya que ésta es la herramienta estándar para aceptar conexiones AX.25, NetRom y Rose, describiré como configurarla.

12.1 Creando el fichero /etc/ax25/ax25d.conf

Este es el fichero de configuración del demonio de AX.25 llamado ax25d, que maneja conexiones entrantes de AX.25, NetRom y Rose.

Este archivo parece complicado a primera vista, pero rápidamente descubrirás que es muy sencillo y práctico, con una pequeña trampa para ti que debes tener muy en cuenta.

El formato general de ax25d.conf es el siguiente:

# This is a comment and is ignored by the ax25d program. [port_name] || <port_name> || {port_name}

Page 41: Howto AX25

<peer1> window T1 T2 T3 idle N2 <mode> <uid> <cm d> <cmd-name> <arguments> <peer2> window T1 T2 T3 idle N2 <mode> <uid> <cm d> <cmd-name> <arguments> parameters window T1 T2 T3 idle N2 <mode> <peer3> window T1 T2 T3 idle N2 <mode> <uid> <cm d> <cmd-name> <arguments> ... default window T1 T2 T3 idle N2 <mode> <uid> <cm d> <cmd-name> <arguments>

Donde:

# al principio, marca una línea de comentarios ignorada por ax25d.

<port_name>

es el nombre del puerto AX.25, NetRom o Rose especificado en los ficheros /etc/ax25/axports, /etc/ax25/nrports y /etc/ax25/rsports. El nombre es encerrado entre [] si es un puerto AX.25, entre <> si es NetRom y {} si es Rose. Hay una forma alternativa para este campo, y es preceder el nombre del puerto con "indicativo/ssid" para indicar que aceptará llamadas a ese "indicativo/ssid" a través de esa interface. El ejemplo del final nos sacará de dudas.

<peer>

es el distintivo de este lado del nodo a la que se aplica en esta configuración. Si aquí no especifica SSID, cualquier SSID coincidirá.

window

el parámetro Window de AX.25 o el MAXFRAME para esta configuración.

T1

Timer de retransmisión de paquetes en unidades de 1/2 segundo.

T2

Es el tiempo que el software AX.25 espera por otro paquete entrante antes de preparar una respuesta. Unidades: 1 segundo.

T3

Tiempo máximo de inactividad antes de que el soft AX.25 desconecte esta sección. Unidades: 1 segundo.

idle

Timer de ocio o idle. Unidades: 1 segundo.

Page 42: Howto AX25

N2

Numero de retransmisiones consecutivas que ocurrirán antes de cerrar la conección.

<mode>

provee el mecanismo para determinar cierto tipo de permisos. Los modos son habilitados o deshabilitados con una combinación de caracteres, cada uno representando un permiso. Estos caracteres pueden ser tanto en mayúsculas como en minúsculas y deben estar en un mismo bloque sin espacios.

U/u

UTMP - actualmente no soportado.

V/v

Indicativo válido - actualmente no soportado.

Q/q

Quiet (quieto) - no se logean las conexiones.

N/n

Chequea vecinos NetRom - actualmente no soportado.

D/d

Deshabilita digipeaters - conexiones directas exclusivamente.

L/l

Bloqueo - no permite conexiones.

*/0

marcador - ubica un marcador, ningún modo

<uid>

Es el userid que usarás con el programa a ejecutar para soportar la conección.

<cmd>

Camino entero del comando a ejecutar sin argumentos.

<cmd-name>

Page 43: Howto AX25

nombre en texto del programa ejecutado que aparecerá en un ps. Normalmente igual a <cmd> sin los directorios.

<arguments>

argumentos de línea que serán pasados al comando <cmd> cuando se ejecute. Tu pasas información valiosa a través de estos argumentos usando los tokens siguientes:

%d Nombre del puerto donde se recibió la co nexión. %U Distintivo AX.25 sin ssid de la estación conectada, en mayúsc. %u Distintivo AX.25 sin ssid de la estación conectada, en minúsc. %S Distintivo AX.25 con ssid de la estación conectada, en mayúsc. %s Distintivo AX.25 con ssid de la estación conectada, en minúsc. %P Distintivo AX.25 sin ssid del nodo remot o desde donde viene la conección, en mayúsc. %p Distintivo AX.25 sin ssid del nodo remot o desde donde viene la conección, en minúsc. %R Distintivo AX.25 con ssid del nodo remot o desde donde viene la conección, en mayúsc. %r Distintivo AX.25 con ssid del nodo remot o desde donde viene la conección, en minúsc.

Se necesita una sección como la de arriba para cada interface AX.25, NetRom o Rose que quieras que acepte conexiones entrantes AX.25, NetRom o Rose.

Hay dos líneas especiales en el párrafo, una comienza con "parameters" y la otra con "default". Estas líneas son diferentes y cumplen funciones especiales.

La línea "default" actúa, como es obvio, como acepta_todo, de manera que cualquier conexión sobre la interface <interface_call> que no tiene una regla específica, coincide con la regla "default". Si no estuviera una regla por omisión, cualquier conexión que no cumpliera una regla específica sería desconectada inmediatamente sin aviso.

La línea "parameters" es un poco más sutil, y aquí está la trampa mencionada anteriormente. En cualquier campo para cualquier definición para un par determinado puedes usar "*" para decir ´use los valores por omisión´. La línea "parameters" es la que pone estos valores por omisión. El mismo kernel tiene algunos valores por omisión que se usarán si no pones ninguna entrada "parameters". La trampa está en que estos

Page 44: Howto AX25

parámetros por omisión solo se aplican a las reglas debajo de la línea "parameters", y no a las superiores. Puedes tener más de una línea "parameters" para cada definición de interface, de manera que puede crear grupos de configuraciones por omisión. Es importante destacar que la regla "parameters" no te permite poner los campos "uid" y "command".

12.2 Un simple ejemplo de un archivo ax25d.conf

# ax25d.conf for VK2KTJ - 02/03/97 # This configuration uses the AX.25 port defined ea rlier. # <peer> Win T1 T2 T3 idl N2 <mode> <uid> <exec> <argv[0]>[<args....>] [VK2KTJ-0 via radio] parameters 1 10 * * * * * VK2XLZ * * * * * * * root /usr/s bin/axspawn axspawn %u + VK2DAY * * * * * * * root /usr/s bin/axspawn axspawn %u + NOCALL * * * * * * L default 1 10 5 100 180 5 * root /usr/s bin/pms pms -a -o vk2ktj [VK2KTJ-1 via radio] default * * * * * 0 root /usr/sb in/node node <netrom> parameters 1 10 * * * * * NOCALL * * * * * * L default * * * * * * 0 root /us r/sbin/node node {VK2KTJ-0 via rose} parameters 1 10 * * * * * VK2XLZ * * * * * * * root /usr/s bin/axspawn axspawn %u + VK2DAY * * * * * * * root /usr/s bin/ axspawn axspawn %u + NOCALL * * * * * * L default 1 10 5 100 180 5 * root /usr/s bin/pms pms -a -o vk2ktj {VK2KTJ-1 via rose} default * * * * * 0 root /usr/sb in/node node radio

Este ejemplo dice que cualquiera que intente conectar con el distintivo VK2KTJ-0 escuchado en el puerto AX.25 llamado ´radio´ se le aplicarán las siguientes reglas:

Cualquiera que tenga el distintivo ´NOCALL´será desconectado, (uso del mode ´L´)

La línea parameters cambia dos valores de los por omisión del kernel (Window y T1) y corre el programa /usr/sbin/axspawn para ellos. Cualquier copia del programa /usr/sbin/axspawn que corra de esta manera aparecerá como axspawn en un lista ps. Las dos líneas siguientes dan permiso para dos estaciones.

Page 45: Howto AX25

La última línea es la regla acepta-todo que todo el mundo obtendrá, inclusive VK2XLZ y VK2DAY usando cualquier ssid diferente de -1. Esta definición pone todos los parámetros implícitamente y causa que el programa pms se ejecute con una línea de argumentos indicando que ha sido ejecutado por una conexión AX.25 y que el dueño es VK2KTJ. (ver "Configurando el pms" para más detalles).

La próxima configuración acepta llamadas a VK2KTJ-1 a través del puerto radio y corre el programa node para todo el que se conecta a ese distintivo.

La próxima es una configuración de un NetRom, note los paréntesis angulares usados en ves de los cuadrados. Esto anuncia una configuración NetRom. Esta es muy simple y dice que cualquiera que se conecte a nuestro puerto NetRom llamado netrom, tendrá al programa node corriendo para él, excepto que tenga distintivo NOCALL en cuyo caso es desconectado.

Las últimas dos son para conexiones Rose. La primera para aquella gente que fijó a ´vk2ktj-0´ y la segunda para ´VK2KTJ-1´ en su dirección de nodo Rose. Trabajan de igual manera. Note las llaves para distinguir que es un puerto Rose.

Creo que este ejemplo demuestra de forma clara, la importancia de la sintaxis en el archivo de configuración. Este archivo es explicado profundamente en la página man ax25d.conf. Más detalles muy útiles también son incluidos en el paquete ax25-utils.

12.3 Arrancando ax25d

Cuando tienes los dos archivos de configuración completos arrancas ax25d con el siguiente comando:

# /usr/sbin/ax25d

Cuando has hecho esto, la gente debería poder hacer conexiones AX.25 a tu máquina Linux. Para que arranque automáticamente cada ves que rebote, acuerdate de poner el comando ax25d en los archivos rc.

14. Configurando axspawn.

El programa axspawn es un simple programa que permite a estaciones AX.25 conectadas, ser logeadas a su máquina. Puede ser invocada desde el ax25d de idéntica forma que el programa de nodo. Para permitir el logeo, debe de agregar la línea siguiente al fichero /etc/ax25/ax25d.conf:

default * * * * * 1 root /usr/sbin/axspawn axspawn %u

Si esta línea termina con +, el usuario deberá teclear return antes de permitir el logeo. Lo prefijado es no esperar. Cada configuración de host que siga a esta línea, tendrá el programa axspawn ejecutandose cuando se conectan. Cuando se ejecuta el axspawn, primero verifica que el argumento pasado sea un indicativo válido, saca el SSID, y entonces verifica el archivo /etc/passwd para ver si ese usuario tiene cuenta

Page 46: Howto AX25

configurada. Si tiene una cuenta, y la contraseña es "" (null) o + es aceptado, y si hay una contraseña, se le solicita. Si no hay cuenta habilitada, axspawn puede configurarse para que cree una automáticamente.

14.1 Creando el archivo /etc/ax25/axspawn.conf

Por medio del fichero /etc/ax25/axspawn puedes alterar el funcionamiento de axspawn de varias maneras. Este fichero está formateado de la siguiente manera:

# /etc/ax25/axspawn.conf # # permite creación instantánea de cuentas de usuari os create yes # # Si lo de abajo es "no" o cualquier cosa, el usuar io guest falla. # Deshabilitado con "no" guest no # # identificación o nombre de grupo para autocuentas group ax25 # # primer identificador de usuario a usar first_uid 2001 # # máximo id de usuario max_uid 3000 # # Donde agregar el directorio home de los nuevos us uarios home /home/ax25 # # shell del usuario shell /bin/bash # # asociar id de usuario con distintivo para conexio nes salientes. associate yes

Las ocho características configurables de axspawn son:

# indica comentario

create

Si esta puesto a ´yes´ entonces axspawn intentará crear una cuenta de usuario para todo usuario que se conecte y no tenga una entrada en /etc/passwd.

guest

Nombre a usar para logeo de gente que se conecte y no tiene todavía una cuenta de usuario y create esta puesto a ´no´. Usualmente es ax25 o guest.

group

Nombre de grupo a usar para cualquier usuario que se conecte y no tenga una entrada en /etc/passwd.

Page 47: Howto AX25

first_uid

Primer número de id de usuario creado para nuevos usuarios automáticos.

max_uid

Número máximo a usar para id de usuarios de usuarios nuevos.

home

Directorio home para el login de usuarios nuevos.

shell

Shell de login para los usuarios nuevos.

associate

Esta bandera indica que licencia se usará; si su propio indicativo o el de la estación, cuando hay una conexión saliente hecha por un usuario después de logearse.

15. Configurando el pms.

Este programa es una simple implementación de un sistema personal de mensajes. Fue escrito originalmente por Alan Cox, pero Dave Brown, N2RJT, continuó con su desarrollo. Actualmente todavía es muy sencillo, permitiendo solamente mandar mail al dueño del sistema, y obtener información simple del sistema, pero Dave trabaja en la expansión de sus capacidades para hacerlo más útil.

Hay un par de archivos muy sencillos que debes crear para dar información sobre el sistema a los usuarios, y también tendrás que agregar una entrada apropiada en el ax25d.conf para que los usuarios conectados accedan al pms.

15.1 Creando el archivo /etc/ax25/pms.motd.

Este archivo contiene el "mensaje del día" que los usuarios recibirán después de conectarse y recibir el encabezado identificatorio de la BBS. Es un archivo de texto, y todo lo incluido aquí será enviado al usuario.

15.2 Creando el archivo /etc/ax25/pms.info.

Este archivo también es de texto, y aquí pondrás alguna información adicional sobre tu sistema o configuración. Este archivo se envia a los usuarios en respuesta al comando Info desde el prompt del PMS.

Page 48: Howto AX25

15.3 Asociando distintivos AX.25 con usuarios del sistema.

Cuando un usuario conectado manda un mail a un indicativo AX.25, el pms espera que ese indicativo este asociado con un usuario real de tu máquina. Esto debe indicarse en su propia sección.

15.4 Agregar el PMS a su archivo /etc/ax25/ax25d.conf.

Esta acción es muy simple. Hay una sola cosa que debes pensar. Dave a agregado argumento en línea de comando para permitirle al PMS manejar distintos marcadores de final-de-línea. AX.25 y NetRom esperan que el final-de-línea sea un retorno de carro, y salto linea, mientras que el estándar de UNIX es solamente nueva-línea. Entonces, si quieres agregar una entrada para que la acción prefijada para una conexión a un puerto AX.25 sea que se comience el PMS, debería agregar algo similar a esto:

default 1 10 5 100 5 0 root /usr/sbin/p ms pms -a -o EA4URE

Esto simplemente ejecuta el PMS, diciéndole que está conectado a una conexión AX.25 y que el dueño del PMS es EA4URE. Leete las páginas man para conexiones por otros métodos.

15.5 Testeando el PMS.

Para verificarlo, puedes probar con el siguiente comando en la línea de comando:

# /usr/sbin/pms -u ea4ure -o ea4ure

Sustituye este indicativo por el tuyo, y esto arrancará el PMS, diciéndole que usa el estilo final-de-línea de unix y que el usuario a logear es ea4ure. asi puedes hacer todas las cosas que un usuario normal puede hacer.

Adicionalmente puedes tratar de que otro nodo se conecte a ti para confirmar que el ax25d.conf funciona correctamente.

16. Configurando el programa user_call.

Este programa se llama en realidad ´ax25_call y ´netrom_call . Son programas muy sencillos llamados por el ax25d y diseñados para automatizar las conexiones a host remotos. Naturalmente, también pueden llamarse desde otros sitios, como por ejemplo desde un script u otro demonio como el de nodo.

Son programas muy sencillos. No hacen nada con los datos, de manera que solo tienes que ocuparte del manejo del fin-de-línea.

Page 49: Howto AX25

Arranquemos con un ejemplo de cómo deberías usarlos. Imagina una pequeña red en tu casa, una máquina linux actuando de gateway de radio y otra máquina, por ejemplo un nodo BPQ conectado a ella por una conexión ethernet.

Normalmente, quieres que los usuarios de radio puedan conectarse al nodo BPQ, deberían usar digipeat a través de tu nodo linux, o conectarse al programa de nodo de su nodo linux y a continuación pedir conexión a través de el. El ax25_call simplifica este trabajo si se llama desde el demonio ax25d.

Imagínate que el nodo BPQ tiene el distintivo EA4URE-9 y que la máquina linux tiene el puerto AX.25/ethernet llamado ´bpq´. Imaginemos también que la máquina gateway linux tiene un puerto de radio llamado ´radio´. Una entrada al /etc/ax25/ax25d.conf seria algo así:

[EA4URE-1 via radio] default * * * * * * * root /usr/sbin/ax25_call ax25_call bpq %u ea4ure- 9

Esto permitiría a los usuarios conectarse directamente a ´EA4URE-1´que sería en ese instante el demonio linux ax25d y automáticamente serían derivados a una conexión AX.25 con ´EA4URE-9´via la interface ´bpq´.

Existen multitud de posibles configuraciones que puedes probar. El netrom_call y el ´rose_call funcionan de la misma forma. Un radioaficionado ha usado esta utilidad para hacer una conexión muy fácil a una BBS remota. Normalmente el usuario debería entrar manualmente un larga cadena de conexión para hacer la llamada, entonces el configuro una entrada que hace que la BBS aparezca como si estuviera en la red local, teniendo al ax25d como proxy conectado a la máquina remota.

17. Configurando los comandos Uplink y Downlink de Rose.

Si estás familiarizado con la implementacion ROM Rose, no tendrás problemas con el método por el cual los usuarios AX25 hacen llamadas por la red Rose. Si un nodo local Rose tiene el distintivo EA4URE-5 y un usuario de AX25 quiere conectar con EA5XXX a través del nodo remoto Rose 5050882960, debera hacer:

c ea5xxx v ea4ure-5 5050 882960

En el nodo remoto, EA5XXX vera una conección entrante con el distintivo local de usuario AX25, y sera redirigido via el distintivo del nodo remoto.

La implementación Rose de linux no soporta esta capacidad a traves del kernel, pero hay dos aplicaciones que cumplen estas funciones : rsuplnk y rsdwnlnk

17.1 Configuramdo el Rose downlink.

Page 50: Howto AX25

Para configurar su máquina linux a aceptar conexiones Rose y establecer una conexión AX25 con un destinatario que no es escuchado por su propia máquina, necesitará agregar una entrada en el fichero /etc/ax25/ax25d.conf. Normalmente esta entrada estará configurada para que sea la elección por defecto para entradas Rose. Por ejemplo podrás tener radioescuchas Rose operando para destinos como NODE-0 o HEARD-0 que quiere manejar localmente, pero al resto de destinos, quieres pasarlos al comando rsdwnlink y asumir que son usuarios AX25.

Configuración típica:

# {* via rose} NOCALL * * * * * * L default * * * * * * - root /usr/sbin/rsdwnlnk rs dwnlnk 4800 ea4ure-5 #

Con esta configuración, cualquier usuario que establezca una conexión Rose en su nodo linux con destino a alguien que específicamente no escucha localmente, será convertida a AX25 por el puerto AX25 llamado 4800 y irá a traves del digipeater EA4URE-5.

17.2 Configurando el Rose uplink.

Para configurar su máquina linux a aceptar conecciones AX25 de la misma manera que lo hace un nodo ROM Rose, debes agregar una entrada en tu /etc/ax25/ax25d.conf similar a esta:

# [EA4URE-5* via 4800] NOCALL * * * * * * L default * * * * * * - root /usr/sbin/rsuplnk rsu plnk rose #

Obseva la sintaxis especial para el indicativo local. El '*' significa que la aplicación será invocada si se escucha el indicativo en el camino o path como digipiter de una conexión.

Esta configuración permitirá a un usuario AX25 establecer una conexión Rose usando el ejemplo de secuencia de conexión presentado en la introducción. Nadie intentando reconectarse via EA4URE-5 en el puerto AX25 llamado 4800 será manejado a traves del comando rsuplnk.

18. Asociando indicativos AX.25 con usuarios Linux.

Hay numerosas ocasiones en las que es altamente aconsejable asociar un indicativo con una cuenta de usuario linux. Por ejemplo cuando un número de operadores de radio comparten la misma máquina linux y desearían usar sus propios indicativos para hacer sus llamadas. Otro es el caso de los usuarios del PMS en espera para hablar con un usuario particular de tu máquina.

Page 51: Howto AX25

El software de AX.25 facilita una manera de realizar esta asociación. Ya lo mencionamos en el ítem PMS pero lo trataremos de nuevo aquí para estar seguros de que no se te olvida.

La asociación se hace con el comando axparms. Por ejemplo:

# axparms -assoc ea5ar ric

Aquí se asocia el indicativo AX.25 ´ea5ar con el usuario ´ric ´ en la máquina. De tal manera que un mail para ea5ar en el PMS se mandará a la cuenta Linux ric.

Acuerdate de poner estas asociaciones en tu fichero rc de manera que estén disponibles cada ves que rebotes.

ATENCION Nunca debes asociar un indicativo con la cuenta root ya que puede causar problemas en otras configuraciones.

19. Configurando APRS

Esta sección, la estamos escribiendo. También cubrirá aprsd, aprsmon, xastir, JavAPS, etc

20. Las entradas del fichero de sistema /proc/.

El directorio de sistema /proc contiene un número de archivos especiales relativos al kernel de AX.25 y NetRom. Normalmente los usan las utilidades AX.25, pero son formateados planamente, y puede ser interesante leerlos. Su formato es relativamente fácil de entender, por lo que pienso que no son necesarias mayores explicaciones.

/proc/net/arp

Contiene la lista de mapeos del ARP (protocolo de resolución de direcciones) entre los protocolos IP y MAC. Estos pueden ser niveles de protocolo AX.25, ethernet u otros.

/proc/net/ax25

Lista de sockets AX.25 abiertos. Estos pueden estar en escucha de conexiones o sesiones activas.

/proc/net/ax25_bpqether

Contiene el mapeo de estilos entre AX.25 y BPQ ethernet.

/proc/net/ax25_call

Page 52: Howto AX25

Contiene el mapeo de usuario Linux a indicativos AX.25 puestos por el comando axparms -assoc.

/proc/net/ax25_route

Contiene la información de caminos de digipeaters AX.25.

/proc/net/nr

Lista de sockets NetRom abiertos. Pueden estar escuchando por conexiones o ser sesiones activas.

/proc/net/nr_neigh

Información sobre los NetRom vecinos conocidos por el software NetRom.

/proc/net/nr_nodes

Información sobre los nodos NetRom conocidos por el software NetRom.

/proc/net/rose

Lista de sockets Rose abiertos. Pueden estar en escucha de conexiones o con sesiones activas.

/proc/net/rose_nodes

Mapeo de destinos Rose a vecinos Rose.

/proc/net/rose_neigh

Lista de vecinos Rose conocidos.

/proc/net/rose_routes

Lista de conexiones Rose establecidas.

21. Programación de red de AX.25, NetRom y Rose.

Probablemente la mayor ventaja de usar la implementación del kernel del protocolo de packet radio de radioaficionados , es la facilidad que obtenemos para desarrollar aplicaciones y programas para usarlo.

A pesar de que la Programación de Red bajo Unix está fuera del alcance de este documento, describiré los detalles elementales de cómo puedes hacer uso de los protocolos AX.25, NetRom, y Rose dentro de tu software.

21.1 Las familias de direcciones.

Page 53: Howto AX25

Bajo Linux, la programación de red de AX.25, NetRom y Rose es similar a la de TCP/IP. La mayor diferencia es la familia de direcciones usada, y las estructuras de direcciones que necesitan mantenerse en su lugar.

Las familias de direcciones para AX.25, NetRom y Rose son respectivamente AF_AX25, AF_NETROM y AF_ROSE.

21.2 Los archivos de cabeceras.

Se deben incluir siempre los ficheros de cabeceras "ax25.h", "netrom.h" y "rose.h" si vas a usar esos protocolos. Un diseño sencillo de máximo nivel se veria así:

Para AX.25:

#include <netax25/ax25.h> int s, addrlen = sizeof(struct full_sockaddr_ax25); struct full_sockaddr_ax25 sockaddr; sockaddr.fsa_ax25.sax25_family = AF_AX25

Para NetRom:

#include <netax25/ax25.h> #include <netrom/netrom.h> int s, addrlen = sizeof(struct full_sockaddr_ax25); struct full_sockaddr_ax25 sockaddr; sockaddr.fsa_ax25.sax25_family = AF_NETROM;

Para Rose:

#include <netax25/ax25.h> #include <netrose/rose.h> int s, addrlen = sizeof(struct sockaddr_rose); struct sockaddr_rose sockaddr; sockaddr.srose_family = AF_ROSE;

21.3 Manejo de Indicativos y ejemplos.

Dentro de la librería lib/ax25.a del paquete de utilidades de AX.25, hay rutinas que manejan la conversión de los indicativos, pero si quieres, tu puedes escribir las tuyas.

Las utilidades user_call son excelentes ejemplos con que trabajar. El código fuente de ellas está incluido en el paquete de Utilidades AX.25. Si empleas un poco de tiempo trabajando con ellas, verás rápidamente que el 90 por ciento del trabajo se invierte preparándose para abrir el socket. Actualmente la conexión es fácil, prepararla lleva tiempo.

El ejemplo es sencillo para no ser muy confuso. Si tienes alguna pregunta, diríjete directamente a la lista linux-hams y alguien seguramente te ayudará.

Page 54: Howto AX25

22. Alguna configuración de ejemplo.

A continuación hay ejemplos de las configuraciones mas comunes. Solo son guías, ya que hay tantas configuraciones posibles como redes de trabajo haya, pero ellas te enseñaran algo para empezar.

22.1 Una pequeña red LAN ethernet con Linux como router a una red LAN de radio.

Algunos de nosotros, tenemos una pequeña red local en casa y querriamos conectarla a la red LAN de radio local. Esta es la configuración que uso en mi casa. Por conveniencia defini un grupo de direcciones que yo pueda capturar en una simple ruta, y uso estas en mi LAN ethernet. Si tu quieres hacer lo mismo, tu coordinador local de IP te ayudará. Las direcciones de la LAN ethernet forman un subset de las direcciones de la LAN radio. La siguiente configuración es la que tengo actualmente definida en el Router Linux de la red de mi casa:

. . . . . . ___ _________ . | Network / \ . Network | 44.136.8.96/29| | . 44.136.8/24 \ | / | | Linux | . \|/ | | | . _____ ____ ______ | | eth0 | Router | . / \ / \ | |_______________| |_____| TNC |____| Ra dio |__/ | 44.136.8.97 | and | . \_____/ \____ ______/ | | | sl0 | | Server | 44.136.8.5 | | | . | | | . | \_________/ . _|_ . . . . . .

#!/bin/sh # /etc/rc.net # This configuration provides one KISS based AX.25 port and one # Ethernet device. echo "/etc/rc.net" echo " Configuring:" echo -n " loopback:" /sbin/ifconfig lo 127.0.0.1 /sbin/route add 127.0.0.1 echo " done." echo -n " ethernet:" /sbin/ifconfig eth0 44.136.8.97 netmask 255.255.255 .248 \ broadcast 44.136.8.103 up /sbin/route add 44.136.8.97 eth0 /sbin/route add -net 44.136.8.96 netmask 255.255.25 5.248 eth0 echo " done." echo -n " AX.25: " kissattach -i 44.136.8.5 -m 512 /dev/ttyS1 4800

Page 55: Howto AX25

ifconfig sl0 netmask 255.255.255.0 broadcast 44.136 .8.255 route add -host 44.136.8.5 sl0 route add -net 44.136.8.0 window 1024 sl0 echo -n " NET/ROM: " nrattach -i 44.136.8.5 netrom echo " Routing:" /sbin/route add default gw 44.136.8.68 window 1024 sl0 echo " default route." echo done. # end

/etc/ax25/axports

# name callsign speed paclen window des cription 4800 VK2KTJ-0 4800 256 2 144 .800 MHz

/etc/ax25/nrports

# name callsign alias paclen description netrom VK2KTJ-9 LINUX 235 Linux Switc h Port

/etc/ax25/nrbroadcast

# ax25_name min_obs def_qual worst_qual verbose 4800 1 120 10 1

• Tener el IP_FORWARDING activado en el Kernel. • Los archivos de configuración del AX.25 son los usados anteriormente,

indicalos cuando corresponda. • Elegí usar una dirección IP fuera de mi bloque de red para mi puerto de radio.

No es obligatorio hacerlo, podría haber usado 44.136.8.97 también para ese puerto.

• 44.136.8.68 es mi gateway encapsuladora IPIP, y ahí apunto mi ruta prefijada. • Cada una de las máquinas en mi red ethernet tiene una ruta:

route add -net 44.0.0.0 netmask 255.0.0.0 \ gw 44.136.8.97 window 512 mss 512 eth0

• El uso de los parámetros mss y window significan que puedo obtener el mejor resultado tanto para la red ethernet como para la de radio.

• También corro en la máquina ruteadora el smail, http, ftp y otros demonios, de manera que solo necesito esa máquina para facilitar a otros esos servicios.

• Esta máquina es solo un PC 386DX20 con 20Mb de disco duro y una configuración Linux mínima.

22.2 Configuración del gateway de encapsulado IPIP.

Page 56: Howto AX25

Alguna información sobre el entubado esta caducada. Ha cambiado el setup del kernel 2.0.x, ahora se usa el comando "ip" del paquete iproute2, puedes encontrar su descripción en el HOWTO Advanced Routing.

El Linux se usa mucho en el mundo para gateways de encapsulado para TCP/IP. El nuevo driver de entubado soporta múltiples rutas de encapsulado y hace obsoleto al viejo demonio ipip.

Una típica configuración sería así:

. . . . . . ___ _________ . | Network / \ . Network | 154.27.3/24 | | . 44.136.16/2 4 \ | / | | Linux | . \|/ | | | . _____ ____ ______ | | eth0 | IPIP | . / \ / \ | ___|_______________| |_____| TNC |____| Ra dio |___/ | 154.27.3.20 | Gateway | . \_____/ \____ ______/ | | | sl0 | | | 44.136.16.1 | | | . | | | . | \_________/ . _|_ . . . . . .

Los archivos de configuración mas interesantes son:

# /etc/rc.net # Este archivo es una simple configuración que prov ee un puerto de radio # KISS AX.25, un dispositivo ethernet, y utiliza el manejador de entubado del # kernel para hacer el encapsulado/desencapsulado I PIP # echo "/etc/rc.net" echo " Configurando:" # echo -n " loopback:" /sbin/ifconfig lo 127.0.0.1 /sbin/route add 127.0.0.1 echo " done." # echo -n " ethernet:" /sbin/ifconfig eth0 154.27.3.20 netmask 255.255.255 .0 \ broadcast 154.27.3.255 up /sbin/route add 154.27.3.20 eth0 /sbin/route add -net 154.27.3.0 netmask 255.255.255 .0 eth0 echo " done." # echo -n " AX.25: " kissattach -i 44.136.16.1 -m 512 /dev/ttyS1 4800 /sbin/ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.16.255 /sbin/route add -host 44.136.16.1 sl0 /sbin/route add -net 44.136.16.0 netmask 255.255.25 5.0 window 1024 sl0 #

Page 57: Howto AX25

echo -n " tunel:" /sbin/ifconfig tunl0 44.136.16.1 mtu 512 up # echo Hecho. # echo -n "Routing ... " source /etc/ipip.routes echo done. # # end.

y:

# /etc/ipip.routes # Este fichero ha sido generado usando el script mu nge # /sbin/route add -net 44.134.8.0 netmask 255.255.255 .0 tunl0 gw 134.43.26.1 /sbin/route add -net 44.34.9.0 netmask 255.255.255. 0 tunl0 gw 174.84.6.17 /sbin/route add -net 44.13.28.0 netmask 255.255.255 .0 tunl0 gw 212.37.126.3 ... ... ...

/etc/ax25/axports

# nombre Indicativo Baudios paclen window de scripcion 4800 VK2KTJ-0 4800 256 2 14 4.800 MHz

Algunos puntos a tener en cuenta:

• El nuevo driver de entubado usa el campo gw en la tabla de ruteos en vez del parámetro punto-a-punto para especificar la dirección del gateway remoto IPIP. Es por lo que ahora soporta múltiples rutas por interface.

• TU puedes configurar dos dispositivo de red con la misma dirección. En este caso tanto el dispositivo sl0 como el tunl0 están configurados con la dirección IP del puerto de radio. Hecho esto, el gateway remoto ve la dirección correcta de su gateway en los datagramas encapsulados mandados a el.

• Los comandos de ruteo usados para especificar las rutas de encapsulado pueden ser generados automáticamente por una versión modificada del script munge. Esto se incluye abajo. Los comandos de ruteo tendrían que ser escritos en un fichero aparte y leerse usando el comando bash source /etc/ipip.routes (si has llamado así a tu fichero). El fichero origen o fuente debe estar escrito en el formato NOS.

• Observa el uso del argumento window en el comando route. Fijando este parámetro en un valor apropiado, mejora el rendimiento del enlace de radio.

El nuevo script tunel-munge:

#!/bin/sh #

Page 58: Howto AX25

# From: Ron Atkinson <[email protected]> # # # Este script es básicamente el script 'munge' esc rito por Bdale N3EUA # para el demonio IPIP y esta modificado por Ron A tkinson N8FOW. Su propósito # es convertir el archivo de rutas de gateway con formato KA9Q NOS # <usualmente llamado "encap.txt") en el formato d e tablas de ruteo Linux # para el manejador de entubado de IP. # # Uso: archivo Gateway en stdin, archivo con for mato de ruteos Linux en stdout. # eg. tunnel-munge < encap.txt > amp r-routes # # NOTA: antes de usar este script verifica o cambia los # siguientes ítems: # # 1) Cambia la sección "Local routes" y "misc u ser routes" a rutas # que correspondan a tu propia área. <borre las mías, por favor!) # 2) En la línea fgrep cambia la direccion IP p or tu # direccion IP del gateway a Internet. Si fa lla causará serios # loops de rutas o lazos cerrados. # 3) El nombre de la interface prefijada es 'tu nl0'. Verifica que esto # es correcto para tu sistema. echo "#" echo "# Tabla de ruteos de entubado IP construido p or $LOGNAME en `date`" echo "# by tunnel-munge script v960307." echo "#" echo "# Local routes" echo "route add -net 44.xxx.xxx.xxx netmask 255.mmm .mmm.mmm dev sl0" echo "#" echo "# Misc user routes" echo "#" echo "# remote routes" fgrep encap | grep "^route" | grep -v " XXX.XXX.XXX .XXX" | \ awk '{ split($3, s, "/") split(s[1], n,".") if (n[1] == "") n[1]="0" if (n[2] == "") n[2]="0" if (n[3] == "") n[3]="0" if (n[4] == "") n[4]="0" if (s[2] == "1") mask="128.0.0.0" else if (s[2] == "2") mask="192.0.0.0" else if (s[2] == "3") mask="224.0.0.0" else if (s[2] == "4") mask="240.0.0.0" else if (s[2] == "5") mask="248.0.0.0" else if (s[2] == "6") mask="252.0.0.0" else if (s[2] == "7") mask="254.0.0.0" else if (s[2] == "8") mask="255.0.0.0" else if (s[2] == "9") mask="255.128.0.0" else if (s[2] == "10") mask="255.192.0.0" else if (s[2] == "11") mask="255.224.0.0" else if (s[2] == "12") mask="255.240.0.0"

Page 59: Howto AX25

else if (s[2] == "13") mask="255.248.0.0" else if (s[2] == "14") mask="255.252.0.0" else if (s[2] == "15") mask="255.254.0.0" else if (s[2] == "16") mask="255.255.0.0" else if (s[2] == "17") mask="255.255.128.0" else if (s[2] == "18") mask="255.255.192.0" else if (s[2] == "19") mask="255.255.224.0" else if (s[2] == "20") mask="255.255.240.0" else if (s[2] == "21") mask="255.255.248.0" else if (s[2] == "22") mask="255.255.252.0" else if (s[2] == "23") mask="255.255.254.0" else if (s[2] == "24") mask="255.255.255.0" else if (s[2] == "25") mask="255.255.255.128" else if (s[2] == "26") mask="255.255.255.192" else if (s[2] == "27") mask="255.255.255.224" else if (s[2] == "28") mask="255.255.255.240" else if (s[2] == "29") mask="255.255.255.248" else if (s[2] == "30") mask="255.255.255.252" else if (s[2] == "31") mask="255.255.255.254" else mask="255.255.255.255" if (mask == "255.255.255.255") printf "route add -host %s.%s.%s.%s gw %s dev tunl 0\n"\ ,n[1],n[2],n[3],n[4],$5 else printf "route add -net %s.%s.%s.%s gw %s netmask % s dev tunl0\n"\ ,n[1],n[2],n[3],n[4],$5,mask }' echo "#" echo "# prefijado al resto de amprnet vía mirrorsha des.ucsd.edu" echo "route add -net 44.0.0.0 gw 128.54.16.18 netma sk 255.0.0.0 dev tunl0" echo "#" echo "# the end"

22.3 Configuración del gateway de encapsulado AXIP.

Muchos de los gateway de radioaficionados a Internet encapsulan AX.25, NetRom y Rose en adición a tcp/ip. El encapsulamiento de frames de AX.25 dentro de datagramas de IP está descripto en RFC-1226 por Brian Kantor. Mike Westerhof escribió una implementación de un demonio de encapsulamiento AX.25 para Unix en 1991. El paquete ax25-util incluye una versión marginalmente mejorada de esta versión para Linux.

Un programa de encapsulamiento AXIP acepta frames AX.25 por un lado, mira la dirección de destino AX.25 para determinar a que dirección IP mandarlo, los encapsula en datagramas TCP/IP y los transmite al destino remoto apropiado. También acepta datagramas TCP/IP que contienen frames AX.25, los desencapsula y los procesa como si hubieran sido recibidos directamente por el puerto AX.25. Para distinguir los datagramas IP con frames AX.25 de los otros, los datagramas AXIP son codificados con un id de protocolo de 4 (o 94 actualmente desaconsejado). Este proceso esta descrito en RFC-1226.

Page 60: Howto AX25

El programa ax25ipd incluido en en el paquete de utilidades del ax25 se presenta como un programa que soporta una interface KISS a través de la cual pasas frames AX.25, y una interface dentro del protocolo TCP/IP. Se configura con un simple fichero llamado /etc/ax25/ax25ipd.conf.

22.3.1.Opciones de configuración de AXIP.

Este programa tiene dos modos importantes de operación: modo "digipeater" y modo "tnc". En modo "tnc" el demonio es tratado como si fuera una tnc KISS, tu le pasas frames encapsuladas KISS y el los transmitirá, esta es la configuración usual. En modo "digipeater", tu tratas al demonio como si fuera un digipeater AX.25. Hay sustanciales diferencias entre estos modos.

En el archivo de configuración tu configuras rutas o mapeos entre indicativos AX.25 de destino y direcciones IP de los host a los cuales, quieres enviar los paquetes AX.25. Cada ruta tiene opciones que describiremos mas tarde. Otras opciones que son configuradas aquí son:

• El tty que el demonio ax26ipd abrirá y su velocidad ( usualmente una punta del entubamiento)

• Que indicativo quieres usar en modo "digipeater" • Intervalo de la baliza y su texto • Cuando quieres encapsular los frames AX.25 en datagramas IP o UDP/IP. la

mayoría de los gateway AXIP usan encapsulamiento IP, algunos gateways están detrás del cortafuegos que no aceptan IP con el id de protocolo AXIP, y son forzados a usar UDP/IP. Lo que elijas debe de corresponder a lo que el host TCP/IP de la otra punta del enlace este usando.

22.3.2.Un fichero típico /etc/ax25/ax25ipd.conf.

# # archivo de configuración para la estación floyd.v k5xxx.ampr.org # # Selecciona transporte axip. "ip" es lo que quiere s por la # compatibilidad con la mayoría de los otros gatewa ys # socket ip # # Fija el modo de operación del ax25ipd. (digi o tn c) # mode tnc # # Si seleccionaste digi, debes definir un indicativ o. Si seleccionaste # modo tnc, el indicativo es opcional, pero puede c ambiar # en el futuro! (2 indicativos si usas un puerto ki ss dual) # #mycall vk5xxx-4 #mycall2 vk5xxx-5 # # En modo digi, puede usar un alias. (2 para puerto dual) # #myalias svwdns #myalias2 svwdn2 #

Page 61: Howto AX25

# Manda una identificación cada 540 segundos ... # #beacon after 540 # # A continuación el texto de la baliza ... # text ax25ip -- tncmode rob/vk5xxx -- Experimental AXIP gateway # # Puerto serial, o entubado conectado a un kissatta ch, en mi caso # device /dev/ttyq0 # # Poner la velocidad, en baudios # speed 9600 # # loglevel 0 - ninguna salida # loglevel 1 - solamente información de configuraci ón # loglevel 2 - errores y eventos importantes # loglevel 3 - errores y eventos importantes más seguimiento de fr ames AX.25 # loglevel 4 - todos los eventos # log 0 por el momento, syslog no esta trabajando t odavía ... # loglevel 2 # # Si estamos en modo digi, aquí podemos tener una t nc real, por lo tanto # usemos param para fijar los parámetros de la tnc ... # #param 1 20 # # Definición de la dirección de broadcast. A todos las direcciones listadas, les # serán forwardeadas todas las rutas marcadas como capaces de broadcast. # broadcast QST-0 NODES-0 # # Definición de rutas AX.25, las que necesites. # El formato es route (Indicativo/comodín) (ip del host de destino) # ssid 0, rutea a todos los ssid´s. # # route <destcall> <destaddr> [flags] # # Banderas válidas : # b - permite transmisión de broadcast por esta ruta # d - Esta es la ruta prefijada. # route vk2sut-0 44.136.8.68 b route vk5xxx 44.136.188.221 b route vk2abc 44.1.1.1 # #

22.3.3.Corriendo ax25ipd

Creando entradas en tu /etc/ax25/axports :

Page 62: Howto AX25

# /etc/ax25/axports # axip VK2KTJ-13 9600 256 AXIP port #

Corriendo el comando kissattach para crear ese puerto:

/usr/sbin/kissattach /dev/ptyq0 axip 44.135.96.242

Corriendo el programa ax25ipd:

/usr/sbin/ax25ipd &

Verificando el enlace AXIP:

call axip vk5xxx

22.3.4.Algunas notas sobre rutas y banderas de rutas.

En el comando "route" es en donde especifica a donde quiere mandar los paquetes encapsulados AX.25. Cuando el demonio ax25id recibe un paquete desde su interface, compara el indicativo de destino con cada indicativo de su tabla de rutas. Si encuentra una igualdad, entonces el paquete AX.25 es encapsulado en un datagrama IP y transmitido al host de la dirección indicada.

Hay dos banderas que puede agregar a cualquier comando de ruta en el fichero ax25ipd.conf. Estas dos banderas son:

b

El tráfico con una dirección de destino que corresponda a cualquiera definida en la lista con la clave "broadcast", será transmitido por esta ruta.

d

Cualquier paquete que no coincida con ninguna ruta será transmitido por esta ruta. (default = prefijada)

La bandera "broadcast" es muy útil ya que habilita información destinada a todas las estaciones a un número de destinos AXIP. Normalmente las rutas axip son punto-a-punto, y no pueden manejar paquetes "broadcast".

22.4 Enlazando NOS con Linux usando un dispositivo de entubado.

Page 63: Howto AX25

A mucha gente le gusta correr alguna versión de NOS sobre Linux porque tiene todas las cosas que usan ellos. A la mayoría de esas personas también les gustaría tener al NOS corriendo en sus máquinas con capacidad de comunicarse con el kernel de manera de ofrecer las capacidades de Linux a los usuarios de radio a través de este NOS.

Brandon S. Allbery, KF8NH, a contribuido con la siguiente información para explicar como interconectar el NOS corriendo en una máquina Linux con el código kernel usando un dispositivo de entubado.

Ya que tanto Linux como NOS soportan el protocolo slip es posible conectar los dos creando un enlace slip. Tu lo puedes hacer usando dos puertos serie interconectados con un cable, pero esto sería costoso y lento. Linux prove un método que otros sistemas operativos tipo-UNIX proveen y llaman "entubados" o "pipes". Estos son pseudos dispositivo especiales que estan en el software como dispositivo tty estándares, pero que en realidad enlazan con otro dispositivo de entubado. Para usar estos entubados, el primer programa debe abrir la punta maestra del entubado, y entonces el segundo programa abrir la punta esclava del mismo entubado. Cuando ambas puntas están abiertas, los programas pueden comunicarse entre ellos simplemente escribiendo caracteres en el entubado de la misma manera que si fuera un dispositivo terminal.

Para usar esto para conectar el kernel Linux con NOS u otro programa, primero debes elegir un dispositivo de entubado a usar. Puedes encontrar uno si miras en el directorio /dev. La punta maestra es llamada: ptyq[1-f] y la esclava: ttyq[1-f]. Recuerda que vienen en pares, de manera que si seleccionas /dev/ptyqf como maestra, debes elegir /dev/ttyqf como esclava.

Una ves elegido el par de dispositivo de entubado, debes conectar la punta maestra al kernel de Linux y la esclava al programa NOS, ya que el Linux arranca primero y la punta maestra debe de estar abierta primero. Recuerda también que tu kernel Linux debe tener una dirección IP diferente hacia su NOS, de manera que necesitarás fijar una única dirección para ello si no lo tienes todavía.

Configuras el entubado como si fuera un dispositivo serie, de manera que para crear un enlace slip desde tu Linux, puedes usar los siguientes comandos:

# /sbin/slattach -s 38400 -p slip /dev/ptyqf & # /sbin/ifconfig sl0 broadcast 44.255.255.255 pointopoint 44.70.248.67 / mtu 1536 44.70.4.88 # /sbin/route add 44.70.248.67 sl0 # /sbin/route add -net 44.0.0.0 netmask 255.0.0.0 g w 44.70.248.67

En este ejemplo al kernel Linux se le ha dado la dirección IP 44.70.4.88 y al programa NOS la IP 44.70.248.67. El comando de rutas en la última línea simplemente le dice al kernel Linux que rutee todos los datagramas para amprnet a través del enlace slip creado por el comando slattach. Normalmente tu pondrás este comando en su archivo /etc/rc.d/rc.inet2 tras completar todas las otras configuraciones de red, de manera que el enlace slip se cree cada ves que rebotas.

Page 64: Howto AX25

NOTA: no hay ninguna ventaja de usar cslip en cambio de slip porque el enlace es virtual y ocurre rápido transmitiendo los datagramas sin comprimir, y se empeora el rendimiento si se comprimen las cabeceras primero.

Para configurar la punta NOS del enlace puedes probar:

# you can call the interface anything you want; I use "linux" for convenience. attach asy ttyqf - slip linux 1024 1024 38400 route addprivate 44.70.4.88 linux

Estos comandos crean un puerto slip llamado "linux" a través de la punta esclava del par de dispositivo de entubamiento conectado al kernel Linux, y una ruta a el para hacerlo trabajar. Cuando arranques el NOS, podrías hacer un ping o telnet a tu NOS desde tu máquina Linux y viceversa. Si no lo haces, verifica que no hayas cometido ningún error, especialmente que tengas las direcciones bien configurados, y que tengas los dispositivos de entubado correctamente fijados.

23.Resumen de comandos AX.25, relacionados con Linux.

Commando Paquete Descripción

mheard ax25-tools Muestra los indicativos AX.25 escuchados recientemente

ax25d ax25-tools Proposito general AX.25, NET/ROM y ROSE daemon

axctl ax25-tools Configura/Kill al arrancar conexiones AX.25

axparms ax25-tools Configura las interfaces AX.25

axspawn ax25-tools Permite login automático en el sistema Linux

beacon ax25-tools Transmite mensajes periodicos en AX.25 port

bpqparms ax25-tools Configura BPQ ethernet devices

mheardd ax25-tools Recoge información sobre la actividad packet

rxecho ax25-tools Enruta los paquetes AX.25 por los puertos de forma

transparentey

sethdlc ax25-tools Get/set Linux HDLC información del driver del puerto

modem de packet radio

smmixer ax25-tools Get/set Linux informacion de la tarjeta de sonido

smdiag ax25-tools Utilidad de diagnostico del modem de tarjeta de sonido

Page 65: Howto AX25

Commando Paquete Descripción

kissattach ax25-tools Adjunta la interface KISS or 6PACK

kissnetd ax25-tools Crea una red virtual

kissparms ax25-tools Configura KISS TNC

net2kiss ax25-tools Convertir el driver de la red AX.25 a una flujo KISS tipo

pseudo-tty

mkiss ax25-tools Adjunta a una inteface multi KISS

nodesave ax25-tools Guarda la información de rutas de NET/ROM

nrattach ax25-tools Inicia la interface NET/ROM

nrparms ax25-tools Configura la interface NET/ROM

nrsdrv ax25-tools Convertidor en serie KISS a NET/ROM

netromd ax25-tools Manda y recibe mensajes de las rutas NET/ROM

rsattach ax25-tools Inicia la interface ROSE

rsdwnlnk ax25-tools Abandono por el usuario de la red ROSE

rsparms ax25-tools Configurar la interface ROSE

rsuplnk ax25-tools Entrada del usuario a la red ROSE

ttylinkd ax25-tools TTYlink demonio para AX.25, NET/ROM, ROSE e IP

rip98d ax25-tools Mandar y recibir mensajes de las rutas RIP98

ax25_call ax25-tools Construye una conexión AX.25, NET/ROM, ROSE o TCP

netrom_call ax25-tools Construye una conexión AX.25, NET/ROM, ROSE o TCP

rose_call ax25-tools Construye una conexión AX.25, NET/ROM, ROSE o TCP

tcp_call ax25-tools Construye una conexión AX.25, NET/ROM, ROSE o TCP

yamcfg ax25-tools Configura los parametros del driver YAM

Page 66: Howto AX25

Commando Paquete Descripción

dmascc_cfg ax25-tools Configura los dispositivos dmascc

ax25ipd ax25-apps Encapsulador AX.25 en IP

ax25rtd ax25-apps Demonio de enrutado AX.25

ax25rtctl ax25-apps Utilidad de control para el demonio de enrutado AX.25

call ax25-apps Construye una conexión AX.25, NET/ROM, ROSE

listen ax25-apps Monitorizar el trafico AX.25

ax25mond ax25-apps Volcar el trafico de la red AX.25 y suministrar sockets de

los datos recibidos que hay que retransmitir

soundmodem soundmodem Driver del modem Soundcard

soundmodemconfig soundmodem Utilidad de configuración del modem Soundcard

aprsd aprsd Demonio APRS

aprspass aprsd Generador de contraseñas APRS

aprsdigi aprsdigi APRS digipeater

aprsmon aprsdigi Monitor de trafico APRS AX.25 para JavAPRS