Finders, Keepers


Although USB/IP is pretty awesome, there are some disadvantages you may want to consider before deploying it for everyday use. For starters, as it is underused, many distributions have scatty support for the USB/IP tools usbip and usbipd. Many distros include old versions, and different versions have different parameters. Some versions don't work at all.

Secondly, you have to attach and detach devices as root, which makes it inconvenient and a bit dangerous. Also, while a device is attached, it is blocked for other clients, and you have to remember to detach it when you have finished using it.

If you have a large number of client machines, by using USB/IP, you will have to install drivers onto each and every one of them. If you want to share a printer, CUPS may be the way to go, as you only have to install and maintain drivers on the server. If your scanner plays well with SANE's network system, this would also be the best way of cutting back on installing, configuring, and maintaining drivers.

Make It Better

That said, you can make USB/IP much friendlier if, for example, you load modules at boot time both on the server and client and turn usbip into a service on the server.

USB/IP also allows you to use a Raspberry Pi as a server for devices – even if the Pi doesn't understand them. You see, many vendors with proprietary drivers only provide drivers for Intel-based machines and do not supply any for the Pi, since it is an ARM-based computer. This is the case of the printer/scanner that kicked all of this off. With USB/IP, however, you can still use the Pi as a printer/scanner server because it doesn't actually have to load any drivers: The Pi just has to forward the whole USB connection to the client machine, where the driver is installed.

Is that cool or what?


  1. XSane:

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content


    Red Hat peps up performance of multimedia applications on remote desktops with SPICE (Simple Protocol For Independent Computing Environments).

  • Introduction

    This month we introduce you to apt and show you some of the differences between apt and apt‑get. We also show you how to profile a monitor for better color reproduction, and we delve into a little known utility called USB/ IP that lets you access USB-connected devices attached to other computers on your network.

  • Ask Klaus!

    Klaus Knopper is the creator of Knoppix and co-founder of the LinuxTag expo. He currently works as a teacher, programmer, and consultant. If you have a configuration problem, or if you just want to learn more about how Linux works, send your questions to:

  • Make Your Printer Smarter

    Niche hardware from the olden days does not always embrace the network. Attaching a Raspberry Pi or other single board computer can add lots of new functionality.

  • AirPrint in Linux

    If your home network includes a Linux machine, you have access to everything you need to share your printers on the network as AirPrint-enabled devices.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More