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.
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.
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.
Opciones al compilar kernel:
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.242 |
![]() | 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.
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 /dev/ptyq1 # /usr/sbin/kissattach /dev/ttyq0 port1 44.135.96.242 # /usr/sbin/kissattach /dev/ttyq1 port2 44.135.96.242 |
![]() | 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 :
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.
Pone la velocidad del puerto serie.
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í.
Habilita el logeo de información hacia el archivo de log del sistema(syslog).
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.
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.
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 options=0 |
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 |
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 half |
![]() | OJO: los valores de tiempo, estan en milisegundos. |
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.
Opciones de configuración del 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 ... <*> 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 [?] soundmodem support for 9600 baud FSK G3RUH 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. |
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:
# 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.
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=0x220 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.
# 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 |
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 full |
![]() | OJO: los valores de tiempo, estan en milisegundos. |
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.
Suministra dos formas de display, tipo osciloscopio o tipo patrón de ojo
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 |
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.
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/.
Opciones de compilación del 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 ... <?> 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/.
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.
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 |
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.
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.
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:
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.
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 driver como módulo # make for_kernel # Si quiere el driver incluido 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.
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.
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:
Esta palabra clave se usa para separar estrofas. No usa argumento.
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
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
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
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
Se usa para indicar el IRQ usado por la SCC 8530 descrita en esta estrofa. El argumento es un entero. Por ej. 5
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.
El tipo de tarjeta que soporta esta SCC 8530. El argumento es una cadena de caracteres y se permiten los siguientes:
Tarjeta PA0HZP SCC
Tarjeta EAGLE
Tarjeta DRSI PC100 SCC
Tarjeta PRIMUS-PC (DG9BL)
Tarjeta BAYCOM (U)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"
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.
Opcional. Especifica la dirección del registro de función especial de algunas tarjetas. Por omisión 0.
Opcional. Por omisión 0.
Ejemplos de configuraciones para las tarjetas más comunes:
chip 1 data_a 0x300 ctrl_a 0x304 data_b 0x301 ctrl_b 0x305 irq 5 board BAYCOM # # SCC chip 2 # chip 2 data_a 0x302 ctrl_a 0x306 data_b 0x303 ctrl_b 0x307 board BAYCOM |
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 |
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.
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:
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
Velocidad en bits por seg. De la interface. El argumento es un entero, por ejemplo: 1200
indica de donde saca el origen el reloj para la data. Se permiten:
halfdulex normal
el módem provee su propio reloj de Rx/Tx
usa divisor fullduplex, si esta instalado.
Indica la codificación de datos usada. Se permite nrzi o nrz
Indica el número de buffers de recepción para los cuales se reserva memoria. El argumento es un entero, por ej. 8
Indica el número de buffers de transmisión para los cuales se reserva memoria. El argumento es un entero, por ej. 8
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.
Valor de retardo de transmisión de KISS, argumento entero en miliseg.
valor del persist de KISS, argumento entero.
valor del slottime de KISS, argumento entero.
valor de cola de tx. de KISS, argumento entero en miliseg.
bandera de fullduplex de KISS. Argumento entero y puede ser: 1==Full Duplex, 0==Half Duplex.
valor de espera de KISS, argumento entero en miliseg.
valor mínimo de KISS, argumento entero en seg.
Tiempo máximo de ptt on. Argumento entero en seg.
valor del timer de idle de KISS, argumento entero en seg.
valor maxdef de KISS, argumento entero.
valor de grupo de KISS, argumento entero.
valor de txoff de KISS, argumento entero en miliseg.
valor del softdcd de KISS, argumento entero.
Bandera del slip del KISS. Argumento entero.
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 |
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 |
Opciones de configuración del kernel
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.
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 MLID 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 - only needed if you want ; to override the default target addr ETH_ADDR FF:FF:FF:FF:FF:FF ; Target address |
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 description |
donde:
Nombre (texto) con el que se referirá a ese puerto.
Indicativo AX.25 que quieres asignarle a ese puerto.
Velocidad de comunicación de ese puerto con tu TNC.
Largo máximo del paquete que quieras configurar para ese puerto cuando usa AX.25 en modo conectado.
es el parámetro AX.25 window. En muchas TNC es lo mismo que el MAXFRAME.
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 dispositivo de red mediante su Indicativo/ssid. Esta es una buena razón para requerir un único Indicativo/ssid.
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.