Per creare dispositivi nella directory dei dispositivi vedere il Serial-HOWTO: "Creating Devices In the /dev directory".
I dispositivi in Linux hanno numeri primari e secondari. Ogni porta seriale può avere due possibili nomi, nella directory /dev: ttyS e cua. I loro driver si comportano in modo leggermente differente. Il dispositivo cua è disapprovato e potrebbe non essere più usato in futuro. Vedere Il device cua.
Dos/Windows usano il nome COM mentre il programma setserial
usa
tty00, tty01 ecc. Non confondete questi con dev/tty0, /dev/tty1, ecc.
che sono usati per le console (il monitor del vostro PC) ma non sono porte seriali.
I nomi dos (COM1, ecc.) e gli indirizzi IO sono mostrati sotto per i casi "standard"
(ma i vostri potrebbero essere diversi).
set- indirizzo
dos serial prim. second. prim. second. IO
COM1 tty00 /dev/ttyS0 4, 64; /dev/cua0 5, 64 3F8
COM2 tty01 /dev/ttyS1 4, 65; /dev/cua1 5, 65 2F8
COM3 tty02 /dev/ttyS2 4, 66; /dev/cua2 5, 66 3E8
COM4 tty03 /dev/ttyS3 4, 67; /dev/cua3 5, 67 2E8
Notate che tutte le distribuzioni dovrebbero avere dei dispositivi ttyS (e dispositivi cua fino a che cua venga definitivamente abolito). Potreste verificarlo digitando
linux% ls -l /dev/cua*
linux% ls -l /dev/ttyS*
In alcune installazioni, saranno creati due dispositivi extra, /dev/modem
per il vostro modem e /dev/mouse
per il vostro
mouse. Entrambi sono dei link
simbolici agli appropriati dispositivi in /dev
che avete specificato durante
l'installazione (a meno che non abbiate un bus mouse, allora /dev/mouse
punterà al dispositivo del bus mouse).
Ci sono state alcune discussioni riguardo a /dev/mouse
e /dev/modem
.
L'uso di questi link è sconsigliato. In particolare, se state pensando di usare il vostro
modem per ricevere chiamate potreste avere problemi perché i file di lock potrebbero
non funzionare correttamente se usate /dev/modem
. Usateli se volete, ma siate
sicuri che puntino al dispositivo giusto. Comunque, se cambiate o eliminate questi link,
alcune applicazioni potrebbero necessitare di una riconfigurazione.
Se non avete un dispositivo, potrete crearlo con il comando
mknod
. Ad esempio, supposto che dobbiate create dispositivi per
ttyS0
:
linux# mknod -m 666 /dev/cua0 c 5 64
linux# mknod -m 666 /dev/ttyS0 c 5 64
Potete poi usare lo script MAKEDEV
che si trova in /dev
. Vedere per questo
la pagina di manuale.
Questo semplifica la creazione dei dispositivi. Ad esempio. Se volete create
dispositivi per ttyS0
digitate:
linux# cd /dev
linux# ./MAKEDEV ttyS0
Questo gestisce la creazione dei dispositivi e dovrebbe impostare i permessi
correttamente
Ad ogni dispositivo ttyS corrisponde un dispositivo cua. Ma il dispositivo cua sta per essere abolito così è meglio usare ttyS (a meno che cua sia richiesto). C'è differenza tra cua e ttyS ma un programmatore previdente può fare sì che una porta ttyS si comporti esattamente come una porta cua, così non c'è più realmente bisogno di cua. A meno che alcuni vecchi programmi non richiedano l'uso di cua.
Qual'è la differenza? La differenza principale tra cua e ttyS si riferisce a quanto succede in un programma C quando un normale comando "open" cerca di aprire la porta. Se una porta cua è stata impostata per controllare i segnali di controllo del modem, la porta potrebbe essere aperta anche se il segnale di controllo DCD del modem dice che non è vero. Una astuta programmazione (aggiungendo lineee addizionali al programma) può forzare una porta ttyS a comportarsi anch'essa in questo modo. Ma una porta cua può essere ancora più facilmente programmata per aprirsi per comporre una chiamata in uscita anche quando il modem non riesce ad identificare DCD (visto che nessuno ci ha chiamato e non c'è portante). Ecco perché cua era una volta usata per chiamate in uscita e ttyS era usata per chiamate in entrata.
A partire dal kernel 2.2, un messaggio di avvertimento verrà immesso nel log del kernel quando si usa cua. Questo è il presagio che cua fra un poco sparirà.