Bonjour Invité,
Vous avez envie d'échanger connaissances de la mécanique auto avec une bande d'amis ?
Vous voila à la bonne adresse, ici, le maitre mot c'est partage !
Vous devrez vous inscrire avant de pouvoir poster : cliquez sur le lien d'enregistrement ci-dessus pour cela.
Pour commencer à lire les messages, sélectionnez le forum que vous voulez visiter depuis la liste ci-dessous.
Reverse engineering d'un clone de l'interface XS evolution pour reflash n° de série
bojour, vous etes pas loin de la solution, bientot fini les corvées de dessoudage.
merci encore a vous pour toutes ces avancées.
en attendant la suite, bonne decouverte a nos amis chercheurs
Bon j'ai débrické mon interface. J'ai trouvé une veille interface usb/série ttl à la maison, j'ai forcé en dur les signaux de mode et j'ai pu reflasher l'interface avec isp-mb9x sous linux.
Par contre :
- J'ai reflashé un dump de 4.3.0 (donc application + bootloader associé) ---> ca ne fonctionne pas, au branchement la led s'allume et clignote comme d'habitude sauf que l'interface n'est pas du tout reconnue sur l'usb, complètement invisible
- J'ai donc reflashé un dump de 4.2.2 (donc application + ancien bootloader) ---> ca fonctionne, l'interface est bien reconnue sur l'usb.
Il y a donc des infos dans l'eeprom (hors n° de série) qui doivent être associées à la 4.3.0 pour que ça fonctionne correctement. Il n'y a donc pas qu'un souci de n° de série
- - - Mis à jour - - -
Je viens de flasher la version 4.3.0 avec PSAInterface checker (donc avec vieux bootloader), là l'interface est toujours bien reconnue sur l'usb.
C'est donc le nouveau bootloader qui nécessite des données particulières dans l'eeprom pour fonctionner correctement.
j'ai déjà flashé des mcu avec un fichier dont le bootloader était le dernier (celui qui fait que l'interface est reconnue en evolution) et firmware 4.3.0 sans avoit touché au winbond et l'interface fonctionnait correctement. Es-tu sûr de ton fichier que tu as injecté en 4.3.0 ?
Pas de soucis chez moi, j'ai pas touché à l'eeprom et elle est bien reconnu en évolution après un flash en 4.3 (4.2 d'origine non reconnu en évolution) .
Bizarre, mon dump de 4.3.0 n'est pas bon alors peut être !?
Pourtant la led s'allume bien et flashe normalement, mais côté USB, rien, le PC voit même pas que quelque chose a été branché !
Du coup jarod si tu peux me passer un fichier 4.3.0 je suis preneur pour tester !
Pour moi pour fonctionner correctement en 4.3.0 il faut :
- Le dernier bootloader (sinon reflasher le MCU par le connecteur 12 pins ne servirait à rien seule la mise à jour du n° de série dans l'eeprom suffirait)
- Un n° de série valide non blacklisté (donc mise à jour du n° de série dans l'eeprom)
--> l'objectif ici étant de mettre à jour le bootloader en dernière version et changer le n° de série dans l'eeprom, le tout par l'usb, donc sans avoir à démonter l'interface et donc sans nécessité d'interface de programmation du MCU et sans avoir besoin de dessouder l'eeprom.
Bon pour vraiment aller jusqu'au bout des tests :
- Le dump 4.3.0 (appli + bootloader) fonctionne finalement à la 2eme tentative de flash MCU. L'interface est bien reconnue en Evolution
- J'ai testé pp2000 V25 et il m'a repassé l'appli en 4.2.2, mais malgré le nouveau bootloader ça fonctionne quand même bien, diagnostic OK sur la voiture
- J'ai testé le flash par PSAInterfaceChecker de mon firmware fake de l'autre jour : c'est passé comme windbond l'autre jour, et j'ai pu aussi reprendre la main pour reflasher un firmware officiel avec PSAInterfaceChecker.
Je vais maintenant essayer de suivre le tuto pour installer diagbox dernière version (celle qui reflashe automatiquement en 4.3.0) et voir si ça coince ou pas (n° de série blacklisté ou pas).
Jarod : pour ton souci de montage ça doit pas être grand chose si ça fonctionnait bien auparavant, bien vérifier toutes les connexions, voire tester ton interface usb/rs232 en shuntant les pins 2 et 3 et en vérifiant que tu as bien l'echo en tapant au clavier dans l'hyperterminal.
Tu peux aussi simplifier le circuit si tu veux, le circuit logique ne sert à rien, tu peux forcer en dur les signaux de mode du MCU :
MD0, AD0, AD1 au gnd
MD2 au vcc
Signal RST non connecté, et MD1 peut aussi rester non connecté (sinon le mettre au vcc) car en interne sur la carte il est déjà au bon niveau (vcc) permettant la mise en mode boot du MCU.
C'est ce que j'ai fait tout à l'heure pour flasher et ça marche très bien. C'est juste que comme le programme PC ne pilote plus les signaux de mode et de reset du MCU, il faut bien débrancher/rebrancher l'usb (mise hors tension et sous tension) à chaque tentative pour que le MCU soit bien en mode boot.
Bon j'ai remis en route les outils de dev du MB90F546, et crée le projet de base vci_update.
J'arrive à forcer facilement comme je veux la position du point d'entrée à l'offset 0x21000, donc pas de souci, mon programme sera forcément bien appelé par le bootloader après flashage par PSAInterfaceChecker.
Les premiers essais d'execution d'un firmware simple de base très probablement mercredi !
Je continue les investigations : j'ai enfin réussi à installer diagbox 7.04 cette nuit, après pas mal de soucis !!
Mais bon bref diagbox est installé et reconnaissait bien mon vci.
Mais je n'avais pas encore testé de diag dans cette configuration, c'est maintenant chose faite, je viens de tester.
Tout fonctionne parfaitement, le test global a détecté tous mes calculateurs. Pourtant je rappelle que pour l'instant dans mon interface j'ai juste injecté le firmware 4.3.0 + le bootloader associé pour détection en evolution, mais je n'ai pas touché à l'eeprom SPI winbond !!
@winbond45 : comment expliquer ça, tu m'as dit hier que mon serial était blacklisté pourtant !!?
Voici la capture interface checker, je suis même pas en C en plus, mais en B :
Commentaire