Erro de E / S da Porta Serial no Intel NUC com o Debian Wheezy

1

Eu tenho um problema ao fazer o Serial Port trabalhar no INTEL NUC DE3815TYBE. Eu tenho o Debian Wheezy instalado com o kernel 3.16.0-0.bpo.4-amd64.

Quando faço:

setserial -g /dev/ttyS*

Eu recebo:

/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x0000, IRQ: 19
/dev/ttyS2, UART: 16550A, Port: 0x0000, IRQ: 19
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

Eu posso conectar ao ttyS0 - ttyS2 sem nenhum problema, mas o ttyS3 não está funcionando e estou recebendo este erro:

Eu chamo o comando:

stty -F /dev/ttyS3 9600 cs8 cread clocal

Eu recebo:

stty: /dev/ttyS3: Input/output error

Alguma ideia de como corrigir isso? Estou executando os comandos como ROOT. Eu também tentei: setserial / dev / ttyS3 irq 3 uart 16550A skip_test mas estou obtendo o mesmo stty: / dev / ttyS3: Erro de entrada / saída

Resultado de:

dmesg | grep tty



[    0.000000] console [tty0] enabled
[    0.952559] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    0.953593] 0000:00:1e.3: ttyS1 at MMIO 0xd0810000 (irq = 19, base_baud = 2764800) is a 16550A
[    0.954072] 0000:00:1e.4: ttyS2 at MMIO 0xd080e000 (irq = 19, base_baud = 2764800) is a 16550A
[  27.740208] ttyS2 - failed to request DMA
[  27.746627] ttyS1 - failed to request DMA
[  440.532070] ttyS3: LSR safety check engaged!
[  443.700047] ttyS3: LSR safety check engaged!
[  445.288960] ttyS3: LSR safety check engaged!
[  452.796029] ttyS3: LSR safety check engaged!
[  453.716441] ttyS3: LSR safety check engaged!
[  463.732506] ttyS3: LSR safety check engaged!
[  470.222491] ttyS3: LSR safety check engaged!
[  470.222774] ttyS3: LSR safety check engaged!
[  473.748363] ttyS3: LSR safety check engaged!
[  474.359756] ttyS3: LSR safety check engaged!
[  482.783201] ttyS3: LSR safety check engaged!
[  483.763953] ttyS3: LSR safety check engaged!
[  493.931641] ttyS3: LSR safety check engaged!
[  503.982224] ttyS3: LSR safety check engaged!
[  514.020686] ttyS3: LSR safety check engaged!
[  524.074170] ttyS3: LSR safety check engaged!
[  534.090644] ttyS3: LSR safety check engaged!
[  544.110381] ttyS3: LSR safety check engaged!

lsof / dev / ttyS3 não retorna nada, então significa que não há nada conectado ao ttyS3, mas eu não sou muito habilidoso com o Linux, então eu posso estar enganado

Por que eu posso ver 4 ttyS * no meu Linux, mas fisicamente eu tenho apenas 2 portas seriais físicas na placa?

    
por Simon 21.03.2015 / 20:44

1 resposta

2

Você afirma que possui apenas 2 portas seriais físicas que detecta em ttyS1 e ttyS2. ttyS3 e ttyS4 não existem; eles estão expostos, mas você tem que ignorá-los. Esta é simplesmente a maneira como o motorista trabalha; Ele investiga o que pode ser uma porta serial e a expõe a você, mas você precisa verificar se ela é uma porta serial real, pois o driver não pode ter 100% de certeza. Esta linha:

ttyS3: LSR safety check engaged!

informa que a porta serial ttyS3 não está pronta e, no seu caso, nunca será porque ela não existe. O driver faz o possível para detectar corretamente as portas seriais, mas às vezes falha. Quando esse é o caso, você precisa descobrir quais interfaces expostas estão realmente conectadas ao hardware manualmente, o que você já fez.

    
por 24.03.2015 / 18:12