Improve enumeration reliability

also log disconnect for ease of debugging

Change-Id: I0ffbc4c07b4c1ad28fbb8bb5b691848b77d129fb
diff --git a/AndroidAccessory/AndroidAccessory.cpp b/AndroidAccessory/AndroidAccessory.cpp
index d063910..2e86a42 100644
--- a/AndroidAccessory/AndroidAccessory.cpp
+++ b/AndroidAccessory/AndroidAccessory.cpp
@@ -224,8 +224,8 @@
 
         err = usb.getDevDescr(1, 0, 0x12, (char *) devDesc);
         if (err) {
-            Serial.print("\nDevice descriptor cannot be retrieved. Program Halted\n");
-            while(1);
+            Serial.print("\nDevice descriptor cannot be retrieved. Trying again\n");
+            return false;
         }
 
         if (isAccessoryDevice(devDesc)) {
@@ -237,6 +237,8 @@
             switchDevice(1);
         }
     } else if (usb.getUsbTaskState() == USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE) {
+        if (connected)
+            Serial.println("disconnect");
         connected = false;
     }