Ci si dovrebbe assicurare che il proprio modem sia impostato correttamente e di conoscere la porta seriale alla quale è connesso.
Si ricorda...
DOS com1: = Linux /dev/cua0 (e /dev/ttyS0)
DOS com2: = Linux /dev/cua1 (e /dev/ttyS1) eccetera
Non è male anche ricordare che se si hanno 4 porte seriali, la configurazione predefinita dei PC è di avere la com1 e la com3 che condividono IRQ4 e la com2 e la com4 che condividono IRQ3.
Se si hanno dispositivi su porte seriali standard che condividono un IRQ con il proprio modem, si avranno dei problemi. Ci si deve assicurare che la porta seriale a cui è connesso il modem abbia un suo, unico IRQ. Molte schede seriali moderne (e le porte seriali delle schede madri di miglior qualità) permettono di spostare l'IRQ delle porte seriali.
Se si sta usando un kernel Linux versione 2, si può controllare quali IRQ sono in uso con cat /proc/interrupts, che produrrà un output simile a
0: 6766283 timer 1: 91545 keyboard 2: 0 cascade 4: 156944 + serial 7: 101764 WD8013 10: 134365 + BusLogic BT-958 13: 1 math error 15: 3671702 + serial |
Qui è mostrata una porta seriale sull'IRQ4 (un mouse) ed una porta seriale sull'IRQ15 (la connessione PPP permanente via modem ad Internet). Ci sono anche le porte seriali com2 su IRQ3, e com4 su IRQ14, ma siccome non sono utilizzate non vengono mostrate.
Si faccia attenzione - bisogna sapere quello che si fa quando si gioca con gli IRQ! Non solo si deve aprire il computer, estrarre le schede e giocare con i ponticelli (jumper), ma si deve sapere cosa c'è su un determinato IRQ. Nel mio caso ho un PC totalmente basato su SCSI, così posso disabilitare le interfacce IDE sulla scheda madre che normalmente usano gli IRQ14 e 15!
Si dovrebbe anche tenere presente che se il proprio PC si avvia anche con altri sistemi operativi, lo spostamento degli IRQ può far sì che tali sistemi operativi non si avviino correttamente - o che non si avviino affatto!
Se si spostano le porte seriali su IRQ non standard, allora bisogna dire a Linux quale IRQ ogni porta sta usando. Questo è fatto usando "setserial" ed è meglio farlo durante la sequenza di avvio del sistema in rc.local o rc.serial che viene chiamato da rc.local oppure come parte dell'inizializzazione SysV. Per la macchina descritta in precedenza i comandi usati sono...
/bin/setserial -b /dev/ttyS2 IRQ 11 /bin/setserial -b /dev/ttyS3 IRQ 15 |
Comunque, se si stanno usando moduli per le seriali caricati dinamicamente quando necessario dal processo kerneld, non si possono impostare gli IRQ ed il resto e poi dimenticarsene una volta avviato il sistema. Questo perché se il modulo della seriale è scaricato, Linux si dimentica le impostazioni speciali.
Quindi, se si fa caricare il modulo per le seriali su richiesta, bisogna riconfigurare gli IRQ ed il resto ogni volta che il modulo viene caricato.