Electrical CAN bus hacking
CAN bus hacking
As soon as we get our new R60 the wifey and I are going to embark on decoding and interfacing with the CAN bus in the car to try and gain some extra control of functions, anyone done it?
I've seen bobodyne's info and some various VW hacks, but not much in the way of Mini's..
I've seen bobodyne's info and some various VW hacks, but not much in the way of Mini's..
CAN (Controller Area Networking) merely specifies several ISO data protocols. It currently has two different "in use" specifications:
- ISO 11519 (Basic CAN - 11-bit packet) specifies a data rate of 250 Kb/s;
- ISO 11898 (Full CAN - 29-bit packet) specifies a data rate of 1Mb/s;
- Currently under development is a new specification known as CAN-FD. CAN FD delivers a 64-bit packet at a maximum data rate of 15 Mb/s.
Full specifications of the these protocols are widely published. This is why I am mystified by your need to "decode" CAN.
If you're talking about decoding the data field of the CAN frame, good luck! While the CAN protocol is a standard, the data field within the frame is up to the designer to encode. Unfortunately, MINI's designers have not shared their data field mapping with the rest of the world. As you have seen in bobodyne's presentation, you can reverse engineer some of these fields with much time and effort. Do you really want to dedicate the next several years mapping-out all the various control module's data fields? I, personal, don't think the effort would be worth the reward -- but that might be my fatigue from 34 years of programming.
By using the words "gaining extra control of functions", I think many of us are wondering with which modules you intend to interface and how you will engineer it. What extra control are you seeking? I would hesitate, big time, in trying to send self-generated frames to existing controllers. We are not privy to the "network" of variables used by the algorithmic processing within MINI's systems. Introducing "external" frames could have unforeseen consequences on these systems.
FWIW, my suggestion would be to learn NCS Expert and make the available changes by adjusting the existing controller parameters. This process has been proven to work, but is not without its pitfalls for the careless.
Good luck!
- ISO 11519 (Basic CAN - 11-bit packet) specifies a data rate of 250 Kb/s;
- ISO 11898 (Full CAN - 29-bit packet) specifies a data rate of 1Mb/s;
- Currently under development is a new specification known as CAN-FD. CAN FD delivers a 64-bit packet at a maximum data rate of 15 Mb/s.
Full specifications of the these protocols are widely published. This is why I am mystified by your need to "decode" CAN.
If you're talking about decoding the data field of the CAN frame, good luck! While the CAN protocol is a standard, the data field within the frame is up to the designer to encode. Unfortunately, MINI's designers have not shared their data field mapping with the rest of the world. As you have seen in bobodyne's presentation, you can reverse engineer some of these fields with much time and effort. Do you really want to dedicate the next several years mapping-out all the various control module's data fields? I, personal, don't think the effort would be worth the reward -- but that might be my fatigue from 34 years of programming. By using the words "gaining extra control of functions", I think many of us are wondering with which modules you intend to interface and how you will engineer it. What extra control are you seeking? I would hesitate, big time, in trying to send self-generated frames to existing controllers. We are not privy to the "network" of variables used by the algorithmic processing within MINI's systems. Introducing "external" frames could have unforeseen consequences on these systems.
FWIW, my suggestion would be to learn NCS Expert and make the available changes by adjusting the existing controller parameters. This process has been proven to work, but is not without its pitfalls for the careless.
Good luck!
Last edited by Koopah; Apr 16, 2012 at 06:58 PM.
I'd like to play with the interior LED lighting and was planning on attempting to decode the control packets for that system, provided they exist in the first place. There is a chance they are not on the CAN in which case none of this will work, but that's ok, it's all about the adventure anyways.
Trending Topics
inh, be prepared for a lot of pain...
The R60 runs CAN signaling to the Auto AC / cluster through a LIN bus, then spits it back out to CAN.
I have all the wiring schematics and bus schematics, and made a run at it a year ago with the help of some very sharp people here (including FES). Bottom line - we didn't get anywhere even bringing in the heavy equipment.
The R60 runs CAN signaling to the Auto AC / cluster through a LIN bus, then spits it back out to CAN.
I have all the wiring schematics and bus schematics, and made a run at it a year ago with the help of some very sharp people here (including FES). Bottom line - we didn't get anywhere even bringing in the heavy equipment.
Thread
Thread Starter
Forum
Replies
Last Post
R50/53 Help please.. Odd issue.
PsychoRallye
R50/R53 :: Hatch Talk (2002-2006)
21
Feb 17, 2019 06:08 AM
Rennfahrer555
R50/R53 :: Hatch Talk (2002-2006)
10
Aug 13, 2015 09:07 AM
R50/53 Has anyone hacked the iBus?
JoeDentist
R50/R53 :: Hatch Talk (2002-2006)
7
Jul 14, 2004 05:47 AM



