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
.
VirtualHere cant modify the iSerial parameter easily for technical reasons.
Anyway Take a look here https://www.virtualhere.com/content/want-fixed-com-port
See if you can use this utility to fix the com ports. Let me know if you cant
No solution with ComPortMan
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
.
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 Client2. 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")
On the right way...
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.
.
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)