|
Aperture Controls
Subaru CANBus Info
There is a lot of work still to be done figuring out the CANbus addresses, but here is what I have.

My Subaru reverse engineering setup
If you look at an ECU firmware image, you can see what addresses and which direction the ECU is expecting.
- Byte 0,1 - CANBus address
- Byte 2 - Direction : 00 is transmitted from the ECU, 01 is received to the ECU
- Byte 3 - ECU mailbox ID possibly
- Byte 4 - Packet size?
- Byte 5 - unknown
- Bytes 6-9 - Address of handler/structure in the ECU RAM for this address
This data is from a 2010 STI ROM.
04 20 01 05 08 00 FF FF 5F 20 -
04 21 01 0B 08 00 FF FF 5F 28 -
05 14 01 09 08 00 FF FF 5F 45 - BIU
06 20 01 10 08 00 FF FF 5F 4D - BIU
05 15 01 11 08 00 FF FF 5F 8C -
05 20 01 12 08 00 FF FF 5F 94 -
05 01 01 02 08 00 FF FF 5F E9 - VDC/ABS
05 12 01 03 08 00 FF FF 5F F1 - VDC/ABS
05 13 01 0C 08 00 FF FF 5F F9 - VDC/ABS
04 10 00 04 08 00 FF FF 60 3F - ECU
04 11 00 01 08 00 FF FF 60 47 - ECU
04 12 00 06 08 00 FF FF 60 4F - Found with unknown data
06 00 00 08 08 00 FF FF 60 57 - ECU
06 01 00 07 08 00 FF FF 60 5F - Found with unknown data
07 DF 01 0D 08 00 FF FF AF 68 -
07 E0 01 0E 08 00 FF FF AF 68 -
07 E8 00 0F 08 00 FF FF AF 70 - Broadcast?
2010 Impreza STI addresses (High speed bus, 500k/sec):
- 0x002 - Steering Sensor
- Byte 02 - Possible watchdog byte
- Byte 01 - 00 when turning left, FF when turning right
- Byte 00 - Degrees turned from center?
- 0x070 - Yaw Sensor
- 0x080 - Yaw Sensor
- 0x410 - ECU
- Bytes 0x5-0x6 - RPM : Unsigned Int, 16 bit, little endian
- Byte 0x4 - Throttle pedal position
- Byte 0x1 - Throttle blade position
- 0x411 - ECU
- Byte 0x7
- xxx01xxx - S# Mode
- xxx10xxx - I Mode
- xxx00xxx - I Mode
- xxx11xxx - S Mode
- Byte 0x6
- 1xxxxxxx - Cruise control SET
- x1xxxxxx - Cruise control CRUISE
- Byte 0x3 - Looks like an analog signal
- Byte 0x2 - Keepalive bits possibly
- 0x412 - ECU
- Byte 05 - Throttle position in encoder counts?
- Byte 00 - Throttle position in percent
- 0x430 - Driver Controlled Center Differential (DCCD)
- Byte 0x2
- xxxxx000 - Level 1
- xxxxx001 - Level 2
- xxxxx010 - Level 3
- xxxxx011 - Level 4
- xxxxx100 - Level 5
- xxxxx101 - Lock
- xxx01xxx - Illuminated solid
- xxx10xxx - Slow flash
- xxx11xxx - Fast flash
- Byte 0x1
- xxxx1001 - Auto
- xxxx1010 - Auto -
- xxxx1011 - Auto +
- xx01xxxx - Slow flash Auto
- xx11xxxx - Fast flash Auto
- Byte 0x0 - Watchdog byte
- 0x501 - Vehicle Dynamics Controller (VDC)
- 0x511 - Vehicle Dynamics Controller (VDC)
- Byte 0x7
- xxxxxxx1 - Traction Control active light on
- xxxxxx1x - Traction Control fast flash
- xxxxx1xx - Hill start light on
- xxx1xxxx - Green TCC disabled light on
- Byte 0x1 - Steering angle LSB
- Byte 0x0 - Steering angle MSB
- 0x512 - Vehicle Dynamics Controller (VDC)
- Byte 0x5 - Watchdog or counter
- Byte 0x4
- xxx1xxxx - Brake pressure detected
- Bytes 0x2-0x3 - Vehicle speed (MPH = (MSB * 256) + LSB * 0.03495)
- 0x513 - Vehicle Dynamics Controller (VDC)
- Bytes 0x6-0x7 - Rear right wheel speed
- Bytes 0x4-0x5 - Rear left wheel speed
- Bytes 0x2-0x3 - Front right wheel speed
- Bytes 0x0-0x1 - Front left wheel speed
- Wheel speed in MPH = (MSB * 256) + LSB * 0.03495
- 0x514 - Body Integrated Unit (BIU)
- 0x600 - ECU
- Byte 0x6
- xx1xxxx - Makes dash beep on rising edge signal
- 0x601 - ECU
- 0x620 - ECU
2015 Impreza WRX (High speed bus, 500k/sec):
- 0x018 - Steering Angle
- 0x370 - Power steering controller (EPS)
- 0x371 - Power steering controller (EPS)
2013 BRZ addresses (High speed bus, 500k/sec):
- 0x018 - Steering Angle
- 0x0D0 - Vehicle Dynamics Controller
- Bytes 0x0-0x1 - Steering angle
- 0x0D1 - Vehicle Dynamics Controller
- 0x0D2 - Vehicle Dynamics Controller
- 0x0D3 - Vehicle Dynamics Controller
- 0x0D4 - Vehicle Dynamics Controller
- 0x140 - ECU
- Byte 0 - Throttle position
- 0x141 - ECU
- 0x144 - ECU
- 0x360 - ECU
|
|