Hello, I have encountered similar issues previously. I must assert that the switch packs on E90 models are often quite reliable, therefore I personally doubt that this is the reason. CAN bus systems are quite problematic, as they are dispersed throughout the vehicle and are easily disrupted by moisture. Begin by disconnecting the harness from the driver's door; there is an 8mm bolt on the vehicle's body side, after which you may detach and unplug the multi-plug. Inspect for moisture, visible corrosion, etc. If it is a connectivity issue, a thorough cleaning and manipulation may suffice. If acceptable, I will likely examine the harness behind the door panel. To proceed correctly, a wiring diagram is essential; nonetheless, these prevalent concerns may suffice! Best of luck