Software⏱️ 4 min readπŸ“… 2026-06-11

How to Fix: USBIP does not work even with modprobe vhci-hcd. ERROR open vhci_driver

USBIP not working with modprobe vhci-hcd, error open vhci_driver

Quick Answer: Try removing the 'vhci-hcd' module and instead use 'vhci-hci' as suggested in other solutions.

The error 'ERROR open vhci_driver' is encountered when trying to pass USB over Network using USBIP on an Arch Linux system. This issue affects users who have installed the necessary drivers and configured their systems correctly but still face this problem.

This error can be frustrating for users as it prevents them from utilizing the full potential of USBIP, a technology that allows USB devices to be connected over a network. In this guide, we will walk through the steps to troubleshoot and resolve this issue.

πŸ›‘ Root Causes of the Error

  • The primary reason for this error is a mismatch between the vhci-hcd driver used on the host system and the vhci_driver required by USBIP. The correct driver should be loaded using the modprobe command, but in this case, the incorrect driver was provided.
  • Another possible cause could be a configuration issue with the udev rules or the device tree overlay, which might not be properly set up for the vhci-hcd driver to work correctly.

πŸ› οΈ Step-by-Step Verified Fixes

Enabling the correct driver using modprobe

  1. Step 1: To resolve this issue, first ensure that the correct driver is installed and loaded on the host system. The correct command is `modprobe vhci_hcd` instead of `modprobe vhci-hcd`. This step may seem trivial, but it's essential to get the correct driver loaded.
  2. Step 2: After loading the correct driver, restart the USBIP service using the command `systemctl restart usbipd` or `service usbipd restart` depending on your system configuration. This will ensure that all necessary services are restarted and ready for use.
  3. Step 3: Verify that the vhci_hcd driver is indeed loaded by running the command `lsmod | grep vhci_hcd`. If the driver is not present, you may need to reinstall it using the package manager or manually load it.

Checking and adjusting udev rules

  1. Step 1: If the issue persists after loading the correct driver, check the udev rules on your system to ensure they are correctly configured for the vhci_hcd driver. You can do this by running the command `udevadm test` or `ls /etc/udev/rules.d/*.rules` to locate the relevant rule.
  2. Step 2: If necessary, adjust the udev rules to include the correct device ID and bus number for your system. This may involve editing the existing rules file or creating a new one. You can consult the Arch Linux documentation or online resources for more information on configuring udev rules.

✨ Wrapping Up

To summarize, the error 'ERROR open vhci_driver' is typically caused by a mismatch between the drivers used on the host system and USBIP. By loading the correct driver using modprobe and adjusting the udev rules if necessary, you should be able to resolve this issue and successfully use USBIP for passing USB over Network.

Did this fix your problem?

If not, try searching for specific error codes.

πŸ” Search Error Database

❓ Frequently Asked Questions