EP-0216NEW: Difference between revisions

From 52Pi Wiki
Jump to navigation Jump to search
(Blanked the page)
Tag: Blanking
 
Line 1: Line 1:
=52Pi 2.5Gbps PCIe Network Adapter with PoE+ module =
==Description== 
The 52Pi 2.5Gbps PCIe Network Adapter for Raspberry Pi 5 is a PCIe-based expansion card that adds a second, full-speed 2.5 GbE port to the Pi 5. A detachable PoE+ daughter-board (pluggable via on-board headers) turns the adapter into a fully IEEE 802.3at-compliant power source: it receives PoE+ over the new RJ45 jack and simultaneously delivers up to 25 W to the Raspberry Pi 5 through a USB-C plug, eliminating the need for a separate PSU. Data still travels at native PCIe speeds over a supplied FPC cable, while GPIO pass-through pins on the base board provide the auxiliary power rails required by the on-board NIC. The result is a single, compact module that combines high-speed networking and reliable PoE+ power in one stackable solution.


==Features== 
* <strong>High-speed networking:</strong> Realtek-based 2.5 Gbps Ethernet controller (100/1000/2.5 G auto-negotiation) 
* <strong>Native PCIe interface: </strong>Dedicated PCIe Gen 2 ×1 link to Raspberry Pi 5 via flexible FPC cable 
* <strong>Optional PoE+ module:</strong> Pluggable board adds IEEE 802.3at (PoE+) power input and USB-C 5 V / 5 A output to the Pi 
* <strong>Single-cable operation: </strong>Network data and power delivered through one RJ45 connection 
* <strong>GPIO pass-through: </strong>Base-board pins must mate with Pi GPIO header to supply on-board NIC with required power 
* <strong>Compact & stackable:</strong> Low-profile design keeps HAT footprint, leaves remaining GPIO pins accessible 
* <strong>Plug-and-play: </strong>Works out of the box with recent Raspberry Pi OS kernels; no external drivers needed
* <strong>Real-time speed LEDs: </strong> Four labeled LEDs (100 M, 1 G, 2.5 G) indicate current link speed for quick diagnostics
==Gallery==
TBD.
==Package Includes==
TBD.
===Hardware assembly===
* Power down the Pi 5.
* Plug the 40-pin header of the 52Pi base board onto the Pi’s GPIO (this rail-powers the NIC).
* Connect the supplied FPC ribbon between the adapter’s PCIe slot and the Pi’s PCIe FFC connector (labelled “PCIe” next to the DSI/CSI slots).
* If you are using the PoE+ daughter-board, seat it on the two 4-pin headers.
  – Plug a USB-C cable from the daughter-board’s USB-C PD OUT into the Pi 5’s USB-C power port.
  – Plug an 802.3at/af+ switch into the RJ45 on the daughter-board.
* Power on the PoE switch; the Pi should boot automatically.
== Verify PCIe enumeration ==
<pre>
sudo lspci -nn | grep -i eth
</pre>
You should see something like:
<pre>
0001:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
</pre>
[[File:Poe 2.5G 001.png|left|800px]]
<br style="clear:both;">
If the device is missing, check that the FPC is fully seated and the GPIO header is firmly mated.
=== Kernel driver===
Pi OS Bookworm ships with r8169/rtl8125 modules ≥ 9.010, so the adapter is recognised out-of-the-box.
Update just in case:
<pre>
sudo apt update && sudo apt full-upgrade -y
sudo reboot
</pre>
==Interface naming & link-speed LEDs==
The new NIC appears as eth1 (Pi’s on-board is eth0).<br>
The four LEDs next to the RJ45 indicate negotiated speed in real time:
* LED indicators:  “100Mbps” = 100 Mbps, “1Gbps” = 1 Gbps, “2.5Gbps” = 2.5 Gbps.
=== Network configuration examples===
* DHCP
<pre>
sudo nano /etc/dhcpcd.conf
</pre>
Add at the bottom:
<pre>
interface eth1
  dhcp
</pre>
Save, then
<pre>
sudo systemctl restart dhcpcd
</pre>
* Static IP
<pre>
interface eth1
  static ip_address=192.168.10.2/24
  static routers=192.168.10.1
  static domain_name_servers=8.8.8.8
</pre>
PS: Replace the IP address with your own network configure.
==Checking with ethtool==
<pre>
ethtool -i eth1
ethtool -g eth1
</pre>
[[File:Poe 2.5G 002.png|left|800px]]
<br style="clear:both;">
[[File:Poe 2.5G 003.png|left|800px]]
<br style="clear:both;">
If both commands report “Operation not supported”, the driver is hard-coded.
===Ensure 2.5 GbE is actually negotiated===
<pre>
sudo ethtool eth1 | egrep 'Speed|Duplex|Auto-neg'
</pre>
If you see Speed: 1000Mb/s but the switch supports 2.5 G, force it once:
<pre>
sudo ethtool -s eth1 autoneg on advertise 0x8000000001028
</pre>
(0x8000000001028 enables 2.5G advertisement for the RTL8125 PHY .)
Make it permanent via systemd:
<pre>
sudo systemctl edit --force --full set-eth1-2g5.service
</pre>
add following paramaters
<pre>
[Unit]
Description=Force 2.5 GbE advertisement on eth1
After=network-pre.target
Before=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ethtool -s eth1 autoneg on advertise 0x8000000001028
[Install]
WantedBy=multi-user.target
</pre>
save it and enable the service.
<pre>sudo systemctl enable --now set-eth1-2g5.service</pre>
===Performance tuning (optional)===
<pre>
# Increase MTU
sudo ip link set eth1 mtu 9000
# Enable GRO/GSO
sudo ethtool -K eth1 gro on gso on
</pre>
===PoE+ power confirmation===
Open a terminal and typing following commands:
<pre>
vcgencmd get_throttled
</pre>
All bits 0 → power OK.
If throttled=0x50000 (undervoltage), either the switch is not 802.3at capable or the cable is sub-standard.
==Keywords==
* 52Pi PCIe 2.5GbE PoE+ HAT, Raspberry Pi 5 network adapter, 2.5 Gbps PCIe NIC, PoE+ powered Pi, USB-C 25 W output, IEEE 802.3at injector, Link-speed, LEDs, GPIO pass-through, Single-cable networking, Realtek 2.5 GbE controller

Latest revision as of 10:35, 20 August 2025