Ubuntu 12.04.2 LTS 3.2.0-39-generic-pae
Olá, o PC em que estou trabalhando tem 4 portas seriais.
ttyS0 e ttyS1 funcionam corretamente desde o início,
ttyS2 e ttyS3 não.
aqui estão as mensagens relevantes do dmesg:
Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[ 1.050346] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.100595] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 1.144567] serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
[ 1.188577] serial8250: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
[ 1.383941] isapnp: No Plug & Play device found
[ 1.449179] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.477192] 00:07: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 1.498296] 00:08: ttyS2 at I/O 0x3e8 (irq = 7) is a 16550A
[ 1.524994] 00:09: ttyS3 at I/O 0x2e8 (irq = 7) is a 16550A
para fazê-los funcionar, tenho que reconfigurá-los invocando:
setserial /dev/ttyS3 baud_base 115200 auto_irq skip_test autoconfig
que eu encontrei aqui
Antes de reconfigurar a porta serial, o setserial reporta o seguinte para as portas seriais:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 7
/dev/ttyS3, UART: 16550A, Port: 0x02e8, IRQ: 7
Depois de reconfigurar o fllowing, é relatado:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 0
/dev/ttyS3, UART: 16550A, Port: 0x02e8, IRQ: 0
As portas seriais são fornecidas por um chip fintek f81866 que suporta compartilhamento de IRQ, portanto, ter os IRQs iniciais definidos como 7 não deve ser um problema. enquanto ter o IRQs configurado para 0 é um problema do que eu entendo como de acordo com a página de manual
O chip fintek f81866 suporta até 6 portas seriais.
Então, eu tentei adicionar 8250.nr_uarts=8
à linha de inicialização, mas isso não fez nada (até onde sei, não sei como confirmar quais parâmetros de inicialização foram passados).
O que está acontecendo de errado?
Por que o ttyS2 e o ttyS3 não estão sendo configurados corretamente na inicialização?
Como posso consertar isso?
O que eu preciso fazer para que eles sejam configurados corretamente na inicialização (curta de fazer meu próprio script de inicialização)?
Obrigado antecipadamente!