I have a similar problem, but in my case neither the "Upgrade & Erase" and the DFU procedure solved the problem. During "Upgrade & Erase" the upgrading completes, but the erasing times out. When I connect via USB, I see that GCS tries to send GCSTelemetryStats objects with the Status set to HandshakeReq. The Revolution board does not reply with FlightTelemetryStats objects, so the handshaking does not complete (in fact no other objects are being received from the Revolution board). The weird thing is, when I establish a link through OPLink (radio) I experience no problems.
I've got several Revolution boards, of which two have this problem. Only one of these two have OPLink configured, so the other is inaccessible (is it?). I have a feeling that there is a setting, or a problem with the settings that cause the board not to respond to handshake requests over USB, how can I erase the settings (I'm not sure if the DFU procedure can be used to completely reset the board, or that it only can rewrite the firmware)?
Btw. I've also tried the "Rescue" and "Erase" buttons, no luck either.