🛠 Câbler l'Ethernet 10/100 EMAC avec le carrier Zero-EPHY

Banana Pi BPI-M2 Zero (Allwinner H2+ / H3) · avance · Schéma : IMG-bananapi-m2-zero-avance-1-emac-100mbps-zero-ephy.svg — BPI-M2 Zero montée sur le carrier Zero-EPHY : lignes RMII issues du connecteur 40 broches vers une PHY Ethernet externe, jack RJ45 avec transformateur, et le câble réseau qui sort du montage.

Objectives

The BPI-M2 Zero has no Ethernet port — but the Allwinner H2+/H3 integrates a 10/100 EMAC controller that can be routed to connector pins. Banana Pi has published the open design "Zero-EPHY" (schematic + PCB on the wiki, section "how to use zero 10/100 Ethernet"): an external PHY with an RJ45 magnetic jack connected to the RMII bus. You will build or order the carrier board, enable the EMAC overlay, and get a wired eth0 interface — invaluable when antenna-less Wi-Fi performs poorly.

Hardware

Complete code

# 1) Contrôler le device tree : le nœud emac et son PHY
ls /proc/device-tree/ | grep -i -e ethernet -e emac
cat /proc/device-tree/.../status 2>/dev/null

# 2) Activer l'overlay EMAC (nom exact à vérifier dans /boot/dtb-*/overlay-dir/)
grep overlays /boot/armbianEnv.txt
sudo sed -i 's/^overlays=.*/& emac/' /boot/armbianEnv.txt
sudo reboot

# 3) Le contrôleur et le PHY apparaissent-ils ?
dmesg | grep -i -e emac -e stmmac -e eth
dmesg | grep -i 'PHY'          # adresse du PHY détectée
ip -br link show eth0

# 4) Apporter l'interface et mesurer
sudo ip link set eth0 up
sudo dhclient eth0
sudo apt install -y ethtool iperf3
sudo ethtool eth0 | grep -i speed        # attendu : 100baseT/Full
iperf3 -c mon_serveur_lan

Expected verification

After enabling the overlay, dmesg reports the EMAC controller and PHY detection at its RMII address; eth0 comes up at 100M full-duplex; iperf3 approaches 90 Mbit/s in a direct connection with a switch. The interface remains stable while wlan0 can be disabled (thereby freeing up the only antenna for other uses).

Common errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials