El Jueves, 28 de Diciembre de 2006 03:53, Carlos E. R. escribió:
El 2006-12-28 a las 02:46 +0100, Octavio Ávalos escribió:
He entrado en la BIOS y observé que los puertos están bien asignados, aparecía para el puesto A 3f8 y para el B 2f8. No entiendo que puede pasar
Ni yo... pero me estoy durmiendo, estaba viendo una peli.
En la bios tienes dos puertos serie, con distintos puertos i/o. El log te
decía esto: | <6>Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing | enabled <6>serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A | <6>00:0a: ttyS1 at I/O 0x2f8 (irq = 4) is a 16550A | <6>00:0b: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Salen dos interfaces ttyS1 (la misma, y no ttyS0), con el mismo IO, 0x2f8, y una IRQ distinta. Eso está mal. Pero no se porqué te sale eso.
Tendría que salir esto, o parecido:
<6>Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled <6>serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A <6>serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A <6>00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A <6>00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A ... Configuring serial ports... /dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A /dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A Configured serial ports
Mira a ver el el /var/log/messages que mensajes aparecen referidos a los puertos serie, especialmente si son del kernel. A ver si dicen algo, alguna inconsistencia, algo.
Vuelve a mirar en la bios, que opciones hay. Cambia las direcciones de los puertos, a ver si cambia algun resultado. O desactiva uno de ellos, sobre todo si sólo tienes un enchufe.
Otra posibilidad es usar setserial para reconfigurar los puertos (tendrás que instalarlo). Enmpieza con:
nimrodel:~ # setserial -a /dev/ttyS0 /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test
nimrodel:~ # setserial -a /dev/ttyS1 /dev/ttyS1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 3 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test
ó:
nimrodel:~ # setserial -G /dev/ttyS1 /dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200 spd_normal skip_test
Y luego, define el puerto:
setserial -a /dev/ttyS1 port 0x02f8
Y vuelve a la carga con -G en ambos a ver como están. Si son distintos, vuelve entonces a probar con "hwinfo".
Si esto funciona, para hacerlo permanente, edita el fichero /etc/init.d/setserial, estas dos lineas son las pertinentes (mutandis mutandi):
# These are the standard COM1 through COM4 devices # run_setserial /dev/ttyS0 uart 16550A port 0x3F8 irq 4 run_setserial /dev/ttyS1 uart 16550A port 0x2F8 irq 3 # run_setserial /dev/ttyS2 uart 16450 port 0x3E8 irq 4 # run_setserial /dev/ttyS3 uart 16450 port 0x2E8 irq 3
Ya contarás.
Instalé "setserial" y esto es lo que me sale: linux:~ # setserial -a /dev/ttyS0 /dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test linux:~ # setserial -a /dev/ttyS1 /dev/ttyS1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 3 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test linux:~ # setserial -G /dev/ttyS1 /dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200 spd_normal skip_test linux:~ # setserial -a /dev/ttyS1 port 0x02f8 linux:~ # setserial -G /dev/ttyS0 /dev/ttyS0 uart unknown port 0x03f8 irq 4 baud_base 115200 spd_normal skip_test linux:~ # setserial -G /dev/ttyS1 /dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200 spd_normal skip_test linux:~ # Un saludo -- Octavio Ávalos --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org