I think I'd rather this live in a different module (maybe wifi.exceptions).  I tend to think of utils.py as a file to put stuff that are not related to wifi at all.  This ConnectionFail (maybe it could be ConnectionError) is much more related to wifi as a concept that the other functions in this file.  Does that make sense?