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!).