Hello,
we installed an additional PCI-USB Card in our virtualhere server (Ubuntu 24) and encountered the following problem:
On the Server we have this structure:
Bus 001.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/8p, 480M
|__ Port 001: Dev 040, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 001: Dev 045, If 0, Class=Vendor Specific Class, Driver=[none], 12M
|__ Port 002: Dev 042, If 0, Class=Vendor Specific Class, Driver=[none], 12M
|__ Port 003: Dev 043, If 0, Class=Vendor Specific Class, Driver=[none], 12M
|__ Port 004: Dev 044, If 0, Class=Vendor Specific Class, Driver=[none], 12M
[...more buses/hubs...]
Bus 011.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 001: Dev 012, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 001: Dev 013, If 0, Class=Vendor Specific Class, Driver=[none], 12M
|__ Port 002: Dev 014, If 0, Class=Vendor Specific Class, Driver=[none], 12M
|__ Port 003: Dev 015, If 0, Class=Vendor Specific Class, Driver=[none], 12M
|__ Port 004: Dev 016, If 0, Class=Vendor Specific Class, Driver=[none], 12M
Devices on different buses gets the same address and "overrides" each other.
In this case Dev 045 gets address 1111, Dev 013 also get adress 1111 and only the last inserted devices is visible in vh.
I would be very happy if the problem could be resolved.
.
I see the issue, for technical reasons more than 9 hubs are not supported. Virtualhere is expecting each usb device to have just one number in its port chain.
At another vh-server we have…
At another vh-server we have way more than 9 (cascading) hubs and over 100 usb devices.
At the moment, we are rebuilding our vh setup, because of problems with powercycling of ports and system stability.
To achieve a stable system we bought a bunch of highend usb-pci cards and over 20 of your virtualhere usb hubs.
As you mentioned, the problem is the 2 digit BUS number.
I understand, that this is the way virtualhere works at this moment, but i think this is a software related limitation that could be solved.
As far as i now, there is no way to bind an pci card to a specific bus number - so we get stuck at this point.
.
Um you can just use another server. I dont understand the usecase for 100 devices on a single server. Why not 50 on each etc.
Yes that is right - we are…
Yes that is right - we are already planning to distribute the devices across multiple servers, especially to get rid of the cascading hubs, but that means there are more controllers/buses at the system and so only 9 usable buses are way to few.
We have many license dongles that need to be highly available. So for every active server we need an backup server that we can switch to in a worst case scenario.
The number of servers and the maintenance effort thus increase.
Furthermore, we based our decision on the description of VirtualHere server: "A single server can share up to 122 devices up to 6 hubs deep".
We will try to get rid of some buses by disbaling usb3 support on the controllers or find another way for us.
Nevertheless, we would be happy if this limitation could be resolved in a future release ;)
.
Its better to do it length-ways instead of width-ways in terms of hubs etc to get the maximum number of ports per server. The last port can be up to 2 digits long. Anyway my suggestion if you are having issues is to split it into two or more servers