# πŸ“– SnakeUSBIP User Manual 🌐 **Language / Idioma:** **English** | [EspaΓ±ol](USAGE_ES.md) ## Main Interface ``` ╔═══════════════════════════════════════════════════════════════════╗ β•‘ 🦊 SnakeFoxu USB/IP Manager [ENG] [πŸ”„ Update] 🟑 🟒 πŸ”΄ β•‘ ╠═══════════════════════════════════════════════════════════════════╣ β•‘ Server: β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”Œβ”€β”€β”€β”€β”€β”€β”β”Œβ”€β”€β”€β”€β”€β”β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β•‘ β•‘ β”‚192.168.1.100 β”‚ β”‚πŸ” Scan β”‚β”‚πŸ”„Listβ”‚β”‚πŸ–₯️SSHβ”‚β”‚πŸŒ VPN β”‚ β•‘ β•‘ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β•‘ ╠═══════════════════════════════════════════════════════════════════╣ β•‘ πŸ“‘ USB Hubs (3) β•‘ β•‘ β”œβ”€ πŸ–₯️ 192.168.1.100 (2) β•‘ β•‘ β”‚ β”œβ”€ πŸ“± 1-1.2: Arduino Uno (2341:0043) β•‘ β•‘ β”‚ └─ πŸ–¨οΈ 1-1.4: HP LaserJet (03f0:002a) β•‘ β•‘ └─ πŸ–₯️ 192.168.1.101 (1) β•‘ β•‘ └─ πŸ’Ύ 1-1.1: SanDisk USB (0781:5567) β•‘ β•‘ β•‘ β•‘ βœ… Connected Devices (1) β•‘ β•‘ └─ πŸ”Œ Port 00: Arduino Uno ← 192.168.1.100 β•‘ β•‘ β•‘ β•‘ ⭐ Favorites (2) β•‘ β•‘ β”œβ”€ πŸ–¨οΈ 1-1.4 @ 192.168.1.100 β•‘ β•‘ └─ πŸ’Ύ 1-1.1 @ 192.168.1.101 β•‘ ╠═══════════════════════════════════════════════════════════════════╣ β•‘ πŸ“‹ Activity Log [Clear] β•‘ ╠───────────────────────────────────────────────────────────────────╣ β•‘ [14:32:15] βœ… Connected: Arduino Uno (1-1.2) from 192.168.1.100 β•‘ β•‘ [14:32:10] πŸ” Scanning network 192.168.1.0/24... β•‘ β•‘ [14:32:12] βœ… 2 server(s) found β•‘ β•‘ [14:30:05] ⚠️ Timeout connecting to 192.168.1.50 β•‘ ╠═══════════════════════════════════════════════════════════════════╣ β•‘ βœ“ Ready Drivers: βœ… Installed [Install][Uninstall] β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• ``` ### Title Bar (macOS style) ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 🦊 SnakeFoxu USB/IP Manager [🌐ENG] [πŸ”„Update] 🟑 🟒 πŸ”΄ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ Minimize β”€β”€β”€β”˜ β”‚ β”‚ Maximize β”€β”€β”€β”€β”€β”€β”˜ β”‚ Close β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ### Server Panel ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Server: [__192.168.1.100__] [πŸ” Scan ][πŸ”„List][πŸ–₯️SSH][🌐 VPN] β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ Server IP β”‚ Search network β”€β”˜ β”‚ β”‚ β”‚ (editable) β”‚ (scans subnet) β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ List devices β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ from current server β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ SSH Configuration β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ for Raspberry Pi β”‚ β”‚ β”‚ β”‚ Internet Connection β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ (Tailscale/ZeroTier) ``` ## Main Actions ### πŸ” Scan Searches for USB/IP servers on your local network (port 3240). ### πŸ”„ List Shows available USB devices on the server. ### πŸ–₯️ SSH Opens configuration to connect to Raspberry Pi via SSH. ### 🌐 VPN Connect to remote USB/IP servers over Internet using Tailscale or ZeroTier. See [VPN_INTERNET_EN.md](VPN_INTERNET_EN.md) for complete configuration. ## Context Menu (Right Click) ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ πŸ“± 1-1.4: Arduino Uno β”‚ ← Right-click here β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ πŸ”Œ Connect β”‚ β”‚ ❌ Disconnect β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ ⭐ Add to Favorites β”‚ β”‚ ❌ Remove from Favoritesβ”‚ β”‚ πŸ—‘οΈ Remove server β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ πŸ“‹ Properties β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` | Option | Description | |--------|-------------| | πŸ”Œ Connect | Connects the remote USB device to your PC | | ❌ Disconnect | Releases the connected USB device | | ⭐ Add to Favorites | Saves the device for quick reconnection | | ❌ Remove from Favorites | Removes from favorites list | | πŸ—‘οΈ Remove server | Removes server from tree | | πŸ“‹ Properties | Shows detailed info (VID:PID, manufacturer, etc.) | ## Shortcuts - **Double-click** on device β†’ Connect - **Enter** in IP field β†’ List devices - **F5** β†’ Refresh list ## Favorites Favorites are saved in `config.json` and can auto-reconnect when starting the application. ## πŸ“ Activity Log ``` ╔════════════════════════════════════════════════════════════════╗ β•‘ πŸ“‹ Activity Log [Clear] β•‘ ╠════════════════════════════════════════════════════════════════╣ β•‘ [14:35:22] βœ… Connected: Arduino Uno (1-1.2) from 192.168.1.10 β•‘ β•‘ [14:35:20] πŸ” Listing devices on 192.168.1.100... β•‘ β•‘ [14:35:15] βœ… 2 server(s) found β•‘ β•‘ [14:35:10] πŸ” Scanning network 192.168.1.0/24... β•‘ β•‘ [14:34:55] ❌ Error: Timeout connecting to 192.168.1.50 β•‘ β•‘ [14:34:50] ⚠️ Drivers not detected, installing... β•‘ β•‘ [14:34:45] βœ… Drivers verified OK β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• ``` The bottom panel shows a real-time event history: | Icon | Type | Description | |------|------|-------------| | βœ… | Success | Successful connections, servers found, drivers OK | | ❌ | Error | Connection failures, timeouts, unavailable devices | | πŸ” | Info | Scans in progress, informational operations | | ⚠️ | Warning | Minor issues, incomplete configuration | Use the **[Clear]** button to clear the history. ## πŸ–₯️ System Tray ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ System Tray β”‚ β”‚ (next to the clock) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ πŸ”Š πŸ“Ά πŸ”‹ ⚑ ... 🦊 β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό Right-click β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ πŸ“‘ Scan Network β”‚ β”‚ πŸ”Ό Show Window β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ ❌ Exit β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` - When **minimizing**, the app hides to the system tray (🦊 icon) - **Double-click** on the icon to restore the window - **Right-click** for quick menu: Scan Network, Show Window, Exit - The app keeps running in the background until you press "Exit" ## 🌐 Change Language ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 🦊 SnakeFoxu USB/IP Manager [🌐ENG] [πŸ”„Update] 🟑 🟒 πŸ”΄ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ Click hereβ”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 🌐 ENG β†’ ESP β”‚ (toggles) β”‚ 🌐 ESP β†’ ENG β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` Use the **[🌐 ENG]** or **[🌐 ESP]** button in the title bar to toggle between English and Spanish. The language is automatically saved in `config.json`. ## πŸ”§ Status Bar and Drivers ``` ╔════════════════════════════════════════════════════════════════════╗ β•‘ βœ“ Ready Drivers: βœ… Installed [Install][Uninstall] β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Install β”€β”€β”€β”˜ β”‚ β”‚ β”‚ USB/IP drivers β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Uninstall β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ (requires restart) β”‚ β”‚ Current status β”€β”€β”€β”€β”€β”˜ of the connection Driver status β”€β”€β”€β”€β”€β”€β”˜ βœ… Installed ❌ Not installed ``` > ⚠️ **Important:** The first driver installation may require restarting Windows. --- ## πŸ†˜ Troubleshooting ### "No server found" 1. Verify the USB/IP server is running: `sudo usbipd` on Linux 2. Check that port 3240 is open in the firewall 3. Verify you're on the same subnet (e.g., 192.168.1.x) ### "Error connecting device" 1. Make sure drivers are installed (bottom bar) 2. The device must be "bound" on the server: `sudo usbip bind -b X-X` 3. Run SnakeUSBIP as Administrator ### "Device connected but not working" 1. Check Device Manager if it needs additional drivers 2. Some USB 3.0 devices may not be compatible 3. Try another USB port on the server --- ## πŸ“š More Information - **[README.md](../README.md)** - Installation and features - **[RASPBERRY_PI_SERVER_EN.md](RASPBERRY_PI_SERVER_EN.md)** - Configure server on Raspberry Pi - **[CHANGELOG.md](../CHANGELOG.md)** - Version history