Watchman Dongles over IP#
This setup uses USB-over-IP to let you plug your Watchman dongles (the ones that comes with Tundra / Vive Trackers) into a different computer (like a Raspberry Pi). These dongles can then be used with trackers as well as Index/Vive/Pimax/etc controllers.
The benefits of this setup#
- Dongles can be far away from your computer
- Dongles can be far away from radio interference
- You can conveniently hide the ugly cabling under/behind a piece of furniture
Setup#
Requirements#
- Main PC connected to the same wired network as the dongle host. While you can technically use WiFi, it’s not recommended as it has a high chance to interfere with the Bluetooth connection of dongles.
Dongle host setup#
-
Install
usbipandpython3on dongle host. On Debian/Raspbian:apt install usbip python3` -
Put the
usbip-bindscript (from below) on the dongle host (e.g. into/root):sudo wget https://gist.github.com/galister/2fbd23cfaff8ba4839efa13184e4e197/raw/13b0b2fd6dee609169b6a98b302f6a6ac5c2d307/usbip-bind -O /root/usbip-bind sudo chmod +x /root/usbip-bind -
Setup a script or something that runs
usbip-bind bindon startup. On Debian/Raspbian:echo '/root/usbip-bind bind' | sudo tee -a /etc/rc.local -
With your dongles plugged in, run the command to bind them for the first time:
sudo /root/usbip-bind bind
Main PC setup#
-
Download
usbdongleand put it somewhere safe:wget https://gist.github.com/galister/2fbd23cfaff8ba4839efa13184e4e197/raw/13b0b2fd6dee609169b6a98b302f6a6ac5c2d307/usbdongle chmod +x usbdongle -
Edit
usbdongleand set theDONGLE_HOSTvariable to the IP or hostname of the dongle host.- Tip: Run
ip addron the dongle host to determine its IP.
- Tip: Run
-
Run
usbdonglebefore starting SteamVR/Monado (or on startup/login).
Things to watch out for#
- Whenever a new dongle was plugged in or an existing one was re-plugged, run
sudo /root/usbip-bind rebindon the dongle host - If the dongle host is rebooted, stop SteamVR/Monado, run
usbdongle, and then re-start SteamVR/Monado. - In case there’s a network issue and
usbdonglecan’t rebind even after runningusbip-bind rebindon the dongle host, try rebooting both hosts. - By default, the Linux kernel supports up to 8 virtual USB devices.
- If you need more than 8, you can change the
CONFIG_USBIP_VHCI_HC_PORTSkernel config option and re-compile your kernel. - However, this option can go no higher to 15, see Linux source.
- If you need more than 8, you can change the
- A Pi 3.0 Model A is known to handle 2x Tundra SW4 dongles or 8 Vive dongles without requiring a powered hub.
Scripts#
You can reference the original usbdongle and usbip-bind scripts.
Support#
Reach out to @galister on Discord/Matrix.