To me the P0328 makes a ton of sense.
This web page states a P0328 code can be caused by:
- Faulty knock sensor 1, bank 1
- Open or short in knock sensor circuit wiring
- Failed ECU
- Wrong octane fuel or lean air fuel ration
- Engine is overheating
- Low fuel pressure
One of the major symptoms of this (other than the CEL) is a loss of power. If the knock sensor is sending back erroneous information and the ECU detects this, it will do what it can to protect the engine. One of the ways of doing this is to pull ignition timing, which drastically reduces engine power.
To see what the issue really is, follow the steps provided on the website:
How does a mechanic diagnose the P0328 code?
- Uses a scan tool hooked up into the DLC port of the vehicle and checks for any codes present along with any freeze frame data associated with the codes
- Clears the codes and a test drives the vehicle to duplicate the symptoms and code
- Listens for engine knocking
- Performs a visual inspection, looking for any faults
- Checks the cooling system and engine for any faults
- Check the fuel octane and fuel system if the engine is knocking
- Uses the scan tool to monitor the knock sensor voltage for changes if engine isn't knocking
- Uses a scan tool to check the engine coolant temperature and fuel pressures
- Tests the ECU, each vehicle has it's own testing procedure for the ECU
I'm not positive of what exactly your scan tool is capable of, but would suggest reading the manual on it and/or looking online at the product's website (if there is one). Big to-dos here are first to ensure you are using the correct octane fuel. I'll assume this is a turbo-charged Subie, which to me would indicate you'd need premium fuel (at least 91 Octane - R+M/2 scale). Next is to actually listen for knocking in the engine. If you don't hear any, it may very well be the sensor has gone bad. Double check the wiring to ensure it's good (no obvious frays, etc).