Control de cerraduras de puertas a través del bus CAN


9

Estoy tratando de descubrir cómo bloquear y desbloquear las puertas de un Toyota RAV4 2010 usando el bus CAN a través del puerto OBD-II. Tengo un microcontrolador conectado a través de un controlador CAN y un receptor CAN, y he escrito un firmware para capturar y reproducir mensajes.

Si abro las puertas a través del llavero o del botón de la puerta, recibo una ráfaga de mensajes en un autobús silencioso (la llave está apagada). Sin embargo, reproducirlos no hace nada. Sospeché que podría ser algún tipo de problema de autenticación, así que probé algo menos sensible: los faros. Curiosamente, cuando reproduzco los mensajes de encender los faros, el indicador de faros en el grupo de instrumentos se ilumina brevemente, pero los faros reales no hacen nada.

Supongo que tengo varias preguntas:

1) ¿Debería ser posible sobre el bus CAN expuesto en el puerto OBD-II? He visto fuentes que dicen que las puertas están controladas por un autobús diferente y más lento, pero también he visto dispositivos anunciados que bloquearán las puertas cuando alcances una velocidad particular.

2) ¿Los otros autobuses están expuestos de alguna manera?

3) ¿Hay alguna forma de averiguar el significado de los mensajes que he capturado sin pagar grandes cantidades de dinero a Toyota?


¿Dónde pudo poner esto en funcionamiento a través del OBD-II o tuvo que tomar otra ruta?
Miércoles

Respuestas:


5

Lo que quieres hacer es posible. He tenido una experiencia y un deseo similares para mi Camry 2010. Desde mi experiencia, leer mensajes desde el puerto OBD-II no me llevaba a ninguna parte. Era como si los mensajes CAN fueran solo una respuesta a mí manipulando manualmente el automóvil.

Recibiría un mensaje de respuesta al bloquear o desbloquear las puertas con la llave FOB, pero enviar ese mismo mensaje no hizo nada.

Lo que debe hacer es obtener un cable divisor OBD-II y una copia de Toyota Techstream con un "cable mini VCI". Esto le permitirá leer los mensajes que envía el software Techstream a través del puerto OBD-II.

Deberias ser capaz de:

1- Bloqueo y desbloqueo del conductor / todas las puertas

2- baúl pop

3- Encienda luces bajas y altas y luces intermitentes

4- Toca la bocina

5- enrollar ventanas hacia arriba y hacia abajo

6- Etc.

..o al menos todo funcionó para mí!

YMMV y buena suerte! :RE

(No soy responsable por daños a mí mismo o al automóvil).


1
Mccoy, estoy tratando de hacer exactamente lo que has publicado. Instalé Techstream y tengo el cable adaptador USB conectado a mi Corolla 2012, pero no parece estar presionando ninguna de las personalizaciones. ¿Podría decirme cómo pudo lograr este objetivo? Gracias

4

Por lo general, el bus CAN OBD se conecta en puente a los otros buses CAN del vehículo, para facilitar el diagnóstico de las ECU en los otros buses. Sin embargo, el puente solo puede transmitir mensajes de diagnóstico en adelante :( Es diferente en cada plataforma.

En términos del protocolo, es un problema clásico de ingeniería inversa. Debe capturar algunos rastros de la actividad CAN cuando presiona el botón de desbloqueo y descubre cuál es el formato de los mensajes. El ejemplo de su faro puede indicar que hay varios autobuses y que solo tiene acceso a uno de ellos (que va a la unidad del tablero y no a los faros en este caso)

Con las cerraduras de las puertas, es muy posible que también exista algún tipo de desafío-respuesta que detenga su simple "ataque de repetición".


Es muy posible que los faros en sí mismos ni siquiera estén en un bus CAN, sino que dependan de cableado y relés dedicados; mientras el indicador del faro está en el bus CAN con el resto del grupo de instrumentos.
mac

@mac - de hecho
Martin Thompson

3

Si yo fuera el tipo que diseñó la electrónica, haría imposible hacer esto a través de CAN-Bus simplemente porque obtienes adaptadores bluetooth para OBD2 con los que alguien que está parado fuera del automóvil podría emparejarse y enviar las instrucciones de desbloqueo.

Es un peligro para la seguridad, por lo que no lo apoyaría.


2
Los adaptadores Bluetooth no hacen nada a menos que ya tenga acceso al automóvil para enchufar un receptor Bluetooth. De todos modos, resulta que es posible.
Isvara

Ese es un pensamiento aterrador. FYI: también obtienes adaptadores wifi OBD-ii y su rango es considerable.
Capitán Kenpachi

3

Incluso si se conecta al bus correcto y transmite el mensaje CAN correcto, aún se encuentra con el problema de transmitir un mensaje CAN que ya está siendo transmitido por otra ECU.

De la forma en que funciona CAN, cada mensaje de can tiene una identificación de arbitraje también conocida como la identificación del mensaje. Bajo operación normal, ninguna ECU emitirá un mensaje con la misma ID en el mismo bus. Cuando haces esto En teoría, debería poder bloquear o desbloquear la puerta, inundando el autobús, con el mensaje deseado, pero no será algo que usaría dentro de un producto, ya que su abuso del autobús interferirá con la comunicación de las ECU en el autobús que transmite con menor prioridad.

Ahora, de nuevo, si el mensaje CAN para bloquear y desbloquear la puerta está completamente controlado por eventos, y no se transmite periódicamente, entonces lo que intenta hacer es completamente factible.

Además, los mensajes que está olfateando, que cambian cuando cierra o abre la puerta, pueden no ser de su interés. Los mensajes de estado a menudo se envían a otros buses, debería transmitir el mensaje correcto en el bus desde el que se origina.

Sugerencia: busque en línea el pin para el conector OBD en su vehículo.

1) ¿Debería ser posible sobre el bus CAN expuesto en el puerto OBD-II? He visto fuentes que dicen que las puertas están controladas por un autobús diferente y más lento, pero también he visto dispositivos anunciados que bloquearán las puertas cuando alcances una velocidad particular.

Sí, puede ser posible, pero necesita conocer el pin para el OBDII en su automóvil, que probablemente no sea información pública, pero puede averiguar cuáles son de interés eliminando los pines OBDII estándar.

2) ¿Los otros autobuses están expuestos de alguna manera?

Como se respondió anteriormente, creo que hay una buena posibilidad, eliminar los pines OBD estándar, y los pares restantes serán los de interés. Cada canal de datos de lata tiene datos altos y datos bajos.

3) ¿Hay alguna forma de averiguar el significado de los mensajes que he capturado sin pagar grandes cantidades de dinero a Toyota?

Necesita una herramienta CAN, para ver los datos en los pines sospechosos, la buena noticia es que solo captará los mensajes de lata cuando esté conectado a los pines correctos. De lo contrario, la herramienta arrojará errores. y es posible que necesite una herramienta que pueda detectar automáticamente las velocidades en baudios, o puede adivinar.

Va a requerir un poco de tiempo y piratería.


1
La transmisión y las colisiones no son un problema. El controlador CAN se encarga de todo eso, para eso está ahí. Tengo el diagrama de cableado del automóvil, y solo hay un autobús en todo momento. Tengo un dispositivo de seguridad que bloquea las puertas a una velocidad establecida (aproximadamente 5 mph), y esto transmite el mensaje de "cerradura de la puerta" una sola vez. Parece que esto debería ser bastante fácil de replicar.
Isvara

Probablemente tenga razón, pero en la práctica, las ECU de múltiples unidades no transmiten la misma identificación de mensaje al mismo tiempo en el mismo bus. Pero si su simple replicación, un dongle, es una cuestión de hacer frente a los mensajes que provienen de él y ver qué bits cambian, o cuándo se envía el mensaje si está basado en eventos.
am6sigma
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.