Monday, November 20, 2017

Resetting window controller's end-positions on E90 BMW 335i

This problem is rather widely reported on the Net. It is probably safe to say that every BMW owner will experience it at one point or another. One day you discover that when you attempt to auto-close one of your car's windows, the glass rises all the way up and then suddenly retracts to a half-open position. This normally happens when you use auto-close mode, i.e. pull the window switch all the way up (the second detent) to make the window close by itself. In manual mode (switch pulled up to the the first detent) the window usually closes fully.

What happens in this case is that the window controller believes that the rising glass has pinched something in its upper position (someone's fingers?). It immediately reacts by automatically retracting the glass to the half-open state. For this reason, when you encounter this behavior, the first obvious thing to check would be the window channel itself. Maybe there's some obstruction stuck in the channel, which prevents the glass from closing fully and thus leads the controller to believe (correctly in that case) that it is pinching something.

If you see that the channel is clear, then you have a genuine case of mis-adjusted window controller. A quick search reveals that there are quite a few procedures/algorithms on the net that promise to reset the controller and return your window to normal operation. Most of them require pulling/pushing the window switch and holding it for a certain period of time. However, the duration of holding seem to vary quite wildly and the procedures often differ in general.

In my case, the problem revealed itself on my 2011 335i sedan's rear driver's side window. Several procedures that I tried initially produced no useful results. But it the end I found one that worked. Here's its original description (available from here, among other places):

Initialization is performed on the power window switch of the relevant door.

Requirements for correct initialization:

  • Terminal "R" activated
  • Doors and windows closed
  • Sufficient battery voltage; connect charger if necessary

Initialization comprises:

  • Erasure of initialization
  • Reinitialization

Erasure of initialization:

  • Open door window glass fully
  • Actuate power window switch in "Open" position (second switch position) and hold down for between 15 and 20 seconds

This clears initialization of the power window. Anti-trapping protection and one-touch control (toll) function are inactive. Check whether one-touch control (toll) function is inactive, otherwise repeat procedure.


Reinitialization:

  • Close door window completely
  • After upper end position is reached, interrupt actuation of power window switch and then hold switch again for approx. 1 second in "Close" position (second switch position)
  • Open door window glass fully
  • After upper end position is reached, interrupt actuation of power window switch and then hold switch again for approx. 1 second in "Open" position (second switch position)
  • Close door window completely
  • After upper end position is reached, interrupt actuation of power window switch and then hold switch again for approx. 1 second in "Close" position (second switch position)

This completes initialization.

(A careful reader will notice an obvious miswording in the "Reinitialization" section of this description: when you "open door window glass fully", the glass should reach lower end position, not "upper end position" as in the above text)

Anyway, the following is my interpretation of the above procedure that worked perfectly for my car. Here's what I did:

  1. Power up the car's electrical system without starting the engine, i.e. press the "Start" button without depressing any pedals.
  2. Get in the car next to the window you want to adjust. Close all doors. The following steps are performed by operating the window switch located on the relevant door.
  3. Open the glass fully by pressing on the switch. Release the switch.
  4. Depress the switch all the way down (the second detent) and hold it down for between 15 and 20 seconds. Then release the switch.
  5. Important: If you did everything properly, your window's controller is now reset. At that point you should lose the auto-close functionality of the window. I.e. even when you pull the switch all the way up (to the second detent) the window should not auto-close. It should move up as long as you pull the switch, but it should stop immediately once you release it. This is a sign you are on the right path. Verify it! If at this stage your window still attempts to auto-close, then you are doing something wrong. There's no point in trying to proceed. Start over.

  6. Now, pull the switch up and hold it that way until the window closes fully. Release the switch.
  7. Pull the switch all the way up and hold it for 1.5-2 seconds. Release the switch.
  8. Push the switch down and keep pushing until the window opens fully. Release the switch.
  9. Push the switch all the way down and hold it for 1.5-2 seconds. Release the switch.
  10. Pull the switch up and hold it that way until the window closes fully. Release the switch.
  11. Pull the switch all the way up and hold it for 1.5-2 seconds. Release the switch.
  12. You're done. Verify normal operation of the window. The auto-close functionality should now be restored and it should not cause the window to rebound after closing.

After that my window started working properly.