I just bought my 98 BMW 540i 2 weeks ago, and I knew when I bought it that there was a check engine light on for an EVAP code. I pulled the code and it came up as P0443. I just wanted to outline a short diagnostic checklist of things to check when you experience this or any other EVAP code related to the purge valve.
1- Check your gas cap. This is one of the biggest cause of check engine lights when it comes to the EVAP system. Make sure it is seated tightly and clean, inspect the rubber gasket inside, it should be smooth with no tears or pitting. To be extra safe, it is always a good idea to clean the rubber gasket and mating surface very well with alcohol and a rag. if the rubber gasket is torn or damaged, you can often find a replacement or just order a new gas cap for around $23 for OEM or $7 for aftermarket. Be forewarned that the aftermarket caps fit very tightly and can be a challenge to get off sometimes!
2- Visually inspect the lines going to and from the purge valve (540I guys this sits right in front of the driver side head, it is a small black valve with a hose coming in the bottom and off the side.) Make sure there is no damage to these lines, and that the clamps are tight on it. If you are feeling particularly ambitious, you can remove the lines and vacuum test them to make sure they are holding pressure.
3- Check the wiring going to the purge valve. it should all be sealed up nicely from the factory, but you can look to make sure none of this shielding has been worn through. A primitive way to check the wiring to the valve is to clear the code then start the car. note how long it takes for the code to return. If it is longer then a minute or 2 then clear the code again and unplug the valve. Start the car again. If the code comes on immediately, then you now know that if there was an issue in the wiring, it would not immediately come on if the wiring is good. Like I said primitive but it gives you a rough idea. Before you rule it all out make sure there is no corrosion on the terminals either at the valve or in the connector as this can increase resistance in the circuit and set a code. If you do find corrosion, clean the contacts with sandpaper or a pick and spray them off with contact cleaner.
4- Lastly, if you have been through the above steps and the code is still returning, then it is time to check the purge valve. The function of this part is to allow the engine to suck the fuel vapors out of the tank and burn them. The valve pretty opens and closes the line running from the tank to the intake, and allows this to only happen when the computer wants it to. The valve should always be closed. The first step is to remove the valve. It is pretty straight forward, there is one hose with a clip and another with a hose clamp, and then the two-wire connector on the top. It lifts right off of the bracket it sits on. Once you have it out, try to blow air through it. If any gets through at all, then the valve is stuck open and it should be replaced. If you can’t, then your valve passes the first test. Next use some wiring leads and send 12 volts of power to the two terminals on the top. If it does not work one way try the other, it’s easy to get mixed up on which is positive and which is negative. You should hear a click and now should be able to blow air through it easily. If you still cannot, then the valve is stuck closed and needs to be replaced. Lastly if you have a multimeter, you can test resistance from pin to pin on the valve. I have had a hard time finding how many ohms it should be, but one source says 25 to 65 so that’s a good reference point.
If your car passes all these tests but you are still getting the code, it may be worth it to throw a new purge valve at it. It takes 10 minutes to replace and runs 80 dollars for a BMW valve from ECS Tuning (I highly recommend them, best customer service you will come across) or $20 for a cheap one on eBay. Since its a pretty simple concept an eBay valve should work fine, but in terms of longevity and a much higher quality product, BMW wins. I hope this helps people out there, maybe down the line if you are interested I will create a video going step by step through this process.