Skip to content

Guest xHCI controller dies after "orb restart <machine>" with a USB device attached #2685

Description

@adriangranados

Describe the bug

Restarting a machine that has a USB device attached kills the guest's virtual xHCI controller. Once that happens no re-attach can bring the device back, because there is no working host controller left to enumerate it, and every orb usb command still reports success. Only quitting OrbStack and opening it again recovers.

This looks related to #2642 but is not the same fault: there the record is stale and orb usb attach refuses with '...' is already attached, and detaching first fixes it. Here nothing refuses anything, detaching first does not help, and the guest kernel has logged a dead controller.

sudo dmesg inside the machine after the restart, MAC redacted:

[ 4712.738996] usb 1-1: SerialNumber: 000000000
[ 4713.211278] usbcore: registered new interface driver mt7921u
[ 4713.214074] mt7921u 1-1:1.0: HW/SW Version: 0x8a108a10, Build Time: 20260224110909a
[ 4713.231287] mt7921u 1-1:1.0: WM Firmware Version: ____010000, Build Time: 20260224110949
[ 4722.834428] systemd-journald[101]: Received SIGTERM from PID 1 (systemd-shutdow).
[ 4722.947462] mt7921u 1-1:1.0 wlx<redacted>: renamed from wlan0
[ 4723.102922] systemd-journald[100]: Received client request to flush runtime journal.
[ 4791.167535] usb 1-1: USB disconnect, device number 2
[ 4796.602307] xhci-hcd 4000c000.usb: xHCI host not responding to stop endpoint command
[ 4796.710007] xhci-hcd 4000c000.usb: Host halt failed, -110
[ 4796.710016] xhci-hcd 4000c000.usb: xHCI host controller not responding, assume dead
[ 4796.710243] xhci-hcd 4000c000.usb: HC died; cleaning up

The restart is at 4722-4723; the disconnect and controller death follow it. After HC died, lsusb in the machine shows the root hubs and nothing else, no matter how many times the device is attached:

Bus 001 Device 001: ID 1d6b:0002 Linux 7.0.14-orbstack-00380-ga7e0a2dc9535 xhci-hcd xHCI Host Controller
Bus 002 Device 001: ID 1d6b:0003 Linux 7.0.14-orbstack-00380-ga7e0a2dc9535 xhci-hcd xHCI Host Controller

Meanwhile orb usb list still reports the device as attached, and both recovery attempts report success while changing nothing in the guest and logging nothing further in dmesg:

$ orb usb attach 00140000 -m kali
Attached 'MediaTek Inc. Wireless_Device'

$ orb usb detach 00140000
Detached 'MediaTek Inc. Wireless_Device'
$ orb usb attach 00140000 -m kali
Attached 'MediaTek Inc. Wireless_Device'

Behaviour is identical with and without -m kali.

To Reproduce

  1. Attach a USB Wi-Fi adapter to a machine: orb usb attach 00140000 -m kali
  2. Confirm it inside the machine: lsusb lists 0846:9060, sudo iw dev shows the phy and interface. Everything works.
  3. orb restart kali
  4. In the machine, lsusb no longer lists the device and sudo dmesg ends with HC died; cleaning up.
  5. Try to recover with orb usb attach, and with orb usb detach followed by orb usb attach. Both report success; the device never reappears.
  6. Quit OrbStack and open it again. The device is listed as detached; attaching it once more works normally.

Device: Netgear A8000 USB Wi-Fi adapter, 0846:9060 (MediaTek mt7921u). Machine: kali, Kali Linux, non-isolated, kernel 7.0.14-orbstack-00380-ga7e0a2dc9535.

Expected behavior

Restarting a machine should not leave it without a working USB controller. Either the attached device should be re-presented to the machine after it restarts, or, failing that, orb usb detach and orb usb attach should be able to restore it without restarting the whole app. Commands that cannot take effect should also not report success.

Diagnostic report (REQUIRED)

OrbStack info:
Version: 2.2.3
Commit: c83556b0ef8f1ba9a33abbb194622b6b7a1c0307 (v2.2.3)

System info:
macOS: 26.6.2 (25G83)
CPU: arm64, 12 cores
CPU model: Apple M2 Pro
Model: Mac14,9
Memory: 16 GiB

Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2026-09-07T02-45-42.059259Z.zip

Screenshots and additional context (optional)

We ran into this while writing a guide to using USB Wi-Fi adapters with a Kali machine on Apple silicon, and ended up telling readers not to use orb restart at all while an adapter is attached.

Separately, and less reproducibly, the adapter has vanished from the guest mid-session with nothing touched, again while orb usb list reported it attached, and again only an OrbStack restart cleared it. I have no reliable reproduction for that one, and did not check whether the controller had died in that case too.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    t/bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions