+       puts_P(PSTR("Getting Config Data.\r\n"));
+
+       uint8_t ErrorCode;
+
+       /* Get and process the configuration descriptor data */
+       if ((ErrorCode = ProcessConfigurationDescriptor()) != SuccessfulConfigRead)
+       {
+               if (ErrorCode == ControlError)
+                 puts_P(PSTR(ESC_FG_RED "Control Error (Get Configuration).\r\n"));
+               else
+                 puts_P(PSTR(ESC_FG_RED "Invalid Device.\r\n"));
+
+               printf_P(PSTR(" -- Error Code: %d\r\n"), ErrorCode);
+
+               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+               return;
+       }
+
+       /* Set the device configuration to the first configuration (rarely do devices use multiple configurations) */
+       if ((ErrorCode = USB_Host_SetDeviceConfiguration(1)) != HOST_SENDCONTROL_Successful)
+       {
+               printf_P(PSTR(ESC_FG_RED "Control Error (Set Configuration).\r\n"
+                                        " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+               return;
+       }
+
+       /* Some printers use alternate settings to determine the communication protocol used - if so, send a SetInterface
+        * request to switch to the interface alternate setting with the Bidirectional protocol */
+       if (PrinterAltSetting)
+       {
+               if ((ErrorCode = USB_Host_SetInterfaceAltSetting(PrinterInterfaceNumber, PrinterAltSetting)) != HOST_SENDCONTROL_Successful)
+               {
+                       printf_P(PSTR(ESC_FG_RED "Control Error (Set Interface).\r\n"
+                                                " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+                       LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+                       USB_Host_SetDeviceConfiguration(0);
+                       return;
+               }
+       }
+
+       puts_P(PSTR("Retrieving Device ID...\r\n"));
+
+       char DeviceIDString[300];
+       if ((ErrorCode = Printer_GetDeviceID(DeviceIDString, sizeof(DeviceIDString))) != HOST_SENDCONTROL_Successful)
+       {
+               printf_P(PSTR(ESC_FG_RED "Control Error (Get Device ID).\r\n"
+                                        " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+               USB_Host_SetDeviceConfiguration(0);
+               return;
+       }
+
+       printf_P(PSTR("Printer Device ID: %s\r\n"), DeviceIDString);
+
+       puts_P(PSTR("Printer Enumerated.\r\n"));