Thank you for the reply. I can confirm that 'verbose output during compilation' is turned off.
As for the normal upload, below is thew output of the 'bricking' process:
Status of USB and serial port with connected 32u4 Micro board:
$ lsusb
Bus 002 Device 007: ID 2341:8037 Arduino SA
Bus 002 Device 006: ID 413c:2010 Dell Computer Corp. Keyboard
Bus 002 Device 004: ID 413c:1003 Dell Computer Corp. Keyboard Hub
Bus 002 Device 003: ID 046d:c03d Logitech, Inc. M-BT96a Pilot Optical Mouse
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ls /dev/ttyA*
/dev/ttyACM0
The test sketch that I am uploading:
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("Hello :-)");
delay(1000);
}
Error messages from the IDE (I have removed excessive '***failed;' and some repeated iterations of messages but left the substance) :
Arduino: 1.8.9 (Linux), Board: "Arduino/Genuino Micro"
Sketch uses 3598 bytes (12%) of program storage space. Maximum is 28672 bytes.
Global variables use 161 bytes (6%) of dynamic memory, leaving 2399 bytes for local variables. Maximum is 2560 bytes.
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: write block
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0000 - 0x007f) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0080 - 0x00ff) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0100 - 0x017f) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0180 - 0x01ff) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0200 - 0x027f) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0280 - 0x02ff) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0300 - 0x037f) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0380 - 0x03ff) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0400 - 0x047f) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0480 - 0x04ff) failed to write
***failed;
.....
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 127 (addresses 0x0500 - 0x057f) failed to write
***failed;
.....
***failed;
.....
***failed;
***failed;
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
*** page 13 (addresses 0x0d8e - 0x0e0d) failed to write
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: verification error, first mismatch at byte 0x002a
0x2b != 0x75
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Status of USB and serial port after the bricking:
$ lsusb
Bus 002 Device 006: ID 413c:2010 Dell Computer Corp. Keyboard
Bus 002 Device 004: ID 413c:1003 Dell Computer Corp. Keyboard Hub
Bus 002 Device 003: ID 046d:c03d Logitech, Inc. M-BT96a Pilot Optical Mouse
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ls /dev/ttyA*
ls: cannot access '/dev/ttyA*': No such file or directory
After programming, the board is no longer detected and a serial port is not assigned, rendering it inaccessible. I will now have to recover it again with using the AVR programmer.
I should also point out that I have tried different USB cables and these same USB cables work fine when programming using the IDE on Windows.
The board is connected directly to the USB port on the PC and not via a USB hub.