public bool CheckRunningFallback() { ManualResetEvent never = new ManualResetEvent(false); // Wait for device to recover from the battering it gets // when it announces itself to the network before trying // to retreive its device xml to establish whether it is // running the fallback or not. WaitFor(never, kMaxRunningFallbackSeconds); try { uint version = iDevice.HasService(ServiceFlash.ServiceType()); return(version != 0); } catch (DeviceException) { throw (new FlashException()); } }