Hello friends,
I'll start with the TL;DR to save you time: Does anyone know the necessary CAN codes/messages to activate a K-CAN2 based iDrive/CIC controller?
First of all; I'm not even sure I'm in the right place. So mods, If there's a better place for my question, feel free to move the thread.
So, I purchased a 'low' iDrive CIC controller like this on ebay the other day, hoping to integrate it into my good old E46. Yes - I know; there's no K-CAN network in the e46. My plan is to interface the controller with an arduino + CAN shield and connect it to a tablet. Seeing as there's a bucket load of information around on how to use these controllers on independent CAN networks, I took a chance and purchased one.
Well, suffice to say, my success has been limited so far. It turns out the unit I got was from a recent F model, which I recently discovered uses the K-CAN2 (500kbps) bus as opposed to the regular first-generation K-CAN (100kbps) that you'll find in the E9x/E6x and older Fxx.
Unfortunately all the documentation I've found so far revolves around the older K-CAN1, and it seems that the KCAN2 CON units expect different init/wakeup messages than the older KCAN1 based units. So far I've successfully lit up the controller by sending message ID 0x202 with data 0xfd 0x00 to the controller, which effectively illuminates the controller for 4-5 seconds before it goes back to sleep. I interpret this as a sign that the actual CAN communication is working like it should.
This is where my luck stops though. It won't react to any of the standard wake-up messages that the KCAN1 devices supposedly respond to. Examples I've tried:
I wrote an arduino sketch to send all of these in loop every 500ms and check for messages back. So far nothing has yielded results (Apart from the illumination one)
Unfortunately I don't have access to a vehicle with a KCAN2 bus, if I did I would try to sniff and analyze the required messages myself. I was hoping someone here had already done just that.
Any guidance/advice as to what I would need to do to wake this thing up would be greatly appreciated._a__a2_
I'll start with the TL;DR to save you time: Does anyone know the necessary CAN codes/messages to activate a K-CAN2 based iDrive/CIC controller?
First of all; I'm not even sure I'm in the right place. So mods, If there's a better place for my question, feel free to move the thread.
So, I purchased a 'low' iDrive CIC controller like this on ebay the other day, hoping to integrate it into my good old E46. Yes - I know; there's no K-CAN network in the e46. My plan is to interface the controller with an arduino + CAN shield and connect it to a tablet. Seeing as there's a bucket load of information around on how to use these controllers on independent CAN networks, I took a chance and purchased one.
Well, suffice to say, my success has been limited so far. It turns out the unit I got was from a recent F model, which I recently discovered uses the K-CAN2 (500kbps) bus as opposed to the regular first-generation K-CAN (100kbps) that you'll find in the E9x/E6x and older Fxx.
Unfortunately all the documentation I've found so far revolves around the older K-CAN1, and it seems that the KCAN2 CON units expect different init/wakeup messages than the older KCAN1 based units. So far I've successfully lit up the controller by sending message ID 0x202 with data 0xfd 0x00 to the controller, which effectively illuminates the controller for 4-5 seconds before it goes back to sleep. I interpret this as a sign that the actual CAN communication is working like it should.
This is where my luck stops though. It won't react to any of the standard wake-up messages that the KCAN1 devices supposedly respond to. Examples I've tried:
Code:
// This works: Lights the controller up for a few seconds until it goes back to sleep
{ 0x202, 2, { 0xfd, 0 } }
// Tried: Data request, according some obscure document 'volcano.at' referred to
{ 1272, 8, { 0, 66, 254, 1, 255, 255, 255, 255 } };
// Tried: CIC wake-up. [URL="http://www.loopybunny.co.uk/CarPC/k_can.html"]This page[/URL] claims this is required on KCAN1,
// but is apparently not the same for KCAN2 (Confirmed by the URL above)
msg M_CICWAKE = { 0x273, 8, { 0x1d, 0xe1, 0, 0xf0, 0xff, 0x7f, 0xde, 0x04 } };
// Tried: Ignition status, as described [URL="http://www.loopybunny.co.uk/CarPC/k_can.html"]here[/URL]. According to misc forum posts this should wake a KCAN1 controller, but again it does nothing for my KCAN2 controller.
msg M_CARSTARTED = { 0x130, 5, { 0x45, 0x40, 0x21, 0x8f, 0xfe } };
Unfortunately I don't have access to a vehicle with a KCAN2 bus, if I did I would try to sniff and analyze the required messages myself. I was hoping someone here had already done just that.
Any guidance/advice as to what I would need to do to wake this thing up would be greatly appreciated._a__a2_