add Illegal state error, get firmware version