This is being posted here many because I know it will get indexed, and others here might be interested....
I was having problems with the first of 10 ESP8266 modules I've acquired from Deal Extreme - I couldn't flash new firmware (NodeMCU) as it would hang at 10%. Tried a whole lot of 'hints' found on the web (jumper this pin to that, hold mouth like so...) with no success.
Nor could I role back to stock firmware, as one of the four sections would fail to write (under both Linux and Windows). Tried different speeds and so on for a few hours...
Running an strace on the script showed it would just lock up after writing a whole lot of FF values - the ESP module would not reply.
So I then looked closer at the Usb/serial bridge (a cheap FT232RL based module). I wired it for loopback (TX jumpered to RX), and wrote the same data to the port - and the FT232RL locked up. Hummm...
I then got a trusted part (an FPGA dev board with a FTDI part on it) and tried the test program. It didn't lock up. So I pushed the RX and TX pins though the FPGA to a pin header, and tried flashing with the world's most expensive serial adapter... and bugger me, it worked.
I've got 10 fake serial adapters!
Just to prove it to myself I replaced the FT232RL with one I had on hand. It now flashes firmware perfectly.... Grrrrr
However, this means I now have a test that can detect these fakes - pretty much just send 10B of FF chars and see it it locks up!