🛠 Réseau : Ethernet Gigabit unique et module Wi-Fi en M.2 E-key
Objectifs
Configurer le réseau de l'AI-64 qui n'embarque qu'un seul port Gigabit Ethernet (port MCU CPSW, PHY DP83867) et AUCUN Wi-Fi/Bluetooth : vous allez configurer l'Ethernet en statique via systemd-networkd, puis installer un module Wi-Fi dans le connecteur M.2 E-key (signaux PCIe + USB + SDIO) et gérer ses limites matérielles documentées.
Matériel
- 1 BeagleBone AI-64, câble RJ45
- 1 module Wi-Fi/BT au format M.2 E-key (2230), vis de fixation
- Accès au réseau local pour les tests ping/DNS
Code complet
# 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"
Vérification attendue
Après redémarrage, ip a montre l'adresse statique sur eth0, ethtool annonce 1000baseT/Full, ping passe vers la passerelle. Le module M.2 apparaît dans lspci et nmcli affiche « connected » ; le ping sort par wlan0 (vérifier avec ip route).
Erreurs fréquentes
- S'étonner qu'il n'y ait pas de Wi-Fi : la carte n'a ni Wi-Fi ni BT embarqués ; seuls l'unique port Ethernet, le M.2 E-key ou un dongle USB apportent la connectivité sans fil.
- Le connecteur M.2 est bridé à 2,4 Gbps par un contournement DTS (horloge interne TDA4 incapable de tenir 5 Gbps, issue #28 du dépôt matériel) : un module Wi-Fi 6 « qui ne donne pas son débit » est souvent une limite attendue, pas une panne.
- Le port USB-A du bas énumère aléatoirement en USB 2.0 (issue #36) : brancher les dongles critiques sur le port du haut.
- Oublier que l'USB-C n'accepte pas le hot-plug en révision B (issue #35) : brancher le module/la clé AVANT de mettre sous tension.
- Conflit networkd/NetworkManager sur la même interface : ne pas gérer eth0 dans les deux à la fois.
Autres tutoriels pour cette carte
- 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
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash