Hi Michael,
I wanted to know if the software supports hot plugging, i.e if I disconnect and reconnect the device assuming a linux server and macOS client, will the macOS client always see it as a simple disconnection and reconnection or will I have to do something at the client end in order to establish the connection again. It would be great help to me if you could let me know something on this specific detail.
Thanks.
.
Yes the MacOS (client) will see it as a simple disconnection. Its all automatic
.
Just to be clear, I will be physically disconnecting and then reconnecting the usb device at the Linux server end. All disconnection and reconnection are automatic the the macOS client end right? And If I need to send kernel debugging messages do I have any control over the latency or buffer of the connection as these messages need to be timed.
Thanks
Error while trying to hotplug
Client Side:
2025-03-29 23:11:05 INFO :IPC available at /tmp/vhclient
2025-03-29 23:11:06 INFO :Auto-find using Bonjour - on
2025-03-29 23:11:06 INFO :Auto-find using Bonjour SSL - on
2025-03-29 23:11:59 INFO :Warning: hc 0 Port 1 failed to reset (error 1)
2025-03-29 23:12:00 INFO :Warning: hc 0 Port 1 failed to reset (error 1)
2025-03-29 23:13:51 INFO :Warning: hc 0 Port 1 failed to reset (error 1)
2025-03-29 23:14:24 INFO :Error, unexpected state for ctrl in with data
IOUSBHostCiMessageTypeNormalTransfer
2025-03-29 23:14:27 INFO :Error, unexpected state for ctrl in with data
IOUSBHostCiMessageTypeNormalTransfer
2025-03-29 23:14:27 ERROR :interestHandler
kUSBHostMessageControllerException 0xb. PLEASE EXIT AND RESTART THIS CLIENT.
2025-03-29 23:14:27 INFO :interestHandler mt=3758096656
Server Side:
vhusbdx86_64[35750]: Set custom event "onReset.05ac.1227="
vhusbdx86_64[35750]: Executed "" for onReset.05ac.1227
vhusbdx86_64[35750]: Device 32 [05ac:1227] BOUND to connection 4
vhusbdx86_64[35750]: Executed "" for onReset.05ac.1227
The device goes into an unexpected state and is unable to be reconnected by VirtualHere. Do you think this is a limitation? or am i just missing something?
.
What are you trying to do exactly? You cannot buffer USB messages, it is impossible.
.
I am trying to connect my iPhone to a macOS running on a docker container through qemu on a linux (Ubuntu) machine. The client is on the macOS and usb server is on the same linux machine. I unfortunately couldn't do a PCIe passthrough as IOMMU was not supported by my processor. So I wanted to use VirtualHere. However, when I upload the recovery file for the iPhone in DFU mode, the iPhone needs to reboot itself couple of times. "lsusb" on the linux machine still shows the iPhone in DFU mode but VirtualHere is unable to connect the device any further after reboot and an "ioreg -p IOUSB" on the macOS fails to show the iPhone which it was previously showing up before reboot. My idea was VirtualHere is very similar to https://github.com/sickcodes/Docker-OSX?tab=readme-ov-file#usbfluxd-iphone-usb---network-style-passthrough-osx-kvm-docker-osx (this method didn't work for me :( ) and as this was something I required I became interested in VirtualHere. Please let me know if you have any suggestions or thoughts you can share.
Thanks
;.
OK there are multiple levels of not supported here: