U0658 indicates that the engine control module (ECM) or another control module has lost communication with the windshield temperature sensor, typically over a local interconnect network (LIN) or controller area network (CAN) bus. This sensor is often used by the automatic climate control system to regulate cabin temperature and defrost operation.
The sensor itself has failed internally, breaking communication. This is the most common cause for a dedicated sensor code.
Open, short, or high resistance in the sensor circuit (power, ground, or signal wire) prevents proper communication.
Loose pins, bent terminals, or moisture intrusion at the connector can cause intermittent or total loss of communication.
The module that interfaces with the sensor may have an internal failure, corrupt software, or power/ground issue, disrupting the network.
Insufficient voltage (below ~9V) can cause modules to drop off the network, triggering communication codes.
Rare but possible if the ECM is the master node for that network and has an internal fault. This is the least likely cause and should only be considered after all other possibilities are ruled out.
Yes, in most cases the vehicle will remain drivable. However, the automatic climate control or defrost system may not work correctly, which could affect comfort and visibility in certain conditions.
Almost never. The PCM is rarely the cause of a lost communication code for a specific sensor. Replacing the PCM should be a last resort after thoroughly testing the sensor, wiring, and the module that directly communicates with the sensor.
Clearing the code may turn off the check engine light temporarily, but if the underlying issue (e.g., faulty sensor or wiring) is not repaired, the code will return.
Not necessarily. The windshield temperature sensor is usually mounted on or near the windshield and measures glass temperature for defrost/defog control, while the ambient sensor measures outside air temperature. Some vehicles may combine them, but they serve different purposes.