Queriendo hacer cosas con arduino, pero sin usar la computadora que uso para trabajar (y asi evitar el riesgo de quemarla), sino que usando una raspberry pi remotamente me encontré con la necesidad de acceder al puerto usb de la raspberry pi por ip.

Server (raspberry pi)

Este post explica muy bien como compartir un puerto usb sobre ip en raspberry (raspbian): http://blog.3mdeb.com/2015/10/27/linux/. Luego de la instalación, hacer en la raspberry pi:

  • Iniciar usbip server:
    sudo modprobe usbip-core
    sudo modprobe usbip-host
    sudo usbipd -D
    
  • listar listar los puertos usb:
    usbip list -l
     - busid 1-1.1 (0424:ec00) Standard Microsystems Corp. : SMSC9512/9514 Fast Ethernet Adapter (0424:ec00)
     - busid 1-1.3 (2341:0043) Arduino SA : Uno R3 (CDC ACM) (2341:0043)
    
  • Compartir el puerto usb:
    sudo usbip --debug bind -b 1-1.3
    usbip: debug: /build/linux-tools-WtS4w2/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/src/usbip.c:141:[run_command] running command: `bind'
    usbip: info: bind device on busid 1-1.3: complete
    

Client (ubuntu 16)

Para acceder al puerto usb de la raspberry pi (donde está contectado el arduino) desde ubuntu 16:

  • Instalar usbip-utils 2.0:
    apt-get install linux-tools-generic
  • Listar los puertos usb de la raspberry pi:
    usbip list -r 192.168.0.103
    Exportable USB devices
    ======================
     - 192.168.0.103
          1-1.3: Arduino SA : Uno R3 (CDC ACM) (2341:0043)
               : /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3
               : Communications / unknown subclass / unknown protocol (02/00/00)
    
  • Cargar modulo:
    sudo modprobe vhci-hcd
  • Conectar al puerto usb:
    sudo usbip attach -r 192.168.0.103 -b 1-1.3
  • Listar los puertos usb locales:
    lsusb
    Bus 004 Device 002: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
    Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 002: ID 8087:8001 Intel Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
compartir...Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone