Note de ce sujet :
  • Moyenne : 3 (2 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Problème de lancement d'eibd
#1
Bonjour,
Je dispose d'une petite installation de démonstration de domotique utilisant un routeur TH210 relié au réseau par un câble Ethernet.
J'ai installé eibd sur une machine avec Ubuntu dans le même réseau, et je voudrais activer mon équipement depuis ce poste.

Le problème c'est qu'en suivant tous les tutos disponibles, la commande de lancement d'eibd (eibd -t0123 -i ipt:[ip])
semble ne jamais fonctionner ("initialisation of the backend failed").
J'ai essayé plusieurs versions de la commande, avec différents paramètres, basées sur tout ce que j'ai pu trouver en ligne.

eibd -t1023 -i ipt:[ip] renvoie :
layer 2(...) open
layer 0(...) open
layer 0(...) close
initialisation of the backend failed

La commande eibnetsearch [ip] renvoie "ip initialisation failed".

J'arrive bien sûr à pinger l'ip du routeur, c'est la bonne.


J'ai beau chercher sur le net, personne d'autre ne semble avoir de problème à cette étape, et la documentation est rare ...

Quelqu'un aurait-il une idée ?
Merci d'avance.
Répondre
#2
Peut-être essayer de désactiver le firewall (si il y en a un)

Ou alors lancer la commande:
strace -f eibd -t1023 -i ipt:127.0.0.1

Et recherche le message "layer 0(...) open" dans le résultat puis regarder un peu après si tu ne trouves rien d'anormal. Ou poster le résultat ici et je jetterai un coup d'oeil dessus.

Répondre
#3
Bonjour et merci pour votre réponse rapide.

J'ai testé la commande et voici ce qu'elle retourne (je t'avouerais que je n'y comprends pas grand chose) :

Citation :Layer 2(08DF2668,4E70B01F) Open
Layer 0(08DF2B28,4E70B01F) Open
Layer 0(08DF2B28,4E70B01F) Openend
Layer 2(08DF2668,4E70B01F) Opened
Layer 3(08E13260,4E70B01F) Open
Layer 8(08DF2BF8,4E70B01F) OpenInetSocket 6720
Layer 8(08DF2BF8,4E70B01F) InetSocket opened
Layer 4(08E235F0,4E70B01F) GroupCacheInit
Layer 1(08DF2B28,4E70B01F) Send(020): 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B01F) Send(026): 06 10 02 05 00 1A 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B01F) Recv(008): 06 10 02 06 00 08 00 24
Layer 1(08DF2B28,4E70B01F) Recv(002): 00 24
Layer 1(08DF2668,4E70B01F) Recv wrong connection response
Layer 1(08DF2668,4E70B029) Connectretry
Layer 1(08DF2B28,4E70B029) Send(020): 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B029) Send(026): 06 10 02 05 00 1A 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B029) Recv(008): 06 10 02 06 00 08 00 24
Layer 1(08DF2B28,4E70B029) Recv(002): 00 24
Layer 1(08DF2668,4E70B029) Recv wrong connection response
Layer 1(08DF2668,4E70B033) Connectretry
Layer 1(08DF2B28,4E70B033) Send(020): 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B033) Send(026): 06 10 02 05 00 1A 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B033) Recv(008): 06 10 02 06 00 08 00 24
Layer 1(08DF2B28,4E70B033) Recv(002): 00 24
Layer 1(08DF2668,4E70B033) Recv wrong connection response
Layer 0(08DF2B28,4E70B038) Recv(016): 06 10 02 09 00 10 42 00 08 01 C0 A8 02 26 0E 57
Layer 1(08DF2B28,4E70B038) Recv(010): 42 00 08 01 C0 A8 02 26 0E 57
Layer 1(08DF2668,4E70B038) Not connected
Layer 1(08DF2668,4E70B038) Recv unexpected service 0209
Layer 1(08DF2668,4E70B03D) Connectretry
Layer 1(08DF2B28,4E70B03D) Send(020): 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B03D) Send(026): 06 10 02 05 00 1A 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B03D) Recv(020): 06 10 02 06 00 14 44 00 08 01 C0 A8 02 26 0E 57 04 04 FF FE
Layer 1(08DF2B28,4E70B03D) Recv(014): 44 00 08 01 C0 A8 02 26 0E 57 04 04 FF FE
Layer 1(08DF2668,4E70B05B) Heartbeat
Layer 1(08DF2B28,4E70B05B) Send(010): 44 00 08 01 C0 A8 02 28 0E 58
Layer 0(08DF2B28,4E70B05B) Send(016): 06 10 02 07 00 10 44 00 08 01 C0 A8 02 28 0E 58
Layer 0(08DF2B28,4E70B05B) Recv(008): 06 10 02 08 00 08 44 00
Layer 1(08DF2B28,4E70B05B) Recv(002): 44 00
Layer 1(08DF2668,4E70B079) Heartbeat
Layer 1(08DF2B28,4E70B079) Send(010): 44 00 08 01 C0 A8 02 28 0E 58
Layer 0(08DF2B28,4E70B079) Send(016): 06 10 02 07 00 10 44 00 08 01 C0 A8 02 28 0E 58
Layer 0(08DF2B28,4E70B079) Recv(008): 06 10 02 08 00 08 44 00
Layer 1(08DF2B28,4E70B079) Recv(002): 44 00
Layer 0(08DF2B28,4E70B083) Recv(016): 06 10 02 09 00 10 43 00 08 01 C0 A8 02 26 0E 57
Layer 1(08DF2B28,4E70B083) Recv(010): 43 00 08 01 C0 A8 02 26 0E 57
Layer 1(08DF2668,4E70B083) Not for us
Layer 8(08DF2BF8,4E70B094) StopServer
Layer 8(08DF2BF8,4E70B094) Server ended
Layer 4(08E235F0,4E70B094) GroupCacheDestroy
Layer 4(08E235F0,4E70B094) GroupCacheClear
Layer 3(08E13260,4E70B094) Close
Layer 2(08DF2668,4E70B094) Close
Layer 1(08DF2B28,4E70B094) Send(010): 44 00 08 01 C0 A8 02 28 0E 58
Layer 0(08DF2B28,4E70B094) Send(016): 06 10 02 09 00 10 44 00 08 01 C0 A8 02 28 0E 58
Layer 0(08DF2B28,4E70B094) Close

A savoir que l'ip du routeur est la suivante : 192.168.2.38 j'ai donc lancé la commande suivante : strace -f eibd -t1023 -i ipt:192.168.2.38
Est-ce correct ou faut-il la lancer avec l'IP localhost ?

Encore merci et bonne journée Wink
Répondre
#4
Bonjour,

Dans la commande, il faut bien utiliser l'adresse IP de la passerelle juste après "ipt:". (et pas 127.0.0.1)

je ne comprends pas trop ce qui se passe. La commande strace devrait simplement ajouter des infos sur ce qui se passe lors de l'exécution de la commande qui suit. (ici: eibd -t1023 -i ipt:192.168.2.38 )
Je ne vois pas ces infos. Chez moi ça ressemble à ceci:

execve("/opt/bin/eibd", ["eibd", "-t1023", "-i", "ipt:127.0.0.1"], [/* 9 vars */]) = 0
brk(0) = 0x5e000
uname({sys="Linux", node="Pogoplug", ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001d000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)

Dans votre réponse je ne retrouve pas cette info et je n'arrive pas a comprendre pourquoi.
Par contre, la commande strace ne modifie pas le comportement du programme qu'elle analyse, donc je ne comprends pas pourquoi hier ça donnait:
ayer 2(...) open
layer 0(...) open
layer 0(...) close
initialisation of the backend failed

Et aujourd'hui, la même commande donne:
Layer 2(08DF2668,4E70B01F) Open
Layer 0(08DF2B28,4E70B01F) Open
Layer 0(08DF2B28,4E70B01F) Openend
Layer 2(08DF2668,4E70B01F) Opened
Layer 3(08E13260,4E70B01F) Open
Layer 8(08DF2BF8,4E70B01F) OpenInetSocket 6720
Layer 8(08DF2BF8,4E70B01F) InetSocket opened
Layer 4(08E235F0,4E70B01F) GroupCacheInit
Layer 1(08DF2B28,4E70B01F) Send(020): 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B01F) Send(026): 06 10 02 05 00 1A 08 01 C0 A8 02 28 0E 58 08 01 C0 A8 02 28 0E 58 04 04 02 00
Layer 0(08DF2B28,4E70B01F) Recv(008): 06 10 02 06 00 08 00 24
Layer 1(08DF2B28,4E70B01F) Recv(002): 00 24
Layer 1(08DF2668,4E70B01F) Recv wrong connection response
Layer 1(08DF2668,4E70B029) Connectretry

Peut être qu'hier eibd était déjà démarré en tâche de fond et que vous tentiez de le lancer une seconde fois.
Mis à part ça, les logs du dernier message sont plus intéressants.
On voit que EIBD envoie un premier message à la gateway, qui répond "00 24". Cette réponse est considérée par EIBD comme "wrong connection response". Reste à savoir pourquoi.

Jean-François

Etes vous certain qu'un autre appareil ou programme n'utilise pas la passerelle IP en même temps.
La plupart des passerelles ne supportent qu'une seul connection à la fois.
Par exemple, il n'est pas possible d'être connecté avec ETS et avec EIBD sur la passerelle en même temps.

Les messages d'erreur de EIBD semblent indiquer qu'il reçoit des données auxquelles il ne s'attend pas.
"Recv wrong connection response"
"Recv unexpected service 0209"
"Not for us"
....

Avez vous arrêté EIBD manuellement ou bien s'est il arrêté tout seul?

Jean-François
Répondre
#5
Bonjour et encore merci pour cette réponse.

Mais ce matin sans que je ne change rien (à priori), la commande a fonctionné sans problèmes Undecided
J'arrive maintenant à contrôler l'équipement avec groupswrite.

J'aurais bien aimé comprendre ce qui n'allait pas, ne serais-ce que pour aider d'autres personnes qui auraient ce problème, mais je ne vois pas ce qui a pu changer. Ce n'est pas la première fois que je redémarre (je suis dessus depuis des jours), et ce n'est pas ETS qui utilisait la passerelle (j'avais déjà essayé suite à la lecture d'un autre topic).


Merci d'avoir répondu et bonne journée !Big Grin
Répondre
#6
C'est encore moi !

J'ai un PC (PC1 : 192.168.2.40) branché sur le même réseau que le routeur (192.168.2.38). A savoir que ce réseau possède une ip fixe.
Voici la config du PC1 :
eibd -t1023 -i ipt:192.168.2.40

J'ai un PC (PC2) sur un réseau externe et après avoir installé eibd, j'exécute la commande suivante :
groupswrite ip:[ip_fixe] 24/4/6 0 ou 1

Cette commande fonctionne bien mais je souhaiterais me passer du PC1. Or lorsque je coupe eibd sur le PC1 la commande ne s'exécute plus et la lumière ne s'allume pas.

Est-ce possible de se passer de PC1 ?

Merci d'avance.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)