It gets better, The shop couldnt try anything because it could not access OBD 2.
no cigar for you...
.... The Idle air control valve is self-resetting. Each time you turn off the ignition... when you "cut" the voltage to the ECU, the unit sends out a signal to the stepper motor to wind it fully backwards and allow maximum air into the plenum chamber. You should hear a buzz from the stepper motor as the engine dies. As the ignition voltage is "cut", the engine simply stops with the stepper motor in maximum air position.

.... The Idle air control valve is self-resetting. Each time you turn off the ignition... when you "cut" the voltage to the ECU, the unit sends out a signal to the stepper motor to wind it fully backwards and allow maximum air into the plenum chamber. You should hear a buzz from the stepper motor as the engine dies. As the ignition voltage is "cut", the engine simply stops with the stepper motor in maximum air position.
no cigar for you...
.... The Idle air control valve is self-resetting. Each time you turn off the ignition... when you "cut" the voltage to the ECU, the unit sends out a signal to the stepper motor to wind it fully backwards and allow maximum air into the plenum chamber. You should hear a buzz from the stepper motor as the engine dies. As the ignition voltage is "cut", the engine simply stops with the stepper motor in maximum air position.

.... The Idle air control valve is self-resetting. Each time you turn off the ignition... when you "cut" the voltage to the ECU, the unit sends out a signal to the stepper motor to wind it fully backwards and allow maximum air into the plenum chamber. You should hear a buzz from the stepper motor as the engine dies. As the ignition voltage is "cut", the engine simply stops with the stepper motor in maximum air position.
PS, I don't smoke..
ok then... no ice cream for you. 
Please don't think I was being nasty with you... text is so easily misunderstood.
As for the IACV... I've had them out many times from various model years. Mostly for cleaning / lubing and I'm fairly familiar with them. When you pull it out and completely / securely blank off the hole in the plenum (at idle rmps) you should be able to switch off the engine and cause the cone plunger shaft to withdraw fully into the motor housing. If this is not happening the plunger itself may need lubrication or it could just simply be dead, the ECU could be bad or you have a bad connection between the plug and the ECU in the harness. Nothing else beside the ECU controls the IACV after the engine is switched off.
So, all I am saying is, if the ECU getting reset by a stealership cures the problem then it was not the IACV at fault... t'was the ECU.

Please don't think I was being nasty with you... text is so easily misunderstood.
As for the IACV... I've had them out many times from various model years. Mostly for cleaning / lubing and I'm fairly familiar with them. When you pull it out and completely / securely blank off the hole in the plenum (at idle rmps) you should be able to switch off the engine and cause the cone plunger shaft to withdraw fully into the motor housing. If this is not happening the plunger itself may need lubrication or it could just simply be dead, the ECU could be bad or you have a bad connection between the plug and the ECU in the harness. Nothing else beside the ECU controls the IACV after the engine is switched off.
So, all I am saying is, if the ECU getting reset by a stealership cures the problem then it was not the IACV at fault... t'was the ECU.
I understand what you are saying, and you can take them out and watch the plunger move. All I am saying is that if you move that plunger yourself, the ECU will not read it right. It thinks it is in a certain position, and it is somewhere else. Same with the TPS. It is always programming the ECU to calibrate for the new part. You can take them off and clean them, but move one from another truck and it will idle funny until the values have been set in the ECU.
I didn't take your post as crappy...I also do not advocate taking it in for anything. But no comms with the ECU via OBD2 port needs a hands on tech IMHO..
Still doesn't solve the OP's problem, though.
To the OP, does your anti-lock light come on? Just to check ECU comms another way, ground pins 5 and 15 to do the ABS blink code test. There is a full write up for it in the tech section.
I didn't take your post as crappy...I also do not advocate taking it in for anything. But no comms with the ECU via OBD2 port needs a hands on tech IMHO..
Still doesn't solve the OP's problem, though.
To the OP, does your anti-lock light come on? Just to check ECU comms another way, ground pins 5 and 15 to do the ABS blink code test. There is a full write up for it in the tech section.


