Page suivante - Page précédente - Table des matières

9. Configurer votre modem et votre port série

Vous devez vous assurer que votre modem est correctement configuré et que vous savez sur quel port série il est branché.

Se souvenir que :

  • DOS COM1: = Linux /dev/cua0 (et /dev/ttyS0)
  • DOS COM2: = Linux /dev/cua1 (et /dev/ttyS1)
    etc.

Il est également bien de se souvenir que si vous avez 4 ports séries, la configuration standard d'un PC est d'avoir COM1 et COM3 partageant IRQ4 et COM2 et COM4 partageant IRQ3.

Si vous avez des périphériques sur vos ports séries qui partagent une IRQ avec votre modem vous allez avoir des problèmes. Vous devez vous assurer que le port série de votre modem est sur sa propre et unique IRQ. De nombreuses cartes séries modernes (et les ports séries des cartes mères de bonne qualité) permettent de changer les IRQ des ports série.

Si vous utilisez le noyau Linux 2, vous pouvez afficher des IRQ actuellement utilisés avec cat /proc/interrupts, qui produira une sortie ressemblant à :


 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

Cela montre que le le port série en IRQ4 (une souris) et le port série en IRQ15 (un modem permanent basé sur PPP pour une liaison Internet). (Il y a également un port série sur le port COM2, IRQ3 et COM4 est dans l'IRQ14, mais comme ils ne sont pas utilisés, ils ne sont pas affichés).

Avertissement - vous devez vous rendre compte de ce que vous faites lorsque vous voulez jouer avec vos IRQ ! Non seulement, vous devez ouvrir votre ordinateur, retirer vos cartes et jouer avec les jumpers, mais vous devez savoir ce qu'il y a sur chaque IRQ. Dans mon cas, j'ai un PC totalement SCSI, et j'ai donc désactivé les interfaces IDE de la carte-mère qui utilisent normalement les IRQ14 et 15 !

Je tiens également à préciser que si votre PC utilise un autre système d'exploitation, changer les IRQ pourrait bien signifier que votre OS ne bootera plus correctement, ou plus du tout !

Si vous déplacez vos ports séries vers des IRQ non-standard, vous devez spécifier à Linux quel IRQ utilise chaque port. setserial permet de le faire, et de préférence lors du processus de lancement dans rc.local ou rc.serial qui est appelé dans rc.local ou comme une partie de l'initialisation SysV system. Pour la machine présentée ci-dessus, les commandes utilisées sont


/bin/setserial -b /dev/ttyS2 IRQ 11
/bin/setserial -b /dev/ttyS3 IRQ 15

Toutefois, si vous utilisez le module série chargé dynamiquement au besoin avec le processus kerneld, vous ne pouvez pas définir et perdre les IRQ à chaque redémarrage. Si le module série est effacé, Linux perds alors les configurations spéciales.

Donc, si vous chargez le module série à la demande, vous devez reconfigurer les IRQ à chaque fois qu'il est chargé.

9.1 Remarque au sujet des ports séries et des capacité de vitesse

Si vous utilisez un modem haut débit (externe) (14.400 Bits par seconde ou plus), votre port série doit être capable de suivre le débit qu'un tel modem est capable de produire, en particulier si le modem compresse les données.

Cela demande que votre port série utilise un UART(Universal Asynchronous Receiver Transmitter) moderne comme un 16550(A). Si vous utilisez une vieille machine (ou une vieille carte série), il est tout à fait possible que votre port série ait seulement un UART 8250, ce qui amènera des problèmes considérables avec un modem haute vitesse.

Utiliser la commande

setserial -a /dev/ttySx

Pour que Linux vous affiche le type d'UART que vous avez. Si vous n'avez pas un UART de type 16550, acheter une nouvelle carte série (disponible pour moins de 300 F). Quand vous acheterez une nouvelle carte, assurez vous que vous pouvez changer les IRQ !

Remarque : les premières versions des puces UART 16550 avaient une erreur. Elle a été rapidement découverte et une mise à jour de la puce est sortie - l'UART 16550A. Un nombre relativement faible de puces erronées ont cependant été mises en circulation. Ça serait de la malchance que d'un récupérer une, en particulier sur certaines cartes d'occasion, mais il suffit de chercher la réponse qui s'appelle 16550A.

9.2 Noms des ports série

Historiquement, Linux utilise les périphériques cuaX pour les appels sortants et ttySx pour les appels entrants.

Le code du noyau a eu besoin de changer cela dans la version 2.0.x du noyau, et vous devez maintenant utiliser ttySx pour les appels entrants et sortants. Cela semble annoncer que les noms de périphériques cuaX devraient disparaître dans les futures versions du noyau.

9.3 Configuration de votre modem

Vous devez configurer votre modem correctement pour PPP - pour cela, LISEZ LE MANUEL DE VOTRE MODEM ! La plupart des modems ont une configuration par défaut en usine avec les options requises par PPP. La configuration minimale spécifie :

  • Contrôle de flux matériel (RTS/CTS) (&K3 sur les modems Hayes)

Les autres paramètres (en commandes Hayes standard) que vous devez vérifier sont :

  • La commande E1 Echo ON (nécessaire pour que chat fonctionne)
  • S0=0 Auto Answer OFF (à moins que vous ne vouliez que votre modem réponde au téléphone)
  • &C1 Carrier Detect ON seulement après la connexion
  • &S0 Data Set Ready (DSR) toujours ON
  • (variable) Data Terminal Ready

Un site fournit la configuration des modems pour une variété de fabricants et de modèles de modems croissante à Modem setup information qui devrait vous simplifier la configuration.

Il est aussi intéressant de vérifier comment fonctionne l'interface série entre votre ordinateur et votre modem. La plupart des modems modernes vous permettent d'utiliser l'interface série à une vitesse FIXE permettant à l'interface avec la ligne téléphonique de changer de vitesse pour atteindre la plus haute vitesse que les deux modems peuvent supporter.

Cela s'appelle l'opération de division de la vitesse. Si votre modem le supporte, bloquer l'interface série du modem à la vitesse disponible la plus rapide (d'habitude 115.200 bauds mais parfois 38.400 pour les modems 14.400).

Utiliser les outils de communication (c.-à-d. minicom ou seyon) pour accéder à la configuration de votre modem, et l'adapter à ce qui est nécessaire à PPP. De nombreux modems renvoient leurs réglages courants après la commande AT&V, mais vous devez consulter le manuel de votre modem.

Si vous avez complètement modifié les réglages, vous pouvez repartir sur des bases saines (généralement) en envoyant AT&F - ça retourne aux réglages usine. (Pour la majorité des modems que j'ai rencontré, les réglages usine on tout ce qu'il faut pour faire du PPP - mais vous devez vérifier).

Un fois que vous avez la commande nécessaire pour configurer votre modem, écrivez-là. Vous devez maintenant prendre une décision : vous pouvez stocker ces paramètres dans la mémoire non-volatile de votre modem, comme cela vous pourrez la relancer en envoyant une commande AT appropriée. Alternativement, vous pouvez passer le paramétrage correct à votre modem lors du processus de connexion de PPP.

Si vous utilisez uniquement votre modem sous Linux pour appeler votre FAI ou un serveur d'entreprise, la manière la plus simple est de sauver la configuration de votre modem dans la mémoire non-volatile.

D'un autre coté, si votre modem est utilisé par d'autres applications et systèmes d'exploitation, il est plus sûr de passer ces informations au modem à chaque appel que vous passez, comme cela, c'est sûr que le modem sera bien configuré lors de l'appel. (Cela a aussi l'avantage de conserver la ligne de configuration du modem au cas où le modem perdrait le contenu de sa NV-RAM, ce qui peut parfois arriver).

9.4 Remarque sur le contrôle de flux série

Lorsque les données transitent sur les lignes de communication série, il peut arriver que les données arrivent plus vite que l'ordinateur ne peut les traiter (l'ordinateur peut être occupé à faire autre chose - n'oubliez pas que Linux est un système Multi-tâches Multi-utilisateurs). Pour s'assurer que des données ne se sont pas perdues (les données n'arrivent pas dans le tampon d'entrée pour se perdre ensuite), certaines méthodes de contrôles sont nécessaires.

Il y a deux façons de faire sur des lignes séries :

  • Utiliser des signaux matériels (Clear To Send/Request To Send CTS/RTS)
  • Utiliser des signaux logiciel (control S et control Q, aussi appelés XON/XOFF).

Bien que le dernier soit correct pour les liaisons vers des terminaux(texte), les données sur une liaison PPP utilisent les 8 bits - et il est fort probable que quelque part dans les données, un octet se traduis par un control S ou un control Q. Donc, si un modem est configuré pour utiliser le contrôle de flux, les choses vont rapidement s'envenimer !

Pour les liaisons à haut débit utilisant PPP (avec l'utilisation des 8 bits de données) le contrôle de flux matériel est vital, et c'est la raison pour laquelle vous devez utiliser le contrôle de flux matériel.

9.5 Tester votre modem pour composer un numéro

Maintenant que vous en avez terminé avec la configuration du modem et du port série, il serait utile de vérifier si cette configuration marche vraiment en appelant votre fournisseur d'accès et voir si vous pouvez vous connecter.

En utilisant le paquetage du terminal de communication (tel que minicom), la commande d'initialisation de votre modem pour PPP, appelez le serveur PPP sur lequel vous voulez vous connecter pour une session PPP.

(Remarque : à ce niveau, nous n'essayerons pas d'établir la connexion PPP - mais juste d'être sûr que nous pouvons composer un numéro et ainsi trouver exactement ce que le serveur nous envoie pour se connecter et lancer PPP).

Pendant le processus, soit vous capturez (dans un fichier) la totalité du processus de login soit vous notez attentivement (très attentivement) exactement ce que le serveur envoie pour savoir quand est le moment d'entrer votre nom utilisateur et votre mot de passe (et quelques autres commandes nécessaires pour établir la connexion PPP).

Si votre serveur utilise PAP, vous ne verrez pas de message de login, mais vous verrez à la place la (représentation texte) du protocole de contrôle de liaison (une suite incohérente de caractères) s'afficher sur votre écran.

Quelques mots d'avertissements :

  • certains serveurs sont relativement intelligents : vous pouvez vous connecter en utilisant un nom utilisateur /mot de passe basé sur du texte OU en utilisant PAP. Ainsi, si votre fournisseur d'accès ou votre serveur d'entreprise utilise PAP mais n'affiche pas le message directement, cela ne signifie pas que vous avez fait une erreur.
  • certains serveurs ont besoin que vous entriez du texte avant de lancer ensuite la séquence PAP standard.
  • Certains serveurs PPP sont passifs - il attendent et n'envoient rien tant que le client avec lequel il dialogue ne lui envoie un paquet LCP valide. Si le serveur PPP sur lequel vous vous connectez fonctionne en mode passif, vous ne verrez jamais de message !
  • Certains serveurs ne lancent pas PPP tant que vous n'avez pas pressé ENTREE - essayez donc cela si vous êtes connecté et ne voyez pas de message !

Il est intéressant de dialoguer au moins deux fois - certains serveurs changent leur message d'accueil (c.-à-d. avec le temps !) chaque fois que vous vous connectez. Les deux messages critiques que votre machine Linux doit pouvoir identifier chaque fois que vous vous vous connectez sont :

  • le message qui vous demande d'entrer votre nom utilisateur ;
  • le message qui vous demande d'entrer votre mot de passe ;

Si vous avez tapé une commande pour lancer PPP sur le serveur, vous devez aussi rechercher le message que le serveur vous envoie une fois que vous êtes connecté pour vous informer que vous pouvez entrer la commande pour lancer ppp.

Si votre serveur lance automatiquement PPP, une fois que vous êtes connecté, vous allez voir des caractères s'afficher sur votre écran - c'est le serveur PPP qui envoie à votre machine les informations pour démarrer et configurer la connexion PPP.

Ça doit donner quelque chose comme ceci :



(et ça ne s'arrête pas !)

Sur certains systèmes, PPP doit être explicitement lancé sur le serveur. Cela vient généralement du fait que le serveur a été configuré pour permettre aux connexions PPP et aux connexions Shell a utiliser les mêmes paires nom utilisateur/mot de passe. Si c'est le cas, envoyez cette commande lorsque vous êtes connecté. Une nouvelle fois vous verrez des caractères que le serveur envoie à la fin du lancement de la connexion PPP.

Si vous ne voyez pas directement après la connexion (et le processus de connexion et le lancement du serveur PPP si besoin), tapez Entrée pour voir si le serveur PPP démarre...

A ce niveau, vous pouvez raccrocher votre modem (généralement, taper +++ rapidement et envoyer la commande ATHO une fois que votre modem vous a répondu OK).

Si vous n'arrivez pas à faire fontionner votre modem, lisez le manuel du modem, les pages de manuel des programmes de communication, et le Serial HOWTO ! Une fois que vous aurez fait tout cela reprenez l'étape précédente.


Page suivante - Page précédente - Table des matières