From 3bdf138721bd4a08ed743312e11a95aa8a2ee892 Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Thu, 5 May 2022 20:45:47 +0200 Subject: [PATCH] Fix micronucleus bootloader to check for unresponsive USB devices --- src/micronucleus.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/micronucleus.c b/src/micronucleus.c index b3c25341..b8d9d7ee 100644 --- a/src/micronucleus.c +++ b/src/micronucleus.c @@ -744,6 +744,19 @@ static int micronucleus_open(PROGRAMMER* pgm, char* port) { avrdude_message(MSG_INFO, "%s: ERROR: Failed to open USB device: %s\n", progname, usb_strerror()); } + else + { + // Send a dummy request to check for a unresponsive USB device. + int result = micronucleus_get_bootloader_info(pdata); + if (result < 0) + { + avrdude_message(MSG_NOTICE, "%s: WARNING: Failed to probe device (error %d), skipping...\n", + progname, result); + + usb_close(pdata->usb_handle); + pdata->usb_handle = NULL; + } + } } } }