Bash envoyer un ordre hexadecimal a un module

Bonjour,

Je voudrai savoir si il est possible avec un code bash d'envoyer un ordre hexadecimal style "0x6A" a un module usb situé dans /dev/cm15a0.

Genre
echo -ne "\\0x6A" > /dev/cm15a0


Merci

6 réponses

  1. salut,

    oui, sans le 0.
    par exemple, afficher le signe dollar:
    echo -ne "\x24"
    $
    après quant à la capacité d'un module usb à prendre
    ce qu'il recevra pour un ordre, je ne sais pas. :(
    tiens nous au courant.
    0
    1. Bonjour,

      J'ai essayé
      $ echo -ne "\x6A" > /dev/cm15a0
      mais ça marche pas

      $ ls -alF /dev/cm15* 
      -rwxrwxrwx 1 root root 1 31 août  10:34 /dev/cm15a0*


      Le but est de refaire ceci sous bash.
      sysopen( CM15A, "/dev/cm15a0", O_RDWR |O_NOCTTY | O_NONBLOCK ) || die "Module cm15a.ko non charge $!"; 
      syswrite CM15A, pack( "CC", 6, 0x6A ), 2; 
      close( CM15A );


      Code bash
      #!/bin/bash
      lsmod | grep -q /dev/cm15a0
      test "$?" -eq 0 && echo "Module chargé." || echo "Module non chargé."
      echo -ne "\x6A" > /dev/cm15a0


      Merci.
      0
      1. Contributeur
        hello
        essayer
        echo -ne "\x06\x6A" > /dev/cm15a0
        0
        1. bonjour,

          ça marche pas, j'ai essayé directemeent dans le terminal.
          $ echo -ne "\x06\x6A" > /dev/cm15a0


          serveur@debian:~$ lsmod | grep cm15a 
          cm15a                  11394  0  
          serveur@debian:~$


          serveur@debian:~$ ls -alF /dev/cm15* 
          -rwxrwxrwx 1 root root 2 31 août  11:43 /dev/cm15a0* 
          serveur@debian:~$ 


          code bash
          #!/bin/bash 
          
              #----- Déclaration des variables ----- 
              on="A2 On"   
              off="A2 Off";   
              temps="5"; # Pause en secondes 
              module="cm15a"; # nom du module 
          
              #----- Vérification du module  ----- 
              lsmod | grep -q $module 
              test "$?" -eq 0 && echo "Module $module chargé." || echo "Module $module non chargé." 
          
              #----- Ordre x10 ON ----- 
              echo -ne "\x06\x6A" > /dev/cm15a0 
              echo "$on activé" 
          
              #----- Mise en attente avec affichage a l'ècran ----- 
              echo "En pause $temps secondes" 
              sleep $temps  # pause  
              echo "Fin de la pause" 
          
              #----- Ordre x10 OFF ----- 
              echo -ne "\x06\x63" > /dev/cm15a0 
              echo "$off activé"


          bash affiche
          serveur@debian:~$ bash /home/serveur/x10/bash/cm15-A2.sh 
          Module cm15 chargé. 
          A2 On activé 
          En pause 5 secondes 
          Fin de la pause 
          A2 Off activé 
          serveur@debian:~$


          Mais ça ne fonctionne pas.

          Merci.
          0
          1. Contributeur
            essayer
            perl -e 'print pack( "CC", 6, 0x6A )'  > /dev/cm15a0 
            0
            1. Bonjour,

              ça marche pas non plus
              serveur@debian:~$ perl -e 'print pack( "CC", 6, 0x6A )'  > /dev/cm15a0 
              serveur@debian:~$


              Merci.
              0