Bases de reprogrammation MS41

Matériel nécessaire.

  • Un câble KKL pour VAGCOM FTDI
  • Un adaptateur OBD vers ADS
  • Un pc sous Windows
  • Des logiciels cités tout au long de cette page et disponibles dans la section téléchargement du wiki.

Introduction :

Toutes les infos donnés sur cette page sont seulement à titre éducatif. Toute reprogramation sur voie publique est interdite. Aussi je ne saurai tenu responsable si vous bloquez votre calculateur ou casseriez quelque chose.

Pour commencer, il faut savoir qu’il n’y a qu’une partie des MS41 qui sont reprogrammables en passant par le port ADS.

Ce sont les références indiquées « MS41.0/ FLASH » dans le tableau.

Tous les autres nécessitent de passer par un déssoudage de la flash et lecture avec un programmateur spécialisé. (XGecu ou autre) 

Tout cet article est basé sur les calculateurs flashables. Certaines parties s’appliquent aussi aux autres, mais vous êtes tous seul…. 

Récupération de la cartographie :

Il faut savoir que la plupart des logiciels pour lire les cartographies proposent deux types de lectures. La première est une lecture partielle.

Elle permet de récupérer juste les tables et paramètres calculateur.

Et une seconde qui permet de récupérer le contenu complet de la flash qui contient le logiciel du calculateur et d’autre informations comme le numéro de série du véhicule en plus.

Petite chose à savoir cependant. Tous les calculateurs flashables MS41.0 ont le même matériel, c’est-à-dire que la carte mère est en tout point identique, mais le logiciel quant à lui peu être différent. R’envoyer les tables d’une version logicielle dans une autre aura à quasi-coup sûr pour effet de bloquer le calculateur et nécessitera un dessoudage de la flash pour la réécrire correctement.

Lors ce que l’on veut juste modifier la cartographie, on va rester sur une lecture partielle. Mais en prenant soin de faire une lecture complète du calculateur pour avoir une base de réparation au cas ou. 

Pour récupérer la cartographie, il va vous falloir un câble KKL VAGCOM 409 FTDI, un adaptateur OBD vers ADS que l’on va devoir modifier pour ponter deux broches dans le connecteur ADS qui va permettre de passer le calculateur en mode boot pour réécrire la cartographie.

Voici la modification à faire sur l’adaptateur côté ADS:

Il faut ponter les pins 14 et 18

Voici un adaptateur fait à partir d’un adaptateur VAGCOM et d’un adaptateur ADS:

On va brancher l’adaptateur et le câble VAGCOM à la voiture et mettre le contact.

On va ensuite brancher le câble usb a l’ordi et lancer le logiciel « Siemens MS41 Flash Tool ».

On va voir en bas que le câble est connecté.

On va ensuite faire un partial read en allant dans « File/Partial 24kb » puis « Read ECU ». 

Et on va l’enregistrer avec le nom par default:

On va ensuite couper puis remettre le contact. Et on fait un full read par sécurité.

Et on va l’enregistrer avec le nom par default:(≈7min)

On a maintenant une backup du calculateur.

Écriture du binaire:

On va mettre le calculateur en mode boot. Pour ce faire, on va mettre à la masse la pin 60 grâce au switch et on va envoyer le partial à l’aide de « Siemens MS41 Flash Tool »

On va vérifier que la correction de checksum est active

Puis on va choisir « File/Partial 24kb » puis « Flash ECU ».  et on choisit le fichier modifié. 

Puis on coupe le contact 20s après l’écriture.  

A savoir que le calculateur indique le nombre de reprogrammation dans la Flash automatiquement mais il est impossible de la modifier sans déssouder la puce.

Octets de config:

On a dans la première partie du fichier 5 octets qui servent au calculateur à savoir comment se comporter. 

J’ai fait un tableau qui résume les bits et les fonctions. Ne touchez pas à ça sauf si vous avez un problème et que vous savez ce que vous faites.

Position dans le Fichier Bin:

Pour la suite, je vais décrire un peu comment faire quelques modifications.

EWS off:

La première étape va consister à faire un EWS OFF. 

Pour faire un EWS OFF il y a plusieurs solutions.

Mais dans tous les cas si votre EWS ne marche plus vous devrez ponter les pins 1 et 3 avec un fil en 2.5mm2. Dans le cas ou votre EWS marche encore il n’est pas nécessaire de shunter les broches le calculateur moteur ne s’occupera juste plus du signal d’autorisation de démarrage.

Editeur Hex

Si vous êtes à l’aise un éditeur hexadécimal on va modifier un octet de contrôle.

Pour ca on va ouvrir le fichier avec « HxD »

On va aller a l’octet 8

et on va modifier la valeur a droite en remplaçant le premier 0 par un 1

Et on enregistre en ajoutant »‘-IMMO_OFF »

Cette solution ne corrige pas le checksum donc seulement flushable avec un logiciel qui le corrige automatiquement comme « Siemens MS41 Flash Tool ».

Patcher automatique

Soit on peu passer par « Siemens ms41
ews delete V1.02″

On va ouvrir le logiciel et on va cliquer sur « Patch EWS »

On sélectionne notre fichier et le logiciel s’occupe de patcher et d’enregistrer le fichier modifié.

L’avantage de cette méthode c’est quelle corrige le checksum aussi

On peu voir la modification faite sur l’octet 8 et le checksum plus loin.

Romraider

Soit on va devoir passer par romraider

Pour ca on ouvre la carte dans le logiciel et on choisis le byte 8 dans les « Control Bits »

On ouvre la calculatrice en mode développeur et on la met en mode décimal et on rentre la valeur lue sur romraider:

Puis on clique sur le 8ième 0 en bas a droite:

On rentre cette valeur dans Romraider en cliquant sur la valeur d’origine puis en haut on rentre la nouvelle valeur et on clique sur « Set »

Et on enregistre en ajoutant »‘-IMMO_OFF » . Cette méthode ne recalcule pas non plus le checksum. Donc a flasher avec un logiciel qui recalcule les checksum en automatique.

ABS OFF:

En réalité, on ne fait pas vraiment un ABS off, mais plutôt on va indiquer au calculateur comment se comporter en cas d’absence de signal VSS provenant du calculateur ABS qui a pour effet de brider le moteur à X rpm. 

On va pour ça lui indiquer une limite de rpm au-dessus du rupteur en cas de manque du VSS.

On va avoir besoin de Romraider, et on va aller chercher la table qui s’appelle « Engine Speed Limiter (VSS Error) » dans la section « Limiters »

et on va passer la valeur à 7000 ou au-dessus de votre rupteur s’il est modifié.

Pour ca on va sélectionner le champ avec le regime. puis on rentre une valeur dans le bandeau et on clique sur set. La valeur va être un peu différente mais c’est normal.

Et on va enregistrer en ajoutant -VSS_OFF dans le nom pour savoir ce que le fichier comporte comme motif.

Rupteur augmenté :

Cette partie va juste traiter de l’augmentation du rupteur et non de modification de vitesse de rupteur. Sur les moteurs M52 on peu gratter un peu de tours sur un moteur en bon état et bien entretenu.

Pour se faire on va ouvrir les tables « Engine speed limiter (Hard limiter) » et « Engine speed limiter (Immediate) » présentes dans « Limiters ».

La premiere est la valeur a partir de laquelle le moteur va renter en logique de rupture.

La seconde est la valeur a laquelle le calculateur va couper les injecteurs. Elle doit toujours être plus grande que la « Hard Limiter ». (En général 100rpm)

De base sur 328i les valeurs sont respectivement 6496 et 6592.

Vous pouvez pousser a 6976 et 7072 sans trop de risques au delà c’est la loterie et il n’y a plus tellement de gains.

Vitesse du rupteur :

On va parler dans cette section de la vitesse de rupture.

Pour ca on va devoir ouvrir en plus les tables:

  • « Engine speed limiter (Resume delay) »
  • « Engine speed limiter (Hysteresis A) »
  • « Engine speed limiter (Hysteresis B) »

On peu deja commencer a réduire l’écart entre « Engine speed limiter (Hard limiter) » et « Engine speed limiter (Immediate) a 32.

« Engine speed limiter (Resume delay) » est la table qui gère selon la vitesse de la voiture le délais après lequel le calculateur rétabli l’arrivée de carburant. Plus cette valeur est petite plus le rupteur est agressif. Commencez par diviser tout par deux pour voir le résultat.

« Engine speed limiter (Hysteresis A) » et »Engine speed limiter (Hysteresis B) » sont des valeurs qui sont liés a des paramètres physique d’inertie du moteur. Plus on les réduit plus le rupteur est agressif mais plus on lui met des contraintes pour lequel il n’a pas été prévu.

Vous pouvez réduire A de 32 en 32. Et le B vous aurez par le choix de le passer A 0 mais pour une base il peu rester a 32.

Pour un hardcut les valeurs sont:

Resume delay: 2 partout.

Hysteresis A: 32

Hysteresis B: 0

Modification du ralenti:

Il est possible de modifier le régime de ralenti selon la température.

Pour cela il existe 3 tables dans « Idle Speed Target »

Une concerne le ralenti normal, la seconde quand la clim est allumée, et la dernière concerne les boites auto lors ce que celle ci est en Drive

Il peu être utile de modifier les valeurs lors d’une conversion E85 pour les températures basses.

Adaptation d’injecteurs:

On va utiliser pour ça la valeur en CC des injecteurs d’origine. 

Voici un petit tableau récapitulatif pour les injecteurs BMW compatibles M52 de E36:

ModeleRef BMWCC/min @ 3barCouleur
320 M5013641730059166.9Gris
320 M5213641730060176.1Vert 
323 M5213641730060176.1Vert 
325 M5013641730060176.1Vert 
328 M5213641703819231.0Rose
M3 S5013641310641263.1Blanc
M3 S50 3.213641405044273.0Bleu

Autres modèles compatibles M52 hors E36 et BMW:

ModeleRef BMW ou BoschCC/min @ 3barCouleur
BMW M30B2813641286026199.0Jaune
BMW M60B30/40 BMW M62B4413641466396191.0Rouge
Volvo 740Bosch 0280150749243.0Beige
VW VR6 2.8Bosch 0280150853196.0Brun
Volvo 2.3Bosch 0280150785315.0Jaune
BMW E30 320iBosch 0280150716166.1Blanc

On va prendre la valeur des nouveaux injecteurs et on va faire la différence de ceux-ci en pourcentage pour modifier la table d’injection par ce même pourcentage. 

On va sélectionner toute la table « Fuel Injection – Base » et renter la valeur dans le bandeau en haut puis cliquer sur « Mul ».

Par exemple pour des injecteurs 13% plus gros on va multiplier toute la table par 0.87.

Il peu être aussi nécessaire de faire ceci sur la table « Fuel injector – Cranking Initial » et « Fuel injector – Cranking ».

Il faut aussi penser à modifier les valeurs de deadtime dans « Fuel Injector – dead Time / Latency » si on les a.

Voici les valeurs d’origine pour 13641730060:

et pour 13641703819:

De plus si vous avez l’indicateur de Conso dans l’ordinateur de bord multipliez les valeurs « Fuel Economy Gauge – Scaling Factor » et « Fuel Economy Gauge – Scaling Factor 2 » par le pourcentage de différence entre votre valeur calculée et celle affichée.

Si votre Conso affichée est 15% trop basse multipliez les valeurs par 1.15.

Vous avez fait une adaptation rapide des injecteurs. Pas parfaite, mais suffisante. 

Pour aller plus loin il faut ensuite faire un roulage et vérifier que les valeurs de correction lambda tournes toujours autour de 0. Si on est toujours aux environs de +10% il faut corriger la table d’injection en ajoutant ce pourcentage à la table pour qu’elle retourne aux alentours de 0.

Par contre, assurez-vous du bon fonctionnement du système lambda au risque de mal faire la correction supplémentaire. 

Retour en haut