🛠 Le tour de passe-passe « clé USB Linux » : Ethernet sur USB (g_ether)

Raspberry Pi Zero 2 W (2021) — Ficha de placa · intermediaire · Schéma : IMG-zero-2w-intermediaire-2-ethernet-gadget-usb.svg — Zero 2 W branchée directement sur le port USB d'un ordinateur portable via son port données, interface réseau « Remote-ECM » apparaissant sur le portable, SSH par-dessus.

Objetivos

Transformar la Zero 2 W en un « Linux en llave USB »: el puerto de datos es un puerto OTG, y la línea Zero deja la línea OTGID flotante — sin tarjeta SD, la placa arranca de hecho en modo dispositivo USB. Al cargar los módulos g_ether, el puerto se presenta como una tarjeta de red USB. Resultado: un portátil, un solo cable de datos + un cable de alimentación, y un SSH directo sin pantalla, sin teclado y sin router.

Material

Código completo

# 1) /boot/firmware/config.txt — activer le contrôleur USB en mode périphérique :
dtoverlay=dwc2

# 2) /boot/firmware/cmdline.txt — AJOUTER À LA FIN DE L'UNIQUE LIGNE du fichier :
modules-load=dwc2,g_ether

# 3) /etc/network/interfaces — IP statique côté gadget :
auto usb0
allow-hotplug usb0
iface usb0 inet static
    address 10.0.0.1
    netmask 255.255.255.0

# 4) Activer SSH :
sudo systemctl enable --now ssh

Luego reinicia, conecta el puerto de datos al portátil: « ssh pi@10.0.0.1 ». En Linux/macOS el portátil detecta una interfaz « USB Ethernet » (a veces es necesario activar la compartición de conexión o configurar una IP estática 10.0.0.2 en el portátil).

Verificación esperada

El portátil detecta una nueva interfaz de red USB (en Linux: « ip a » muestra una nueva interfaz usb0/enX). « ping 10.0.0.1 » responde y el SSH funciona — sin red Wi-Fi ni pantalla. Bonus: sin NINGUNA tarjeta SD, la Zero 2 W conectada al PC enumera un dispositivo USB 0a5c: — este es el modo de recuperación (ver el tutorial usbboot).

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales