Project

General

Profile

Actions

Bug #8174

open

VirtualBox xHCI: WARNING: /pci@0,0/pci8086,1e31@c (xhci0): Connecting device on port 1 failed

Added by Michal Nowak over 6 years ago. Updated over 5 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Start date:
2017-05-07
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:

Description

I boot 2017.04 OpenIndiana ISO image on Linux VirtualBox 5.1.22 (from openSUSE Leap 42.2) with xHCI from Oracle VM VirtualBox Extension Pack (http://download.virtualbox.org/virtualbox/5.1.22/Oracle_VM_VirtualBox_Extension_Pack-5.1.22-115126.vbox-extpack) enabled and it stuck at boot. There's, notably, this warning:

WARNING: /pci@0,0/pci8086,1e31@c (xhci0): Connecting device on port 1 failed

Booting with EHCI (from the same Extension Pack) instead of xHCI is fine. Screenshot attached.

Running kernel debugger from bootloader is not possible, command line appears, but can't type anything - looks to me frozen.


Files

vbox_xhci_fail.png (6.81 KB) vbox_xhci_fail.png Michal Nowak, 2017-05-07 08:54 AM
vbox-xHCI.txt (33.4 KB) vbox-xHCI.txt Michal Nowak, 2017-05-15 05:41 AM
stacks-kmdb.txt (15 KB) stacks-kmdb.txt ::stacks output Michal Nowak, 2017-05-24 05:31 PM
stacks-kmdb2.txt (2.93 KB) stacks-kmdb2.txt Michal Nowak, 2017-05-24 06:55 PM

Related issues

Related to illumos gate - Bug #8173: workaround qemu-xhci HCIVERSION bugClosed2017-05-07

Actions
Related to illumos gate - Bug #14623: bhyve/xhci: Connecting device on port 1 failedClosedAndy Fiddaman

Actions
Actions #1

Updated by Michal Nowak over 6 years ago

  • Related to Bug #8173: workaround qemu-xhci HCIVERSION bug added
Actions #2

Updated by Robert Mustacchi over 6 years ago

Is it possible to add a serial console to virtualbox and/or inject an NMI. If you add a serial console, you should be able to get kmdb to function where as the VGA/keyboard is going to be tricky given what's going on in early boot.

Actions #3

Updated by Michal Nowak over 6 years ago

I added serial port and got more verbose output with help of https://wiki.illumos.org/display/illumos/How+To+Report+Problems. Output attached. I also added set pcplusmp:apic_panic_on_nmi = 1 on bootloader's prompt, but triggering NMI (VBoxManage debugvm 'OI 2017.04 MATE xHCI' injectnmi) generated nothing but NMI received.

Actions #4

Updated by Robert Mustacchi over 6 years ago

Sorry, I missed the update here. I forgot that the illumos default wasn't to drop into kmdb. Is it easy to edit the /etc/system on that if you disable xhci initially? If so, you should set the following in /etc/system:

set pcplusmp:apic_kmdb_on_nmi=1
set apix:apic_kmdb_on_nmi=1

Then you should be able to boot and add a -k option to the bootloader. When we then nmi, we should be able to drop into kmdb. At which point you'd want to run something like:

::stacks -m xhci
Actions #5

Updated by Michal Nowak over 6 years ago

Thanks for helping me setup kmdb on NMI. Now I wait till I get WARNING: /pci@0,0/pci8086,1e31@c (xhci0): Connecting device on port 1 failed and the system proceeds no more for couple of minutes, I inject NMI, got kmdb.

However, ::stacks -m xhci won't produce anything but an echo of itself. I also issued a full ::stacks, though I am not sure if it's useful; see the attached file.

Actions #6

Updated by Robert Mustacchi over 6 years ago

Hmm, interesting. So in this case we have a thread in the USB stack stuck waiting for the xhci driver to do something it seems like. I wonder if we lost some notification. If you look at the stack output, you'll see this entry:

ffffff000536ec40 SLEEP    CV                      1
                 swtch+0x141
                 cv_wait+0x70
                 delay_common+0xb8
                 delay+0x30
                 usba`usba_drain_cbs+0xd5
                 usba`usba_pipe_sync_stop_intr_polling+0xc4
                 usba`usba_pipe_setup_func_call+0xf7
                 usba`usb_pipe_stop_intr_polling+0xbb
                 usba`hubd_stop_polling+0x3f
                 usba`hubd_hotplug_thread+0x12f
                 taskq_d_thread+0xb7
                 thread_start+8

So, there are a few questions I have. If you get it into this state, could you run the following items?

::cpuinfo -v
::ptree
::stacks -m usba

For each stack that comes out of the last command, could you grab the address at the top of the stack and run:

addr::findstack -v

I'm going to go see if I can vbox set up somewhere and test out as well.

Actions #7

Updated by Michal Nowak over 6 years ago

Find the output attached.

Robert Mustacchi wrote:

I'm going to go see if I can vbox set up somewhere and test out as well.

xHCI support is in the freeware "VirtualBox 5.1.22 Oracle VM VirtualBox Extension Pack", which has to be installed as an extension via e.g. the VirtualBox' GUI.

Actions #8

Updated by Michal Nowak over 5 years ago

It's still the case with OpenIndiana 2017.10 with illumos from 20171229 on VirtualBox 5.2 with appropriate xHCI from extension pack: https://openqa.oi.mnowak.cz/tests/2364#step/bootloader_textmode/7. Just the warning is now gone.

Actions #9

Updated by Andy Fiddaman over 1 year ago

  • Related to Bug #14623: bhyve/xhci: Connecting device on port 1 failed added
Actions

Also available in: Atom PDF