[TUTO / RETEX] Lecture EEPROM 95160 et récupération du PIN sur BSI Valeo J03-00 – Peugeot 307 CC

Le coin des mécanos !
Répondre
Avatar du membre
BlackFury
Administrateur du site
Messages : 47
Enregistré le : ven. 16 août 2019 02:40
Localisation : Nantes
Contact :

[TUTO / RETEX] Lecture EEPROM 95160 et récupération du PIN sur BSI Valeo J03-00 – Peugeot 307 CC

Message par BlackFury »

Bonjour à tous,

Je partage mon expérience concernant la récupération du code PIN antidémarrage sur un BSI Valeo J03-00 de Peugeot 307 CC.

J'ai pas mal cherché avant d'y arriver, notamment pour accéder physiquement à l'EEPROM et réussir à la lire correctement avec un CH341A. Si ça peut éviter à d'autres de perdre du temps, autant partager la méthode.

1. Le contexte

Le véhicule est une Peugeot 307 CC phase 1 équipée du moteur 1.6 16V NFU.

Le BSI d'origine ne communique plus avec PP2000. Le calculateur moteur répond correctement, mais les autres calculateurs restent inaccessibles. Un précédent intervenant avait effectué un immo off sur le calculateur moteur, considérant que le BSI était HS.

Avant d'envisager l'achat d'un kit de démarrage complet, je souhaitais récupérer le code PIN du BSI d'origine pour conserver la possibilité de programmer un BSI de remplacement.

Références du BSI :
- Fabricant : Valeo
- Modèle : J03-00
- Référence : 9651197580A
- EEPROM : STMicroelectronics 95160
- Capacité : 16 Kbits (2 048 octets)

2. Le matériel utilisé

Je n'ai pas utilisé de programmateur automobile spécialisé.

Matériel :
- CH341A noir (MiniProgrammer)
- Adaptateur SOIC8 vers DIP8
- Station de soudage classique
- Fer à souder, flux, tresse et pompe manuelle
- Multimètre
- PC sous Windows

Logiciels :
- Pilote officiel WCH CH341PAR
- NeoProgrammer 2.2.0.10

Le CH341A est un programmateur USB peu coûteux, normalement capable de lire les EEPROM SPI de cette famille.

3. Accéder à l'EEPROM du BSI

C'est probablement la partie la plus pénible de l'opération.

Sur ce Valeo J03-00, l'EEPROM est située sur la face intérieure de la carte électronique, inaccessible tant que celle-ci est assemblée au bloc de distribution électrique.

J'ai d'abord cherché une méthode de lecture par les points de test accessibles sur l'extérieur de la carte.

Il existe des photos de raccordements ISP sur les forums, notamment avec XPROG, mais je n'ai pas réussi à retrouver un brochage suffisamment fiable pour reproduire la méthode sans risque.

J'ai donc décidé de séparer les platines.

Le problème : la carte est maintenue par un grand nombre de broches traversantes soudées.

N'ayant pas de véritable station de dessoudage à aspiration, j'ai travaillé avec :
- Fer à souder et flux
- Pompe à dessouder manuelle
- Tresse pour les finitions

Il faut procéder progressivement et s'assurer que chaque broche est parfaitement libérée avant de soulever la carte. Le risque principal est d'arracher une métallisation ou une piste.

L'opération est assez longue, mais réalisable avec de la patience.

Une fois la platine séparée, l'EEPROM est enfin accessible.

4. Identification de l'EEPROM

La puce est une STMicroelectronics 95160, en boîtier SOIC8.

Marquage relevé :

`95160 6`
`ST K331W`

Il s'agit d'une EEPROM SPI de 2 Ko.

Je l'ai dessoudée, puis soudée sur un adaptateur SOIC8 vers DIP8 afin de pouvoir la programmer hors circuit, sans interférences provenant du reste du BSI.

Attention à l'orientation : sur mon exemplaire, le repère de broche 1 n'était pas clairement visible. Il faut donc vérifier le brochage avant de raccorder le circuit.

5. Configuration du CH341A

J'ai utilisé un CH341A noir classique, équipé de son régulateur 3,3 V.

Le cavalier jaune doit être positionné sur **1–2 (mode programmation)** et non sur 2–3, réservé au mode série TTL.

Sous Windows, installation du pilote officiel :

https://www.wch.cn/downloads/CH341PAR_EXE.html

Le programmateur était correctement reconnu par Windows.

Dans NeoProgrammer :
- Programmateur : CH341 Noir
- Circuit : ST M95160 [5.0V]
- Opération : lecture uniquement

À noter : la ST95160 ne se détecte pas nécessairement automatiquement comme une Flash SPI classique. Il faut sélectionner manuellement sa référence.

6. Le problème rencontré : lectures remplies de FF

C'est là que j'ai perdu pas mal de temps.

Malgré la reconnaissance du CH341A par Windows et NeoProgrammer, impossible d'obtenir un dump correct.

J'avais parfois des erreurs de communication, parfois une lecture contenant uniquement :

`FF FF FF FF FF FF FF FF...`

J'ai essayé plusieurs profils de circuits dans NeoProgrammer, sans résultat exploitable.

Finalement, en contrôlant les tensions au multimètre, j'ai découvert quelque chose d'intéressant :

- Alimentation VCC du support ZIF : **3,3 V**
- Signal CS au repos : **5 V**

Autrement dit, le CH341A alimentait l'EEPROM en 3,3 V alors que certains signaux logiques étaient à 5 V.

La ST95160 installée dans mon BSI correspond à une ancienne famille de mémoires pour laquelle il faut être particulièrement attentif à la tension d'alimentation selon la variante.

Le simple fait de sélectionner un profil « 5.0V » dans NeoProgrammer ne change pas physiquement la tension fournie par le programmateur.

J'ai donc adapté mon montage pour utiliser une alimentation 5 V, en veillant à ne pas relier directement les sorties 3,3 V et 5 V entre elles.

Et là, changement immédiat : les lectures sont devenues exploitables.

Je précise que cette adaptation doit être vérifiée sur chaque modèle de CH341A. Il ne faut pas injecter du 5 V directement sur un support encore alimenté en 3,3 V.

7. Récupération du dump et du PIN

Une fois les problèmes de communication résolus, j'ai pu effectuer des lectures complètes de la ST95160.

Chaque dump doit avoir une taille de :

**2 048 octets exactement.**

Il est fortement conseillé d'effectuer au moins deux lectures indépendantes, de les sauvegarder séparément et de comparer leur contenu octet par octet.

Cela permet d'éviter de travailler sur un fichier incomplet ou corrompu.

J'ai ensuite pu exploiter les données récupérées pour obtenir un code PIN antidémarrage à quatre caractères.

**Le code a été extrait, mais il me reste à le valider sur le véhicule avec PP2000.**

Je conserve évidemment les dumps originaux sans aucune modification, puisqu'ils pourront également être utiles en cas de clonage vers un BSI de remplacement.

8. Et après ?

L'objectif initial était uniquement de récupérer le PIN, mais l'opération ouvre d'autres possibilités.

Je vais maintenant chercher à faire communiquer le BSI directement sur établi avec PP2000 et ma Lexia 3.

Cela devrait permettre de déterminer si le boîtier est réellement défectueux ou si le problème vient de ses alimentations, de son interface de diagnostic ou du réseau multiplexé du véhicule.

Si le BSI est irréparable, je pourrai envisager un remplacement en conservant les données de l'EEPROM d'origine.

Il faudra évidemment vérifier la compatibilité matérielle et logicielle du BSI donneur. La seule sauvegarde EEPROM ne garantit pas un clonage fonctionnel sur toutes les variantes.

Conclusion

Quelques points à retenir de cette intervention :

- L'EEPROM 95160 du Valeo J03-00 est difficile d'accès.
- La séparation des platines est possible sans station de dessoudage professionnelle, mais demande beaucoup de précautions.
- Un simple CH341A peut suffire à récupérer le dump.
- Il faut impérativement vérifier les tensions réelles du programmateur.
- Une lecture remplie de FF ne signifie pas forcément que la mémoire est vide.
- La sélection du bon circuit dans le logiciel est importante.
- Toujours sauvegarder plusieurs lectures avant toute modification.

Au final, pas besoin d'investir immédiatement dans un programmateur automobile coûteux pour cette opération, à condition de disposer d'un montage adapté et de savoir effectuer les contrôles électriques.

Si certains ont déjà réparé un Valeo J03-00 qui ne répond plus au diagnostic, ou disposent du brochage permettant de le réveiller et de le faire communiquer sur table avec PP2000, leurs retours m'intéressent particulièrement.

Je compléterai ce sujet après les essais de communication et la validation du PIN.

Bonne réparation à tous !
Avatar du membre
BlackFury
Administrateur du site
Messages : 47
Enregistré le : ven. 16 août 2019 02:40
Localisation : Nantes
Contact :

Re: [TUTO / RETEX] Lecture EEPROM 95160 et récupération du PIN sur BSI Valeo J03-00 – Peugeot 307 CC

Message par BlackFury »

Ah oui !
Je vais vous mettre à dispo une page gratuite pour lire vos dump et décoder VIN / PIN et KM.
Répondre