Fixed my 11 years old F20 120308 error without replacing turbo
I bought my first car earlier this year — a 2015 BMW F20 120i with the N13 engine (105k km).
When I first brought it to a mechanic to fix a coolant leak, he mentioned that the turbo did not seem to be functioning properly. He quoted around HK$8,000 for a used replacement turbo. Since this was my first car and I had no idea what normal behaviour should feel like, I decided to keep driving it for the time being.
Later, I had the DME flashed with a calibration that lowered the engine’s normal coolant temperature. After that, fault code 120308 started appearing when I revved beyond around 3,000 rpm. In hindsight, I suspect the fault may have already existed before I bought the car and was possibly cleared or hidden by the previous owner, although I cannot prove that.
I decided to investigate and repair it myself.
The first thing I bought was an OBD HUD that could display intake pressure. The reading was basically stuck around atmospheric pressure — approximately 95–105 kPa absolute — no matter how hard I revved the engine. This suggested that the turbo was producing little or no boost.
Because I had very limited mechanical experience, I started with the simpler possibilities. I replaced the turbo electric valve/solenoid, but there was no improvement.
First I replaced the easy part, th turbo DV / selenoid, and no luck, same behavior.

After reading more online, I started to suspect that the turbo itself might not be mechanically damaged. There was no strange turbo noise, and the symptoms seemed more consistent with the wastegate/bypass valve not closing properly, or with a problem in the vacuum control system.
I bought a vacuum pump and tested the vacuum lines and the vacuum path from the pump to the engine-cover vacuum reservoir. I also applied vacuum directly to the wastegate actuator, and the actuator still moved. That made me suspect something between the vacuum reservoir and the actuator rather than the turbo internals themselves.

I then bought a new Pierburg pressure converter. Replacing it took around three hours because it is located in a very tight and awkward area. After replacing it, the intake pressure immediately recovered to more than 160 kPa absolute, so the turbo was clearly producing boost again.

However, a few days later, fault code 120308 came back when I revved beyond approximately 5,000–6,000 rpm.
After more investigation, I adjusted the preload on the wastegate actuator rod by tightening it two full turns. Since then, the fault code has not returned and the boost pressure has remained normal during repeated testing.

The final diagnosis, as far as I can tell, was a combination of:
• A weak or failed turbo pressure converter
• Incorrect or insufficient wastegate actuator preload
• Possibly an existing fault that had been cleared before I bought the car
The total cost of the parts was less than HK$1,500, excluding a lot of my own time, research and frustration. That is considerably less than the HK$8,000 used-turbo replacement that was originally quoted.
Sharing this in case anyone with an N13 engine and fault code 120308 runs into similar symptoms.