Il arrive que l’administrateur d’un parc de Mac se trouve confronté à un problème qui peut paraître insoluble. Dialoguer avec un matériel via une interface série. Par exemple une baie de stockage de type Promise VTrack, celles qui remplacent les Xserve Raid dans le catalogue Apple.
Le câble
Le problème est à diviser en deux parties. Tout d’abord, il faut vous procurer un câble adaptateur USB ↔ Série. Vous en trouverez pléthore en cherchant sur le Web.
Le pilote
Il existe un pilote générique et OpenSource adapté aux Mac1.
Il s’agit en fait d’une extension du kernel qu’il est préférable de compiler vous même pour une meilleure intégration. Il faut bien sûr que les outils de développement soient installés sur votre machine.
Récupération des sources
Vous pouvez récupérer les sources que propose SourceForge :
|
|
Si vous utilisez SnowLeopard, vous ne pourrez pas les compiler. Choisissez de préférence, et dans tous les cas les sources
depuis un autre dépôt, gérez lui avec git :
|
|
Dans les deux cas, vous vous retrouvez avec un répertoire osx-pl2303
Lancement de XCode
Dans ce répertoire se trouve un fichier osx-pl2303.xcodeproj
. Ouvrez Xcode avec ce fichier en paramètre : open osx-pl2303.xcodeproj
dans le Terminal par exemple.
Choix de la cible
Une fois Xcode ouvert, choisissez la cible pour laquelle vous voulez compiler, dans le menu en haut à gauche de la fenêtre.
Compilation
Pour lancer la compilation, cliquez sur l’icône Build (le marteau). Si la compilation se passe bien, vous avez maintenant une extension du kernel prête à être installée.
Installation de l’extension du kernel
Dans le répertoire osx-pl2303
vous trouverez un répertoire build
dans lequel réside un autre répertoire au nom de votre cible (Release-10.6-universal
dans le cas d’un 10.6). Enfin dans ce répertoire, l’extension elle-même osx-pl2303.kext
.
Il faut la copier dans le répertoire des extensions de kernel /System/Library/Extensions
:
|
|
Charger l’extension dans le kernel
Vous pouvez charger l’extension avec la commande kextload
ou en rebootant votre machine.
|
|
Un logiciel de communication
Il est nécessaire d’avoir un logiciel de communication qui va être capable d’exploiter ce pilote. Personnellement, j’aime bien minicom qui travaille dans le Terminal. Vous pouvez opter pour le bon vieux Zterm2.
Installation de minicom via MacPort
J’ai choisi minicom et je vais l’installer en passant par le gestionnaire de paquet MacPort3. Il faut bien sûr que MacPort soit installé avant sur votre système.
Mettre à jour MacPort et les paquets déjà installés
Pour éviter les surprises, il est nécessaire de mettre à jour MacPort lui-même et les paquets déjà installés.
|
|
Installation de minicom
Une fois les mises à jour effectuées, il faut installer minicom et ses dépendances :
|
|
Utilisation de minicom
Après le redémarrage de votre machine ou le chargement de l’extension, une nouvelle entrée dans /dev
est apparue. Il s’agit de tty.PL2303-00002006
. Pour être utilisable plus facilement, il faut faire un lien avec un nom plus évocateur :
|
|
Lancement de minicom
Avec l’option -s
, minicom vous permet de le configurer.
|
|
En lançant avec l’option -c on obtient de la couleur… Et en donnant le chemin vers le pilote, on obtient la connexion vers celui-ci.
Connexion avec une baie promise
Pour se connecter à une baie de disque Promise, il faut connecter d’un côté le câble fourni avec la baie, muni d’un côté d’une prise RJ11 et de l’autre côté d’une prise DB9. À cette prise DB9 il faut ajouter l’adapteur Série ↔ USB. Si vous avez correctement configuré minicom, vous devriez obtenir ceci :
Il est possible d’envoyer une commande BREAK au démarrage de la baie (CTRL-C) pour obtenir le prompt de PBL_RAM pour la configuration minimale (adresse IP par exemple) :
Mise à jour
Depuis quelque temps maintenant, nous somme passé à Mac OS X 10.7 (Lion). Bien que je n’aime pas beaucoup ce version de OSX je sius obligé de l’utiliser, c’est celle qui est installé par défaut sur mon MacBookAir 11″ (une machine fantastique).
Il a donc fallu que j’utilise une extension de kernel spécifique à cette version. Heureusement martijn à fait le travail de portage sous Lion. Vous pouvez récupérer les sources ou bien une version compilée, prête à être installée.
Une fois l’extension compilée le reste de l’installation reste la même.
Conclusion
Vous êtes maintenant capable de vous connecter à des périphériques via une liaison série comme avec un PC ayant ce type de connecteur.
Il est possible de ce passer de minicom, avec Zterm comme nous l’avons vu, mais également avec screen en l’invoquant avec comme paramètre le nom du périphérique série ;
|
|