Capítulo 15. Comunicaciones en serie

Esta sección responde preguntas comunes acerca de comunicaciones en serie con FreeBSD. PPP esta cubierto en la sección de Redes.

15.1. ¿Qué tarjetas en serie multi-puerto están soportadas por FreeBSD?
15.2. ¿Como hago que boot: prompt se muestre en la consola de serie?
15.3. ¿Cómo puedo saber si FreeBSD encontró mis puertos en serie o tarjetas de modem?
15.4. ¿Como accedo a los puertos en serie en FreeBSD?
15.5. ¿Como habilito el soporte para una tarjeta en serie multipuertos?
15.6. ¿Puedo ajustar los parámetros en serie por defecto para un port?
15.7. ¿Como puedo habilitar inicios de sesión por marcado en mi modem?
15.8. ¿Como puedo conectar una terminal gregaria a mi instalación de FreeBSD?
15.9. ¿Por qué no puedo correr tip o cu?

15.1.

¿Qué tarjetas en serie multi-puerto están soportadas por FreeBSD?

Hay una lista de las mismas en el capítulo Comunicaciones en serie del manual.

Las tarjetas multipuertos PCI que estén basadas en 16550 o clones están soportadas sin ningún esfuerzo extra.

Se ha reportado tambíen que algunas tarjetas clon variadas funcionan, especialmente aquellas que dicen ser compatibles con AST.

Vea uart(4) and sio(4) para obtener más información acerca de configurar tales tarjetas.

15.2.

¿Como hago que boot: prompt se muestre en la consola de serie?

Vea esta sección del manual.

15.3.

¿Cómo puedo saber si FreeBSD encontró mis puertos en serie o tarjetas de modem?

Mientras el kernel de FreeBSD arranca, verificara los puertos en serie para los que esta configurado el kernel. Vea los mensajes de inicio con atención o corra este comando luego de que el sistema haya arrancado:

% dmesg | grep -E "^sio[0-9]"
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A

Esta salida de ejemplo muestra dos puertos en serie. El primero esta en IRQ4, en la dirección de puerto 0x3f8, y tiene un chip de tipo 16550A-type UART. El segundo usa el mismo tipo de chip pero esta en IRQ3 y esta en la dirección de puerto 0x2f8. Las tarjetas de modem internas también son tratadas como puertos en serie, excepto que siempre tienen un modem adjuntado al puerto.

El kernel GENERIC incluye soporte para dos puertos en serie usando los mismos ajustes de dirección de puerto e IRQ en el ejemplo anterior. Si estos ajustes no son adecuados para el sistema, o si hay más tarjetas de modem o puertos en serie que los que tiene configurado el kernel, reconfigure usando las instrucciones en compilar un kernel para más detalles.

15.4.

¿Como accedo a los puertos en serie en FreeBSD?

El tercer puerto en serie sio2, o COM3, esta en /dev/cuad2 para dispositivos de marcado saliente, y en /dev/ttyd2 para dispositivos de marcado entrante. ¿Cuál es la diferencia entre estas dos clases de dispositivos?

Al abrir /dev/ttydX en modo bloqueante, un proceso esperara a que el correspondiente dispositivo cuadX se vuelva inactivo, y luego espera a que la línea de detección del portador pase a estar activa. Cuando el dispositivo cuadX es abierto, se asegura de que el puerto en serie no este ya en uso por el dispositivo ttydX. Si el puerto esta disponible, se lo roba al dispositivo ttydX. Además, el dispositivo cuadX no se preocupa por la detección del portador. Con este esquema y un modem de auto-respuesta, los usuarios remotos pueden autenticarse y los usuarios locales aún pueden marcar fuera con el mismo modem y el sistema se ocupara de todos los conflictos.

15.5.

¿Como habilito el soporte para una tarjeta en serie multipuertos?

La sección acerca de configuración del kernel provee información acerca de configurar el kernel. Para una tarjeta en serie multipuertos, coloque una línea sio(4) por cada puerte en serie en la tarjeta en el archivo device.hints(5). Pero coloque los especificadores IRQ en solo una de las entradas. Todos los puertos en la tarjeta deberían compartir un solo IRQ. Por consistencia, use el último puerto en serie para especificar el IRQ. También especifique la siguiente opción en el archivo de configuración del kernel:

options COM_MULTIPORT

El siguiente ejemplo de /boot/device.hints es para una tarjeta en serie AST de 4 puertos en IRQ 12:

hint.sio.4.at="isa"
hint.sio.4.port="0x2a0"
hint.sio.4.flags="0x701"
hint.sio.5.at="isa"
hint.sio.5.port="0x2a8"
hint.sio.5.flags="0x701"
hint.sio.6.at="isa"
hint.sio.6.port="0x2b0"
hint.sio.6.flags="0x701"
hint.sio.7.at="isa"
hint.sio.7.port="0x2b8"
hint.sio.7.flags="0x701"
hint.sio.7.irq="12"

Estas banderas indican que el puerto maestro tiene un número menor 7 (0x700), y que todos los puertos comparten un IRQ (0x001).

15.6.

¿Puedo ajustar los parámetros en serie por defecto para un port?

Vea la sección Comunicaciones en serieen el manual de FreeBSD.

15.7.

¿Como puedo habilitar inicios de sesión por marcado en mi modem?

Vea la sección acerca de Servicios de marcado en el manual de FreeBSD.

15.8.

¿Como puedo conectar una terminal gregaria a mi instalación de FreeBSD?

Esta información puede encontrarse en la sección Terminales del manual de FreeBSD.

15.9.

¿Por qué no puedo correr tip o cu?

Las utilidades tip(1) y cu(1) incluidas solo pueden acceder el directorio /var/spool/lock mediante el usuario uucp y el grupo dialer. Use el grupo dialer para controlar quien tiene acceso al modem o sistemas remotos agregando cuentas de usuario a dialer.

Alternativamente, todos pueden configurarse para correr tip(1) and cu(1) escribiendo:

# chmod 4511 /usr/bin/cu
# chmod 4511 /usr/bin/tip

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.

Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.