2010-04-14 21:10:13 +0000 2010-04-14 21:10:13 +0000
33
33
Advertisement

Como sei qual /dev/ttyS* é a minha porta de série?

Advertisement

Tenho um portátil que tem apenas uma porta de série.

Eu entrei:

/dev

directório, e encontrei:

ttyS0
ttyS1
ttyS2
ttyS3

Como sei qual desses “ttyS” se refere à minha porta de série?

Advertisement

Respostas (5)

34
34
34
2010-04-14 21:24:54 +0000

Penso que é esta ordem:

dmesg | grep tty

Correndo que na minha própria caixa Linux (que só tem 1 porta série) produz uma única linha de saída ttyS0. Experimente-o por si próprio, verá o que quero dizer.

14
14
14
2016-06-30 15:45:47 +0000

Ver quais UARTs foram detectadas em /proc/tty/driver/serial. Uma linha com uart:unknown significa: nada detectado (e provavelmente inexistente).

# cat /proc/tty/driver/serial 
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:16550A port:000002F8 irq:3 tx:111780 rx:1321 RTS|DTR|DSR
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3

Se algo estiver ligado e a conduzir as linhas CTS, DSR ou CD (estas são linhas de entrada) pode até ter a certeza de que realmente existe algo… O mesmo é verdade para a contagem de rx-byte.

7
Advertisement
7
7
2014-12-20 13:55:13 +0000

Se precisar de fazer isto programmaticamente lendo a saída do dmesg pode ser problemático, em vez disso a pasta /dev/série/by-id tem ligações simbólicas que têm o nome de dados identificáveis do seu dispositivo e apontam para o /dev/tty* específico ao qual estão ligados.

Não tenho a certeza se esta é alguma regra especial do udev que é específica da distribuição, mas funciona bem no Ubuntu, avisem-me se funciona.

6
6
6
2010-04-14 21:17:04 +0000

ttyS0 até 3 correspondem a COM1 até 4, respectivamente. Normalmente têm os mesmos recursos de hardware e nem sempre são detectáveis, pelo que existem sempre.

1
Advertisement
1
1
2016-09-12 15:19:53 +0000

Há também o comando setserial que usa /proc/tty/driver/serial para obter os seus dados.

# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
Advertisement