CAN A/C Troubleshooting

Continuing from my last post, I found some time to do some more investigation as to why the A/C doesn’t work.

After having some issues with the connection dropping out, I managed to capture a few logs which I then reviewed in SavvyCAN. From this I generated a short list of ID’s that I thought could be something to do with AC based on timestamps that looked like they might have aligned with me pressing the AC button.

0x1E9
0x2A0
0x3D5
0x501

Unfortunately, after doing this a few times I couldn’t find anything unique when comparing logs, meaning they couldn’t be the AC button (unless I somehow was pressing it at identical times every time…)
0x1E9 – unlikely, same stamp for both logs (41)
0x2A0 – unlikely, same stamp for both logs (23 and 41)
0x3D5 – unlikely, same stamp for both logs (31)
0x501 – unlikely, same stamp for both logs (6)

With a solid connection, beyond 30s of frames, I identified ID 0x3D0 as having a byte (1) that changed with each AC press – success!

Extract from SavvyCAN logs:
ID: 0x3D0
# of frames: 548
Data Length: 8
Average inter-frame interval: 7898.99ms
Minimum inter-frame interval: 0ms
Maximum inter-frame interval: 1.71344e+06ms
Inter-frame interval variation: 1.71344e+06ms
Interval standard deviation: 96377.5ms
Minimum range to fit 90% of inter-frame intervals: 100.962ms
Data Byte 0
Changed bits: 0x0 (00000000)
Range: 0x00 to 0x00
Histogram
0/0x0 (00000000) -> 548
Data Byte 1
Changed bits: 0x90 (10010000)
Range: 0x40 to 0xD0
Histogram
64/0x40 (01000000) -> 292
208/0xd0 (11010000) -> 256

Doing some further reading, it seems tuners from MaxxECU have discovered this ID to be the BCM (body control module), which aligns with the logic of AC control from other Suzuki workshop manuals, SX4 of the same vintage specifically. I have reached out specifically to the tuners mentioned here (Alpha Tuner, Dubai) and here (HubDyno, Budapest) but haven’t had any luck. I’m definitely narrowing in though!

Interestingly, while I was faffing about with this, I managed to start the car without the “ON” condition lit up. With the car in this state, I hit the AC button and sure enough, the compressor turned on, even cycling as expected! This is a one step forward, two steps back moment as I have no idea how the car started in the normal condition. I did clear the codes before starting the car, so I think it’s possible the car stated at the same time as the codes cleared, allowing it past the “ON” check.

Now I think the best way forward is to do more investigation in to if there is a CAN message that tells the car it’s not “ON” and in fact running. Failing this, I will need to connect the Link ECU to the CAN bus and get it to trigger the compressor when it sees the flag. This has other problems though as I wouldn’t have any way to control the compressor once running other than cycling based on time due to a lack of visibility on the AC related sensor(s). Fingers crossed the first option is achievable (I’m confident!).

CANBUS device & A Pajero

In order to fix the air conditioning, I have purchased a DIY CANBUS reader/write that interfaces via the OBD2 port. The open-source 3D printed enclosure is nifty and works well. My printer is getting old, and the filament has been been outside for a long time, so there was plenty of stringing. Regardless, came up well.

The plan is plug it in to a factory ZC32S and try get the message(s) that tell the factory ECU the car is in a started state. If this can be achieved, the AC should just work via the factory controls.

If this doesn’t work, I will need to sniff the AC button press and get the link to send it based on an input [TBC]. I will then need to think about a control strategy as using this method I won’t have the references the factory ECU would (gas pressure, temp etc.). I am thinking of just cycling the compressor, playing with cycle times so it stays cold.

As discussed in my fan post, I am out of outputs, therefore I will need to either run the fans on high only and steal the low output for AC or buy some type of expander for the Link, TBC.

In more exciting news, I purchased a Pajero! 2007, short wheelbase with rear diff lock optioned. I drove about 4ish hours East (Orbost), to pick it up after buying it sight unseen. I looked at 2 others more local to me and neither of them were what I wanted. The car is very clean, and I am happy with the purchase. It has a “farm” smell, but the Bissell and some little trees should sort that out.

The car will be doing daily, towing and trips away duties. After driving the Swift up to Winton a few weeks ago, I would rather tow the car now to eliminate risk and have a more comfortable ride to and from the track. Speaking of, I have a bit of deja vu!