MS41 ECU TOOL – Diolum

MS41 ECU Tool est un outil spécialisé destiné au diagnostic, à l’analyse de données, à la gestion des adaptations et à la lecture/programmation des calculateurs BMW de la famille Siemens MS41.

L’application communique directement avec le calculateur via son interface K-Line, à l’aide d’un adaptateur série compatible. Elle regroupe dans une même interface les fonctions d’identification, de diagnostic, de données en temps réel, d’adaptations, de sauvegarde mémoire et de programmation.

L’application requière JAVA 1.8.0 minimum.

Fonctionne en 32 et 64 bits;

Compatible Windows 7, 8, 10, 11 et macOS


À quoi sert cet outil ?

Le MS41 ECU Tool a été conçu pour travailler directement avec les calculateurs MS41.0, MS41.1 et MS41.2. Il permet aussi bien d’effectuer des opérations de diagnostic courantes que de travailler sur les fichiers mémoire du calculateur.

  • Identifier précisément un calculateur MS41 et ses informations véhicule.
  • Consulter les paramètres moteur en temps réel.
  • Lire et effacer les codes défauts et leurs informations associées.
  • Lire ou effacer différentes familles d’adaptations.
  • Visualiser les tables d’adaptation du cliquetis.
  • Créer une sauvegarde partielle ou complète de la mémoire.
  • Lire la mémoire brute du calculateur.
  • Programmer une image de 24 Ko ou une image complète de 256 Ko.
  • Vérifier et corriger automatiquement les checksums avant programmation.
  • Manipuler et convertir différents formats de fichiers MS41 sans communiquer avec le calculateur.

Les calculateurs pris en charge

La détection de la référence du calculateur permet à l’application d’identifier la variante utilisée et d’adapter certaines adresses mémoire utilisées par les fonctions de données en temps réel et d’adaptations.

VariantePrise en charge
MS41.0Oui
MS41.1Oui
MS41.2Oui

Interface et fonctionnement général

L’application dispose d’un sélecteur de port série situé dans l’en-tête. Aucun port n’est sélectionné au démarrage. L’état « connecté » indique l’état du port série lui-même et ne signifie pas que le calculateur a déjà été identifié.

La communication standard utilise une liaison K-Line à 9600 bauds, 8 bits, parité paire et 2 bits d’arrêt. Un indicateur de vitesse permet également de voir la vitesse réellement utilisée lorsque le mode rapide est actif.

Les onglets

1. Ident — Identification du calculateur

L’onglet Ident constitue le point de départ pour communiquer avec un calculateur. Il rassemble les informations provenant de la réponse d’identification ainsi que des lectures complémentaires de la mémoire du MS41.

Informations ECU

  • Numéro de pièce (Part Number).
  • Modèle de calculateur.
  • Index de codage, diagnostic et bus.
  • Informations de fabrication et fournisseur.
  • Software Index et Changing Index.
  • Numéro de production.
  • FAM.
  • Numéro logiciel, numéro officiel et numéro d’assemblage.
  • Clé calculée lors de la procédure de déverrouillage.

Informations EWS

  • État EWS.
  • ISN.
  • Numéro de production associé.

Informations véhicule

  • VIN décodé.
  • Date de production.
  • Châssis détecté lorsque l’information est disponible.
  • État de la climatisation.
  • État du volet d’échappement.
  • État du contrôle CRC.

La fonction Identification ne nécessite pas que le calculateur soit préalablement déverrouillé. L’icône de verrouillage permet quant à elle de relancer une véritable procédure de handshake afin de vérifier l’état réel du calculateur et, si nécessaire, d’effectuer la procédure seed/key.

2. Live Data — Données moteur en temps réel

L’onglet Live Data permet de suivre directement les valeurs fournies par le calculateur pendant son fonctionnement.

Paramètres analogiques

ParamètreUnité
Régime moteurRPM
Charge moteurmg/str
Débit d’airkg/h
Correction de cliquetis°CRK
VANOS°CRK
Position papillon (TPS)%
Avance à l’allumage°CRK
Temps d’injectionms
Température d’air d’admission°C
Température de liquide de refroidissement°C
Vitesse véhiculekm/h
IACV%
Lambda Integrator 1 / 2%
Lambda 1 / 2V
Tension batterieV

États numériques du calculateur

  • Ralenti et pleine charge.
  • ASR et MSR.
  • Système antivol.
  • Entrées et compresseur de climatisation.
  • État du bus CAN.
  • Accès rapport et position de transmission.
  • Commandes de gestion carburant.
  • Relais de pompe à carburant.
  • Relais de compresseur de climatisation.
  • Vanne VANOS.
  • Volet d’échappement.
  • Vanne de canister.
  • Pompe et vanne d’air secondaire.

Deux modes de fonctionnement sont disponibles : Play sur la liaison normale et Play fast lorsque l’adaptateur permet l’utilisation du mode rapide.

3. DTC — Diagnostic et codes défauts

L’onglet DTC permet d’accéder à la mémoire des défauts du calculateur. La lecture comporte une phase de préparation suivie de la récupération des enregistrements de défauts.

  • Lecture des DTC.
  • Effacement de la mémoire des défauts.
  • Décodage du code et de sa description lorsque le code est pris en charge.
  • État du défaut et qualificatifs associés.
  • Données de freeze-frame.
  • Temps approximatif depuis l’apparition du défaut lorsque l’information est disponible.
  • Informations de raison de self-test lorsque disponibles.

Les résultats sont présentés dans une liste défilante lorsque plusieurs défauts sont présents.

4. Adaptations — Valeurs apprises et corrections

L’onglet Adaptations permet de consulter certaines valeurs apprises du calculateur et d’effacer sélectivement différentes familles d’adaptations.

Effacement sélectif

  • Clear Idle — effacement de l’adaptation de ralenti.
  • Clear Knock — effacement des adaptations liées au cliquetis.
  • Clear Lambda/Fuel — effacement des corrections lambda/carburant.
  • Clear Throttle — effacement de l’adaptation du papillon.
  • Clear ALL adaptations — effacement global des adaptations.

Lecture des adaptations

  • Compteur d’heures moteur lorsque disponible.
  • Adaptation du papillon.
  • Corrections additives carburant des deux bancs.
  • LTFT des deux bancs lorsque les adresses correspondant au Part Number sont connues.
  • Axes de charge et de régime des tables de cliquetis.
  • Six tables d’adaptation du cliquetis.

Les tables de cliquetis sont présentées sous forme de grilles. Elles comportent 16 points de régime et 4 points de charge, avec les corrections exprimées en degrés vilebrequin. Les six tables peuvent être sélectionnées séparément à l’écran.

5. Flash — Lecture et programmation de la mémoire

L’onglet Flash regroupe les opérations sur les fichiers mémoire et la programmation du calculateur. Les opérations sont séparées afin de distinguer l’image flash standard, la représentation mémoire brute et la zone partielle de 24 Ko.

FonctionUtilisation
Partial ReadLecture de la zone de 24 Ko.
Full ReadLecture complète de 256 Ko avec réorganisation des banques pour produire une image flash exploitable.
Read MemoryDump brut de 256 Ko correspondant directement aux adresses mémoire du calculateur.
Partial Read FastLecture 24 Ko via le mode rapide.
Full Read FastLecture 256 Ko via le mode rapide.
Partial WriteProgrammation de la zone de paramètres de 24 Ko.
Full WriteProgrammation d’une image complète de 256 Ko.

Différence entre Full Read et Read Memory

Le Full Read produit une image correspondant à la représentation flash utilisée pour les opérations de programmation. Les banques de 16 Ko sont réorganisées selon le mapping propre au MS41.

Read Memory conserve au contraire la correspondance directe entre l’adresse mémoire du calculateur et la position dans le fichier. Le résultat est donc un dump brut et ne doit pas être considéré comme interchangeable avec une image flash standard.

Écriture partielle

Le fichier d’entrée doit faire 24 Ko.

Écriture complète

  • Vérification du fichier sélectionné.
  • Contrôle de compatibilité du Part Number avec le calculateur identifié.
  • Vérification et correction des checksums en mémoire.
  • Déverrouillage du calculateur si nécessaire.
  • Effacement du flash.
  • Programmation des différentes zones.
  • Seconde phase d’effacement de la zone de paramètres au moment prévu par la procédure.
  • Synchronisation finale du flash.

Gestion des checksums

Avant toute écriture, l’outil vérifie automatiquement les checksums supportés et les corrige si nécessaire. La correction est effectuée uniquement dans le buffer en mémoire : le fichier original présent sur le disque n’est jamais modifié.

EEPROM 24C04 :

Dans l’onglet Flash une fonction spécifique appelée Read EEPROM chip. Elle concerne la puce série 24C04 de 512 octets présente séparément sur la carte du calculateur.

Cette mémoire n’est pas la même chose que la zone de 24 Ko utilisée par Partial Read/Partial Write. L’outil reconstruit son contenu à partir de deux zones RAM miroir accessibles en fonctionnement. La lecture est disponible lorsque le calculateur est identifié et que son Soft ID est 41.

La lecture est volontairement tolérante : si une zone ne peut pas être récupérée, elle est laissée à 0xFF et la lecture des autres zones continue. C’est une reconstruction qui peu ne pas être fidèle a 100% mais qui jusque là c’est révélé correcte.

6. Utilities — Outils de fichiers

Ces fonctions travaillent sur les fichiers présents sur le disque seulement.

Fix CRC

Permet de sélectionner une image de 24 Ko ou 256 Ko et d’appliquer la correction de checksum nécessaire. Cette fonction permet donc de préparer un fichier indépendamment d’une opération de flash.

Quick Edit

Quick Edit permet d’ouvrir directement un fichier MS41 de 24 Ko ou 256 Ko afin d’en inspecter et modifier certains paramètres. Le fichier source reste inchangé jusqu’à l’enregistrement.

  • Lecture de l’identifiant logiciel.
  • Activation/désactivation de l’état EWS dans le fichier.
  • Pour une image complète et un identifiant connu, accès à un mode Advanced.
  • Modification du Part Number et de ses copies.
  • Modification du Software Number, Official Number et Assembly Number.
  • Modification des index diagnostic et bus.
  • Modification de la date de fabrication.
  • Modification du numéro fournisseur.
  • Modification du Soft ID et du FAM.
  • Modification du numéro de production.
  • Modification du VIN.
  • Modification de l’ISN.

Le mode avancé détecte également les copies multiples de certains paramètres. Lorsque deux copies programmées ne correspondent pas, elles sont affichées séparément afin d’éviter d’écraser silencieusement une différence existante.

Conversion des représentations mémoire

  • Mem → Full : transforme un dump mémoire brut en représentation Full.
  • Full → Mem : reconstruit la représentation mémoire brute.
  • Full → Partial : extrait la zone partielle de 24 Ko.
  • Mem → Partial : extrait la zone partielle depuis un dump mémoire.

Conversion .0DA → .bin

L’outil sait également lire les fichiers .0DA contenant des blocs au format Intel HEX, reconstruire une image partielle de 24 Ko et produire un fichier .bin. Les métadonnées présentes dans l’en-tête sont conservées dans un fichier texte associé.

Dump info

Dump info permet de sélectionner un fichier de 24 ou 256 Ko et d’en extraire les informations ECU, EWS et véhicule sans avoir besoin de connecter le calculateur.

  • Part Number et références logicielles.
  • Index diagnostic et bus.
  • Date de fabrication et fournisseur.
  • Soft ID et FAM.
  • Numéro de production.
  • État EWS.
  • ISN pour les images complètes.
  • VIN.
  • Date de production.
  • Châssis probable.
  • État A/C.
  • Volet d’échappement.
  • État CRC.

Fast Mode — lecture accélérée

Le Fast Mode permet d’accélérer les lectures et le Live Data dans un mode de communication plus rapide. Le lien peut passer de 9600 bauds à une vitesse intermédiaire puis, lorsque le matériel le permet, jusqu’à 187 500 bauds.

ModeVitesse approximative
Normal9 600 bauds
Intermédiaire19 737 bauds / 28 800 bauds
Fast187 500 bauds

Le mode rapide est disponible pour Partial Read Fast, Full Read Fast et Play fast. Il n’est pas utilisé pour Read Memory ni pour les opérations d’écriture pour des raison évidentes de stabilité et de bénefice/risque.

Détection des interfaces

Le programme détecte certains adaptateurs FTDI clone et certaines interfaces RS232 natives afin d’éviter d’utiliser une vitesse incompatible avec le matériel.

il est possible aussi de brider volontairement la vitesse ou d’indiquer l’interface RS232 ou clone manuellement.

  • FTDI clone : limite le mode rapide à la vitesse intermédiaire lorsque le matériel ne permet pas de garantir 187 500 bauds.
  • RS232 OBD/ADS interface : bloque complètement le Fast Mode lorsqu’un port série natif est utilisé.
  • Avec certaines interfaces RS232, l’application peut également afficher l’état du contact via la ligne DSR.

Un badge situé dans l’interface indique en permanence la vitesse réellement utilisée.

Debug — analyse bas niveau

Un onglet Debug supplémentaire est disponible lorsque le mode debug est activé. Il est destiné à l’analyse du protocole et aux essais de commandes, et non à l’utilisation courante de l’outil.

Le mode est activé par la présence d’un fichier vide nommé debugMode, sans extension, dans le dossier de l’application au démarrage.

  • Affichage des trames TX et RX brutes.
  • Saisie manuelle d’une commande en hexadécimal.
  • Calcul automatique de la longueur de trame.
  • Calcul automatique du checksum.
  • Envoi ponctuel d’une commande.
  • Envoi en boucle avec délai configurable.
  • Journal de debug dédié.
  • Outils de test de différentes vitesses de liaison K-Line.

Le logger écrit également les communications dans ms41_ecu_tool.log, ce qui permet de suivre les échanges pendant l’utilisation du programme.

Types de fichiers

FichierRôle
PartNR_VIN_partial.binImage partielle de 24 Ko.
*_full.binImage complète de 256 Ko dans la représentation flash MS41.
*_memory.binDump brut de 256 Ko suivant les adresses mémoire du calculateur.
*_eeprom.binLecture de la puce EEPROM 24C04 lorsqu’elle est prise en charge.

Sécurité lors d’une programmation

Les opérations de programmation modifient directement la mémoire du calculateur. Elles doivent donc être réalisées avec une alimentation stable et une communication fiable.

  • Vérifier le calculateur connecté avant toute écriture.
  • Vérifier la compatibilité du Part Number et du fichier.
  • Utiliser une alimentation stable.
  • Ne pas débrancher l’interface K-Line pendant la programmation.
  • Ne pas couper l’alimentation pendant une opération de flash.
  • Attendre la fin complète de l’opération indiquée par l’application.
  • Respecter le rappel de coupure du contact après une écriture.

En résumé

Le MS41 ECU Tool rassemble dans une seule application les principales opérations nécessaires pour travailler directement avec les calculateurs BMW MS41 : identification, diagnostic, données temps réel, adaptations, sauvegarde mémoire, programmation, analyse de fichiers et outils de conversion.

OngletFonction principale
IdentIdentification ECU, EWS et véhicule, verrouillage/déverrouillage.
Live DataParamètres moteur et états numériques en temps réel.
DTCLecture, décodage et effacement des défauts.
AdaptationsLecture des valeurs apprises, tables de cliquetis et remise à zéro.
FlashLecture, sauvegarde et programmation de la mémoire MS41.
UtilitiesCorrection CRC, édition de fichiers, conversions, .0DA et inspection de dumps.
DebugAnalyse et émission de trames brutes lorsque le mode debug est activé.

Changelog:

Release 1.0.0:

  • Première release

Retour en haut