So it has taken me over three months of procrastination of building a USBIP image that will let me connect to my 3D printer wirelessly to actually writing up a tutorial to share it with the world. This tutorial provides the basics of setting up a fresh TP-Link TL-WR703N image to wirelessly connect a Windows machine to a USB device attached to the router. I am using primarily using this to connect to my pp3dp Up! printer (only reason this is for Windows…), but I have also tested this method on a USB Logitech webcam and a USB flash disk.
Again, a disclosure is that I am an affiliate to 3D printing systems and that if you’re interested in buying an Up! Plus or Up! Mini and you’re in Australia/New Zealand you should do it via this link :P
Setting up the router
- Download and install the USBIP image as per my TP-Link TL-WR703N page.
- Connect a wired Ethernet cable to router and browse to http://192.168.1.1/
- Press “Login”, then select the “Network” tab at the top, then select “Wifi”
- Click “Scan”.
- Find your Wifi AP and click “Join Network”
- Enter your WPA passphrase(assume you’re using WPA/WPA2), and under “Create / Assign firewall-zone” – select “lan” then click submit.
- Click “Save & Apply” and then wait for changes to be applied.
- Under the “Network” tab at the top, select “Interfaces”Note the IP address of the WWAN connection. In my example below, it is 192.168.0.11.
NOTE : Recommended, if you can set up your WiFi to assign a static IP to the WR703N router based on MAC address – do it. It makes life easier
- Select the “System” tab at the top,then select “Startup”
- Scroll down to the bottom to see a section titled “Local Startup”
- Add the following lines to the file as pictured
usbip bind -b 1-1
- Click submit
- NOTE : (Optional but recommended) Remember to set the password for the router’s web interface, follow the on-screen prompts!
- Ensure the Up! printer [Or other USB device] is powered on and connected to the router’s USB port.
- Power cycle the router
Setting up the Windows PC
- On the Windows PC, download the USBIP client from
- Unzip the file and follow the instructions in USAGE for your particular version of windows
NOTE : It is recommended you unzip to a nice short path, I used d:\usbip_windows_v0.2.0.0_signed
- Open up a command window (Click the Start Button, Run, type in “cmd” then press enter)
- Navigate the the nice short path you’ve unzipped the USBIP client to e.g.
- Run the command
usbip -a 192.168.0.11 1-1Of course, replace the IP address with your own one noted in Step 8 of the router section above.NOTE : This is where firewall dialog screens might pop up, allow it (USBIP) through!
NOTE : Recommended, set up a batch script to run this command… again it makes life easier
- If successful you should hear the Windows sound for the USB device connection and your dialog should look like the following with a “Receive sequence: …” number that increases when the USB device is in use.
- Test your device/printer. Yup, my printer is visible from downstairs (printer is upstairs). Oh yes I’m using an old Up! software…if it aint broke I aint upgrading it!
Hope you managed to get it all working. Most of the instructions in the router section is basic WiFi configuration, feel free to adapt it to your own needs. The main component is steps 9 through 11 where adding the two lines starts up the USBIP daemon, and binds the first USB device to USBIP. Yup, the above only works for a single device connected to the USB port. Since the TL-WR703N only has one port, this shouldn’t be a problem in most cases. However if you’re using a USB hub, then you might need to change some stuff…
If you connect to the router via telnet/ssh after the daemon has been loaded (“usbipd -D”) then you can run “usbip list -l“. This lists out all the connected devices on the USB bus and their handles. e.g. If I only had my Up! printer connected, then I would see (0475:0001) on bus 1-1. The codes 0475:0001 is the vendor ID and product ID of the Up! printer. So if you have multiple items on the router USB (not recommended) you’ll have to tweak the ‘bind’ line in the start-up file.
Also on my main project page, someone has suggested using the 0.1.0.0 version of the Windows client if the 0.2.0.0 fails to behave. Your mileage may vary with this one, I’ve only tried the 0.2.0.0 version.
Have fun! Enjoy!Please Flattr me if you found this useful :)