Risposte:
Penso che sia questo comando:
dmesg | grep tty
Eseguirlo sul mio box Linux (che ha solo 1 porta seriale) produce una singola linea di output ttyS0. Provalo da solo, vedrai cosa intendo.
tty
per ottenere il nome del tuo tty. Suppongo che questo sia ciò che significava OP poiché non ponevano la domanda come "quali porte seriali hanno in getty
esecuzione?"
Scopri in quali UART sono stati rilevati /proc/tty/driver/serial
. Una linea con uart:unknown
mezzi: nulla rilevato (e probabilmente non esistente).
# 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 qualcosa è collegato e guida le linee CTS, DSR o CD (queste sono linee di input) puoi anche essere abbastanza sicuro che ci sia effettivamente qualcosa ... Lo stesso vale per il conteggio byte rx.
Se è necessario farlo, la lettura a livello di codice dell'output di dmesg può essere problematica, invece la cartella / dev / serial / by-id ha collegamenti sym che prendono il nome dai dati identificabili del dispositivo e puntano allo specifico / dev / tty * sono collegati a.
Non sono sicuro se questa è una regola udev speciale specifica per la distribuzione, ma funziona bene in Ubuntu, fammi sapere se funziona.
ttyS0
through 3
corrisponde rispettivamente a COM1
through 4
. Di solito hanno le stesse risorse hardware e non sono sempre rilevabili, quindi esistono sempre.
setserial
per mappare le risorse che ttyS0 usa a quella della tua porta seriale. linux.die.net/man/8/setserial Questo non è normalmente richiesto, poiché qualsiasi cosa oltre COM4 di solito ha abbastanza hardware ausiliario per consentire a Linux di rilevarlo e aggiungere un dispositivo seriale come appropriato.
C'è anche il comando setserial
che usa /proc/tty/driver/serial
per ottenere i suoi dati.
# 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