6135 links
  • GuiGui's Show
  • Home
  • Login
  • RSS Feed
  • ATOM Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
 
  • L'enfer de RS232
    À la base, je voulais juste me connecter au port console de deux switchs dont je n'ai pas les câbles RS232 d'origine : D-link DES-3526 et HP Procurve J4813A 2524.

    Commençons par le plus facile : le D-link. Le port console est de type RS232 DB9 femelle. Que nous dit la doc' (http://www.dlink.com/-/media/Business_Products/DES/DES%203550/Manual/DES%203550_CLI_Manual_EN_UK.pdf) ? 9600 baud - 8N1 - pas de flow control (ni logiciel (aussi nommé xon/xoff), ni matériel), compatible VT-100. La documentation ne précise pas s'il faut un câble droit ou croisé. J'ai un câble RS232 DB9 mâle droit <-> USB.

    Ça, c'est par défaut mais la vitesse de transmission a pu être modifiée par un utilisateur précédent. Sur ce modèle, la seule solution est de revenir aux paramètres d'usine. Peu de doc' à ce sujet, heureusement que je n'ai pas eu à le faire.

    On branche le câble à l'ordi, Linux le reconnaît et le bind sur /dev/ttyUSB0. On vérifie que l'on a les droits lecture+écriture sur ce dev. On lance minicom -D /dev/ttyUSB0. On fait la configuration : ctrl + A puis Z (pour accéder au menu de minicom). O (configurer minicom) puis Configuration du port série puis G pour désactiver le contrôle de flux logiciel puis E puis C pour passer en 9600 baud. Le reste est ok : 8N1 et VT102 est un jeu englobant VT100 donc compatible.

    On connecte le série au port console du switch. On alimente le switch en électricité. On attend... Longtemps (au moins deux bonnes minutes) puiiiiiis :
     Boot Procedure                                                    3.00.008
    -------------------------------------------------------------------------------
      Power On Self Test ...................................... 100 %

      MAC Address   : 00-15-E9-86-99-64
      H/W Version   : 3A1

      Please wait, loading V3.06-B20 Runtime image ............ 100 %............

    Et enfin :
                  DES-3526 Fast Ethernet Switch Command Line Interface

                                Firmware: Build 3.06-B20
              Copyright(C) 2000-2004 D-Link Corporation. All rights reserved.
    UserName:
    PassWord:

    DES-3526:4#
    DES-3526:4#help

    Available commands:
    ..                  ?                   clear               config              
    create              delete              dir                 disable            
    download            enable              login               logout              
    ping                reboot              reconfig            reset              
    save                show                upload              




    Attaquons maintenant le plus difficile : le Procurve 2524. Le port console est de type RS232 DB9 mâle. Que nous dit la doc' (http://h20564.www2.hp.com/hpsc/doc/public/display?docId=emr_na-c01958654&sp4ts.oid=57546 et http://h20564.www2.hp.com/hpsc/doc/public/display?docId=emr_na-c02597327) ? Entre 1200 et 115200 baud (le switch s'adapte), 8N1, flow control logiciel, compatible VT100. La documentation précise qu'il faut un câble croisé.

    Ça, c'est par défaut mais la vitesse de transmission et la présence de flow control ont pu être modifiées par un utilisateur précédent. On utilise DHCP+telnet (si disponible, toujours cette histoire de par défaut ou non) pour vérifier, soit on remet les paramètres d'usine (source : la doc sus-citée) :
    « To execute the factory default reset, perform these steps:
        1. Using pointed objects, simultaneously press both the Reset and Clear buttons on the front of the switch.
        2. Continue to press the Clear button while releasing the Reset button.
        3. When the Self Test LED begins to flash, release the Clear button. The switch will then complete its self test and begin operating with the configuration restored to the factory default settings. »

    Pour brancher :
        * Soit je reprends mon câble RS232 DB9 mâle droit <-> USB + une rallonge RS232 DB9 femelle <-> RS232 DB9 femelle croisée. Ça fonctionne out-of-box mais je n'avais pas la rallonge au début de cette aventure. L'inverse (câble croisé et donc rallonge droite) est également possible.

        * Soit je reprends mon RS232 DB9 mâle droit <-> USB + 3 fil Arduino femelle<->femelle (ça : http://ecx.images-amazon.com/images/I/51S1M3ALnDL._SY300_.jpg). Il faut alors câbler comme ceci :
    switch  <->  câble RS232 droit
    2       <->    3
    3       <->    2
    5       <->    5
    Sachant que l'ordre des PIN des deux côtés (câble et switch) sera celui-là : http://www.usconverters.com/images/rs232-pinout.jpg (1 2 3 4 5 sur la première ligne, 6 7 8 9 sur la deuxième, ligne contenant le plus de pin vers le haut). Les autres pin sont inutiles (9 = sonnerie modem, le reste = flow control). Si votre câble mâle est croisé, vous ne devez évidemment pas croiser 2 et 3.

        * Soit j'achète un câble RS232 DB9 femelle croisé <-> USB. C'est la solution que j'avais choisi initialement. Sauf que ça ne fonctionne pas. Après investigation : mon câble n'est pas croisé (on retiendra donc que câble null modem n'est pas synonyme de câble croisé contrairement à ce que l'on entend beaucoup !). De plus, sur le câble, l'ordre des pins devrait être celui-ci : http://www.datalinkcom.net/images/rs232f9.jpg afin qu'au moins le 5 du switch tombe bien sur 5 du câble. Or, mon câble est inversé donc le 5 du switch arrive sur le 1 du câble... On peut corriger ça avec 3 fil Arduino mâle<->femelle (http://ecx.images-amazon.com/images/I/413iVQHUlQL.jpg). Il suffit de reprendre le schéma de câblage donné au point précédent.


    Quelle que soit la méthode retenue, on branche le câble série à l'ordi, Linux le reconnaît et le bind sur /dev/ttyUSB0. On vérifie que l'on a les droits lecture+écriture sur ce dev. On lance minicom -D /dev/ttyUSB0. On fait la configuration : ctrl + A puis Z (pour accéder au menu de minicom). O (configurer minicom) puis Configuration du port série puis G pour désactiver le contrôle de flux logiciel (sisi, on en n'a pas besoin, surtout avec nos câblage avec 3 fil) puis E puis C pour passer en 9600 baud. Le reste est ok : 8N1 et VT102 est un jeu englobant VT100 donc compatible.

    On connecte le série au port console du switch. On alimente le switch en électricité. On laisse le switch booter (environ 30 secondes) et on obtient :
    Hit Enter to Continue.

    ---------- (on s'exécute)

    Connected at 9600 baud.

    ----------

    HP J4813A ProCurve Switch 2524
    Firmware revision F.05.17

    Copyright (C) 1991-2003 Hewlett-Packard Co.  All Rights Reserved.

                               RESTRICTED RIGHTS LEGEND

     Use, duplication, or disclosure by the Government is subject to restrictions
     as set forth in subdivision (b) (3) (ii) of the Rights in Technical Data and
     Computer Software clause at 52.227-7013.

             HEWLETT-PACKARD COMPANY, 3000 Hanover St., Palo Alto, CA 94303











    Press any key to continue

    ---------- (on s'exécute)

    HP ProCurve Switch 2524# help
     boot               Reboot the device.
     clear              Clear table/statistics or authorized client public keys.
     configure          Enter the Configuration context.
     copy               Copy datafiles to/from the switch.
     end                Return to the Manager Exec context.
    [...]




    Conclusion : ce que je retiens de RS232 : RS232 = kamoulox = port de communication créé par des sados pour des masos = conçu par des ingénieurs de chez IBM/Microsoft/ITU, pas possible autrement = complot de la NSA et des reptiliens de la zone 51.

    Merci aux gentils dinos suivants qui savent encore comment fonctionne RS232 et qui m'ont grandement aidés : DelTree, Valérie, Christian, Karim. :)
    April 11, 2015 at 4:55:07 PM UTC - permalink - http://shaarli.guiguishow.info/?k0f_9w
Links per page: 20 50 100
 
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super fast, database-free, bookmarking service by the Shaarli community