Skip to content

piersholt/wilhelm-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

436 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wilhelm Documentation

Documentation for the I/K-Bus protocol found in BMW vehicles from 1989 to 2013.

Introduction

This documentation covers the common functions of the I-Bus and K-Bus.

P-Bus, and M-Bus are not covered. D-Bus is also not discussed, although it may be added in the future.

This is an ongoing project, and the documentation will be expanded as time allows.

Warning!

This documentation should not be considered authoritative. While great care, and effort has been taken in creating it, if you choose to use it, you do so at your own risk.

Contents

  1. Applicable Models
  2. Glossary
  3. Device Index
    1. K/I-Bus
    2. D-Bus
  4. Command Index
  5. Features
    1. Sensors
    2. OBC
    3. Redundant Data Storage
    4. Controls
    5. Radio
    6. Telephone
    7. Navigation
    8. Lighting
    9. Body

Applicable Models

This protocol applies to the bus system in the models listed below.

Model Series Period I-Bus K-Bus
E31 8 Series 1989 - 1999
E38 7 Series 1999 - 2001
E39 5 Series 1995 - 2004
E46 3 Series 1997 - 2006
E52 Z8 2000 - 2003
E53 X5 1999 - 2006
E83 X3 2003 - 2010
E85 Z4 2002 - 2008
E87 1 series 2004 - 2013

MINI and Range Rover (early L322) implementations are not discussed.

Glossary

Body [Karosserie] Bus (K-Bus)

K-Bus was added to the E38 along with the I-Bus. Models without Navigation or IKE will use the K-Bus only. Both of these bus systems are technically identical, the only difference is their use by model.

Diagnosis Bus (D-Bus)

The D-Bus was introduced as TXD (and RXD) in 1987. The term D-Bus was adopted with the introduction of the E38 in 1995, however it is still referred to as TXD in the ETM [electrical troubleshooting manual].

All modules in the vehicle are not connected directly to the D-Bus, some systems are connected through a gateway such as the IKE or cluster. The gateway handles all diagnostic “traffic” and routes the necessary information to the correct bus system.

Gateway

On vehicles equipped with an I-Bus (E38, E39, E53 High) messages to be sent back and forth between the K-Bus and I-Bus have to be transferred via a Gateway. This Gateway is the IKE. The IKE determines by the address of the message recipient whether the message needs to be passed along to the other bus.

Instrument Bus (I-Bus)

I-Bus was introduced on the E31 as the information bus. The E31 version of the I-Bus was used for body electronics and driver information systems. With the introduction of the E38, the I-Bus is now referred to as the **instrument bus **.

M-Bus

The M-Bus is used exclusively in the climate control systems for the control of the “smart:” stepper motors. These stepper motors are used to control various air distribution flaps.

The M-Bus was introduced on the E38 climate control system (IHKA). The M-Bus was also installed on subsequent models equipped with IHKA and IHKR.

Peripheral Bus (P-Bus)

The P-Bus is a single wire serial communications bus that is used exclusively on vehicle that are equipped with ZKE III. These vehicles are the E38, E39 and E53.

The P-Bus provides the Central Body Electronics system with a low speed bus for use by the General Module (GM) to control various functions.

Device Index

  • 8-bit addressing (256 unique addressess).
  • Multicast, and broadcast addresses.
  • Addresses are preassigned, and static.
  • All buses are within the 8-bit scope, i.e. an address is unique across the I, K, and D buses.
  • Variants of a device will have the same address, e.g. the address 0x80 is used by the low cluster (KOMBI), high clusters (IKE, IKI).
  • The adress pool is shared by all models that utilise this bus system. An address is rarely reallocated even if the originally allocated device is not applicable to a new model.

K/I-Bus

Device Bus Abbreviation Description Vehicles
0x00 K ZKE General Body Electronics
0x08 K SHD Tilt/Slide Sunroof
0x18 K/I CDC CD Changer
0x24 K HKM Trunk Lid Module E38, E39
0x28 I RCC Radio Clock Control E38
0x2e K EDC Electronic Damper Control E38, E39
0x30 I CCM Check Control Module E38
0x3b I GT Graphics Stage
0x3f K/I Diagnostics (via gateway)
0x40 K FBZV Remote Control for Central Locking E31
0x43 I GTF Rear Graphics Stage E38
0x44 K EWS Drive Away Protection System
0x45 K DWA Anti-Theft System
0x46 I CID Central Information Display E83, E85
0x47 I FMBT Rear Control Panel E38
0x48 I JBIT Telephone (Japan)
0x50 K/I MFL Multifunction Steering Wheel
0x51 K SPMBT Mirror Memory: Passenger E46
0x53 K/I Unconfirmed: Multicast 📣
0x5b K IHKA Automatic Heating/Air Conditioning
0x60 K/I PDC Park Distance Control
0x66 K ALC Active Light Control
0x68 K/I RAD Radio
0x69 K EKM Electronic Body Module E31
0x6a K/I DSP Digital Sound Processor
0x6b K STH Auxiliary Heater
0x70 K RDC/DWS Tire Pressure Control & Deflation Warning System
0x71 K SMF Seat Memory: Driver E31
0x72 K SMF Seat Memory: Driver E46, E53
0x76 K CDC CD Changer (DIN?)
0x7f K/I NAV Navigation
0x80 K/I KMB/IKE Instrument Cluster
0x9a K/I ALWR Automatic Headlight Vertical Aim Control
0x9b K CVM Convertible Soft Top Module E36
0x9b K SPMFT Mirror Memory: Driver E46
0x9c K CVM Convertible Soft Top Module E46
0x9d K ETS Electronic Disconnecting Switch E38
0xa0 I FID Rear Multi-functional Display E38, E39
0xa4 K MRS Multiple Restraint System
0xa7 K FHK Rear Compartment Heating/Air Conditioning E38
0xac K EHC Electronic Height Control
0xb0 K/I SES Speech Input System
0xb9 K RF/IR Compact Remote Control
0xbb K/I NAJ Navigation (Japan)
0xbf K Broadcast 📣
0xc0 K/I MID Multi-functional Display E38, E39, E53
0xc8 K/I TEL Telephone
0xcd K MID Multi-functional Display E31
0xda K SMB Seat Memory: Passenger E46
0xd0 K/I LCM/LSZ Lamp Check Module & Light Switch Center
0xe0 K IRIS Integrated Radio and Information System E39
0xe7 K/I Multicast: Displays 📣
0xe8 K RLS Rain/Light Sensor
0xea I DSPC DSP Controller E38
0xed I VID Video Module
0xf0 I BMBT On-board Computer Control Panel
0xf5 K LKM2 Lamp Control Module 2 E31
0xf5 K SZM Center Console Switch Center
0xff K/I Broadcast 📣

D-Bus

The shared address space might suggest it's possible to communicate with D-Bus devices from the K/I-Bus, however that's not the case. This is purely a function of diagnostics, in which all devices must be addressable from the D-Bus.

Device Bus Description
0x10 D Engine Management
0x11 D Central Body Electronics (ZKE 1/2) [E31, E34]
0x12 D Engine Management
0x13 D Engine Management
0x14 D Engine Management
0x15 D Double Sunroof (DDSHD) [E34]
0x16 D Thermal Level Oil Sensor [E36]
0x19 D Range Rover
0x20 D Electronic Engine Power Control (EML) [M70]
0x21 D Central locking module [E34, E36]
0x22 D Electronic Engine Power Control (EML) [M73]
0x31 D MINI
0x32 D Gearbox Control
0x35 D Steering Column Memory (LSM) [E31/E32/E34]
0x36 D ABS/ASC (Concept 1/2)
0x56 D ABS/ASC/DSC (DS2)
0x57 D Steering Angle Sensor (LWS)
0x59 D Automatic Heating/Air Conditioning (IHKA) [E31, E36]
0x5a D Electric Steering Lock (ELV) [E52]
0x65 D Fuel Pump (EKP)
0x6c D Gearbox Control
0x74 D Seat Occupation Detection US (OC3) [E83, 85]
0x81 D MINI
0x86 D Active Rear Axle Kinematics (AHK) [E31]
0x9e D Rollover Sensor [E36]
0xa6 D Cruise Control
0xc2 D Servotronic (SVT)
0xce D Seat Occupancy Detection

Command Index

Command Description
0x01 Ping
0x02 Pong & Announce
0x05 BMBT Service Mode Request
0x06 BMBT Service Mode Reply
0x10 Ignition Request
0x11 Ignition
0x12 Sensors Request
0x13 Sensors
0x14 Language & Region Request
0x15 Language & Region
0x16 Odometer Request
0x17 Odometer
0x18 Speed
0x19 Temperature
0x1a Check Control Message
0x1b Check Control Priority
0x1d Temperature Request
0x1f GPS Time
0x20 MID Button
0x21 Menu Text: Telephone
0x22 Menu Text Buffer
0x23 Title Text: Radio / Telephone
0x24 Property Text: IKE / Telephone
0x27 IKE → MID (TBC)
0x2a OBC Status
0x2b Telephone LEDs
0x2c Telephone Status
0x2d Telephone Direct Dial
0x31 Menu Button
0x32 BMBT Volume & MFL Volume
0x34 DSP Control
0x36 Radio EQ
0x37 Radio Tone/Select
0x38 CDC Request
0x39 CDC Status
0x3b MFL Buttons
0x40 OBC Input
0x41 OBC Control
0x42 OBC Remote Control
0x45 Set Radio UI
0x46 Request Radio UI
0x47 BMBT "Soft" Buttons
0x48 BMBT Buttons
0x49 BMBT Navigation Dial
0x4a BMBT Tape/LED Control
0x4b BMBT Tape Status
0x4e Radio Input Source
0x4f BMBT Monitor Control & Video Module Source
0x50 Check Control Status Request
0x51 Check Control Status
0x52 Check Control Message Relay
0x53 Redundant Data Request
0x54 Redundant Data
0x55 Replicate Data
0x57 Cluster Buttons
0x58 RLS → GM (TBC)
0x59 Light Sensor Status
0x5a Cluster Indicators Request
0x5b Cluster Indicators
0x5c Instrument Backlighting (58G)
0x5d Instrument Backlighting (58G) Request
0x61 EHC → GLO (TBC)
0x70 MRS → GLO (TBC)
0x71 Remote (Keyless) Entry Request
0x72 Remote (Keyless) Entry
0x73 Key Status Request
0x74 Key Status
0x75 RLS → GM (TBC)
0x76 Visual Indicators
0x77 GM → RLS (TBC)
0x78 Memory
0x79 Door/Lid Status Request
0x7a Door/Lid Status
0x7c SHD → GLO (TBC)
0x7d GM → SHD (TBC)
0x82 IHKA → GLO (TBC)
0x83 IHKA AC Control
0x86 IHKA → Nav. (TBC)
0x87 Nav. → IHKA (TBC)
0x9e GT → RCM (TBC)
0xa2 Telematics Coordinates
0xa4 Telematics Location
0xa5 Body Text: Telephone / Radio
0xa6 SMS Icon
0xa7 Traffic Management Channel Request
0xa8 Traffic Management Channel
0xa9 BMW Assist Data
0xaa Navigation Control
0xab Navigation View Status
0xaf Nav. → SES (TBC)
0xd4 NG-Radio Station List

Features

Sensors

  1. 0x10 Ignition Request
  2. 0x11 Ignition
  3. 0x12 Sensors Request
  4. 0x13 Sensors
  5. 0x16 Odometer Request
  6. 0x17 Odometer
  7. 0x19 Temperature
  8. 0x1d Temperature Request

OBC

  1. 0x14 Language & Region Request
  2. 0x15 Language & Region
  3. 0x24 Property Text: IKE
  4. 0x2a OBC Status
  5. 0x40 OBC Input
  6. 0x41 OBC Control
  7. 0x42 Remote Control

Redundant Data Storage

  1. 0x53 Redundant Data Request
  2. 0x54 Redundant Data
  3. 0x55 Replicate Data

Controls

  1. 0x20 MID Button: Telephone
  2. 0x31 BMBT/MID Menu Button
  3. 0x32 MFL Volume
  4. 0x3b MFL Buttons
  5. 0x32 BMBT Volume Dial
  6. 0x48 BMBT Buttons
  7. 0x47 BMBT "Soft" Buttons (i.e. INFO)
  8. 0x49 Navigation Dial
  9. 0x57 Cluster Buttons

Radio

  1. 0x23 Title Text: Radio
  2. 0x36 Radio EQ
  3. 0x37 Radio Tone/Select
  4. 0x39 CDC Status
  5. 0x4a BMBT Tape/LED Control
  6. 0xd4 NG-Radio Station List

Telephone

  1. 0x02 Announce: Telephone
  2. 0x2b Telephone LEDs
  3. 0x2c Telephone Status
  4. 0x2d Telephone Direct Dial
  5. 0x21 Menu Text: Telephone
  6. 0x23 Title Text: Telephone
  7. 0x24 Property Text: Telephone
  8. 0xa5 Body Text: Telephone
  9. 0xa6 SMS Icon

Displays

  1. Default
  2. Pin-Code
  3. Dial
  4. Last Numbers
  5. Directory
  6. Top 8
  7. Info
  8. Bluetooth Pairing
  9. SMS Index
  10. SMS Message
  11. SOS/Emergency

Navigation

  1. 0x02 Announce: BMBT
  2. 0x02 Announce: GT
  3. 0x02 Announce: Nav.
  4. 0x1f GPS Time
  5. 0x4f Monitor Control
  6. 0xaa Navigation Control
  7. 0xab Navigation View Status

Telematics

  1. 0xa2 Telematics Coordinates
  2. 0xa4 Telematics Location

Lighting

  1. 0x59 Light Sensor Status
  2. 0x5a Cluster Indicators Request
  3. 0x5b Cluster Indicators

Body

  1. 0x76 Visual Indicators
  2. 0x79 Door/Lid Status Request
  3. 0x7a Door/Lid Status

About

BMW I/K-Bus Documentation

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •