Auto Voiture FAQ
Aide pour réparation d’auto et voiture d'occasion, neuf et usagé
Trouver une réponse de mécanique
Contrôle des serrures de porte via le bus CAN
Question
J'essaie de comprendre comment verrouiller et déverrouiller les portes d'un Toyota RAV4 2010 à l'aide du bus CAN via le port OBD-II. J'ai un microcontrôleur connecté via un contrôleur CAN et un récepteur CAN, et j'ai écrit un micrologiciel pour capturer et rejouer les messages.
Si je déverrouille les portes via le porte-clés ou le bouton de porte, je recevoir une rafale de messages sur un bus autrement silencieux (la clé est sortie). Cependant, les rejouer ne fait rien. Je soupçonnais que cela pouvait être une sorte de problème d'authentification, alors j'ai essayé quelque chose de moins sensible - les phares. Fait intéressant, lorsque je rejoue les messages d'allumage des phares, le témoin des phares dans le combiné d'instruments s'allume brièvement, mais les phares réels ne font rien.
Je suppose que j'ai plusieurs questions :
1) Cela devrait-il être possible sur le bus CAN exposé sur le port OBD-II ? J'ai vu des sources dire que les portes sont contrôlées par un bus différent et plus lent, mais j'ai aussi vu des dispositifs annoncés qui verrouillent les portes lorsque vous atteignez une vitesse particulière.
2) Les autres bus sont-ils exposé de quelque manière que ce soit ?
3) Est-il possible de découvrir la signification des messages que j'ai capturés sans payer de grosses sommes d'argent à Toyota ?
Réponse populaire
Ce que vous voulez faire est possible. J'ai eu une expérience et un désir similaires pour ma Camry 2010. D'après mon expérience, la lecture des messages du port OBD-II ne me menait nulle part. C'était comme si les messages CAN n'étaient qu'une réponse à ma manipulation manuelle de la voiture.
Je recevrais un message de réponse en verrouillant ou en déverrouillant les portes avec la clé FOB, mais l'envoi de ce même message n'a rien fait.
Ce que vous devriez faire, c'est obtenir un OBD -II câble répartiteur et une copie de Toyota Techstream avec un "mini câble VCI". Cela vous permettra de lire les messages que le logiciel Techstream envoie via le port OBD-II.
Vous devriez être capable de :
1- Verrouiller et déverrouiller le conducteur/toutes les portes< /p>
2- Pop coffre
3- Allumage des feux de croisement, feux de route et clignotants
4- Klaxon
5- Roulez et vers le bas des fenêtres
6- Etc.
..ou au moins tout a fonctionné pour moi!!
YMMV et bonne chance ! :D
(Je ne suis pas responsable des dommages à moi-même ou à la voiture.)
Read more… Read less…
Habituellement, le bus CAN OBD est « ponté » sur les autres bus CAN du véhicule, afin de faciliter le diagnostic des ECU sur les autres bus. Cependant, le pont peut uniquement transmettre des messages de diagnostic :( C'est différent sur chaque plate-forme.
En termes de protocole - c'est un problème de rétro-ingénierie classique. Vous devez capturer quelques traces de l'activité CAN lorsque vous appuyez sur le bouton de déverrouillage et déterminez quel est le format des messages.Votre exemple de phare peut indiquer qu'il y a plusieurs bus et que vous n'avez accès qu'à l'un d'entre eux (qui va à l'unité de tableau de bord, et non aux phares dans ce cas)
Avec les serrures de porte - il est tout à fait possible qu'il y ait aussi une sorte de défi-réponse en cours qui arrête votre simple "replay-attack".
Si j'étais le gars qui a conçu l'électronique, il serait impossible de le faire via CAN-Bus simplement parce que vous obtenez des adaptateurs Bluetooth pour OBD2 avec lesquels une personne se tenant à l'extérieur de la voiture pourrait s'associer et envoyer l'instruction de déverrouillage.< /p>
C'est un danger pour la sécurité, donc je ne le supporterais pas.
Même si vous vous connectez au bon bus et diffusez le bon message CAN, vous rencontrez toujours le problème de transmettre un message CAN qui est déjà transmis par un autre ECU.
La façon dont CAN fonctionne, chaque message peut avoir un identifiant d'arbitrage également appelé identifiant de message. En fonctionnement normal, aucune ECU ne diffusera jamais un message avec le même ID sur le même bus. Quand tu fais ça. En théorie, vous devriez pouvoir verrouiller ou déverrouiller la porte, en inondant le bus, avec le message souhaité, mais ce ne sera pas quelque chose que j'utiliserais à l'intérieur d'un produit, car votre abus du bus interférera avec la communication des ECU sur le bus qui diffuse à une priorité inférieure.
Maintenant encore, si le message CAN pour verrouiller et déverrouiller la porte est entièrement piloté par des événements et n'est pas diffusé périodiquement, alors ce que vous essayez de faire est tout à fait faisable.< /p>
De plus, les messages que vous reniflez, qui changent lorsque vous verrouillez ou déverrouillez la porte, peuvent ne pas être ceux qui vous intéressent. Les messages d'état sont souvent transmis à d'autres bus, vous devrez diffuser le message correct sur le bus d'où il provient.
Astuce : recherchez en ligne le brochage du connecteur OBD de votre véhicule.< /p>
1) Cela devrait-il être possible sur le bus CAN exposé sur le port OBD-II ? J'ai vu des sources dire que les portes sont contrôlées par un bus différent et plus lent, mais j'ai également vu des dispositifs annoncés qui verrouillent les portes lorsque vous atteignez une vitesse particulière.
Oui, c'est peut-être possible, mais vous devez connaître les broches de l'OBDII dans votre voiture, ce qui n'est probablement pas une information publique, mais vous pouvez déterminer celles qui vous intéressent en éliminant les broches OBDII standard.
2) Les autres bus sont-ils exposés de quelque manière que ce soit ?
Comme répondu ci-dessus, je pense qu'il y a de bonnes chances d'éliminer les broches OBD standard et les paires restantes seront ceux qui nous intéressent. Chaque canal de données de canette a un niveau de données élevé et un niveau de données bas.
3) Est-il possible de découvrir la signification des messages que j'ai capturés sans payer d'énormes sommes d'argent à Toyota ?
Vous avez besoin d'un outil CAN pour surveiller les données sur les broches suspectes, la bonne nouvelle est que vous ne capterez les messages que lorsque vous serez connecté aux bonnes broches. Sinon, l'outil lancera des erreurs. et Vous aurez peut-être besoin d'un outil capable de détecter automatiquement les débits en bauds, ou vous pouvez le deviner.
Cela nécessitera un bon moment et du piratage.