Bash envoyer un ordre hexadecimal a un module

xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -
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. Utilisateur anonyme
     
    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
  2. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    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
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    essayer
    echo -ne "\x06\x6A" > /dev/cm15a0
    0
  4. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    essayer
    perl -e 'print pack( "CC", 6, 0x6A )'  > /dev/cm15a0 
    0
  7. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour,

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


    Merci.
    0