Speaking of the above wire mess. Any ideas why the steering wheel controls wouldn't be working with my setup?
I have the steering wheel multi function buttons connected to the steering wheel electronics control unit (GND, IGN and - I find it a bit odd that there is no dedicated power, just terminal 15), then I connected this to the gateways CAN Convenience. The gateway has the engine CAN connected to my arduino, and then the "combi CAN" goes to the cluster. When I turn the key the steering wheel electronics unit generates the ignition signal (I checked, I get 12V on it), and the gateway is definitely doing something because I see a lot more activity on the CAN bus with it connected. But despite that the steering wheel controls do not work.
Do you mean you connected your Arduino to the powertrain canbus on the Gateway? Did you try connecting the Arduino directly to the convenience bus? I don't think power connections are an issue, since I don't even have a key switch and everything works. The gateway does set an internal fault when the "ignition on" pin doesn't match the info from the CAN bus Klemmen_Status message, but it doesn't stop the module from working.
I know from previous experiments with Arduino only that I could at least open the menu. Am I missing something? One thing different from a normal setup (besides the missing car) is that I have clusters terminal 15 permanently wired to 12V. But not sure if that would affect anything. Or do I need some other module for the bastard to start working?
I finally found some time to run some testings on my car, especifically on CAN bus messages. My previous dumps of CAN bus traffic didn't have any 0x5bf address messages because I really didn't use any of the functions while driving, but this time I checked all buttons and got the complete info. I found out that, despite the message ID being the same, the 0x5bf message differs from the data I had from other car models. So maybe there are model-specific issues that could be causing your cluster not to respond. Are you sure your is the same brand/model of your cluster's?
In my car, the CAN bus message is 4 byte long and the commands for the onboard computer are the following (all values in hex):
01 00 01 11 - Menu
02 00 01 11 - Right Arrow
03 00 01 11 - Left Arrow
06 00 01 11 - Wheel Uo
06 00 0F 11 - Wheel Down
07 00 01 11 - OK
These commands should be followed by a "no button" message (00 00 00 11), otherwise the cluster may become unresponsive, especially after sending left/right arrow codes. Maybe it's worth a try even though your cluster is different from mine.