#1983 landed a generic RAK4631 Ethernet base (repeater/room_server/companion
envs, single-client SerialEthernetInterface, EthernetCLI telnet CLI) and
independently added the same WB_IO2 rail-power fix we found for PoE boot.
Layer the remaining PoE-specific delta on top of it instead of duplicating:
- W5100SPoE: drop the now-redundant WB_IO2 early-ctor code (covered by
#1983's own constructor), keep only the early W5100S RST release and the
bit-bang activation/VERSIONR check.
- SerialEthernetInterface: add PoE-safe deferred bring-up (Ethernet.init/
begin() moved out of begin() into loop(), gated by an _hwReady flag, so
the disruptive PHY soft-reset + DHCP can't collapse the marginal PoE
supply at cold start) and bounded DHCP with a static-IP fallback.
- EthernetCLI: same deferral (vTaskDelay before hardware bring-up) and
bounded DHCP + static fallback for the repeater/room_server telnet path.
- platformio.ini: add RAK_4631_{repeater,room_server,companion_radio}
_ethernet_poe envs extending #1983's _ethernet envs with WITH_W5100S_POE.
Verified: all three new _poe envs build, plus the plain _ethernet envs and
non-Ethernet variants (no cross-variant breakage).
Co-Authored-By: Claude Sonnet 5 <[email protected]>