For a while now what's been happening with my 2005 GMC Canyon truck is that the interior cabin fans will suddenly and without any warning stop working, regardless of fan speed setting.
If fan speed settings 0, 1, 2 and 3 didn't work but setting 4 did, that's a blower resistor issue and an easy fix. Buy the resistor + wiring harness package ($35), have a mechanic install it. When all the speed settings don't work, that's a grounding issue. Under the hood on the passenger side is a splice block direct-mounted to the inner fender with a 10mm bolt. You have to take off the air filter cover to see that little black box.
What I did previously on my own was remove the bolt holding the box, sanded off the paint where the bolt met the metal, screwed it back in then sprayed a good coat of sealant to prevent rust. This provided a better ground contact but it only worked for a short while. Every so often the fans would conk out where I had to pop the hood, jiggle the box and the fans came back on until they went out again a few days later.
After a while the jiggling of the box didn't work anymore and the fans would not come back on, so it was time to pay a guy to rewire the thing.
The fix is to rewire the ground for the blower motor outside the block. A picture of what this looks like when the work is done is here.
I went to my local mechanic, told him about the issue, gave him the web page link and he did the work as described in the thread for $86. I didn't do the work myself because I next to nothing about vehicle electronics, so it was altogether better and safer to have the mechanic do it.
My fans are now working again as they should.
HOPEFULLY this will be the end of the wonky interior fans issue. The blower motor was replaced prior so I know that will last a while.
The resistor might still conk out at some point, which I'll know instantly if fan speeds 0/1/2/3 don't work but 4 does. However it probably won't given the ground for the blower motor is proper now, so that should prevent resistor burnout for a good long while.