Version compléte
ImageL'éclairage, batterie et alternateur, contacteurs.
Et autres sujets tournant sur L'électricité du Cayenne.
Répondre

Système can bus et langage de programmation

Ven 24 Mai 2019, 11:20

Bonjour à tous,

Voilà une question où je n'ai pas trouvé de réponse sur le forum. Il ne s'agit que de curiosité, pas d'un problème. :wink:

Nos calculateurs ne sont que des ordinateurs qui gèrent des informations issues de capteurs. Ils ont donc un langage informatique pour fonctionner, et nous n'avons qu'une information très sommaire de leurs activits.et de leurs capacités.
Il serait intéressant d'avoir shema du système Can bus intégral du Cayenne de la manière de s'y connecter odb2 avec un Emxxx ou autre directement et du langage utilisé ( Java, c+...)

Les mémoires semblent posseder aussi l'intégralité des manuels de réparation du modele.

J'avoue que j'aimerais bien faire une copie complète pour l'étudier ligne par ligne et avoir les limites, bridages décidées a la programmation.

Si vous avez des infos, je suis preneur. :drink:

Re: systeme can bus et langage de programmation

Ven 24 Mai 2019, 17:35

Hello Castor, beaucoup d'informations sur le net, par exemple :
https://sites.google.com/site/obd2opens ... grammation
https://www.elmelectronics.com/wp-conte ... M327DS.pdf

J'ai un cursus initial scolaire dev (Pascal, Assembleur, C++, Cobol, Access, etc..) et je pense que ce n'est pas simple de vouloir développer un module qui va s'appuyer sur le protocole utilisé. Si tu pousses des recherches sur le net, tu vas forcément trouvé des modules déjà existants (du Python sur la plateforme Opensource GitHub par exemple https://github.com/brendan-w/python-OBD) etc..

Dans tous les cas, c'est toujours très bien d'être curieux :-)

''Every day is a school day'' comme on dit !

-Christian

Re: systeme can bus et langage de programmation

Ven 24 Mai 2019, 19:13

Vaste programme ! Bravo à toi pour ta curiosité ! :bravo:

Re: systeme can bus et langage de programmation

Ven 24 Mai 2019, 22:58

christiang78 a écrit:
J'ai un cursus initial scolaire dev (Pascal, Assembleur, C++, Cobol, Access, etc..) et je pense que ce n'est pas simple de vouloir développer un module qui va s'appuyer sur le protocole utilisé. Si tu pousses des recherches sur le net, tu vas forcément trouvé des modules déjà existants (du Python sur la plateforme Opensource GitHub par exemple https://github.com/brendan-w/python-OBD) etc..

-Christian


Ce paragraphe là, même si j’en pige pas une syllabe, je vais l’apprendre par coeur.
J’te raconte pas dans les prochaines soirées que je vais faire, je vais leur lâcher ça avec un gros « c’est qui l’patron!? » pour conclure.

Bref je ne saisi pas du tout vos discours, mais je suis content d’être là et vous souhaite pleine réussite.
Par contre castor, si t’arrives a décoder le calculateur moteur et que tu fais de la reprog, tu vas te faire pleins d’amis ici :hi:

Re: Système can bus et langage de programmation

Sam 25 Mai 2019, 13:54

Hello,
Pascal, ou encore de l'Assembleur ou C++ ou du Python, du Java, etc.. ne sont que des langages de programmation.
En fait, c'est juste de le fait d'utiliser des langues différentes comme lorsqu'on voyage d'un pays à un autre pays.
Par contre pour pouvoir développer (c'est à dire utiliser un langage de programmation), il faut tout de même avoir un minimum de bases en algorithme, en gros savoir ce que représente un fichier, une suite logique, une boucle d'itération, les variables, etc.. un peu comme dans chaque langage (français, espagnol, anglais, ..) le fait d'utiliser la grammaire et la conjugaison :-)
C'est un vaste domaine qui nous entoure tous les jours : ton téléphone, la télévision désormais, la box, la machine à laver, etc.. et bien évidemment la voiture qui a son réseau bus-can qui sert à faire transiter les informations échanger entre l'ordinateur (ECU) et les composants (exemple : la boucle du témoin d'usure qui est coupée et qui donc génère une erreur).

Les constructeurs ne donnent via l'OBD que des informations sur les composants qui sont dits ''standardisés'', ils gardent jalousement une grande partie de leurs codes et erreurs (trop peur de voir les concurrents étudier leurs secrets) et c'est donc très souvent fois le travail d'expert en mode ''reverse-engineering'' pour comprendre comment telle ou telle erreur est arrivée, par quel biais, sa fréquence, le mode d'alerting, etc.

Ce qui parait inquiétant, c'est de voir nos concessionnaires ne dépendre que du passage à la fameuse valise ou valisette (rires), en gros ils regardent les codes en cours, les codes passés et éventuellement ils les effacent. (je dis ça et je n'ai toujours pas acheté mon VCD avec le câble idoine :oops: si quelqu'un a un conseil là-dessus, qu'il n'hésite pas !)

Re: Système can bus et langage de programmation

Lun 27 Mai 2019, 20:55

Le CAN est un bus de communication.
Mais il n'y a pas vraiment de standardisation rigoureuse et les fabricants en profitent aussi pour faire ce qu'ils veulent ou utiliser une norme plutot qu'une autre et des protocoles a leur sauce...

Le mieux que j'ai pu lire c'est Car Hacker's Handbook
Une mine d'or selon moi...

Sur le cayenne il y a 3 ou 4 bus CAN.
Le plus prioritaire concerne les organes essentiels ( moteur, boite, freins, abs, etc... ) donc avec une vitesse elevee.
Mais il y aussi un bus CAN infotainement, un CAN MS etc.... je n'ai plus la liste en tete.
Tous ces bus ne sont pas accessibles par les memes broches de la prise OBD ( je te renvoie au livre mentionne ci dessus )
Mais ils sont tous connectes a un module unique, le Gateway.
En passant par le Gateway on peut lire les codes defauts sur d'autres bus mais pas forcement programmer des modules situes sur d'autre bus ( tu me suis toujours ? ).
On programme des modules en se connectant directement a leurs bus ( on evite les intermediaires et donc les risques d'erreurs de communication ), mais chaque fabricant decide de la sequence de programmation de son module, il n'y a pas de regles.

exemple:
- tu veux programmer "toto" , tu envoie un message a "toto" qui sera $FF00
toto comprends qu'il doit passer en mode programmation et que la prochaine chaine de caracteres sera l'adresse ou il doit ecrire la donnee.
etc....
-maintenant tu veux programmer "titi". Mais pour passer en mode programmation titi attends de recevoir $80FF80FF suivi d'un code a x bits qui confirme que tu as le droit de passer en mode programmation.

Tu comprends que ceci n'appartient qu'au fabricant du module, et qu'il ne va pas aller chanter partout comment on programme son module. Chaque module a un mode de fonctionnement unique mais il renvoie des donnees dans une forme standardisee, les fameux DTC.
Ainsi tu peux lire beaucoup de DTC avec beaucoup d'outils differents mais quand il s'agit de coder un module il te faut du materiel specifique. Le Jackpot du diag auto est ne !!! A vot' bon coeur m'sieur dames.... :snif:

Re: Système can bus et langage de programmation

Lun 27 Mai 2019, 21:31

Dans mon langage canbus à moi, le « DTC » signifie bien autre chose, crois moi ...
Désolé de pourrir encore une fois votre post, mais là je pouvais pas passer à coté :mrgreen:

:dehors:

Re: Système can bus et langage de programmation

Lun 27 Mai 2019, 21:44

:lol: C'est vrai que le double sens est savoureux surtout sur le dernier paragraphe. Désolé les potos, mais sur le coup,je ne fais pas, prudence oblige, comme BURN, je passe passe à côté et je reste bien dehors ! :bleble:
Merci en tout cas de vos intervention qui aident à comprendre le fonctionnement des "cerveaux " de nos machines :bravo:

Re: Système can bus et langage de programmation

Lun 27 Mai 2019, 23:36

BURN a écrit:Dans mon langage canbus à moi, le « DTC » signifie bien autre chose


DTC : Data Trouble Code.
Mais je confirme , quand il y en a , tu l'as bien Dans Ton C.. ! :mrgreen:

Re: Système can bus et langage de programmation

Mar 28 Mai 2019, 05:50

Mais kisonkons! :wink: :lol2: :LOL:

Re: Système can bus et langage de programmation

Mar 28 Mai 2019, 13:13

tof123 a écrit:
BURN a écrit:Dans mon langage canbus à moi, le « DTC » signifie bien autre chose


DTC : Data Trouble Code.
Mais je confirme , quand il y en a , tu l'as bien Dans Ton C.. ! :mrgreen:


C'est normal, tu l'as dit toi même,
tof123 a écrit:... ... suivi d'un code a x bits
:mrgreen:

:dehors:

Re: Système can bus et langage de programmation

Mer 29 Mai 2019, 14:16

Merci à tous.

En fait, tout est possible en informatique, je me souviens avoir modifié le code d'un modem "Alice" en telnet à l'époque pour en faire un modem utilisable avec d'autres FAI.

Dans nos autos, il y a forcément possibilité d'accéder au calculateur principal pour avoir accès au differents bus can avec une sortie de ping, je ne verrais pas chaque calculateur protégé par un firewall, et un éditeur hexadécimal devrait révéler bien des astuces avant de passer au choses sérieuses :)

Re: Système can bus et langage de programmation

Mer 29 Mai 2019, 22:26

En fait il n'y a pas de calculateur principal, tout le monde cause sur le bus tout le temps...ce qui rend difficile l'isolation d'un seul, mais pas impossible.
C'est d'ailleurs le propos du livre the car hacker's handbook.

Ils utilisent une interface CAN et utilisent wireshark pour analyser le contenu des trames. Comme on peut filtrer , il est facile de savoir ce qui se passe sur un calculateur specifique une fois qu'on connait son PID.

Quand les calculateurs viennent tous d'un meme fabricant, c'est cool !
Les informaticiens étant plutot de nature fainéante ( et je le dis avec respect ) ils reprennent souvent une solution qu'ils savent viable et l'utilisent partout, à tout va ! Ceux qui font du reverse engineering derriere, sont alors bien contents :mrgreen:

Y'a pas de secrets, pour hacker un calculateur, le mieux c'est un banc de test :
le calculateur est seul sur la table, relié à une interface CAN et un PC envoie des requètes pour voir ce qui se passe.
Mais ca prend un temps connnnnnnsidérable. Mais tout à fait faisable. C'est d'ailleurs ainsi que les chercheurs d'une université ont craqué le protocole de sécurité Megamos qui est déployé chez VW et..........Porsche.........mais chuuut ! c'est un secret. ( possesseurs d'un cayenne keyless entry...tremblez.... :triste: )

On pourrait du coup ouvrir un sujet entier rien que sur la sécurité des réseaux de communication dans nos autos et le risque de hacking à des fins pas tres sympas....il y a des tonnes d'articles de presse à ce sujet.
VW encore eux....!

Re: Système can bus et langage de programmation

Mer 29 Mai 2019, 22:35

BURN a écrit:Dans mon langage canbus à moi, le « DTC » signifie bien autre chose :mrgreen:

:dehors:


J'ai trainé 2 Dans Mon C.. 15582 et 15583 pendant presque 9 mois ! ça m'a bien fait ch... ! :LOL:

Re: Système can bus et langage de programmation

Mer 29 Mai 2019, 22:42

tof123 a écrit:... et utilisent wireshark pour analyser le contenu des trames.


C'est pas de l'IP qui circule :interro:
Quand j'avais des soucis sur des applis ou des réseaux, c'est ce que j'utilisais mais pour moi ça ne faisait que de l'IP :etrange:

Re: Système can bus et langage de programmation

Mer 29 Mai 2019, 22:47

c'est vrai que wireshark est oriente reseau TCP/IP mais apparament on peut l'utiliser dans ce cas de figure , mais je ne parle que sous le contenu du livre mentionne , je n'ai pas fait l'essai moi meme.

Re: Système can bus et langage de programmation

Ven 31 Mai 2019, 05:41

muppetshow a écrit:
tof123 a écrit:... et utilisent wireshark pour analyser le contenu des trames.


C'est pas de l'IP qui circule :interro:
Quand j'avais des soucis sur des applis ou des réseaux, c'est ce que j'utilisais mais pour moi ça ne faisait que de l'IP :etrange:

En relisant le chapitre , ils disent aussi que wireshark est plus adapté à du reseau TCP/IP , ils utilisent donc CanDump. :bravo:

Re: Système can bus et langage de programmation

Ven 31 Mai 2019, 10:17

Ca me paraît plus logique même si on explore jamais toutes les options des logiciels.
Ca doit être quand même spécial car il faut un boitier à intégrer sur la boucle fibre pour sniffer tout ce qu'il s'y raconte :etrange:

Re: Système can bus et langage de programmation

Ven 31 Mai 2019, 11:49

Excellente idée, en sniffant le traffic, on peut très vite en déduire l'adressage, et le protocole utilisé,

Sachant que Porsche utilise l'odb pour reprogrammer, il peut donc servir de porte d'entrée.

J'ai un elm327, je vais voir ce qu'il peut extraire. :)

Re: Système can bus et langage de programmation

Ven 31 Mai 2019, 15:14

Je pige toujours pas un mot de vos dires, mais je vois ou vous venez en venir.
Dépéchez vous de trouver qu'on puisse tous claquer 180cv de plus dans nos moulins avec un simple vcds

Re: Système can bus et langage de programmation

Ven 31 Mai 2019, 15:53

Castor a écrit:Sachant que Porsche utilise l'odb pour reprogrammer, il peut donc servir de porte d'entrée.


Oui et non, tu as effectivement une porte d'entrée mais les modules répondent aux sollicitations de ce que VCDS ou autres produits envoient sur la boucle. Je ne suis pas certain que tu puisses t'en servir comme port d'écoute autre que dans ce contexte.

Système can bus et langage de programmation

Ven 31 Mai 2019, 17:24

Aujourd'hui c'était plantations, je n'ai pas pu aller voir la belle, je vais voir ça ce week-end, le Pc qui est au garage est sous linux, ça donne plus de possibilités pour utiliser les interfaces :)

Re: Système can bus et langage de programmation

Ven 31 Mai 2019, 17:46

BURN a écrit:Je pige toujours pas un mot de vos dires, mais je vois ou vous venez en venir.
Dépéchez vous de trouver qu'on puisse tous claquer 180cv de plus dans nos moulins avec un simple vcds
Y a des solutions possibles, comme déjà changer d'essence pour de la gp105 avec bonne repro parce que 105 d'octane, je ne suis pas certain que le cayenne l'accepte, quoi que

Re: Système can bus et langage de programmation

Ven 31 Mai 2019, 17:57

https://www.vpracing.fr/carburant-competition-c16,fr,4,vp004066301.cfm

Ca va ça reste raisonnable, 5 bidons le plein, c'est presque aussi cher que le gasoil

Re: Système can bus et langage de programmation

Sam 1 Juin 2019, 01:44

D'apres ce que j'ai compris l'ELM 327 a un tout petit buffer donc il ne se prete pas bien pour sniffer les trames.
Mais il y a une datasheet tres interessante sur ce boitier et les commandes AT que l'on peut utiliser.
Apres, faut se donner du temps pour essayer...

Pour la reprog moteur, je pense qu'il y a des outils "underground" pour ca, mais gagner beaucoup de puissance sans une modif du moteur, j'y crois pas vraiment. Les calculateurs ne sont pas top optimises car fait en serie, mais je ne pense pas qu'on puisse gagner tant que ca... :???:
Répondre