Nouveau : le pare-feu IA surveille toute la plateforme et explique chaque incident en termes simples. Découvrez comment ça marche

Firmware copiée depuis notre usine américaine, les appareils de l'usine britannique renvoient "bad username or password"

Firmware copiée depuis notre usine américaine, les appareils de l'usine britannique renvoient "bad username or password"

Résolu 8 7

Traduit de English par IA ·

Un cas un peu étrange. Nous déployons des capteurs de vibration dans notre usine britannique. Notre usine sœur aux États-Unis utilise déjà les mêmes capteurs sur Hermetry, alors leur responsable contrôle m’a envoyé son projet firmware et j’ai simplement remplacé les tokens par ceux de nos appareils.Tous les appareils échouent :

[mqtt] connecting to mqtt.<their host>:8883 ...
[mqtt] TLS ok, sending CONNECT
[mqtt] CONNACK rc=4 (bad user name or password)
[mqtt] backing off 300 s

Ce que j’ai vérifié :

  • Tokens copiés directement depuis le tiroir Create device, vérifiés trois fois
  • Nom d’utilisateur = token, mot de passe vide, comme indiqué dans la documentation
  • L’onglet Log de l’appareil dans notre organisation n’affiche rien du tout, aucune connexion refusée
  • Port 8883 ouvert en sortie, la négociation TLS réussit clairement

Notre organisation Hermetry a été créée en janvier par notre service informatique. La leur est plus ancienne. Y a-t-il un élément propre à l’organisation que je ne vois pas ? Je préfère ne pas rappeler leur responsable contrôle, il a déjà passé un après-midi sur ce problème.

Ground loops are my cardio.
♥ 2

Traduit de English par IA ·

CONNACK 4 alors que l’onglet Log de votre propre organisation est vide est un indice important. Votre organisation n’a jamais vu ces connexions.

Ask me about 4–20 mA.
♥ 0

Traduit de English par IA ·

Peut-être que les tokens ont été renouvelés ? Nous avons déjà eu ce problème après qu’une personne a cliqué par erreur sur Rotate.

♥ 0

Traduit de English par IA ·

Les tokens sont tout neufs, personne n’en a fait la rotation. Tyler, que veux-tu dire par « jamais vu » ?

Ground loops are my cardio.
♥ 0

Traduit de English par IA ·

Regarde l’hôte dans ta ligne de journal. C’est l’hôte du broker issu du firmware américain.Hermetry fonctionne avec des déploiements séparés par région (EU, US, TR) et chaque organisation appartient à une seule région d’origine. Les appareils doivent se connecter à l’hôte de appareils de la région de leur propre organisation, celui qui figure sur la carte Connection details de chaque appareil. Je parie que l’organisation de l’usine américaine est dans la région US et que la tienne, créée par ton service informatique depuis le Royaume-Uni, est dans la région EU. Tes appareils britanniques frappent à la porte du broker américain avec des jetons qui n’existent que dans la région de ton organisation. Pour ce broker, ce sont des jetons inconnus, d’où le code 4. Rien n’atteint ton onglet Log parce que ton organisation n’a jamais été sollicitée.J’ai vécu exactement ça lorsque nous avons cloné un projet entre deux de nos fournisseurs d’énergie, un dans chaque région. Correctif :

  1. Ouvre n’importe lequel de tes appareils, onglet Credentials, Connection details. Note l’hôte du broker MQTT.
  2. Remplace l’hôte dans le firmware (et l’hôte HTTPS s’ils l’utilisent).
  3. Continue à te connecter par nom d’hôte. SNI est obligatoire, donc ne code pas en dur une IP obtenue par une recherche DNS.

Les propriétaires et administrateurs peuvent aussi voir la région d’origine dans les paramètres de l’organisation, Residency. La page est Regions and data residency.Et puisque tu reçois des 4 : le firmware attend 5 minutes, c’est bien. Garde ça. Des échecs de connexion répétés depuis une même adresse bloquent cette adresse pendant un certain temps, et toute l’usine est derrière un seul NAT.

QoS 1 and a lot of patience.
Solution acceptée♥ 7

Traduit de English par IA ·

Bien vu. Il vaut mieux placer l’hôte dans un fichier de configuration plutôt que dans le build, afin que la prochaine usine ne copie pas un hôte codé en dur.

If it isn't logged, it didn't happen.
♥ 0

Traduit de English par IA ·

Vérifiez aussi quel bundle de CA le firmware américain épingle. S’il a épinglé le certificat du serveur régional au lieu d’utiliser un magasin de CA classique, il peut échouer sur l’hôte UE pour une autre raison.

Timestamps in UTC or it didn't happen.
♥ 0

Traduit de English par IA ·

Ha, nous avons eu la même chose avec deux hôtels, deux organisations dans deux régions, même firmware.

QoS 1 and a lot of patience.
♥ 1

Traduit de English par IA ·

C’était bien ça. La page Residency indique EU, alors que l’organisation du site US est US. J’ai remplacé l’hôte par celui de notre carte Connection details, et les 23 capteurs étaient tous en ligne en moins de dix minutes. Lewis, tu avais raison aussi, le firmware avait leur certificat serveur épinglé. Je l’ai basculé sur le bundle CA standard, sinon le handshake aurait été la prochaine erreur. L’hôte provient désormais d’une partition de configuration. Merci à tous.

Ground loops are my cardio.
♥ 0
9 sujets de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.

Rejoignez la discussion

Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

Partager