The first problem is you fell victim to one of GM's many customer-unfriendly business practices. They designed their computers so you have to buy a new one from the dealer and have it programmed by them. There are a few used ones that can be reprogrammed to a different car, but the dealers don't like to admit that. They want you to buy a new one.
The second issue is that 2.5 volts your mechanic found. Without being right there to look over his shoulder, I can share that 2.5 volts is a perfect signal voltage, but there's more to the story. The proper way to take the reading is with the sensor plugged in, then anything between approximately 0.5 and 4.5 volts is acceptable. A reading outside that range will trigger a diagnostic fault code.
When the sensor is unplugged, being the circuit is interconnected to other circuitry inside the computer, the voltage could "float" to some random value that the computer might or might not accept. To prevent that, a "pull-up" resistor, or in some cases, a "pull-down" resistor is used to force the signal voltage to go to a defective condition so a fault code will set. To say that a simpler way, when the sensor is unplugged, the voltage measured in the connector will go to 5.0 volts. That is what the mechanic was referring to. The issue is, did he measure that 2.5 volts with the sensor plugged in or unplugged? If it was plugged in, the reading is perfect. If it was unplugged, the 2.5 volts is not correct; it should be 5.0 volts. The thing to do then is connect a scanner to view live data and see what the computer is seeing.
My suspicion is the scanner is going to show 5.0 volts while the mechanic finds 2.5 volts at the connector. That would point to that signal wire is cut. If the scanner shows 2.5 volts with the sensor unplugged, something other than the sensor is pulling it down from the 5.0 volt starting point, and that would point to a grounded signal wire. Most commonly that would be a wire rubbed bare and touching a rusty or dirty metal part that makes less than a perfect connection.
The secret here is to take two measurements at two times. One is at the sensor's connector, and the other is just from observing the reading on the scanner. That is what the computer is seeing. Those two readings are taken first with the sensor connected, then again with it unplugged. Based on those four readings, we should be able to figure out where to go next. The reading at the connector and that shown on the scanner are supposed to be the same at all times. When they're different, it has to be due to a wiring or connector terminal problem.
Be aware the Engine Computer develops the 5.0-volt power supply that feeds a majority of the engine sensors. If there's a problem inside the computer with that power supply, you're going to have a pile of diagnostic fault codes for all those other sensors. If a wire is grounded, the computer should turn that power supply off to protect it. You have to remove the short, then it is usually necessary to turn the ignition switch off, then back on to reset it.
SPONSORED LINKS
Tuesday, January 23rd, 2018 AT 5:51 PM