GNU/Linux >> Linux Esercitazione >  >> Linux

Come faccio a sapere quale /dev/ttyS* è la mia porta seriale?

Penso che sia questo comando:

dmesg | grep tty

Eseguendolo sulla mia macchina Linux (che ha solo 1 porta seriale) produce una singola riga di output ttyS0. Provalo da solo, capirai cosa intendo.


Scopri quali UART sono stati rilevati in /proc/tty/driver/serial . Una riga con uart:unknown significa:niente 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 è connesso 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 rx-byte.


Se hai bisogno di farlo a livello di codice, leggere l'output da dmesg può essere problematico, invece la cartella /dev/serial/by-id ha collegamenti simbolici che prendono il nome da dati identificabili del tuo dispositivo e puntano allo specifico /dev/tty* che sono collegati.

Non sono sicuro che si tratti di una regola udev speciale specifica della distribuzione, ma funziona bene in Ubuntu, fammi sapere se funziona.


Linux
  1. Come inviare dati a una porta seriale e vedere qualche risposta?

  2. Quanto sono portatili /dev/stdin, /dev/stdout e /dev/stderr?

  3. Quando usare /dev/random vs /dev/urandom?

  4. Come silenziare completamente un Cronjob in /dev/null/?

  5. Come trovare quale porta seriale è in uso?

Come generare una password casuale in Linux usando /dev/random

In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

Linux:differenza tra /dev/console , /dev/tty e /dev/tty0?

Come mappare il dispositivo /dev/sdX e /dev/mapper/mpathY dal dispositivo /dev/dm-Z

Linux:differenza tra /dev/console , /dev/tty e /dev/tty0

Crea un dispositivo a blocchi virtuale che scrive su /dev/null