FIVE STARAIRBAGS
Sold and shipped fromJacksonville, Arkansas
Mon to Fri, 9 AM to 5 PM CT501-988-0611
Cart
BMW SRS fault codes

BMW airbag codes and what they mean

BMW does not use B-codes for its restraint system. The airbag module keeps its faults as hex numbers, and the ones that matter sit in one block running from 0x930901 upward. Read that block in order and the layout follows easily.

What BMW calls the module and where it lives

BMW has used two names for the airbag computer. Older cars carry the MRS, Multiple Restraint System, in versions MRS3 through MRS5, and BMW's module list ties MRS4 to the E39, E46, E53 and early Mini. Newer cars carry the ACSM, Advanced Crash Safety Management, from ACSM2 on the E70 and E93 through ACSM3 on the F01, F02, F07, F10, F11 and F18, then ACSM4 and ACSM5.

The module mounts low and centered on the transmission tunnel under the console. It is orientation-sensitive, because its own acceleration sensors sit inside the housing. Chassis notes are on our BMW airbag service page.

How BMW airbag codes are organized

Inside the firing-circuit block every device gets five consecutive entries in one fixed order: short to ground, short to positive, resistance too low, resistance too high, lines coupled together. The driver airbag first stage is 0x930901 through 0x930905 and the second stage picks up at 0x930907, so an unfamiliar number is usually readable from its neighbours.

The device order shows how much restraint hardware BMW fits:

Then come the entries that survive a repair. 0x930AB6 is crash message stored and 0x930AB7 is maximum number stored, with matching entries at 0x930ACB for pedestrian protection and 0x930C18 for the high-voltage shutdown. Those are the module's record of what happened rather than a fault out in the car, and a module-level crash data reset clears them.

Code table

BMW SRS codes we see, and what each one is

Codes with a link have their own page. Crash data clears with a module reset; hardware and circuit faults need the part fixed or replaced first.

CodeMeaningType
0X930901Driver airbag stage 1: short to ground.Circuit fault
0X930902Driver airbag stage 1: short to positive.Circuit fault
0X930904Driver airbag stage 1: resistance too high, typically an open or a loose connector.Circuit fault
0X930905Driver airbag stage 1: lines coupled together.Circuit fault
0X930907Driver airbag stage 2: short to ground.Circuit fault
0X93090DDriver airbag vent valve: short to ground, the adaptive vent on a staged airbag.Circuit fault
0X930913Passenger airbag stage 1: short to ground.Circuit fault
0X930925Driver belt tensioner: short to ground.Circuit fault
0X93092BDriver end fitting tensioner: short to ground, the anchor-side tensioner.Circuit fault
0X930931Driver belt force limiter: short to ground.Circuit fault
0X930937Passenger belt tensioner: short to ground.Circuit fault
0X930949Driver knee airbag: short to ground.Circuit fault
0X930955Driver active head restraint: short to ground.Circuit fault
0X930961Rear left belt tensioner: short to ground.Circuit fault
0X930979Driver side airbag: short to ground.Circuit fault
0X930985Left head airbag: short to ground, the roof-rail curtain.Circuit fault
0X930991Safety battery terminal: short to ground. The pyrotechnic battery disconnect.Circuit fault
0X9309A9Pedestrian protection system front left: short to ground.Circuit fault
0X9309C4Driver belt buckle contact: open circuit.Circuit fault
0X9309E8Driver seat position sensor: open circuit.Circuit fault
0X9309FBUpfront airbag front sensor left: short to positive or open circuit.Circuit fault
0X930A07ODS seat occupancy mat, passenger: signal invalid.Hardware fault
0X930A0AAirbag sensor B-pillar right, x and y direction: short to positive or open circuit.Circuit fault
0X930A0BAirbag sensor front left door: short to positive or open circuit.Circuit fault
0X930A14ODS seat occupancy mat, passenger: communication fault.Circuit fault
0X930A1CODS seat occupancy mat, passenger: sensor fault caused by moisture.Hardware fault
0X930AB6Crash message stored. The module's own record of a crash event.Crash data
0X930AB7Maximum number of crash messages stored.Crash data
0X930C1FAt least one unexpected firing circuit detected.Crash data
0X481716Reversible belt tensioner left: maximum number of tensionings reached.Hardware fault
93B2ACSM internal fault.other
930BBattery safety terminal fault.other
93C1Passenger seat occupancy.other
9C8ACrash input recorded.crash
93E2Pretensioner circuit.Circuit fault
A0C5Deployment loop fault.crash

Scan tool notes for BMW

No generic OBD2 reader touches this module. BMW's restraint controllers answer over UDS through BMW-specific software, ISTA or the older INPA and Rheingold. There is also a job that locks the fault memory, which is why a module can hold entries a normal read will not show.

Coding is not optional on a replacement. The module keeps its own coding faults: 0x020108 is control unit is not coded, 0x02010B is coding data does not match the vehicle. A module moved from another car sets those until it is coded to the car it is in now. Components are the same, with 0x930A16 reading that the seat occupancy mat is a spare part and coding is necessary.

What we see on BMW vehicles

The seat occupancy mat is the most common BMW restraint complaint and BMW's own fault list shows why. The mat gets its own block: invalid signal, sensor short, sensor open, communication fault, data memory full, implausible readings, implausible heater wire readings, an impermissible mat swap between seats, and one entry specifically for a sensor fault caused by moisture. A mat sat on for a decade with drinks spilled on it eventually sets one, presenting as an airbag light with the passenger airbag off.

BMW also logs its reversible belt tensioners separately. 0x481700 and 0x481900 are internal faults for the left and right units, and 0x481716 says the left has reached its maximum number of tensionings. Those are motorised pre-crash tensioners, and they wear on a count.

Common questions

BMW airbag code questions

BMW's restraint module is not on the generic OBD2 path and does not report in the B-code format most scanners speak. Its faults are hex entries read through BMW software such as ISTA, or the older INPA and Rheingold. A tool that shows engine codes and nothing for the airbag light cannot reach that module.

It depends on age. BMW used the MRS on older chassis, with MRS4 covering the E39, E46, E53 and early Mini. The ACSM starts with ACSM2 on the E70 and E93, runs as ACSM3 across the F01, F10 and F11 generation, then continues as ACSM4 and ACSM5.

0x930AB6, crash message stored, with 0x930AB7 for the maximum number stored. There are matching entries for pedestrian protection at 0x930ACB and the high-voltage shutdown at 0x930C18. These are stored records rather than live circuit faults, so they stay put after the physical repairs.

Look at the seat occupancy mat first. BMW's fault list gives it a block covering invalid signal, sensor short, sensor open, communication faults, implausible readings, and one entry for a sensor fault caused by moisture. Spills and years of use are the usual cause.

Not without coding it. The module logs 0x020108 when it is not coded and 0x02010B when the coding data does not match the vehicle, so an uncoded transplant announces itself. Components are the same: 0x930A16 says the seat occupancy mat is a spare part and coding is necessary.

Keep reading:

BMW SRS light on?

Read us the code and we will tell you what it needs

Crash data clears with a reset of your own module. A hardware fault needs the part. Either way, call and we will confirm.

BMW airbags, seat belts, and modules in stock

Shop all BMW parts

Genuine OEM, tested, and shipped ground from Jacksonville, Arkansas.