I presume you tried cooking the pork shoulder to a final internal temperature of 200-205F. It may well be that the actual cook temperature was lower than the 225F indicated on the controller.
1. Get a third party thermometer to double check the actual cook temperature. This can be an analog thermometer such as use on offset smokers and gas grills. It can also be an oven thermometer. You might want to use a probe that can transmit wirelessly to your cell phone or remote station. These need not be expensive. Some members here recommend the Fireboard devices, which are rather expensive. A cook temperature of 225F is just fine for the initial stage of the cook.
2. Do not rely on the Traeger meat probe that came with your Traeger. Get a good instant read thermometer that can provide an accurate temperature reading (+/- 1 degree F) in 1-3 seconds. Ultimately, you want your pork butt to be "probe tender."
3, When your pork butt reaches a temperature of 160-170F, it it will reach the "stall" phase. This is when all the available heat from the fire is needed to evaporate moisture from the surface of the meat and the internal temperature will stop rising. At this point, there are three options:
A. Leave the temperature at 225F and just wait it out. As you found, this can take hours.
B. Boost the cook temperature to 250-275F. This will help power through the stall.
C. Wrap the butt in foil or butcher paper. This traps the steam trying to escape and allows the heat from the fire to be used to increase the internal temperature of the meat.
Each of these methods comes with advantages and disadvantages. Option A provides the best bark, but take the longest to cook. Option C cooks the quickest, but the bark is not firmly set. Options B is somewhere in between. Personally, I choose option C as I want to decrease cook time. Others choose options A or B. They all work in the end, so it is a matter of personal preference. It depends on how you like your pork.