Dumbbell's home

Connexion série entre un PC et une Sun Ultra

Quand on n'a pas d'adaptateur 13W3/VGA pour relier un écran de PC, c'est très pratique de pouvoir utiliser la console série que proposent les Sun par défaut. En effet, quand une Sun ne détecte pas de clavier, elle se considère headless, c'est-à-dire qu'elle comprend qu'elle ne peut pas être utilisée directement : elle va choisir un port série au lieu du clavier/écran pour ses entrées/sorties.

Le câble null-modem

Le premier problème se pose avec la connectique. La plupart des PC possèdent un ou deux ports séries au format DB9 mâle. Côté Sun, c'est plutôt varié. Selon le modèle, on trouvera des prises DB9, DB25 ou encore RJ45. Sur les Ultra 30 et 60, ce sont deux prises DB25 femelles, appellées Port A et Port B. Le problème de ces prises est la difficulté de trouver un câble null-modem approprié dans le commerce. C'est pourquoi, bien souvent, on doit sortir le fer à souder et le multimètre pour fabriquer son propre câble.

Numérotation des pines

Sur les schémas présentés ici, ce sont les faces extérieures des connecteurs que vous voyez. Donc la numérotation correspond à cette vue externe : côté soudure, elle est inversée.

Voici le schéma de câblage à respecter pour relier un PC à une Sun Ultra 60 :

   DB9             DB25
(femelle)         (mâle)
    2  ------------  2
    3  ------------  3
    5  ------------  7

Le schéma ci-dessus décrit un câble simple qui ne permet pas les fonctions avancées comme le contrôle de flux. Si vous voulez fabriquer un câble complet, il vous faut utiliser ce schéma :

   DB9             DB25
(femelle)         (mâle)
   1,6 ------------ 20
    2  ------------  2
    3  ------------  3
    4  ------------ 6,8
    5  ------------  7
    7  ------------  5
    8  ------------  4
    9  ------------ 22

Source : Zytrax.com, RS232 Cables, Wiring and Pinouts

La configuration des ports série sur l'Ultra

La Sun Ultra supporte les 2 protocoles série RS232 et RS423. Par défaut, les 2 ports sont configurés pour utiliser le second, mais c'est le premier, RS232, qui nous intéresse. Le changement se fait grâce à 2 jumpers sur la carte-mère : J2604 (pour le port A) et J2605 (pour le port B). Ils sont situés à droite des emplacements mémoire, avec d'autres jumpers. Pour les régler sur RS232, il faut placer le jumper sur les pins 1 et 2 (l'emplacement par défaut étant 2 et 3). Cette manipulation est uniquement indispensable sur le jumper J2604, puisque la suite exige d'utiliser le port A.

Pour trouver l'emplacement de ces jumpers, soit vous consultez la documentation de la machine (disponible sur Internet), soit vous partez à l'aventure sur la carte mère. Pour information, voici une photo des 2 jumpers sur une Ultra 60 :

Sur cette photo, les 2 jumpers sont réglés sur RS232, puisque les jumpers sont sur les pins 1 et 2 (on repère la pin 1 grâce à l'étoile sur le PCB de la carte mère). Pour situer l'ensemble, on distingue les emplacements mémoire au dessus des jumpers (à droite quand la machine est debout) et l'objet blanc, flou, au premier plan correspond aux fixations pour les CPUs.

Le réglage du terminal

Côté PC, nous allons voir plusieurs applications permettant la connexion série vers la Sun, avec les réglages à choisir.

Sous Microsoft Windows

Microsoft Windows est livré avec l'application HyperTerminal qui convient très bien à ce qu'on veut faire. Vous la trouverez dans le menu Accessoires du Menu Démarrer. Au lancement, il vous proposera de créer une nouvelle connexion qui sera sauvegardée à la fermeture. Par la suite, cette connexion sera directement accessible par le sous-menu HyperTerminal, présent au même endroit que l'icône de l'application. Vous consultez la capture d'écran ci-dessous pour voir l'emplacement de ces 2 éléments dans le Menu Démarrer :

Démarrer -> Accessoires -> Communications

La création de la connexion se fait en 2 étapes :

  1. nommer la connexion et choisir le port série du PC à utiliser : COM1 pour le premier port série, COM2 pour le second.

    Se connecter en utilisant : COM1
  2. paramétrer la connexion : une vitesse de 9600 bit/s, 8 bits de données et aucune parité. Pour le contrôle de flux, tout dépend de votre câble : aucun contrôle pour le câble simple, contrôle matériel pour le câble complet.

    Bits par seconde : 9600 - Bits de données : 8 - Parité : Aucun - Contrôle de flux : Aucun

Une fois le paramétrage validé, le terminal est ouvert. A présent, vous pouvez passer à la partie Démarrer la machine et se connecter.

Sous Linux

Je pense que la plupart des distributions sont livrées avec minicom. La configuration est assez simple. Il suffit de le lancer avec l'option -s pour entrer dans la configuration :

root# minicom -s

Ensuite, il faut entrer dans le menu Serial port setup pour y entrer les réglages suivants (pour une Ultra 30 ou 60) :

+-----------------------------------------------------------------------+
| A -    Serial Device      : /dev/ttyS0                                |
| B - Lockfile Location     : /var/spool/lock                           |
| C -   Callin Program      :                                           |
| D -  Callout Program      :                                           |
| E -    Bps/Par/Bits       : 9600 8N1                                  |
| F - Hardware Flow Control : No                                        |
| G - Software Flow Control : No                                        |
|                                                                       |
|    Change which setting?                                              |
+-----------------------------------------------------------------------+
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+

Résumons les paramètres importants :

Serial Device
Correspond au port série à utiliser. Le premier port série est /dev/ttyS0, le second est /dev/ttyS1.
Bps/Par/Bits
Paramètre le protocole. Ici, le bus a une vitesse de 9600 bauds, des octets de 8 bits et aucune parité. Si le paramétrage est différent, les 2 machines ne se comprendront pas.
Hardware Flow Control & Software Flow Control
Règle le contrôle de flux de la connexion. Il est important que les deux méthodes soient désactivées (No) si vous avez choisi le câble null-modem simple. Avec un câble complet, vous pouvez activer le contrôle de flux matériel (Hardware Flow Control : Yes).

Une fois les réglages effectués, il suffit de sauvegarder la configuration (Save setup as dfl par exemple), puis de choisir Exit pour ouvrir la connexion. Quand celle-ci est prête, minicom affiche un écran tel que celui-ci :

Welcome to minicom 2.1
                                                                                
OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n              
Compiled on Dec 15 2004, 23:08:29.                                              
                                                                                
Press CTRL-A Z for help on special keys

A présent, vous pouvez passer à la partie Démarrer la machine et se connecter.

Sous FreeBSD

On peut aussi utiliser minicom qui est disponible dans les ports (comms/minicom) mais le système est fournit avec la commande tip qui est tout à fait adaptée. Elle utilise le fichier de configuration /etc/remote (voir remote(5)), mais nul besoin de le modifier, il est déjà prêt pour le type de connexion qu'on veut ouvrir.

Grâce à ce fichier, on peut utiliser le nommage DOS des ports séries : com1 pour le premier port, com2 pour le second.

Pour ouvrir la connexion, il suffit donc de lancer la commande comme ceci (pour utiliser le premier port) :

root# tip com1

A présent, vous pouvez passer à la partie Démarrer la machine et se connecter.

Démarrer la machine et se connecter

Réinitialiser l'OpenBoot

Si vous pensez que la configuration de l'OpenBoot a été modifiée, vous pouvez maintenir enfoncées les touches Stop et N, puis allumer la machine. Gardez les touches appuyées une vingtaine de seconde pour être sûr, puis éteignez là.

Comme précisé un peu plus tôt, pour que l'Ultra utilise le port série, il y a plusieurs conditions (dans le cas d'une configuration de l'OpenBoot par défaut) :

  1. connecter le câble null-modem au port A côté Sun (aucune restriction côté PC)
  2. débrancher le clavier de l'Ultra

Quand tout est prêt, vous pouvez démarrer la Sun. Si tout se déroule bien, au bout de quelques secondes, vous devriez voir s'afficher le boot de la machine dans votre terminal minicom ou tip :

Sun Ultra 60 UPA/PCI (2 X UltraSPARC-II 450MHz), No Keyboard
OpenBoot 3.17, 1024 MB memory installed, Serial #11772305.
Ethernet address 8:0:20:b3:a1:91, Host ID: 80b3a191. 



Boot device: disk  File and args:                                     
SunOS Release 5.10 Version s10_72 64-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.

Sous Windows, HyperTerminal affichera une fenêtre telle que celle-ci :

Sun Ultra 60 UPA/PCI (UltraSPARC-II 450MHz), No Keyboard [...]