It could be the resistors that control the speed. If the fan works on direct 12v, next check the switch for continuity by using a multimeter. I'm not sure what your controls look like, but many of them are from Evans Tempcon. In mine, I found the control panel was an Evans product but also found out it was used in Dodge pick ups. Ebay had a used one for $25, saving me bunches, especially since mine was no longer in production by Evans. Here's a link to their website and you'll find a resistor pictured.
Evans Tempcon, Inc - Service Parts
Good luck with it.