sing-box/common/vboxusb
世界 bb60072e01
usbip: restart device nodes so VBoxUSB capture and release take effect
VBoxUSBMon only rewrites a device's IDs while PnP enumerates it, so
adding a filter for an already-plugged device captured nothing until a
physical replug, and releasing one left it dead under VBoxUSB.sys.
Capture and release now drive the cfgmgr32 restart sequence
(query-and-remove, hub port cycle, re-setup) around the filter change,
mirroring usbipd-win's RestartingDevice.

Capture also changes the devnode's identity to the VBox stub ID, which
broke everything keyed on it: enumeration now reads the true
vendor/product/class/speed from the parent hub's descriptor cache (the
registry hardware ID reads as 80EE:CAFE once captured), data sessions
locate the VBoxUSB interface by bus/address instead of the original
instance ID, and Reconcile keeps exports alive through the
re-enumeration window with a short absence grace.
2026-06-10 09:22:55 +08:00
..
assets vboxusb: include upstream SPDX license stubs for embedded driver assets 2026-06-09 10:42:35 +08:00
assets_windows_amd64.go usbip: extract URBEngine + userspaceURBSession from darwin backend 2026-06-09 10:42:35 +08:00
assets_windows_arm64.go usbip: extract URBEngine + userspaceURBSession from darwin backend 2026-06-09 10:42:35 +08:00
assets_windows_unsupported.go usbip: extract URBEngine + userspaceURBSession from darwin backend 2026-06-09 10:42:35 +08:00
device_windows.go usbip: use a dedicated overlapped event per VBoxUSB ioctl 2026-06-10 09:22:41 +08:00
driver_windows.go usbip: remove dead code, ceremonial guards, and WHAT comments 2026-06-09 10:42:36 +08:00
monitor_windows.go usbip: use a dedicated overlapped event per VBoxUSB ioctl 2026-06-10 09:22:41 +08:00
pnp_windows.go usbip: restart device nodes so VBoxUSB capture and release take effect 2026-06-10 09:22:55 +08:00
privilege_windows.go usbip: extract URBEngine + userspaceURBSession from darwin backend 2026-06-09 10:42:35 +08:00
restart_windows.go usbip: restart device nodes so VBoxUSB capture and release take effect 2026-06-10 09:22:55 +08:00
speed_windows.go usbip: restart device nodes so VBoxUSB capture and release take effect 2026-06-10 09:22:55 +08:00
vboxusb.go usbip: fix VBoxUSB ioctl codes missing the FILE_WRITE_ACCESS bit 2026-06-10 09:22:12 +08:00