This is a DIY guide from bmw f30 forum,big thank to the f30 forum member share this DIY guide. He took the headlight switch out of my stock US spec 328xi and modified it to add rear fog lights.
The button hardware, the lighting circuit and the button are all in the switch assembly, there are just little plastic tabs that are preventing the button from moving. After modifying the button you just need to code 5 new values to tell the car what to do with the new button and everything will work perfectly.
The first step is to pull the left vent out of the car, basically you just grab it and pull it out.
Next remove the headlight panel, there are little clips that you have to pinch while pulling the panel out at the same time, there are no clips on the bottom, the panel will tip out from the
top. The clips are circled in red.
Once you have the switch out pull the wires out of the back, there is no button or catch, just pull them out. Then you need to remove the back of the switch, there are 6 clips that you need to release while simultaneously pulling the back off. The clips are circled in red below.
After you have removed the back you have to pop the button out of the switch assembly. Do this by pinching the four clips circled in red below and pushing the button out of the front.
Now that you have the button out you need to cut the retaining tabs off and smooth everything out. The tabs are circled in the pictures below. I used a box cutter to cut most of the tab off, then used a small flathead screwdriver to smooth everything out. It doesn’t look pretty, but it works, and no one will ever see it, so it doesn’t matter.
Tabs cut off and everything smoothed out.
After you’re all done modifying the button, push it back in the front of the switch, clip the back of the headlight assembly back on, plug the wires back in, put the panel back into the car, then
put the vent back in.
Now you have to code the button to work, refer to my blog articles: BMW Coding & Programming Introduction,and there are many article on my blog,you can search to learn how to code or find
someone in your area to help you. The values you need to code are:
FEM_BODY / 3060 LCEMaster 1C / NSL_Verbaut = Verbaut
REM / 3063 LCELampMapping 2 / Mapping_Nebelschlussl_L_output = nsl_l
REM / 3063 LCELampMapping 2 / Mapping_Nebelschlussl_L_Function = nebelschlusslicht
REM / 3063 LCELampMapping 2 / Mapping_Nebelschlussl_R_output = nsl_l
REM / 3063 LCELampMapping 2 / Mapping_Nebelschlussl_R_Function = nebelschlusslicht