Crear Gadget usb compuesto para Raspberry Pi o Pinephone

En algunos casos necesitamos obtener conexión a internet a través de un ordenador debido a que solamente tienen una conexión cableada o por algún otro motivo

En este tutorial mostraré cómo configurar un gadget usb compuesto con funciones de red y consola serie. Lo he probado con Raspberry Pi Zero W y Pinephone. En caso de utilizar una Raspberry Pi necesitamos abrir el archivo /boot/config.txt y agregar lo siguiente

dtoverlay=dwc2

Descargamos el script necesario para el gadget

wget https://git.asgardius.company/asgardius/bash-scripts/raw/branch/main/usbgadget.sh

ejeutamos el script como root

sudo bash usbgadget.sh

Comprobamos que la interfaz de red usb esté presente

ip address | grep usb0

Si devuelve los detalles de la interfaz, ya está funcionando. Ahora la configuramos

sudo nmcli con add type ethernet con-name usbgadget ifname usb0

Una vez que configuremos la conexión compartida en la pc iniciaremos la conexion del otro lado

sudo nmcli con up usbgadget

Iniciamos la consola serie de la siguiente manera

sudo systemctl start getty@ttyGS0.service

Nos conectamos desde la pc de la siguiente manera

screen /dev/ttyACM0 115200

Para utilizar el gadget de almacenamiento descargaremos el script necesario

wget https://git.asgardius.company/asgardius/bash-scripts/raw/branch/main/umsgadget.sh

Si estamos utilizando Raspberry Pi, necesitamos habilitar el módulo libcomposite

sudo modprobe libcomposite

Habilitamos el gadget de almacenamiento de la siguiente manera

sudo bash umsgadget.sh /ruta/a/imagen/hdd.img

Para utlizar una ruta relativa se hará de la siguiente manera

sudo bash umsgadget.sh $PWD/hdd.img

Para desactivar el gadget se introduce el mismo comando, pero sin especificar archivo de imagen. Es posible utilizar ambos de forma simultanea en Pinephone, pero no en Raspberry Pi

Repositorio completo

Referencias

https://forums.raspberrypi.com/viewtopic.php?t=241161

https://forums.raspberrypi.com/viewtopic.php?t=260107

https://www.tal.org/tutorials/setup-raspberry-pi-headless-use-usb-serial-console

https://developer.puri.sm/Librem5/Development_Environment/Phone/Connecting_via_USB.html

Dejar un comentario