This router has CFE bootloader which makes flashing OpenWRT very easy using just a web browser. However, I wasn't able to trigger it by pressing Reset button for a few seconds during power on.
The trick to trigger CFE it is by flashing Zyxel unbranded firmware first using web admin console at http://192.168.1.1
After it finishes, flash this corrupted firmware like above to brick it and get CFE prompt afterwards.
When it get bricked you have to set a static IP for your PC (i.e: 192.168.1.2 / 255.255.255.0) and then access http://192.168.1.1
Get openwrt-P870HW-51a_v2-squashfs-cfe.bin from here and flash it. That's all
Just as a reference, I flashed the wrong firmware by accident and it became stuck in a boot loop. I had to try to unbrick it using a USB-to-TTL.
|Red is GND ; Green is RX ; White is TX|
This was the first time I interact with Zyxel ZLD command prompt. Unbricking was easy. just:
then I sent this file via XModem (using CuteCom under GNU-Linux or TeraTerm under Windows)