I can confirm it via this message over my GNU/Linux machine by running dmesg that the arduino is in DFU programming mode:
[ 1544.679504] usb 1-6: new full-speed USB device number 42 using xhci_hcd
[ 1544.808341] usb 1-6: New USB device found, idVendor=03eb, idProduct=2ff7
[ 1544.808350] usb 1-6: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 1544.808356] usb 1-6: Product: Arduino Uno DFU
I also to confirm that I run lsusb and I got the following result:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 248a:8367
Bus 001 Device 058: ID 03eb:2ff7 Atmel Corp.
Bus 001 Device 003: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Further indicating to me that arduino is in DFU mode.
The I try to run:
sudo dfu-programmer atmega8u2 erase
But for some reason I get the following error:
dfu-programmer: no device present.
Do you know why I get this error and how I can fix it?
The question is how did you figure this out? I am asking because someone else may have the same problem in order to understand the nature of it better.
Arduino Uno and Mega 2560 Firmwares for the ATmega8U2
This directory contains the firmwares used on the ATmega8U2 on the Arduino
Uno and Arduino Mega 2560. The arduino-usbdfu directory contains the DFU
bootloader on the 8U2; the arduino-usbserial directory contains the actual
usb to serial firmware. Both should be compiled against LUFA 100807. The
two .hex files in this directory combine the dfu and serial firmwares into
a single file to burn onto the 8U2.
To burn (Uno):
avrdude -p at90usb82 -F -P usb -c avrispmkii -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
To burn (Mega 2560):
avrdude -p at90usb82 -F -P usb -c avrispmkii -U flash:w:MEGA-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m