🛠 Réseau : Ethernet Gigabit unique et module Wi-Fi en M.2 E-key
Objetivos
Configurar la red de la AI-64, que solo incorpora un puerto Gigabit Ethernet (puerto MCU CPSW, PHY DP83867) y NINGÚN Wi-Fi/Bluetooth: configurará Ethernet de forma estática mediante systemd-networkd, luego instalará un módulo Wi-Fi en el conector M.2 E-key (señales PCIe + USB + SDIO) y gestionará sus limitaciones de hardware documentadas.
Material
- 1 BeagleBone AI-64, cable RJ45
- 1 módulo Wi-Fi/BT en formato M.2 E-key (2230), tornillo de fijación
- Acceso a la red local para pruebas de ping/DNS
Código completo
# 1. Ethernet : identifier l'interface et son lien
ip -br a
sudo ethtool eth0 | grep -E "Speed|Link" # attendu : 1000baseT/Full
# 2. Configuration statique reproductible (systemd-networkd)
sudo tee /etc/systemd/network/08-eth0.network > /dev/null <<'EOF'
[Match]
Name=eth0
[Network]
Address=192.168.1.50/24
Gateway=192.168.1.1
DNS=192.168.1.1
EOF
sudo systemctl enable --now systemd-networkd
sudo systemctl restart systemd-networkd
# 3. Module Wi-Fi en M.2 : carte alimentée ÉTEINTE, insérer le module, visser
sudo lspci | grep -i -E "network|wireless"
dmesg | grep -iE "pci|link.*gen" | tail # vérifier la vitesse négociée
sudo apt install firmware-atheros # paquet selon module (iwlwifi/realtek...)
sudo systemctl enable --now NetworkManager
nmcli dev wifi connect "MonReseau" password "monmotdepasse"
Verificación esperada
Tras reiniciar, ip a muestra la dirección estática en eth0, ethtool anuncia 1000baseT/Full y el ping pasa hacia la puerta de enlace. El módulo M.2 aparece en lspci y nmcli muestra «connected»; el ping sale por wlan0 (verificar con ip route).
Errores frecuentes
- Sorprenderse de que no haya Wi-Fi: la tarjeta no tiene Wi-Fi ni BT integrados; solo el único puerto Ethernet, el M.2 E-key o un dongle USB aportan conectividad inalámbrica.
- El conector M.2 está limitado a 2,4 Gbps por una solución alternativa en el DTS (el reloj interno del TDA4 no puede sostener 5 Gbps, issue #28 del repositorio de hardware): un módulo Wi-Fi 6 «que no da su velocidad» suele ser una limitación esperada, no una avería.
- El puerto USB-A inferior enumera aleatoriamente como USB 2.0 (issue #36): conectar los dongles críticos en el puerto superior.
- Olvidar que el USB-C no acepta hot-plug en la revisión B (issue #35): conectar el módulo/la llave ANTES de encender el dispositivo.
- Conflicto entre networkd/NetworkManager en la misma interfaz: no gestionar eth0 en ambos a la vez.
Otros tutoriales para esta placa
- Flasher l'image officielle et démarrer la BeagleBone AI-64
- Faire clignoter une LED sur la broche P8_03 avec libgpiod
- Surveiller la température et l'alimentation du TDA4VM
- Caméra MIPI CSI et encodage H.264 matériel via GStreamer
- Remoteproc : inventorier et démarrer les co-processeurs R5F et C66x
- Inférence de réseau de neurones sur le C7x+MMA avec edgeai-tidl-tools
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash