Bus changes number after reboot and address of device is wrong

We have 53 devices (34 usb tokens, storages + combineted 20-port hubs).

We named devices and check these names in config.ini - All are OK.
After reboot Bus 001 changes number to 007 or 002 or 006 or etc and other Bus'es change their numbers too. (it seems randomly).

Q: 1) can we froze the number of BUS (I understan - this is not issue of virtualhere :) ) or
2) use other address-systax, that doesn't depend on Bus'es number

Please share your experience of usage multiple numbers of hubs and this truble

vhusbdx86_64 v2.8.3
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
Debian 8.4 x64


The way virtualhere generates a device address is to enumerate the /sys/bus/usb/devices directory to find all the usb devices and then concatenate all the numbers after the last / character for each device.

For example: on my ubuntu server i have a usb disk plugged in at 1-1, and a usb mouse at 2-1, (2-2 is a hub and is ignored)

michael@ubuntu:/sys/bus/usb/devices$ ls
1-0:1.0  1-1  1-1:1.0  2-0:1.0  2-1  2-1:1.0  2-2  2-2:1.0  usb1  usb2

On my windows machine i now do a vhui64.exe -t LIST and see the following:

C:\Users\michael>vhui64.exe -t list
VirtualHere IPC, below are the available devices:
(Value in brackets = address, * = Auto-Use)

Desktop Hub (ubuntu:7575)
   --> STORE N GO (ubuntu.11)
   --> VMware Virtual USB Mouse (ubuntu.21)

Auto-Find currently on
Auto-Use All currently off
Reverse Lookup currently off
VirtualHere not running as a service

I think what your server is going is changing the first number which is the bus number. Can you confirm this is what is happening? Somehow you need to make sure the bus number doesnt change.

Virutalhere cannot use any other method to identify USB devices because a USB device has no reliable way to uniquely identify it. A serial number is meant to be in a USB device but most devices dont bother having that or have the same one...


Yes, I confirm that Buses' numbers are changed. Maybe it is because we are using external PCI-usb cards. Now we are seeking udev-management solution. Are somebody managing kernel or udev for external PCI-USB cards? It'll help us )


ok good, if its an external card then i think you can control it better than if its inbuilt, however i dont know how to do it with udev but there is probably a setting somewhere...