I follow the older posts but I couldn't fix the problem.
I created a hex file with the firmware of the ATmega8U2 from a working arduino and uploaded in the not working one but it returns me always the same error:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
I saw another issue similar to this where the drivers for another USB device thought the Arduino was another device and therefore messed around with Serial communications. Look around for other drivers, but I don't have a PC... sorry.