I have used with partial success I2C with the ESP8266. When it works, it works well, with many devices on the bus. I've examined the signals on a 'scope to assure Vlo, Vhi, Tr, and Tf.
However, often it works not at all. No I2C devices (even if there is only one connected) are detected. This condition is determined by some unknown factor, and it stays in this condition for some time (days?) before it starts working again. Power cycle, reset-by-button, and reset-by-reflashing do not restore operation until it works again.
This has occurred with at least three ESP8266 modules from two different manufacturers with different pinouts. It affects all connected I2C devices. They are all slaves to the ESP8266.
What should I try next?