HOWTO Terminal Texte pour Linux: Résoudre les problèmes (logiciels)
17. Résoudre les problèmes (logiciels)
Si vous suspectez que le problème soit matériel, voyez la section
réparation et diagnostic. Si le problème concerne le
port série lui-même, voyez le Serial-HOWTO.
Voici une liste des problèmes possibles :
Il y a deux cas dans lesquels le terminal se comporte mal. L'un arrive quand
il a fonctionné correctement et s'est mis à mal fonctionner tout à coup.
C'est ce dont on parle dans la sous-section suivante. L'autre cas arrive
quand les choses vont mal juste après l'installation du terminal. Dans ce
cas, vous pouvez passer à la section suivante.
17.1 Le terminal fonctionnait correctement
Quand un terminal qui fonctionnait correctement ne tourne tout d'un coup pas
bien, il est souvent facile de déceler le problème. Si vous réfléchissez à ce
qui s'est passé récemment cela vous donnera certainement un indice quant à la
cause du problème.
Le problème peut être évident comme un message d'erreur au démarrage du
terminal. S'il émet un bruit, il a sûrement besoin d'une réparation. Voyez
réparation et diagnostics. D'abord, réflechissez à
ce que vous avez fait ou modifié récemment car c'est sûrement la cause du
problème. Est-ce que le problème est apparu juste après l'installation d'un
nouveau logiciel ou après une modification de configuration ?
Si le terminal ne répond pas correctement (s'il répond tout court) à ce que
vous tapez, vous avez peut-être une
interface de terminal corrompue.
17.2 Terminal nouvellement installé
Si vous venez de relier un terminal à votre ordinateur en suivant les
instructions et qu'il ne fonctionne pas, cette section vous concerne. Si un
terminal qui fonctionnait correctement auparavant ne fonctionne plus, voyez
le terminal fonctionnait. Si vous présumez que
le port série de votre ordinateur est défectueux, vous pouvez essayer de
lancer un programme de test et de diagnostics sur ce port. À présent (juin
1998) il semble que Linux ne dispose pas encore d'un tel programme de
diagnostics et vous devrez donc lancer les diagnostics sous MS DOS/Windows.
Il y a quelques programmes pour surveiller les diverses lignes série comme
DTR, CTS, etc. et qui peuvent vous aider. Voyez
surveillance/diagnostic série.
Une manière est d'abord de voir si le terminal fonctionne en essayant de
copier un fichier vers le terminal (cp mon_fichier /dev/ttyS?) dans la
situation la plus simple. Ceci implique la désactivation des lignes de
contrôle du modem et à une vitesse qui ne nécessite pas de contrôle de flux
(assurez-vous que le contrôle de flux matériel est désactivé). Si cette copie
fonctionne, compliquez alors un petit peu la situation et voyez si ça
fonctionne encore, etc., etc. Quand le problème apparaît juste après avoir
fait une modification, alors ce changement est sûrement la cause du problème.
En fait, il est plus efficace (mais plus compliqué) de sauter de la situation
simple à à peu près la moitié de la configuration finale pour que le test
élimine à peu près la moitié des causes possibles restantes pour le problème.
Répétez alors cette méthode pour le test suivant. De cette manière il ne
faudrait que dix tests environ pour trouver la cause sur un millier de causes
possibles. Vous devriez vous écarter un peu de cette méthode en vous basant
sur des intuitions et des indices.
17.3 Est-ce que le terminal va bien ?
Un bon terminal démarre en général en affichant quelques mots à l'écran. Si
ces mots ne donnent aucun message d'erreur, le terminal va probablement bien.
S'il n'y aucun signe de courant (aucune lumière n'est allumée, etc.),
réenfoncez le câble d'alimentation des deux côtés. Assurez-vous qu'il y ait
du courant sur la prise murale (ou au bout du cordon d'alimentation). Essayez
un autre cordon si vous en avez un. Assurez-vous que le terminal est allumé
et que son fusible n'a pas sauté. Un écran blanc (ou sombre) peut parfois
être réparé simplement en tournant les molettes de luminosité et de contraste
ou par une touche de clavier dans le mode de configuration. Si cela ne
fonctionne toujours pas, voyez
réparations et diagnostics pour avoir des astuces sur la réparation du terminal.
Si le terminal démarre correctement, mais que vous soupçonnez qu'il y ait un
problème, mettez-vous en "mode local" où il fonctionnera comme une machine à
écrire et essayez de taper. Voyez
mode local.
17.4 Texte manquant
Si le texte s'affiche normalement sur le terminal puis s'arrête sans avoir
terminé (au milieu d'un mot, etc.) ou si des morceaux de texte manquent, vous
avez sûrement un problème avec le contrôle de flux. Si vous ne pouvez pas
trouver tout de suite ce qui le cause, baissez la vitesse. Si cela l'arrange,
c'est sûrement un problème de contrôle de flux. Il se peut que le contrôle de
flux ne fonctionne pas du tout à cause d'un manque de configuration correcte
ou à cause d'un câblage incorrect (pour le contrôle de flux matériel). Voyez
contrôle de flux.
Si des caractèrs isolés manquent, le port série est peut-être dépassé par une
vitesse trop élevée. Essayez une vitesse plus petite.
Si vous utilisez une vitesse de transmission en dessous de 1200 (très lente,
principalement utilisée par les anciens terminaux à copie papier et les
imprimantes) et que le texte est tronqué, alors le problème peut provenir du
pilote de périphériques série. Voyez le Printing-HOWTO à la section
"périphériques série" sur la manière de régler ceci.
17.5 se relance trop rapidement
Pas de tension de contrôle du modem
Si ne peut pas ouvrir et/ou utiliser un port à cause du manque de
tension de contrôle de modem positive sur l'une des broches, alors peut
se terminer. Alors, grâce aux instructions dans inittab, se relance et
essaie encore, uniquement pour être terminé à nouveau, etc. etc. Vous pouvez
voir un message d'erreur indiquant que, à cause de qui se relance trop
rapidement, il a été temporairement désactivé. Essayez d'utiliser l'option
"local" dans et/ou de vérifier les paramètres et les tensions de
contrôle du modem.
Touche enfoncée
Une autre cause possible du relancement de est qu'une touche du clavier
soit enfoncée, ce qui donne le même résultat que si la touche était maintenue
appuyée en continu. Avec la répétition automatique activée, ceci "tape" des
milliers de caractères à l'invite de login. Cherchez un écran rempli de
caractères identiques (dans certains cas avec deux caractères différents ou
plus).
17.6 Échec après le login
Si vous pouvez vous logger correctement mais ne pouvez utiliser le terminal
il se peut que le démarrage du shell de login ait reconfiguré le terminal
(avec des paramètres incorrects) à cause d'une commande que quelqu'un a mise
dans l'un des fichiers qui sont lancés quand vous vous loggez, et qu'un shell
soit lancé. Ces fichiers comprennent /etc/profile et /.bashrc. Cherchez une
commande commençant par "stty" ou "setserial" et assurez-vous qu'elle est
correcte. Même si elle est correcte dans un fichier d'initialisation, elle
peut être repositionnée de manière incorrecte dans un autre fichier
d'initialisation que vous ne soupçonnez pas. Des méthodes pour revenir sur le
système afin de le réparer et d'utiliser un autre terminal ou console est
d'utiliser une disquette de secours ou de taper : "linux single" à l'invite
de LILO qui vous mettra en mode utilisateur unique sans lancer les fichiers
de démarrage.
17.7 Impossible de se logger
Si vous obtenez une invite de login mais pas de réponse (ou peut-être une
réponse embrouillée) à vos tentatives de login, une cause possible est que la
communication se fait mal dans un sens du terminal vers l'ordinateur. Si vous
n'utilisez pas encore l'option "local" de , faites-le afin de désactiver
les lignes de contrôle du modem. Voyez
(dans /etc/inittab). Vous pourriez aussi désactiver le contrôle de flux matériel
(stty -crtscts) s'il était activé. Si cela fonctionne maintenant
correctement, alors soit les lignes de contrôle de votre modem sont câblées
de manière incorrecte, soit il y a une erreur dans votre configuration.
Certains terminaux permettent le positionnement de valeurs différentes (comme
la vitesse de transmission) pour envoyer et recevoir, de sorte que la
réception soit bonne mais pas l'envoi.
Si vous obtenez un message qui ressemble à "login failed" (le login a échoué)
alors, si vous n'avez fait aucune erreur en tapant ou dans votre mot de
passe, il peut y avoir des restrictions sur les logins qui ne vous permettent
pas de vous logger. Malheureusement, ce message peut ne pas vous dire
pourquoi la tentative a échoué. Voyez
restrictions sur les logins.
17.8 Invite de login embrouillée
Ceci peut-être à cause de l'utilisation d'un jeu de caractères incorrect, des
erreurs de transmission dues à des vitesses de connexion trop élevées, des
vitesses de connexion incompatibles ou des parités incompatibles. Si c'est
une variété de caractères étranges vous avez un jeu de caractères incorrect
ou un bit de haut rang est positionné par erreur. Si les mots ont des fautes
d'orthographe, essayez une vitesse de transmission plus basse. Pour les
incompatibilités de vitesse de transmission ou de parité vous voyez beaucoup
d'erreurs "character error" identiques (erreur de caractère) qui représentent
le fait qu'un vrai caractère ne peut être affiché correctement à cause d'une
erreur dans la parité ou la vitesse de transmission.
Si vous utilisez a (souvent nommé simplement ), le programme a
détectera et positionnera la parité si vous tapez quelque chose. Essayez-le
avec un retour chariot pour voir si cela répare des erreurs possibles de
parité.
17.9 Aucun signe d'une quelconque invite de login
Cela arrive quand rien ne se passe du tout sur le terminal, mais que le
terminal semble fonctionner correctement. L'une des premières choses à faire
est de s'assurer que toutes les connexions câblées sont fermes et reliées
correctement. D'autres problèmes peuvent être : une différence de vitesse de
transmission, du matériel en panne ou ne tournant pas. À ce point, deux
possibilités d'approche sont (vous pouvez en suivre plus d'une à la fois) :
Diagnostiquer les problèmes à partir de la console
Sur la console (ou sur un autre terminal qui fonctionne), utilisez "top" ou
"ps -al" pour voir si fonctionne sur le port. Ne le confondez pas avec
d'autres programmes qui tournent sur d'autres ports ou sur les consoles
virtuelles. Vous n'obtiendrez pas d'invite de login si ne tourne pas.
S'il tourne, alors vous pouvez le désactiver afin d'essayer de copier un
fichier vers le terminal à des fins de tests.
Pour désactiver , éditez /etc/inittab et mettez en commentaire la
commande avec un signe # au début pour qu'il ne se relance pas après
l'avoir tué. Tuez ensuite l'ancien en utilisant la touche k dans "top".
Pour copier un court fichier vers le terminal (une bonne idée serait
d'essayer cela au début du processus d'installation avant de configurer
) utilisez la commande Linux de copie comme ceci : cp nom_fichier
/dev/ttyS1. Si cela ne fonctionne pas, utilisez stty pour rendre l'interface
aussi simple que possible en désactivant tout (comme le contrôle de flux
matériel : -crtscts ; la parité, et les signaux de contrôle du modem :
clocal). Assurez-vous que les vitesses de transmission et le nombre de bits
par octet sont les mêmes. Si rien ne se passe, vérifiez que le port est
vivant avec un voltmètre grâce à la section suivante.
Mesure des tensions
Si vous disposez d'un voltmètre à portée de main, vérifiez qu'il y a -12 V
(-5 à -15) sur la broche 3 (réception de données) du côté du terminal sur le
câble null modem. La borne positive du voltmètre devrait être reliée à une
bonne terre (les connecteurs métalliques sur les extrémités des câbles ne
sont souvent pas reliés à la terre). S'il n'y a pas de tension négative,
vérifiez-la sur la broche de transmission (TxD) sur l'ordinateur (voyez
DB9-DB25 pour le brochage). Si elle est présente là
mais pas sur la broche de réception (RxD) du terminal, alors le câble est
mauvais (connexion flottante, câble cassé ou le câble n'est pas null modem).
S'il n'y a pas de tension du côté de l'ordinateur, le port série de
l'ordinateur est mort. Testez-le avec un programme de diagnostics ou
remplacez-le.
Si le port série est vivant, vous pouvez lui envoyer un fichier (avec les
contrôles de modem désactivés) et voyez si quelque chose y arrive. Pour
vérifier qu'un signal est transmis avec un voltmètre analogique, regardez
l'aiguille à -12 V quand la ligne est inactive. Commencez ensuite à envoyer
un fichier (ou lancez ). Vous devriez voir l'aiguille revenir à zéro et
bouger autour de 0 alors qu'elle mesure des moyennes de courte distance sur
le flux de données. Vous pouvez aussi le voir sur l'échelle de courant
alternatif à condition que votre voltmètre dispose d'une capacité pour
bloquer les tensions continues quand vous êtes sur l'échelle alternative.
S'il n'en a pas, alors le -12 V continu en inactif donnera une lecture
alternative erronée. Sans voltmètre, vous pourriez relier un bon périphérique
(comme un autre terminal ou un modem externe) au port série et voir s'il
fonctionne correctement.
17.10 Surveillance et diagnostics du port série
Quelques programmes Linux surveilleront les lignes de contrôle du modem et
indiqueront si elles sont positives (1) ou négatives (0).
- statserial (dans la distribution Debian)
- serialmon (ne surveille pas RTS, CTS, DSR mais indique les autres
fonctions)
- modemstat (ne fonctionne que sur les consoles PC Linux. Fonctionnera en
concordance avec la ligne de commande)
Vous les avez peut-être déjà. Sinon, allez à
logiciels série. En
les utilisant, gardez à l'esprit que ce que vous voyez est l'état des lignes
sur l'ordinateur hôte. La situation sur le terminal sera différente puisque
certains fils sont souvent manquants des câbles alors que d'autres fils se
croisent. En juin 1998, je ne connais aucun programme de diagnostic sous
Linux pour le port série.
17.11 Mode local
En mode local, le terminal se déconnecte de l'ordinateur et se comporte comme
une machine à écrire (sauf qu'il n'imprime pas sur papier mais sur l'écran).
En revenant en ligne, le terminal se reconnecte à l'ordinateur vous
permettant de reprendre les activités au point où vous vous étiez arrêté
quand vous êtes passé en mode "local". Ceci est utile à la fois pour tester
le terminal et à des fins éducatives. En mode local vous pouvez taper des
séquences d'échappement (en commençant par la touche ESC) et observer ce
qu'elles font. Si le terminal ne fonctionne pas correctement en mode local,
il est quasiment certain qu'il ne fonctionnera pas mieux quand il sera relié
à l'ordinateur. Si vous n'êtes pas vraiment sûr de ce que fait une séquence
d'échappement, vous pouvez l'essayer en mode local. Vous pouvez aussi
l'utiliser pour essayer un terminal qui est à vendre. Pour aller en mode
local vous devez d'abord entrer en mode de configuration et ensuite
sélectionner "local" dans un menu (ou presser une certaine touche). Voyez
aller dans le mode de configuration.
17.12 Équipement de test électrique pour le port série
Gadgets d'évasion etc.
Alors qu'un multimètre (utilisé comme voltmètre) peut être tout ce dont vous
avez besoin pour quelques terminaux, un équipement de test spécial simple a
été fait pour tester les lignes des ports série. Certains s'appellent
"évasion ..." (breakout, NdT) où évasion veut dire sortir des conducteurs
d'un câble. Ces gadgets possèdent quelques connecteurs et s'insèrent dans le
câble série. Certains possèdent des points de tests pour y relier un
voltmètre. Certains possèdent des LEDs qui s'allument quand certaines lignes
de contrôle sont activées (allumées). D'autres encore possèdent des cavaliers
pour que vous puissiez relier n'importe quel fil à n'importe quel fil.
Certains possèdent des interrupteurs.
Radio Shack vend (en 1998), un "expert de RS-232" ou "testeur de ligne
RS-232" qui vérifie TD, RD, CD, RTS, CTS, DTR, et DSR. Une lumière verte veut
dire "allumé" (+12 V) alors que rouge veut dire "éteint" (-12 V). Ils vendent
aussi une "boîte de cavaliers série RS-232" qui permet de relier les broches
de la manière dont vous le souhaitez.
Mesurer des tensions
N'importe quel voltmètre ou multimètre, même les moins chers qu'on vend pour
environ 60 F, devraient fonctionner correctement. Essayer d'utiliser d'autres
méthodes pour tester la tension est compliqué. N'utilisez pas de diode
électroluminescente (LED) sauf si on lui adjoint une résistance en série pour
réduire la tension sur la diode. On utilise une résistance de 470 ohms pour
une diode de 20 mA (mais toutes les diodes ne font pas 20 mA). La diode ne
s'allumera que pour une certaine polarité pour que vous puissiez tester les
tensions positives ou négatives. Personne ne fait un tel gadget pour tester
automatiquement les circuits ?? Les sondes logiques peuvent être endommagées
si vous essayez de les utiliser puisque les tensions TTL pour lesquelles
elles sont faites ne sont que de 5 volts. Tenter d'utiliser une ampoule
incandescente de 12 V n'est pas une bonne idée. Cela ne vous montrera pas la
polarité et à cause du courant de sortie limité de l'UART, l'ampoule ne
s'allumera probablement pas.
Pour mesurer la tension sur un connecteur femelle, vous pouvez enfoncer un
trombone déplié dans l'ouverture désirée. Le diamètre du trombone ne doit pas
être plus grand que les broches afin de ne pas abîmer le contact. Mettez une
pince croco (ou autre) sur le trombone pour vous connecter.
Goûter la tension
En dernier recours, si vous n'avez pas d'équipement de test et voulez risquer
d'être choqué (ou même électrocuté) vous pouvez toujours goûter à la tension.
Avant de toucher à l'une des broches de test avec votre langue, testez-les
pour vous assurez qu'il n'y a pas de haute tension sur elles. Prenez les deux
broches (à la fois) dans une main pour voir si ça vous fait de l'effet. Si
ce test vous choque, vous n'aurez sûrement pas envie d'utiliser votre langue.
Pour tester du 12 V, léchez un doigt et tenez-y une broche de test. Mettez
l'autre broche de test sur votre langue. Si la broche sur votre langue est
positive, il y aura un goût reconnaissable. Vous pouvez d'abord essayer ceci
avec des piles 4,5 V pour savoir quel goût ça aura.
[22 février 2002, JDNet]
|