# Help with ACSM Fault



## t4ure4n (Jan 1, 2017)

Hi

I recently bought F10 520d year 2010 and it had fault messages appearing in iDrive and warning lights in the dash. I think these are related to Driver and Passenger head restraint/airbag because the car was hit from the back.

So I used Rheingold to clear the fault memory but 2 faults related to ACSM module still persist. 
The error codes are 930958 and 93095E.

I have seen shawn's comment here but I am not sure if the same procedure applies to me.

I have attached picture of fault codes from Rheingold with this message

Can someone please guide me what can I do to fix it?


----------



## shawnsheridan (Jan 10, 2009)

I replied to your PM.


----------



## t4ure4n (Jan 1, 2017)

shawnsheridan said:


> I replied to your PM.


Hi Shawn

Apologies for long post but I hope that you can guide me:

I tried to reset the ACSM using your proposed method below



> Click "External Applications" in the left menu.
> Click "External Application"
> Double-click "Transmitter"
> Double-click "ACSM verriegelung_schreiben" (ACSM verriegelung_schreiben_new?)


I sent *ACSM verriegelung_schreiben* followed by *ACSM verriegelung_schreiben_new* and then cleared the fault memory using Rheingold. However the faults didn't disappear.

Second screenshot shows this process, can you please tell me if the job had completed on not as there was no "success message"

So I moved on to locking ACSM using instructions below however in my copy of EDIABAS there were no *.prg* files inside *C:\EDIABAS\Ecu *directory. What am I missing?
My copy of EIABAS (Patched_EDIABAS_7.3.0) is from Rheingold 4.04.12 provided by kretzu on this forum



> Launch C:\EDIABAS\Bin\TOOL32.EXE
> Hit F3
> Load C:\EDIABAS\Ecu\ACSM4.prg
> In the "Select Job: F01" window, select steuern_verriegelung_schreiben (steuern_verriegelung_schreiben = control locking write)
> ...


----------



## shawnsheridan (Jan 10, 2009)

t4ure4n said:


> Hi Shawn
> 
> Apologies for long post but I hope that you can guide me:
> 
> ...


Forget E-Sys. You need to use EDIABAS, and you need different version. PM sent.


----------



## t4ure4n (Jan 1, 2017)

shawnsheridan said:


> Forget E-Sys. You need to use EDIABAS, and you need different version. PM sent.


Just downloaded your version of EDIABAS and will try it in the morning.

Do I need to make any backup of of this ECU before making the change?


----------



## shawnsheridan (Jan 10, 2009)

t4ure4n said:


> Just downloaded your version of EDIABAS and will try it in the morning.
> 
> Do I need to make any backup of of this ECU before making the change?


No.


----------



## t4ure4n (Jan 1, 2017)

Shawn, sorry to bother you again do I need ACSM4.prg or ACSM3.prg to lock ACSM?
My car is 2010 520d (F10)
The reason I ask this is because the 3 CAFDs listed under my ACSM are 009C, 08E5 and 08E8 and belong to ACSM3.


----------



## shawnsheridan (Jan 10, 2009)

t4ure4n said:


> Shawn, sorry to bother you again do I need ACSM4.prg or ACSM3.prg to lock ACSM?
> 
> The reason I ask this is because the 3 CAFDs listed under my ACSM i.e 009C, 08E5 and 08E8 belong to ACSM3.


Try both. You wont hurt it.


----------



## Aurieg (Apr 5, 2017)

Might be a silly question but were these components replaced with new ones after the accident? I was working on f32 after the accident and was getting resistance too high codes on driver's seat belt tensioner, and the seatbelt mechanism itself. The seatbelt was obviously shot as it did not retract, however the tensioner looked fine, after testing resistance values it needed to be replaced. Cleared the codes, reset the ACSM and it's everything's fine.

Sent from my Nexus 6 using Bimmerfest mobile app


----------



## t4ure4n (Jan 1, 2017)

shawnsheridan said:


> Try both. You wont hurt it.


I tried both ACSM3 and ACSM4 without any luck.

In case of ACSM3.prg "steuern_verriegelung_schreiben" didn't exist however I found "verriegelung_schreiben" and executing that resulted in following error.


> apiJob("ACSM3","verriegelung_schreiben","","")
> 
> Satz : 0
> OBJECT = acsm3
> ...


In case of ASCM4.prg when I executed job steuern_verriegelung_schreiben it also resulted in following error.



> apiJob("ACSM4","steuern_verriegelung_schreiben","","")
> 
> Satz : 0
> OBJECT = acsm4
> ...


----------



## t4ure4n (Jan 1, 2017)

Aurieg said:


> Might be a silly question but were these components replaced with new ones after the accident? I was working on f32 after the accident and was getting resistance too high codes on driver's seat belt tensioner, and the seatbelt mechanism itself. The seatbelt was obviously shot as it did not retract, however the tensioner looked fine, after testing resistance values it needed to be replaced. Cleared the codes, reset the ACSM and it's everything's fine.
> 
> Sent from my Nexus 6 using Bimmerfest mobile app


The previous owner of this car had the accident. Head restraints were in normal position when I bought the car so I don't know if they were released after the accident and subsequently reset by the previous owner.

I doubt it is the case because I bought the car from Auction as CAT D and then repair the rear bumper/enforcer etc.

I have checked the seat belts and they retract just fine.

What else can I test?


----------



## shawnsheridan (Jan 10, 2009)

t4ure4n said:


> I tried both ACSM3 and ACSM4 without any luck.
> 
> In case of ACSM3.prg "steuern_verriegelung_schreiben" didn't exist however I found "verriegelung_schreiben" and executing that resulted in following error.
> 
> In case of ASCM4.prg when I executed job steuern_verriegelung_schreiben it also resulted in following error.


No idea why. Do other Tool32 jobs run without error?


----------



## t4ure4n (Jan 1, 2017)

Aurieg said:


> Might be a silly question but were these components replaced with new ones after the accident? I was working on f32 after the accident and was getting resistance too high codes on driver's seat belt tensioner, and the seatbelt mechanism itself. The seatbelt was obviously shot as it did not retract, however the tensioner looked fine, after testing resistance values it needed to be replaced. Cleared the codes, reset the ACSM and it's everything's fine.
> 
> Sent from my Nexus 6 using Bimmerfest mobile app


As far as I can tell both errors relate to high resistance (see translated version of error messages)


0x930958 ZK15: Active headrests Driver: Resistance too large
0x93095E ZK16: Active headrests Passenger: Resistance too big

How do I measure the resistance values for tensioners? Shall I just go to BMW or get my local mechanic to replace them


----------



## t4ure4n (Jan 1, 2017)

shawnsheridan said:


> No idea why. Do other Tool32 jobs run without error?


Yes, I ran other jobs for ACSM3.prg they ran just fine.
As an example I got the following error memory by executing one of the jobs (I forgot its name)


```
E R R O R   M E M O R Y
           ---------------------------------------

Date:      24.06.2017, 17:13:01
JobStatus: OKAY
Variant:   ACSM3.PRG
Version:   3.201
-------------------------------------------------------------

RESULT:    2 error in error memory !
-------------------------------------------------------------

0x930958   ZK15: Aktive Kopfstuetze Fahrer : Widerstand zu groß

Error counter   :  2
Healing counter : 40

1. environment condition
   Absolute time                        198341927     s
   Mileage                                 104808     km
   Status Fahrzeug FZM: Fahrt                8.000000E+000  0-n
   Systemzeit Fehlerbeginn                  11667034.00  -
   Systemzeit Fehlerende                    11686400.00  -
   Außentemperatur                              2.50  °C
   Steuergerät Innentemperatur: 43 °C                1.680000E+002  0-n
   Systemzustand                            16781328.00  -
   Zeit nach Power*******                    3444.00  -
   PowerOn Zähler                           18662.00  -
   Batteriespannung am Steuergerät             12.46  Volt
2. environment condition
   Absolute time                        218586378     s
   Mileage                                 106418     km
   Status Fahrzeug FZM: Motor an, Fahrzeug steht                7.000000E+000  0-n
   Systemzeit Fehlerbeginn                  12145553.00  -
   Systemzeit Fehlerende                       -1.00  -
   Außentemperatur                             25.00  °C
   Steuergerät Innentemperatur: 37 °C                1.560000E+002  0-n
   Systemzustand                            1118481.00  -
   Zeit nach Power*******                       4.00  -
   PowerOn Zähler                           20293.00  -
   Batteriespannung am Steuergerät             11.89  Volt

   Testbedingungen erfüllt
   Fehler momentan vorhanden und bereits gespeichert
   Fehler würde kein Aufleuchten einer Warnlampe verursachen
   This is no event DTC. This ecu IS RESPONSIBLE for this error entry.

Error code: 93 09 58 0D 01 0B 17 00   01 99 68 17 01 0B D2 75
            27 17 28 08 40 00 00 B2   06 5A 40 01 00 B2 52 00
            17 27 55 40 02 A8 40 03   01 00 10 10 40 04 0D 74
            40 05 00 00 48 E6 40 06   98 02 0B 17 00 01 9F B2
            17 01 0D 07 5D 0A 17 28   07 40 00 00 B9 53 91 40
            01 FF FF FF FF 17 27 82   40 02 9C 40 03 00 11 11
            11 40 04 00 04 40 05 00   00 4F 45 40 06 91 93 09
            58 0D 01 00 02 02 03 28  
-------------------------------------------------------------

0x93095E   ZK16: Aktive Kopfstuetze Beifahrer : Widerstand zu groß

Error counter   :  2
Healing counter : 40

1. environment condition
   Absolute time                        198341927     s
   Mileage                                 104808     km
   Status Fahrzeug FZM: Fahrt                8.000000E+000  0-n
   Systemzeit Fehlerbeginn                  11667034.00  -
   Systemzeit Fehlerende                    11686400.00  -
   Außentemperatur                              2.50  °C
   Steuergerät Innentemperatur: 43 °C                1.680000E+002  0-n
   Systemzustand                            16781328.00  -
   Zeit nach Power*******                    3445.00  -
   PowerOn Zähler                           18662.00  -
   Batteriespannung am Steuergerät             12.46  Volt
2. environment condition
   Absolute time                        218586379     s
   Mileage                                 106418     km
   Status Fahrzeug FZM: Motor an, Fahrzeug steht                7.000000E+000  0-n
   Systemzeit Fehlerbeginn                  12145553.00  -
   Systemzeit Fehlerende                       -1.00  -
   Außentemperatur                             25.00  °C
   Steuergerät Innentemperatur: 38 °C                1.580000E+002  0-n
   Systemzustand                            1118481.00  -
   Zeit nach Power*******                       5.00  -
   PowerOn Zähler                           20293.00  -
   Batteriespannung am Steuergerät             11.97  Volt

   Testbedingungen erfüllt
   Fehler momentan vorhanden und bereits gespeichert
   Fehler würde kein Aufleuchten einer Warnlampe verursachen
   This is no event DTC. This ecu IS RESPONSIBLE for this error entry.

Error code: 93 09 5E 0D 01 0B 17 00   01 99 68 17 01 0B D2 75
            27 17 28 08 40 00 00 B2   06 5A 40 01 00 B2 52 00
            17 27 55 40 02 A8 40 03   01 00 10 10 40 04 0D 75
            40 05 00 00 48 E6 40 06   98 02 0B 17 00 01 9F B2
            17 01 0D 07 5D 0B 17 28   07 40 00 00 B9 53 91 40
            01 FF FF FF FF 17 27 82   40 02 9E 40 03 00 11 11
            11 40 04 00 05 40 05 00   00 4F 45 40 06 92 93 09
            5E 0D 01 00 02 02 03 28  
=============================================================
```


----------



## Aurieg (Apr 5, 2017)

t4ure4n said:


> As far as I can tell both errors relate to high resistance (see translated version of error messages)
> 
> 
> 0x930958 ZK15: Active headrests Driver: Resistance too large
> ...


High resistance values indicate hardware issues as it was in my case. Until I replaced the suspected components these errors persisted. If I understand correctly, these tensioners are inside the seat accessible by perhaps removing the back side panel of the seat. But do your research first. Resistance can be easily measured using a regular multimeter. The correct values can be observed in this document. You're looking at gas generator's values
https://drive.google.com/file/d/0B6rfuEyWL8NBUk1IVmNtMk1yeUE/view?usp=drivesdk

Sent from my Nexus 6 using Bimmerfest mobile app


----------



## Aurieg (Apr 5, 2017)

t4ure4n said:


> The previous owner of this car had the accident. Head restraints were in normal position when I bought the car so I don't know if they were released after the accident and subsequently reset by the previous owner.
> 
> I doubt it is the case because I bought the car from Auction as CAT D and then repair the rear bumper/enforcer etc.
> 
> ...


This is your issue. Stop messing around with trying to fix hardware with software https://youtu.be/uic3ZR37F7g (if you googled then you this vid)
I can almost guarantee you that noone replaced the gas generators in that car. Replace them, reset the module and erase the codes. Done.

Sent from my Nexus 6 using Bimmerfest mobile app


----------



## Aurieg (Apr 5, 2017)

Hi there, 
Any update on the issue?

Sent from my Nexus 6 using Bimmerfest mobile app


----------



## t4ure4n (Jan 1, 2017)

Aurieg said:


> Hi there,
> Any update on the issue?
> 
> Sent from my Nexus 6 using Bimmerfest mobile app


Hi Aurieg... Unfortunately I couldn't test this as I am out of country. 
The video didn't mention it but do I have to disconnect the battery before opening the headrest?


----------



## Aurieg (Apr 5, 2017)

I would suggest so

Sent from my Nexus 6 using Bimmerfest mobile app


----------

