We receive Subsystem coding inquiries on a regular basis because this operation is required when performing numerous VW and Audi maintenance and repair services. The most common operations would include:
What is a Subsystem or Slave control module?
How can I tell if I have Subsystem control modules?
OK, so how do I code these Subsystem control modules?
Using the example vehicle above we may have a faulty Wiper motor module Part No SW: 5N1 955 119 (Wischer) due to premature mechanical wear caused by excessive ice on the windshield or bound mechanical wiper linkage that wasn't addressed early enough.
If 5N1 955 119 was replaced with a brand new wiper motor ordered by VIN at the VW dealer it may work when it is plugged in and bolted on (providing the hood is closed) - but this brand new controller would need to be coded. The technician would need to refer to her original Auto-Scan to determine what the original controller was coded to; this value happens to be 009795.
Next, using VCDS with the new module installed you would click:
Wait, what if ..
- Battery Replacement on Audi (4E) A8/S8, (4F) A6/S6/RS6/Allroad and the (4L) Q7 chassis vehicles that use a diagnostic capable address 61-Battery Regulation control module.
- Replacement Wiper (motor) module replacement on VW (1K) and similar Golf based vehicles.
- Replacement 4th Generation UDS Protocol Rear door modules on VW (1K) and similar Golf based vehicles.
- Tweaks. Obviously this is not a maintenance or general repair service but modifications such as Rain Closing windows (when supported) often require the RLS / RLFS / RLHS (the Rain and Light sensor using any number of wild acronyms) to be coded differently.
What is a Subsystem or Slave control module?
This is a control module that does not speak to or communicate to a scan tool (VCDS in this case) directly using a separate selectable address. Instead, a Subsystem control module is connected to a Master control module either via LIN (single wire communication), CAN (CAN High/CAN Low 2-wire communication) or in some cases that we aren't going to get into via Optical (MOST) Bus. The Master module communicates directly using a diagnostic capable address so all operations need to be completed within the Master module.
How can I tell if I have Subsystem control modules?
Take a look at the saved Auto-Scan (because you saved one before removing parts.. yes?) For instance, the following master controllers happen to use code-able Subsystem controllers in my 2012 Tiguan:
This vehicle uses a few control modules that do not support Subsystem coding so they were excluded from the above example.
Code:
Address 09: Cent. Elect. (J519) Labels: 1K0-937-08x-09.clb <- Master module
Part No SW: 5K0 937 086 L HW: 5K0 937 086 L
Component: BCM PQ35 M 011 0048
Revision: BJ011001
Coding: 6E180A3BEC232EC4008800C130008DC448750006576D8DF0E4840000A040
Shop #: WSC 01324 020 00200
VCID: BD32786C2499A4D228-80E8
Subsystem 1 - Part No SW: 5N1 955 119 HW: Labels: 1KX-955-119.CLB <- Subsystem 1
Component: Wischer 20061 013 0203
Coding: 009795
Subsystem 2 - Part No: 1K0 955 559 AH Labels: 1K0-955-559-AG.CLB <- Subsystem 2
Component: RLS 170611 05 54 0403
Coding: 06304D
Address 16: Steering wheel (J527) Labels: 5K0-953-569.clb <- Master module
Part No SW: 5K0 953 501 BL HW: 5K0 953 569 L
Component: LENKS.MODUL 014 0140
Revision: FF010040 Serial number: 20110614101144
Coding: 110A140000
Shop #: WSC 01324 020 00200
ASAM Dataset: EV_VW360SteerWheelUDS A03004
ROD: EV_VW360SteerWheelUDS.rod
VCID: F5A2A04C54293C9220-80A0
Multi Function Steering Wheel Control Module:
Subsystem 1 - Part No SW: 5K0 959 542 A HW: 5K0 959 542 A Labels: 3C8-959-537.CLB <- Subsystem 1
Component: E221__MFL-TAS H09 0013
Coding: 820000
Address 55: Headlight Range (J745) Labels: 5M0-907-357-V3.clb <- Master module
Part No SW: 5M0 907 357 E HW: 7L6 907 357 C
Component: AFS-ECU H04 0100
Revision: -------- Serial number: --------------
Coding: 041E00010B000300
Shop #: WSC 01324 020 00200
ASAM Dataset: EV_HeadlRegulVWAFSPt 002014
ROD: EV_HeadlRegulVWAFSPt.rod
VCID: B620674009AF778AE9-80E3
Left_headlamp_power_output_stage:
Subsystem 1 - Part No SW: 4H0 941 329 HW: 4H0 941 329 <- Subsystem 1
Component: LeiMo links H02 0008
Coding: 140000
Right_headlamp_power_output_stage:
Subsystem 2 - Part No SW: 4H0 941 329 HW: 4H0 941 329 <- Subsystem 2
Component: LeiMo rechts H02 0008
Coding: 140000
This vehicle uses a few control modules that do not support Subsystem coding so they were excluded from the above example.
OK, so how do I code these Subsystem control modules?
Using the example vehicle above we may have a faulty Wiper motor module Part No SW: 5N1 955 119 (Wischer) due to premature mechanical wear caused by excessive ice on the windshield or bound mechanical wiper linkage that wasn't addressed early enough.
If 5N1 955 119 was replaced with a brand new wiper motor ordered by VIN at the VW dealer it may work when it is plugged in and bolted on (providing the hood is closed) - but this brand new controller would need to be coded. The technician would need to refer to her original Auto-Scan to determine what the original controller was coded to; this value happens to be 009795.
Next, using VCDS with the new module installed you would click:
- [Select]
- [09-Cent. Elect.]
- [Coding-07] where a screen like this will appear
- Subsystem 1 would be identified as 1 -- 5N1 955 119 -- Wischer in this case and it needs to be selected from the drop-down list.
- Copy the original Coding of 009795 from the saved Auto-Scan and Paste it directly into the New coding: field.
If the WSC, Importer # or Equipment #s are all zeros it is strongly advised to enter non-zero values. In this case we know those were 20061 013 0203 so they can be used. - [Do it!]
Wait, what if ..
- The faulty Subsystem control module did not communicate?
You can't do anything about a brain dead control module but tapping on it or getting creative by heating/cooling it (i.e. using the freezer or placing in on a warm engine) and hope that the old one will communicate one more time couldn't hurt. In this case however you should be able to code a basic Golf based wiper module from scratch using the [Long Coding Helper].
- The individual that diagnosed and repaired this vehicle did not realize that motor was a fancy control module .. and they tossed the original one in the rubbish?!?
If the dumpster hasn't been emptied yet, you may want to go for a dive but a simple wiper module isn't worth it in my opinion because we have the [Long Coding Helper].
- My car isn't broken at all and I'm tweaking settings?
Use the[Long Coding Helper] to configure the desired configuration.
In all 3 examples the basic steps above will be used but the user will not copy and paste known coding into the New coding section. Instead, you would:
- [Select]
- [09-Cent. Elect.]
- [Coding-07]
- Select the Subsystem in question from the drop-down list.
- [Long Coding Helper] A screen like this will appear
Note to self, I should get a real PQ35 BCM Wiper coding screen shot and replace the interactive manual 01-Engine example...
Click on each of the Byte numbers in row 3) and you'll see the selectable options below. Check or Un-check the boxes for the desired results. Close the Long Coding Helper by clicking the Windows X box on the top right of the screen or clicking the Exit button on the top left of the screen to send your altered Coding value back to the Coding screen.
If the WSC, Importer # or Equipment #s are all zeros it is strongly advised to enter non-zero values.
- [Do it!]
Last edited: