Foire Aux Questions

Platine AX3000 TCP/IP
sous Unix/Linux
Dernière mise à jour : 13/01/03

 

TELECHARGEMENT DE FIRMWARE

Le protocole  TFTP sous Unix/Linux  
Le protocole BOOTP sous Unix/Linux

GESTION D'UN PERIPHERIQUE CONNECTE A LA PLATINE

Imprimantes : protocole lpd ou tty ?
Connecter un terminal série sur AUX1 ou AUX2 ?
Comment gérer un périphérique par séquences escape ?
Comment affecter un tty fixe à un port auxiliaire ou à une session écran ?

Que sont printd et rtty ?

DIVERS

Comment un applicatif peut identifier une Platine TCP/IP ?
Comment configurer une Platine TCP/IP à distance ?
Comment gérer le clavier en scancode  ?

PROBLEMES ET SOLUTIONS

L'affichage de la Platine est lent ou saccadé
L'imprimante LPD ne marche pas
Les imprimantes LPD sous AIX se désactivent lors de certaines impressions
Sous SCO, des impressions LPD sont tronquées
Les imprimantes gérées en tty ne marchent pas au boot de la machine SCO

 

Rappel : Si vous n'avez pas trouvé de réponse à vos questions ici, les FAQ générales peuvent peut être y répondre !

  Retour page support  

 


TELECHARGEMENT DE FIRMWARE

Protocole TFTP sous Unix/Linux

Le protocole tftp est disponible en standard sous Unix. Par contre ce protocole n'est pas activé par défaut.

Déclaration du protocole tftp

La déclaration du protocole tftp est faîte dans le fichier /etc/inetd.conf. Pour activer ce protocole enlevez le # au début de la ligne dédiée au tftp. Pour information, voici des exmples de lignes tftp selon les principaux systèmes d'exploitation :

SCO OpenServer
tftp dgram udp wait nouser /etc/tftpd tftpd

AIX 4.x
tftp dgram udp nowait nobody /usr/sbin/tftpd tftpd -n

LINUX
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /

UNIXWARE 7
tftp dgram udp wait nobody /usr/sbin/in.tftpd in.tftpd

Note : il est préférable d'activer le protocole tftp en mode 'public' (pas de contrôle sur le nom utilisateur ou sur le répertoire de stockage des fichiers firmware).

Activation du protocole tftp

Pour prendre en compte ces modifications, rebootez la machine Unix ou envoyez le signal 1 au process inetd (kill -1 pid).

haut


Le protocole bootp sous Unix/Linux

Le protocole bootp est un protocole permettant de récupérer des renseignements nécessaires au téléchargement des firmwares par tftp (nom du fichier et différentes adresses IP). Ce protocole est livré en standard sous Unix ce qui n'est pas le cas d'autres systèmes d'exploitation (Windows NT par exemple).

Activation du protocole bootp : éditez le fichier /etc/inetd.conf. Enlevez le # dans la ligne dédiée au bootp. Pour prendre en compte ces modifications, rebootez la machine Unix ou envoyez le signal 1 au process inetd (kill -1 pid).

Paramétrage de l'environnement bootp : le protocole bootp se base sur un fichier paramètre : /etc/bootptab. Ce fichier décrit d'une part le réseau et les périphériques TCP/IP susceptibles d'émettre des requêtes bootp et d'autre part donne pour ces périphériques les renseignements nécessaires au tftp (le nom du fichier firmware et les différentes adresses IP). Exemple de fichier /etc/bootptab (la première ligne décrit le réseau, la seconde la Platine) :
default:hn:df=/etc/btdump:ht=ethernet:sa=192.168.1.252:to=auto:
axel1:tc=default:ht=ethernet:ha=00A034000001:ip=192.168.1.242:bf=/tmp/axel:

Note : voici la signification des principales directives :
- sa : adresse IP du serveur tftp
- ha : adresse Ethernet de la Platine
- ip : adresse IP de la Platine
- bf : nom du fichier à télécharger

Lancement de la requête bootp : la requête bootp peut être lancée depuis le set-up de la Platine ou par une commande rsh (ou rcmd pour SCO UNIX) :
rsh axname ax_download

Après une réponse à la requête bootp, la Platine télécharge le fichier firmware par tftp. Cliquez ici pour plus d'information sur le protocole tftp.

haut


GESTION D'UN PERIPHERIQUE CONNECTE A LA PLATINE

Imprimantes : protocoles lpd ou tty ?

Les imprimantes connectées à une Platine peuvent être gérées au travers de deux protocoles :
- lpd
- tty

Les tableaux suivants donnent les caractéristiques d'installation ou d'utilisation de ces deux protocoles. Faîtes votre choix selon vos impératifs d'utilisation.

Protocole LPD :

POUR

CONTRE
- Ce protocole est fourni en standard sur tous les principaux systèmes d'exploitation (Unix, Windows NT, AS/400...)
- Le port imprimante n'est verrouillé que durant l'impression. Cela signifie que plusieurs systèmes d'exploitation peuvent imprimer sur le même port d'une Platine.
- L'imprimante est intégrée au mécanisme de spooler du système d'exploitation.
- Sous Unix, une imprimante LPD n'est accédée par que par son nom de spooler. Aucun tty n'est associé. Cela peut pénaliser les applicatifs qui accèdent aux imprimantes par le tty.
- Certains Unix ne permettent pas d'associer de driver à une imprimante LPD : cela signifie que l'applicatif doit générer un fichier adapté au modèle de l'imprimante utilisée.

Protocole TTY :

POUR

CONTRE
- Un port auxiliaire géré avec le service tty est vu comme un port local Unix (comme une carte multivoie)
- Une imprimante peut donc être accédée par son nom de spooler ou par son tty.
- Ce protocole, développé par Axel, est un logiciel additionnel. Il doit être installé et configuré sur la machine unix.
- Un port auxiliaire géré avec le service tty est ne peut être accédé que par une seule machine Unix

haut


Connecter un terminal série sur AUX1 ou AUX2

La Platine Axel offre deux port série bi-directionnels sur lequel peuvent être connectés des terminaux série.

Positionnez tout d'abord le mode "bi-directionnel" et les paramètres de communication (vitesse, contrôle de flux...) pour chaque port utilisé. Associez le service "telnet" en renseignant les paramètres demandés (notamment le nom du serveur distant).

Le terminal série est immédiatement actif (affichage du login) sans aucune modification Unix. Un pseudo-terminal est affecté de manière dynamique.

Note : pour obtenir un pseudo-terminal fixe, il est possible d'utiliser le service tty plutôt que le service telnet.

haut


Gestion d'un périphérique par séquence escape

Divers périphériques (imprimante, lecteur de carte...) peuvent être connectés sur les ports auxiliaires de la Platine

Pour gérer un périphérique par séquence escape, le set-up de la Platine doit être modifié. Il est nécessaire de positionner le paramètre "port auxiliaire par défaut" (valeurs possibles AUX1, AUX2 ou PARALLELE).

Emettre vers le périphérique (imprimante par exemple)

Au niveau système d'exploitation, l'émission de données se fait par l'intermédiaire de séquences escape. Une pour débuter l'impression, une autre pour l'arrêter :

<seq deb><data><seq fin>

Ces séquences diffèrent selon l'émulation :
 Emulation  Séquence de début  Séquence de fin
 ANSI et VT220  Esc [ 5 i Esc [ 4 i
 WYSE  Esc d #  14h

Note : il est important que durant l'émission de données, l'utilisateur ne touche pas au clavier de la Platine. Ainsi pour garantir un bon fonctionnement, il est possible de bloquer et débloquer le clavier par séquence escape (Esc [ ? 2 h et Esc [ 2 l).

Exemple de script Unix pour imprimer un fichier en émulation ANSI :
echo "\033[2h\033[5i\c" # blocage clavier et début impression
cat $1
echo "\014\033[4i\033[2l\c" # saut de page, fin impression et déblocage clavier

Recevoir du périphérique (lecteur de carte par exemple)

En plus de la fonction d'émission, il est possible de lire des données venant du périphérique. Cette fonction n'est disponible que pour les ports auxiliaires série (AUX1 et AUX2). Il est nécessaire pour cela de modifier le set-up de la Platine en positionnant d'une part le port auxiliaire par défaut et d'autre part le mode de fonctionnement de ce port à "bi-directionnel".

A partir de ce moment, les données venant de périphérique sont mises dans le buffer clavier de la session écran active. Il suffit donc à l'applicatif d'une simple lecture clavier pour récupérer les données.

haut


Comment affecter un tty fixe à un port auxiliaire ou à une session écran ?

Le service tty permet d'associer une ressource de la Platine (session écran ou port auxiliaire) à un pseudo-terminal Unix (ptty). Il est ainsi possible de gérer cette ressource de la même manière qu'une voie d'une carte multivoie série.

Set-up de la Platine

Entrez dans le set-up de la Platine et associez le service 'tty' aux ports auxiliaires ou aux sessions écran. Pour chaque service tty associé, il est nécessaire de préciser le nom du serveur Unix (c'est la Platine qui ouvre les connexions tty sur les serveurs distants).

Installation sous Unix

Copiez les fichiers suivants sur Unix :
 Fichier  répertoire de destination  signification
 axttyd  /etc  démon serveur
 axfile  /etc  fichier d'association
 S91axel  répertoire de boot  lancement au boot de Unix
 S91axtty  répertoire de boot  lancement au boot de Linux

Configuration au niveau Unix/Linux

Le démon axttyd qui gère les connections tty des Platine utilise un fichier paramètre qui liste les associations "ressource AX3000 - ptty Unix". Exemple de fichier :
#AX3000   
axel1
axel1
axel2
axel2
Ressource    
aux1
aux2
sess1
sess2
Maître       
/dev/ptyp12
/dev/ptmx
/dev/ptyp1
/dev/ptyp2
Esclave
/dev/ttyp12
/dev/pts/13
/dev/ttyp1
/dev/ttyp2

Chaque ligne de ce fichier décrit une association. Une association est composée de 4 paramètres :

Lancement du démon axttyd

Utilisez la commande suivante pour lancer axttyd :
# /etc/axttyd &

Note : si un lecteur de carte sésame vital est utilisé, lancez le démon avec l'option '-b'

Utilisation

Les ressources de la Platine sont accédées par la partie esclave du pseudo-terminal : /dev/ttypx.

Note : pour chaque session écran associée au service tty, une ligne de ce type doit être ajoutée à /etc/inittab :
px:234:respawn:/etc/getty ttypx m

haut


Que sont printd et rtty ?

printd est un protocole dédié à la gestion d'imprimantes et rtty à la gestion de périphériques bi-directionnels. Ces protocoles sont encore disponibles aujourd'hui pour des raisons de compatibilité. Mais nous conseillons vivement de leur préférer les protocoles lpd ou tty.

haut


DIVERS

Comment un applicatif peut identifier une Platine TCP/IP ?

Dans un réseau d'entreprise, il est important pour un applicatif de pouvoir identifier d'une part chacun des terminaux et d'autre part chaque session d'un terminal. Les Platines Ethernet TCP/IP AXEL offrent trois méthodes d'identification :

Une fois la Platine identifiée il peut être nécessaire d'identifier la session. Deux méthodes sont disponibles  :
- numéro de session : à réception de la séquence escape "Esc [ < 5a", la Platine renvoie le numéro de session courante suivie de <RC>.
- message de retour : le set-up de la Platine permet d'attribuer un message de retour (answer back message) à chaque session. La séquence ANSI "Esc [ < 4a" ou le caractère de contrôle VT220 "Ctrl-E" permet de récupérer ce message.

haut


Set-up à distance

Les paramètres de fonctionnement de la Platine peuvent être modifiés soit par le set-up interactif ou soit par le set-up à distance.

Les fonctions de set-up à distance sont activées par une commande rsh (ou rcmd pour SCO UNIX) :

Configuration de la Platine

La mise à jour des paramètres set-up de la Platine s'effectue par la commande suivante :
# rsh axname setup_send < file

Dans cette commande, axname est le nom de la Platine (référencé dans /etc/hosts), setup_send est le mot clé de mise à jour set-up et file est le fichier dans lequel sont stockés les paramètres set-up.

Note : le fichier file a été précédemment créé soit par un éditeur de texte soit par une commande de récupération de set-up (voir ci-dessous).

Après les modifications set-up, la Platine doit être soit éteint et rallumée soit réinitialisée par la commande suivante :
# rsh axname ax_reboot

Récupération d'une configuration

Les paramètres set-up d'une Platine peuvent être récupérés par la commande suivante :
# rsh axname setup_get > file

Dans cette commande, axname est le nom de la Platine (référencé dans /etc/hosts), setup_get est le mot clé de récupération set-up et file est le fichier set-up généré.

haut


Gestion Scancode

Le système Unix SCO depuis la version 3.2.4 supporte la connexion de terminaux en gestion clavier scancode.

Pour gérer la gestion clavier ASCII-scancode, la description terminfo de l'émulation utilisée doit contenir les directives 'smsc' et 'rmsc' intégrant les séquences escape Axel gestion clavier (Esc [ < Ps A).

Voici les étapes pour intégrer 'smsc' et 'rmsc' au fichier terminfo ansi :

  1. Créez un fichier source terminfo issu de l'émulation ansi au moyen des commandes suivantes :
    # cd /usr/lib/terminfo
    # infocmp ansi > ansi.src

  2. Ajoutez la ligne suivante à ce fichier (ni au début, ni à la fin du fichier) :
    smsc=\E[<0A, rmsc=\E[<1A, xonc=e, xoffc=g,

  3. Lancez ensuite la commande 'tic ansi' pour recompiler le fichier source.

Le fichier terminfo étant modifié, il est nécessaire de créer deux scripts pour changer la gestion clavier

Script de passage en scancode :
tput smsc ; stty isscancode xscancode
mapkey /usr/lib/keyboard/ps.ibm.fra

Script de passage en ASCII :
tput rmsc ; stty -isscancode

Note : le passage en gestion scancode peut nécessiter la resynchronisation des leds du clavier. Une séquence escape ANSI est disponible : CSI < Pn1;Pn2;Pn3 O (où Pn1, Pn2 et Pn3 représentent respectivement l'état des leds NUM, CAPS et SCROLL). Les valeurs possibles de ces trois paramètres sont :
- 0 : l'état de la led n'est pas modifié
- 1 : allume la led
- 2 : éteint la led

haut


PROBLEMES ET SOLUTIONS

L'affichage de la Platine est lent ou saccadé

La communication réseau est certainement à l'origine d'un tel problème. La Platine rejette des trames ce qui provoque des phénomènes de lenteurs ou de saccade. Les origines probables sont :

Note : le set-up de la Platine offre un environnement de statistiques (menu [Diagnostic]-[Statistiques]-[Ethernet]) permettant le diagnostic du problème.

haut


L'imprimante LPD ne marche pas

Premières vérifications :

Testez l'imprimante en local

Entrez dans le set-up de la Platine et sélectionnez les menus [Configuration]-[Ports aux.]-[xxx]. Dans la boîte de dialogue affichée, sélectionnez le bouton [TEST]. Une bannière de test devrait être imprimée.

Si ce test d'impression locale ne fonctionne pas le problème est local entre la Platine et l'imprimante. Sinon le problème vient du paramétrage du service réseau de la Platine ou du paramétrage du système d'exploitation.

Dernières vérifications

haut


Problème d'impression LPD sur AIX

Certaines impressions peuvent ne pas se terminer et désactiver l'imprimante au niveau AIX. Ce dysfonctionnement est dû à un timer insuffisant au niveau AIX.

Pour corriger ce problème il est nécessaire d'augmenter ce timer (1 minute par défaut).

Pour cela, éditez le fichier /etc/qconfig et recherchez l'entrée dédiée à la Platine. Modifiez la ligne associée pour ajouter le paramètre '-T xx' (où xx est un nombre de minutes) au process rembak. Exemple :
axel:
/usr/lib/lpd/rembak -T 5

haut


Impression LPD tronquée sur SCO

Les grandes impressions ne sont pas imprimées en entier sur Unix SCO. Ce dysfonctionnement est dû à un paramétrage par défaut de SCO qui interdit des impressions supérieures à 1 Méga Octets.

Pour résoudre ce problème, il est nécessaire de modifier le fichier /etc/printcap qui décrit les imprimantes LPD sous SCO.

Dans ce fichier, ajoutez la directive mx#0 à la description de l'imprimante pour désactiver cette vérification de taille. Par exemple :
prnaxel:\
 :lp=:rm=ax3002:ex:rp=prnaxel:sd=/usr/spool/lpd/prnaxel:mx#0:

haut


Les imprimantes gérées en tty ne marchent pas au boot du SCO

Un dysfonctionnement des imprimantes gérées par le service tty a été observé dans les conditions suivantes :

la machine SCO est éteinte par la commande shutdown tous les soirs alors que les Platines hébergeant les imprimantes restent sous tension.

Résultat : lors de la prochaine mise sous tension de la machine SCO les imprimantes ne fonctionnent plus.

Ceci est dû au fait que la commande shutdown "oublie" de fermer les connexions TCP/IP en cours (ceci n'arrive pas avec la commande haltsys). Deux solutions sont possibles pour résoudre ce problème :

haut