If you take the steering column cover off (carefully its easy to break), there are 3 wires that wrap around the top of the ignition switch and go into a connector. Pull it, push the pins out and clean the connectors, use a tool to clean the other half of the connector.
I had the exact issues you had, it was hit or miss if I could start the truck or the passlock would engage. Had to wait 10 mins or so between each try. Finally got so bad it wouldn't start at all. I did this about 6 years ago and no issues since.
This is a common issue with this gen passlock.