This is an old revision of the document!
PoE management
On RTL8380 and RTL8390 switches based on Realtek's development boards, power over ethernet is usually not managed directly by the SoC itself, but by an intermediate microcontroller. This microcontroller in turn talks to a PoE power sourcing equipment (PSE) controller chip. The Realtek platform supports both a Broadcom based, and a Microsemi based implementation. A daemon running on the OS will poll the controller to manage the PoE ports and inform about their status.
The PSE controllers will always be in the PoE power domain, which needs to be isolated from the SoC to protect it from external PoE faults. This means that the PoE controller will talk to either the SoC or PSE controller through a pair of optocouplers or isolators. Be aware of this when probing the control signals on the PoE hardware.
Hardware combinations
Vendor | Device | SoC | Management IC | PSE controller | PoE FW version | PoE standard support |
---|---|---|---|---|---|---|
Cisco | SG220-26P | RTL8382M | Microsemi PD69100 | PD69108 (?) | n/a | 802.3at |
D-Link | DGS-1210-10P F1 | RTL8380M | Nuvoton M0516 (?) | BMC59121 | 1.8.2.1 | 802.3at |
Edge-CorE | ECS2100-10P | RTL8380M | Microchip PD69200 | Microchip PD69208M | n/a | 802.3at |
Netgear | GS110TPP v1 | RTL8380M | Nuvoton M0516 | BCM59121 | 1.8.0.5 | 802.3at |
Netgear | GS310TP | RTL8380M | Nuvoton M0516 | BCM59121 | 802.at | |
Netgear | GS710TUP | Nuvoton M0518 | BMC59121 ×2 | 4.1.0.1 | 802.3bt | |
Netgear | GS728TP v2 | RTL8391M | Nuvoton M0516 | BCM59121 ×3 | 2.0.2.7 | 802.3at |
TP-Link | T1600G-52PS | RTL8393 | - | TI TPS23861PW ×12 | n/a | 802.3at |
Trendnet | TPE-1620WS | RTL8382M | Nuvoton M0516LDE | BCM59121 ×2 | 802.3at | |
Zyxel | GS1900-10HP | RTL8380M | STM 32F100 | BCM59121 | 1.6.0.4 (BCM59121), 1.0.0.1 (BCM59101) | 802.3at |
Ubiquiti | Unifi Switch Lite 16 PoE | RTL8382M | Nuvoton M0516 | BCM59121 | 802.3at | |
Zyxel | GS1920-24HP | STM 32F100 | BMC59111 ×6 | 802.3at |
Broadcom platform
On the Broadcom platform, an intermediate microcontroller is used to managed a Broadcom PSE controller, like the BCM59121. Although more than one microcontroller type is used over different products, they all appear to use the same serial protocol. The high level control and status commands between the microcontroller and SoC use the SoC's secondary UART. The UART connection between the SoC and microcontroller typically uses a 19200 baud, 8n1 connection. Communication between the microcontroller and the Broadcom chip uses Broadcom Serial Control (BSC), an I2C dialect.
See Broadcom PoE control protocol for more details.
Microchip/Microsemi platform
Like the Broadcom platform, the Microchip PoE platform also uses a combination of a SoC-PSE bridge as controller, and PSE management ICs to control the power to the PoE devices.
Documentation
- Microsemi Serial control protocol between SoC and management IC
- PD69108 PSE controller: Product page
- PD69200 PoE PSE Controller: Datasheet
- PD69208T4/PD69204T4/PD69208M PSE Manager: Datasheet
Texas Instruments
Until now, only one switch series was based TI's PSE controllers. These can be controlled directly by the SoC, or (according to TI's product pages) by an intermediate MCU.
OpenWrt Support for PoE
If your switch is based on the Broadcom PoE platform, you will need the rtl83xx-poe package in order to use PoE. This is currently available from blogic's staging tree. Note that the other PoE platforms are not supported by this package.
Either compile the package separately and install it on the switch after booting up OpenWrt, or copy over the files in the files sub-directory over into the base-files directory of your OpenWrt git repository from which you build the switch firmware.
Information on how to configure is here: https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875/284.
Please note this Lua implementation is no longer receiving updates and the new C code is in the works: https://patchwork.ozlabs.org/project/openwrt/patch/20210511152243.1167160-1-john@phrozen.org/.