Bash envoyer un ordre hexadecimal a un module

Fermé
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 - 31 août 2012 à 01:06
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 - 31 août 2012 à 12:35
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


A voir également:

6 réponses

Utilisateur anonyme
31 août 2012 à 03:19
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
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
Modifié par xunil2003 le 31/08/2012 à 10:50
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
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
31 août 2012 à 10:57
hello
essayer
echo -ne "\x06\x6A" > /dev/cm15a0
0
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
Modifié par xunil2003 le 31/08/2012 à 11:47
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
31 août 2012 à 12:27
essayer
perl -e 'print pack( "CC", 6, 0x6A )'  > /dev/cm15a0 
0
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
31 août 2012 à 12:35
Bonjour,

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


Merci.
0