🛠 Câbler l'Ethernet 10/100 EMAC avec le carrier Zero-EPHY
Objetivos
El BPI-M2 Zero no tiene puerto Ethernet, pero el Allwinner H2+/H3 integra un controlador EMAC 10/100 que puede salir a través de pines del conector. Banana Pi ha publicado el diseño libre «Zero-EPHY» (esquema + PCB en la wiki, sección «how to use zero 10/100 Ethernet»): una PHY externa con magnético RJ45 conectada al bus RMII. Fabricarás o encargarás el carrier, activarás el overlay EMAC y obtendrás un eth0 por cable, algo valioso cuando el Wi-Fi sin antena es lamentable.
Material
- BPI-M2 Zero (H2+ o H3)
- Carrier Zero-EPHY (la wiki publica esquema y PCB: fabricación en línea posible) con PHY Ethernet 10/100 y jack con magnéticos
- Cable RJ45, fuente de alimentación de 5 V / 2 A
- Soldador o servicio de montaje si encargas el kit
Código completo
# 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
Verificación esperada
Tras activar el overlay, dmesg anuncia el controlador EMAC y la detección de la PHY en su dirección RMII; eth0 se establece a 100M full-duplex; iperf3 se acerca a los 90 Mbit/s, en conexión directa con un switch. La interfaz permanece estable mientras wlan0 puede desactivarse (conservando de paso la única antena para otra cosa).
Errores frecuentes
- Comprar una PHY GMIC en modo RGMII: la EMAC del H2+/H3 habla RMII 10/100, no gigabit.
- Equivocarse de dirección PHY (strap AD0/AD1): el driver busca, no encuentra nada y eth0 permanece DOWN; verifica la dirección en dmesg y los pines de strap del esquema Zero-EPHY.
- Confundirlo con el BPI-P2 Zero, que sí tiene un puerto 100M integrado (y 8 GB de eMMC): el M2 Zero, en cambio, no tiene nada en la placa.
- Alimentar el esquema con un cable RJ45 «recto» sin transformador magnético integrado en el jack: las PHY requieren el magnético.
- Buscar rendimiento gigabit: el límite físico es de 100 Mbit/s y el bus de memoria no ayudará más.
Otros tutoriales para esta placa
- Flasher Armbian et premier boot du BPI-M2 Zero
- LED et bouton avec libgpiod sur le port 40 broches
- Wi-Fi AP6212 : le piège de l'antenne U.FL non fournie
- Console série sur USB-OTG : dépanner sans réseau ni câble UART
- Activer le bus SPI0 et piloter un petit écran TFT
- Survivre avec 512 Mo : zram, swap compressé et services légers
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash