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

13. Résoudre les problèmes

13.1 Le message ``line NNN of inittab invalid'' s'affiche en permanence

Assurez-vous d'utiliser une syntaxe correcte pour votre version de init. En effet, chaque programme init ou presque a une syntaxe spécifique pour son fichier de configuration /etc/inittab. De même, vérifiez les paramètres que vous passez à votre getty.

13.2 Le message ``/dev/cuaN: Device or resource busy'' apparaît quand j'essaie d'appeler

Ce problème peut survenir quand les signaux DCD ou DTR ne sont pas positionnés correctement. DCD doit être levé seulement lors d'une connexion (ie quelqu'un est déjà connecté), et non pas quand getty scrute le port. Assurez-vous donc que le modem est configuré pour lever le signal DCD seulement en connexion. DTR doit être positionné dès qu'un processus utilise ou scrute la ligne, par exemple getty, kermit, ou n'importe quel autre programme de communications.

Une autre cause possible est que l'IRQ assignée au port série est déjà prise par un autre périphérique. En effet, lors de son initialisation, chaque périphérique demande l'autorisation à Linux d'utiliser l'IRQ sélectionnée. Linux garde une trace de l'affectation des interruptions, et si une IRQ est en cours d'utilisation, votre périphérique ne pourra pas s'initialiser. Celui-ci n'a aucun moyen de vous prévenir, excepté par le message ``device-busy'' lorsque vous tentez de l'utilisez. Vérifiez alors les interruptions de toutes vos cartes (série, ethernet, SCSI, etc.) et les conflits éventuels.

13.3 Le message ``Id SN respawning too fast: disabled for 5 minutes'' s'affiche périodiquement

Assurez-vous que votre modem est correctement configuré. Examinez particulièrement les registres E et Q. Ce problème peut apparaître lorque getty discute avec le modem.

Vérifiez également les paramètres que vous passez à getty dans /etc/inittab. Une syntaxe ou un nom de périphérique erroné peut causer de sérieux problèmes.

La syntaxe de /etc/gettydefs peut être vérifiée par la commande suivante :

linux# getty -c /etc/gettydefs

Ce problème arrive quelquefois lors de l'échec de l'initialisation de uugetty. Reportez-vous à la section getty ou uugetty ne fonctionne toujours pas.

13.4 Mes périphériques série sont lents ou unidirectionnels

La cause la plus probable est un conflit d'IRQ. Assurez-vous qu'aucune IRQ n'est partagée. Vérifiez les cavaliers sur les différentes cartes (série, ethernet, SCSI, etc.) ainsi que les paramètres passés à setserial pour tous les périphériques série. Les conflits peuvent être localisés avec /proc/ioports et /proc/interrupts.

13.5 Mon modem ne répond plus après le raccrochage, ou uugetty ne se relance plus automatiquement

Cela peut se produire si le modem n'est pas réinitialisé lorque le signal DTR retombe. J'ai vu les LED RD et SD devenir folles quand ça m'est arrivé. Il faut alors réinitialiser le modem. La plupart des modems compatibles Hayes ont besoin de la commande &D3, mais sur mon USR Courier, je dois positionner &D2 et S13=1. Vérifiez dans la documentation de votre modem.

13.6 Un terminal est connecté à mon PC, mais il se bloque dès que j'ai entré mon nom d'utilisateur

  • Si vous utilisez getty, vous devez faire figurer CLOCAL dans l'entrée correspondante de /etc/gettydefs, et utiliser un câble null-modem complet. L'option CLOCAL indique à Linux d'ignorer les signaux de contrôle spécifiques aux modems :
    # Entree de terminal simple a 38400 bps
    DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
    # Entree de terminal simple a 19200 bps
    DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
    # Entree de terminal simple a 9600 bps
    DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
    
    Ensuite, tuez (kill) le processus getty afin qu'une nouvelle instance soit lancée avec les entrées mises à jour.
  • Si vous utilisez agetty, ajoutez l'option -L à la ligne correspondante de /etc/inittab, pour indiquer que vous désirez ignorer les signaux de contrôle spécifiques aux modems. Redémarrez init en tapant init q. L'entrée doit ressembler à :
    s1:345:respawn:/sbin/agetty -L 9600 ttyS1 vt100
    

13.7 Mon modem perd des données à haute vitesse

Si vous essayez de faire fonctionner votre modem à plus de 38400 bps, vous devez obligatoirement passer en UART 16550A. Reportez-vous à la section Qu'est-ce que les UART ?.

13.8 Au démarrage, Linux n'affiche pas les ports série tels que je les ai paramétrés

Effectivement, Linux ne cherche pas à détecter les IRQ au démarrage, mais seulement les ports série. Il suppose que vous utilisez les interruptions par défaut, car leur détection est hasardeuse et peut se révéler inexacte.

Ainsi, même si j'ai forcé ttyS2 à l'IRQ 5, je vois toujours :

Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A
quand Linux se lance. Il faut alors utiliser setserial pour indiquer les IRQ à Linux. Après le démarrage, vous pouvez vérifier le paramétrage effectif dans le fichier /proc/interrupts.

13.9 rz et/ou sz ne fonctionne pas quand j'appelle mon système Linux avec un modem

Si Linux recherche le périphérique /dev/modem quand vous tentez de transférer des fichiers, regardez les alias définis dans /etc/profile et /etc/csh.cshrc. Ils peuvent être nombreux suivant les distributions (notamment Slackware) et redéfinir les programmes zmodem. Enlevez ces alias, ou corrigez-les.

13.10 Mon écran imprime des caractères bizarres

Ce phénomène se produit sur les consoles virtuelles, et parfois sur les lignes série, quand elles reçoivent des données binaires. Il faut alors taper echo ^v^[c, c'est-à-dire :

linux% echo <ctrl>v<esc>c

13.11 getty ou uugetty ne fonctionne toujours pas

getty_ps fournit une option DEBUG que l'on peut spécifier dans le fichier de configuration /etc/conf.{uu}getty.ttySN. Éditez-le pour ajouter la ligne DEBUG=NNNNNN est une combinaison de valeurs octales définissant les informations que vous voulez obtenir :

D_OPT   001            configuration des options
D_DEF   002            traitement du fichier des valeurs par defaut
D_UTMP  004            traitement de utmp/wtmp
D_INIT  010            initialisation de la ligne (INIT)
D_GTAB  020            traitement du fichier gettytab
D_RUN   040            autres diagnostics lors de l'execution
D_RB    100            traitement du mode de rappel (ringback)
D_LOCK  200            traitement des fichiers verrou pour uugetty
D_SCH   400            traitement de la programmation horaire (schedule)
D_ALL   777            tout
Positionner DEBUG=010 est un bon point de départ.

Si syslogd tourne, ces informations apparaîtront dans les fichiers log. Dans le cas contraire, elles seront enregistrées dans /tmp/getty:ttySN pour getty, dans /tmp/uugetty:ttySN pour uugetty, et dans /var/adm/getty.log. Consultez ces fichiers pour déterminer ce qui se passe. Vous devrez très probablement ajuster certains paramètres dans le fichier de configuration, et reconfigurer votre modem.

Vous pouvez également essayer mgetty : certaines personnes ont plus de chance avec...


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