Eu tenho vários computadores e alguns deles têm placa PCI-E com portas seriais - eles funcionam bem - e alguns deles são conectados a portas de cabeçalho COM integradas. Nestas não há ttySx
aparências em dmesg
e setserial
mostra-as como unknown
e não é possível alterá-las para uart 16550A
.
Existe alguma maneira de fazê-los funcionar?
Minha placa-mãe é AsRock Z68 Extreme4 Gen3.
Editar:
A máquina que usei para descrever o problema tinha defeito. Nas outras máquinas, havia ttyS0
configurado na porta padrão 0x03f8
e IRQ 4
, mas era inutilizável (sem comunicação através do PuTTy e era impossível transmiti-lo à VM para torná-lo utilizável para o sistema operacional convidado). No BIOS (a porta COM foi ativada), descobri que seu endereço estava definido como 0x3F8h/IRQ4
. Alterá-lo manualmente com setserial /dev/ttyS0 port 0x3F8h irq 4 uart 16550A
não produziu nenhum efeito (o endereço não foi alterado). Correndo
setserial /dev/ttyS0 port 0x03f8 irq 4 uart unknown
setserial /dev/ttyS0 port 0x3F8h irq 4 uart 16550A
setserial -g /dev/ttyS*
estava causando o congelamento do sistema e teve que ser reiniciado. Sem efeito.
Solução:
Alterei o endereço da BIOS de 0x3F8h/IRQ4
para 0x3E8h/IRQ4
e ele foi descoberto no SO como ttyS2
com os parâmetros adequados. Agora funciona. Eu realmente não sei porque, então eu ficaria grato pela explicação.