I was getting a lot of
avrdude: stk500_2_ReceiveMessage(): timeout
when uploading from my linux box, and the serial port would disappear from the list intermittently. It was recommended I reflash the 8u2, per http://arduino.cc/en/Hacking/DFUProgramming8U2
(I have since found it may be a bad usb port on the front of my computer. Another 2560 and a rear panel usb don't have the above issue).
I downloaded MEGA-dfu_and_usbserial_combined.hex from https://github.com/arduino/Arduino/tree/master/hardware/arduino/firmwares
I shorted the two sets of pins on the bottom of the board in correct order, per http://www.wayneandlayne.com/blog/2011/02/16/fixing-linux-firmware-issues-on-arduino-mega-2560/
I ran "sudo dfu-programmer at90usb82 erase", and the USB port no longer shows up in the arduino IDE.
I ran "sudo dfu-programmer at90usb82 flash MEGA-dfu_and_usbserial_combined.hex"
BUT, I get:
Error parsing the line.
Something went wrong with creating the memory image.
I can no longer communicate with my 2560.
Running lsusb at the command line shows:
Bus 004 Device 011: ID 03eb:2ff7 Atmel Corp.