USBIP
Prepare Carambola
- Setup network for Carambola
- Install usbip packages to Carambola
opkg update opkg install usbip opkg install usbip-client opkg install usbip-server
- If you want to autostart usbip, add couple lines to
/etc/rc.local
usbipd -D usbip bind -b 1-1
- That's it! Your basic setup is ready.
Setup Windows
I have tested on Windows7 x64. USBIP drivers are signed and can be used without any discomfort.
- Read included Usage file and install Windows drivers
- Open command line and type to list exposed USB devices on Carambola
usbip -D -l 192.168.0.116
This should give output like:
usbip -D -l 192.168.0.116 usbip dbg: usbip_network.c: 236 (tcp_connect ) trying 192.168.0.116 port 3240 usbip dbg: usbip_network.c: 256 (tcp_connect ) connected to 192.168.0.116:3240 - 192.168.0.116 usbip dbg: usbip.c: 227 (query_exported_devices) exportable 1 devices 1-1: Apacer Technology, Inc. : Handy Steno 2.0/HT203 (1005:b113) : /sys/devices/platform/dwc_otg.0/usb1/1-1 : (Defined at Interface level) (00/00/00) : 0 - Mass Storage / SCSI / Bulk (Zip) (08/06/50)
- Now you can attach remote USB device with command:
usbip -D -a 192.168.0.116 1-1
This should give output like:
usbip dbg: usbip_network.c: 236 (tcp_connect ) trying 192.168.0.116 port 3240 usbip dbg: usbip_network.c: 256 (tcp_connect ) connected to 192.168.0.116:3240 usbip dbg: usbip_windows.c: 837 (query_interface0) exportable 1 devices usbip dbg: usbip_windows.c: 854 (query_interface0) 1-1: Apacer Technology, Inc. : Handy Steno 2 0/HT203 (1005:b113) usbip dbg: usbip_windows.c: 855 (query_interface0) : /sys/devices/platform/dwc_otg.0/usb1/1-1 usbip dbg: usbip_windows.c: 856 (query_interface0) : (Defined at Interface level) (00/00/00) usbip dbg: usbip_windows.c: 876 (query_interface0) : 0 - Mass Storage / SCSI / Bulk (Zip) (08/06/50) usbip dbg: usbip_windows.c: 879 (query_interface0) usbip dbg: usbip_network.c: 236 (tcp_connect ) trying 192.168.0.116 port 3240 usbip dbg: usbip_network.c: 256 (tcp_connect ) connected to 192.168.0.116:3240 usbip dbg: usbip_windows.c: 735 (import_device) call from attch here usbip dbg: usbip_windows.c: 737 (import_device) return from attch here usbip dbg: usbip_windows.c: 744 (import_device) devfd:0042FC50 new usb device attached to usbvbus port 1 Receive sequence: 4800
- After this, Windows installs drivers for your device. That's it (if you are lucky enough)
It is pity, but looks like this project is not maintained well enough and sometimes results are unpredictable. Sometimes device is not recognized at all (lack of windows drivers), sometimes device directly works but tunneled with usbip does not. Couple of times I had blue screen.
Devices that work:
- FTDI USB to Serial converter
- Canon 40D camera with live preview and manual focus ability. It was impressive!
- Generic mouse
- Generic keyboard
- Flash disk
Devices that did not work:
- USB sound card (blue screen)
- Noname USB to LAN adapter (installed drivers directly, but with usbip did not worked)
- Noname webcam (worked directly with windows)
- Wireless keyboard/mouse combo (blue screen)