{"id":1779,"date":"2023-12-31T18:59:42","date_gmt":"2023-12-31T18:59:42","guid":{"rendered":"https:\/\/asgardius.company\/?p=1779"},"modified":"2023-12-31T19:00:01","modified_gmt":"2023-12-31T19:00:01","slug":"crear-gadget-usb-compuesto-para-raspberry-pi-o-pinephone","status":"publish","type":"post","link":"https:\/\/asgardius.company\/?p=1779","title":{"rendered":"Crear Gadget usb compuesto para Raspberry Pi o Pinephone"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/asgardius.company\/wp-content\/uploads\/2022\/06\/sivvus_pendrive_icon_4.png\" alt=\"\" class=\"wp-image-1716\" srcset=\"https:\/\/asgardius.company\/wp-content\/uploads\/2022\/06\/sivvus_pendrive_icon_4.png 800w, https:\/\/asgardius.company\/wp-content\/uploads\/2022\/06\/sivvus_pendrive_icon_4-300x300.png 300w, https:\/\/asgardius.company\/wp-content\/uploads\/2022\/06\/sivvus_pendrive_icon_4-150x150.png 150w, https:\/\/asgardius.company\/wp-content\/uploads\/2022\/06\/sivvus_pendrive_icon_4-768x768.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>En algunos casos necesitamos obtener conexi\u00f3n a internet a trav\u00e9s de un ordenador debido a que solamente tienen una conexi\u00f3n cableada o por alg\u00fan otro motivo<\/p>\n\n\n\n<p>En este tutorial mostrar\u00e9 c\u00f3mo 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<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dtoverlay=dwc2<\/code><\/pre>\n\n\n\n<p>Descargamos el script necesario para el gadget<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/git.asgardius.company\/asgardius\/bash-scripts\/raw\/branch\/main\/usbgadget.sh<\/code><\/pre>\n\n\n\n<p>ejeutamos el script como root<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo bash usbgadget.sh<\/code><\/pre>\n\n\n\n<p>Comprobamos que la interfaz de red usb est\u00e9 presente<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ip address | grep usb0<\/code><\/pre>\n\n\n\n<p>Si devuelve los detalles de la interfaz, ya est\u00e1 funcionando. Ahora la configuramos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nmcli con add type ethernet con-name usbgadget ifname usb0<\/code><\/pre>\n\n\n\n<p>Una vez que configuremos la conexi\u00f3n compartida en la pc iniciaremos la conexion del otro lado<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nmcli con up usbgadget<\/code><\/pre>\n\n\n\n<p>Iniciamos la consola serie de la siguiente manera<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl start getty@ttyGS0.service<\/code><\/pre>\n\n\n\n<p>Nos conectamos desde la pc de la siguiente manera<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>screen \/dev\/ttyACM0 115200<\/code><\/pre>\n\n\n\n<p>Para utilizar el gadget de almacenamiento descargaremos el script necesario <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/git.asgardius.company\/asgardius\/bash-scripts\/raw\/branch\/main\/umsgadget.sh<\/code><\/pre>\n\n\n\n<p>Si estamos utilizando Raspberry Pi, necesitamos habilitar el m\u00f3dulo libcomposite<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo modprobe libcomposite<\/code><\/pre>\n\n\n\n<p>Habilitamos el gadget de almacenamiento de la siguiente manera<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo bash umsgadget.sh \/ruta\/a\/imagen\/hdd.img<\/code><\/pre>\n\n\n\n<p>Para utlizar una ruta relativa se har\u00e1 de la siguiente manera<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo bash umsgadget.sh $PWD\/hdd.img<\/code><\/pre>\n\n\n\n<p>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<\/p>\n\n\n\n<p><a href=\"https:\/\/git.asgardius.company\/asgardius\/bash-scripts.git\">Repositorio completo<\/a><\/p>\n\n\n\n<p>Referencias<\/p>\n\n\n\n<p><a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=241161\">https:\/\/forums.raspberrypi.com\/viewtopic.php?t=241161<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=260107\">https:\/\/forums.raspberrypi.com\/viewtopic.php?t=260107<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.tal.org\/tutorials\/setup-raspberry-pi-headless-use-usb-serial-console\">https:\/\/www.tal.org\/tutorials\/setup-raspberry-pi-headless-use-usb-serial-console<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/developer.puri.sm\/Librem5\/Development_Environment\/Phone\/Connecting_via_USB.html\">https:\/\/developer.puri.sm\/Librem5\/Development_Environment\/Phone\/Connecting_via_USB.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En algunos casos necesitamos obtener conexi\u00f3n a internet a trav\u00e9s de un ordenador debido a que solamente tienen una conexi\u00f3n cableada o por alg\u00fan otro motivo En este tutorial mostrar\u00e9 c\u00f3mo configurar un gadget usb compuesto con funciones de red y consola serie. Lo he probado con Raspberry Pi Zero W y Pinephone. En caso&hellip; <a class=\"more-link\" href=\"https:\/\/asgardius.company\/?p=1779\">Seguir leyendo <span class=\"screen-reader-text\">Crear Gadget usb compuesto para Raspberry Pi o Pinephone<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1779","post","type-post","status-publish","format-standard","hentry","category-sin-categoria","entry"],"_links":{"self":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/1779","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1779"}],"version-history":[{"count":3,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/1779\/revisions"}],"predecessor-version":[{"id":1782,"href":"https:\/\/asgardius.company\/index.php?rest_route=\/wp\/v2\/posts\/1779\/revisions\/1782"}],"wp:attachment":[{"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1779"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1779"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asgardius.company\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}