Aller au contenu

[Gen.]Développement d'une valise perso pour lire l'ordinateur de bord de votre BMW


Paul

Messages recommandés

Ce sujet est en cours de construction car j'avance petit à petit, il n'est pas toujours évident de décrypter les systèmes Made in BMW ; sans même parler de la migration des serveurs qui me prend beaucoup de temps.

post-2-0-91579500-1323057483.jpg

Nos chères BMW sont équipées de prises diagnostique qui permettent aux concessionnaires de se connecter au système électronique du véhicule.
Ce dernier est appelé OBD en anglais, pour On Board Diagnostic, ODB en français, pour Ordinateur De Bord.
Afin de se connecter à cette prise OBD, il est (normalement) nécessaire d'avoir la valise BMW ainsi que l'interface pour la connecter à la prise OBD du véhicule.

Ici nous allons voir comment faire notre propre outil de diagnostique en transformant notre PC en "véritable" valise BMW.
J'utilise le mot "véritable" dans le sens où ce sont des protocoles et des logiciels utilisés par BMW qui seront utilisés, il n'est pas question ici de solutions alternatives type Carsoft & Co.
Théoriquement vous serez donc en possession d'une solution aussi puissante que celle dont dispose votre concessionnaire (lecture de tous les codes d'erreurs, défauts, etc).
J'insiste là dessus car c'est ce qui a demandé beaucoup de temps, il est même possible de recoder un module par rapport au VIN de votre véhicule... LA TOTALE !

Partie matérielle

Quel type de bus équipe votre BMW ?

BMW utilise trois types (générations) de BUS en fonction du modèle et de l'année de production de votre véhicule. Nous pourrions résumer les choses de la manière suivante :






Bus  OBD 1  OBD 2  OBD 2 K+DCAN
Production  1983-1995  entre 1995 et 2006/2007  à partir de 2006/2007
Prise  Ronde à 20 pins :
post-2-0-48267100-1323068169.jpg  Rectangulaire à 16 pins :
post-2-0-98303300-1323068465.jpg
Emplacement  Compartiment moteur
img-394387-1-81844d1240825855-experience-carsoft-6-5-servicereset_port_location.jpg  Au niveau du genou gauche du conducteur.
post-2-0-84507900-1323067554.jpg
Modèles concernés  Je vous laisse vérifier la prise qui équipe votre véhicule afin de ne commettre aucune erreur.
Il est presque impossible d'établir une liste exhaustive même en se basant sur les années de production.  - BMW Série 5 E60/E61 (après 03/2007),
- BMW X3 E83 (après 09/2006),
- BMW Série 1 E81/E87 (après 03/2007),
- BMW Série 3 E90/E91/E92/E93 (après 03/2007),
- BMW X5 E70,
- Mini R56, etc...
Interface  OBD/ADS
(la seule à exploiter à 100% ce type de bus)  OBD/ADS ou K+DCAN  K+DCAN
(uniquement)


Quelle interface de connexion choisir ?







Interface  OBD/ADS  K+DCAN
Photo  post-2-0-78245600-1323054979.jpg  post-2-0-90771100-1323828440.png
Remarques  - Compatible avec les BMW équipées d'une prise diagnostique (OBD 1 ou 2) et qui n'utilisent pas le bus K+DCAN.
- Interface pour OBD2 vendue avec cordon d'adaptation pour OBD1 (OBD2 femelle -> prise BMW OBD1 20 pins).  - Interface K+DCAN compatible avec les BMW équipées d'une prise diagnostique.
- La prise en charge de l'OBD 1 n'est que (très?) partielle !
Prix  $89 (68€)  $119 (91€)
Votre ordinateur doit être équipé de...
Système d'exploitation  Microsoft Windows XP/Vista/Seven 32 bits
Connexion  Port série (norme RS-232 / connecteur male DE-9)*
img-394387-2-200px-Serial_port.jpg
* L'utilisation de convertisseurs type USB/PCMCIA/PCI-Express -> RS232 pourrait poser des problèmes.  Port série (norme USB / connecteur femelle type A)


Partie logicielle

Explications

Les concessions BMW utilisent deux ensembles de solutions pour s'occuper de nos voitures.
Ces deux solutions utilisent le protocole EDIABAS pour communiquer avec nos véhicules.

- Le DIS (Diagnostic Information System)

Dans la pratique il s'agit d'une machine (ordinateur, valise) à part entière, une sorte de bloc indissociable, il n'y a pas de module, ni à ajouter, ni à retirer.

Le protocole
EDIABAS
est intégré au
DIS
, tout comme l'outil de diagnostique
GT1
.

-
EDIABAS + INPA / NCS / NFS

Cette deuxième solution repose sur un ensemble de "modules" qui vont venir se greffer sur l'
EDIABAS
.

Le module INPA est l'outil de diagnostique, le module
NCS
est l'outil de codage, le module
NFS
est l'outil de programmation, etc.

Je passe sous silence le module WINELDI dont l'intérêt reste assez obscur.

A noter que rares sont les personnes qui utilisent les modules
NCS
et
NFS
, ces derniers sont peu conviviaux mais néanmoins très puissants.

Ils sont à réserver aux utilisateurs avertis qui ont une connaissance assez poussée des systèmes BMW.


Faire un choix ?




Dans la pratique il n'est pas obligatoire de choisir l'une ou l'autre des solutions, vous pouvez tout à fait installer les deux solutions sur le même PC.

Par la suite vous serez libre de lancer le programme qui vous conviendra le mieux.


Maintenant si vous tenez absolument à faire un choix, il me sera bien difficile de répondre à la question : quelles sont leurs différences ?

N'étant ni spécialiste de la chose, ni ingénieur chez BMW, je vais éviter toutes affirmations.

Néanmoins, pour résumer un peu la situation (telle que je la comprends), le DIS utilise des programmes de niveau "revendeurs" (tel que le GT1) alors que l'EDIABAS utilise des,modules de niveau "usine".

Concrètement la seconde solution est donc la plus complète et complexe ; l'INPA est un outil de diagnostique puissant mais il n'existe (à ma connaissance) aucune documentation simple expliquant son fonctionnement.

Typiquement, avec l'INPA, si vous ne comprenez pas ce que fait une telle fonction, il est préférable de ne pas trop creuser.

Ceci étant, le niveau de fonctionnalité de diagnostique est vraiment exceptionnel.

En d'autres termes le DIS est peut être plus facile d'accès alors que l'autre solution peut vite s'apparenter à une usine à gaz.


BMW SSS (Software Service Station) est une plate-forme utilisée par les concessions pour programmer et coder/décoder les véhicules BMW.

Installation de Ediabas+INPA

Logiciels :

- Ediabas 6.4.3 full (+/- 339 Mo)

Procédure d'installation :

Lancer le fichier Instprog.exe
post-2-0-22680600-1347996654.png
Sélectionner "English" puis cliquer sur "Continue"
post-2-0-90053000-1347996737.png
Cliquer sur "Continue"
post-2-0-18215000-1347996801.png
Laisser c:\ comme disque de destination et cliquer sur "Continue"
post-2-0-61758900-1347996911.png
Sélectionner "BMW Group Recertification programs USA" et cliquer sur "Continue"
post-2-0-06466600-1347996965.png
Cocher "Complete" en face d'EDIABAS et INPA puis cliquer sur "Continue"
post-2-0-11831100-1347997024.png
Sélectionner l'interface OBD et cliquer sur "Continue"
post-2-0-86146400-1347997129.png
Cliquer sur End lorsque le message "Installation finished" apparait.
post-2-0-81874400-1347997167.png
Ouvrir le fichier C:\Ediabas\Bin\EDIABAS.INI avec un éditeur de texte (Notepad, WordPad, etc).
post-2-0-07540800-1347997217.png
Repérer la ligne qui contient "remotehost" et celle qui contient “port”. Remplacer respectivement les valeurs par “192.168.68.1” et “6801”.
post-2-0-39930100-1347997261.png
Enregistrer les modifications et fermer le fichier.

Lancer C:\EDIABAS\Hardware\OBD\OBDSetup.exe.
post-2-0-82264500-1347997362.png
Une fenêtre similaire à celle-ci devrait apparaitre. Vous avez juste à appuyer sur n'importe quelle touche pour qu'elle se ferme.
post-2-0-40505600-1347997440.png
Aller dans les propriétés système (Menu démarrer, Panneau de configuration, Système, Paramètres système avancés, Variables d'environnement)

Cliquer sur "PATH" puis sur "Modifier..."

A la fin de la ligne "Variable value", ajouter ";C:\ediabas\bin" (sans les guillemets)
post-2-0-17994000-1347997772.png
Ouvrir le gestionnaire de périphériques
/* TOPIC EN COURS DE RéDACTION */

Installation du DIS

Logiciels :


-
Daemon Tools (+/- 11Mo)

- VMware Workstation 6 (+/- 300Mo)

- EasyDIS base 44 v1.0 (+/- 260Mo)

- GT1 v44 programs (+/- 920 Mo)

Procédure d'installation :

VMware Workstation version 6

Installer VMware en lançant le fichier exécutable, etc...

Lancer VMware Workstation.

Menu "File" -> "New" -> "Virtual Machine..."

Sélectionner "Typical" puis "Next >"

Sélectionner "Other" et "Other" puis "Next >"

Saisir "GT1" dans "Virtual machine name", ne pas modifier "Location" puis "Next >"

Choisir "Use host-only networking" puis "Next >"

Saisir "18.635" dans Disk size (GB), cocher "Allocate all disk space now" puis "Finish"

La machine virtuelle est opérationnelle

Cliquer sur "Edit virtual machine settings", sur "Sound Adapter" et sur "Remove"

Cliquer sur "CD-ROM (IDE 1:0)", cocher "Connect at power on" (si ce n'est pas déjà le cas), cocher "Use //// A TERMINER ! ////".

Cliquer sur "Ethernet", cocher "Connect at power on" (si ce n'est pas déjà le cas), cocher "Custom Specific virtual network et sélectionner VMnet1 (Host-only).

Cliquer sur "Add...", sur "Ethernet Adapter", sur "Next >", sur "Custom: Specific virtual network", sélectionner "VMnet1 (Host-only)", cocher "Connect at power on" et cliquer "Finish".
(Ceci n'est pas un doublon, il n'y a pas d'erreur !)
Cliquer sur "Add...", sur "Ethernet Adapter", sur "Next >", sur "Custom: Specific virtual network", sélectionner "VMnet1 (Host-only)", cocher "Connect at power on" et cliquer "Finish".

Cliquer sur l'onglet "Options", sur "Guest Isolation", décocher "Enable drag and drop to and from this virtual machine" puis "OK".




/* TOPIC EN COURS DE RéDACTION */
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 108
  • Création
  • Dernière réponse

Meilleur posteur dans ce sujet

  • Paul

    9

  • Supersport

    8

  • crnizmaj

    7

  • Mr Psyko

    6

Meilleur posteur dans ce sujet

Images Postées

Impecc Paul!! Si tu cherches un cobaye poissard, suis là!! Si moi j'y arrive, tout le monde doit y arriver!!

Pour la config matériel, un pc avec quel OS mini/maxi? Ca ne fonctionnerait que sous win?

Lien vers le commentaire
Partager sur d’autres sites

Ne nous emballons pas ! LOL

Pour ce qui est de l'OS dans un premier temps on va se contenter de Windaube-daube parce que c'est suffisamment compliqué comme ça :lol:

A l'heure actuelle j'ai testé sous Windows XP et Windows 7 et je ne rencontre pas de problème particulier lié au système.

Dans tous les cas il est important que le système d'exploitation de l'ordinateur soit 32 bits et non 64 bits.

De toutes façons il est probable que les logiciels refusent de s'installer sur un OS 64 bits alors le problème sera réglé ^^

Pour l'instant je n'arrête pas de graver des CD/DVD (EDIABAS, INPA, DIS, SSS) tant que l'installation n'est pas strictement identique à celle de mon concessionnaire :)

post-2-0-76963700-1323070451.jpg

Lien vers le commentaire
Partager sur d’autres sites

si je peux t'aider n'hésites pas, j'ai installé la semaine dernière INPA et je le fait fonctionner avec une interface carsoft. je suis sous windaube 2000. j'ai testé sur ma E46 ça marche nikel j'ai même réussi à faire le recodage d'injecteur suite au changemement de l'un d'eux.

a tout hasard tu as une version fr de inpa ?

par contre une instal du DIS ça m'intéresse, mais apparemment il faut un pc costaud pour le faire tourner.

Lien vers le commentaire
Partager sur d’autres sites

Nop pour l'instant je suis en full english, je pense que ça ne sera pas évident de trouver tous les "logiciels" en FR avec des versions récentes... ceci étant on verra ça plus tard.

Pour l'instant j'utilise INPA 6.4.3 et je suis à deux doigts de charger le DIS v44 !

Pour le DIS v57 et SSS v41 ça risque d'être une autre paire de manches mais je pense être proche de la solution avec l'émulation d'une machine virtuelle sous VMware -> ça va roXXer bien fort :P

Lien vers le commentaire
Partager sur d’autres sites

En fait l'idée c'est d'utiliser l'INPA au centre du système. Ensuite l'INPA utiliserait automatiquement le DIS (pour les modèles E87, E90, E91, E92, E60, E61, E63, E64, E65, E66, E70, E83, E85, E86, E31, E32, E34, E36, E38, E39, E46, E52, E53, R56, R50, R52, R53) ou le SSS (pour les E83, E85, E86, E31, E32, E34, E36, E38, E39, E46, E52, E53, R56, R50, R52, R53). Et ce automatiquement que la connectique soit un OBD1 20 pins ou un OBD2 16 pins !

Pour ce qui est du PC portable je ne pense pas qu'une très grosse puissance de calcul soit nécessaire, les hackers parlent régulièrement de l'IBM T30 qui n'est pas non plus une foudre de guerre...

Lien vers le commentaire
Partager sur d’autres sites

Idée grandiose. Par contre une question de newbie.

Beaucoup de PCs portables sont désormais en 64 bits il me semble (a moins qu'il ne s'agisse que de Explorer ...) et les prises USB remplassent les prises RS-232. Comment faire dans ce cas ?

Deuxième question, une "notice" existe-t-elle en fonction de ce que l'on veut faire via cette prise ?

Je m'abonne à ce post pasionnant !

Lien vers le commentaire
Partager sur d’autres sites


×
×
  • Créer...