USB SerialID

Hello,

I have the same usb device (payment terminal) on two VirtualHere servers in Paris and London. The VirtualHere client is connected to these two servers.
At client level, the two payment terminals are well recognized and Windows assigns each a virtual serial port.

My problem is that Windows assigns a different serial port depending on the order of connection of the terminals. So sometimes I have the London terminal on COM3 and Paris on COM4 and other times I will have the opposite.

To avoid this, I would have to be able to send a different serial-ID. The two payment terminals send the same iSerial to 0.

Is there a solution in VirtualHere so that I can force send from a different iSerial?

Thank you in advance for your response.
Lionel

Below, for information, the info returned by a lsusb under linux:

Bus 001 Device 003: ID 079b:0028 Sagem
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x079b Sagem
idProduct 0x0028
bcdDevice 0.00
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1

#3

The ComPortMan utility cannot fix my problem.
No USB attribute differs between the two payment terminals, each connected to a different VirtualHere server.
Is there a solution via the VirtualHere Server Event System (onEnumeration [. [.
]]) to send the client a "serial" attribute different from the real serial number?

Thank you in advance for your answer

#4

Actually I now remember i added a way to do this for another customer. You can set the port assigned to the device to be constant so windows assigned the same COM port number. It works like this.

1. Run regedt32 on the Client
2. Add the key PortMappings of type REG_SZ to registry entry Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vhusb3hc\Parameters
And set the value like this <local USB port>=<remote address>[,<local USB port>=<remote address>...]

e.g.

1=1121,2=212

4. Now save and reboot the computer

Now device at virtualhere address 1121 will be always be "plugged" into virtualhere USB port 1, device 212 to port 2

(To find the remote address, right click on the device and select Properties and look at "Address")

#5

This solution seems very interesting to me.
Is there a possibility for VirtualHere Client to read the registry without rebooting? By restarting the service or restarting the client?
Is this parameter available only in the registry or is it possible to implement it in the ini file?
Thank you very much.
While waiting for your response, I am starting to test this and I will keep you informed.

#6

No, you need to reboot the pc for these registry changes to be implemented, and it cant be done from an ini

Its complicated, but the reason a registry change and a reboot is required is related to CPU interrupt level in the windows driver system (IRQL)