New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no-strict-reset fails for USB on x230 #3209

Closed
ERFier opened this Issue Oct 25, 2017 · 3 comments

Comments

Projects
None yet
4 participants
@ERFier

ERFier commented Oct 25, 2017

Qubes OS version:

4.0 rc2

Affected TemplateVMs:

fedora-25 based standard sys-usb


Steps to reproduce the behavior:

assign all three usb controllers to one usb-vm where all three have no-strict-reset=True set.

Expected behavior:

The usb-vm starts and advertises the usb devices, attached to the controller.

Actual behavior:

The usb-vm doesn't start with error message: Start failed: internal error: Unable to reset PCI device 0000:00:14.0: internal error: libxenlight failed to create new domain 'sys-usb2'

I tried to figure out the problem. It turns out that I can not attach 00:14.0 together with both 00:1a.0 and 00:1d.0 but it works with only one of these. I now have two usb-vms sys-usb, with 00:1a.0 and 00:1d.0 attached, and sys-usb2 with 00:14.0. I can mix 00:14.0 with only 00:1a.0 and 00:14.0 with only 00:1d.0 but not with both in the same VM.

General notes:

The x230 has three usb controllers.

00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04)
...
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04)
...
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04)


Related issues:

@tlaurion

This comment has been minimized.

Show comment
Hide comment
@tlaurion

tlaurion Nov 9, 2017

Contributor

I can confirm that after configuring templates without rebooting, sys-net works. Doing several qvm-start sys-firewall qvm-start sys-whonix makes them start, and still without rebooting, doing sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing from dom0 and installing latest packages before rebooting makes it work. No need of removing iommu=no-igfx or playing around. No need to remove 00:14.0 pci device from sys-usb or create another sys-usb2 device with other usb pci id.

Rebooting the system from that point launches the required VMs in hvm mode, without the need of switching them to pv from qvm-prefs for them to boot properly. x230t works as expected.

Contributor

tlaurion commented Nov 9, 2017

I can confirm that after configuring templates without rebooting, sys-net works. Doing several qvm-start sys-firewall qvm-start sys-whonix makes them start, and still without rebooting, doing sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing from dom0 and installing latest packages before rebooting makes it work. No need of removing iommu=no-igfx or playing around. No need to remove 00:14.0 pci device from sys-usb or create another sys-usb2 device with other usb pci id.

Rebooting the system from that point launches the required VMs in hvm mode, without the need of switching them to pv from qvm-prefs for them to boot properly. x230t works as expected.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Nov 9, 2017

Member

This looks to be a duplicate of #3263, already fixed in QubesOS/qubes-vmm-xen-stubdom-linux#8. The issue is not specifically about USB, but any 3 or more PCI devices in the same VM.

Member

marmarek commented Nov 9, 2017

This looks to be a duplicate of #3263, already fixed in QubesOS/qubes-vmm-xen-stubdom-linux#8. The issue is not specifically about USB, but any 3 or more PCI devices in the same VM.

@marmarek marmarek closed this Nov 9, 2017

@ERFier

This comment has been minimized.

Show comment
Hide comment
@ERFier

ERFier Nov 9, 2017

in this there are only two PCI devices passed-through. Anyway I replaced the lenovo bios with coreboot and seabios and replaced iommu=no-igfx with iommu=1 and can assign both controllers to one usb-vm.
So I think the fix for me was really the combination of both as I tried iommu=1 also prior installing coreboot.

ERFier commented Nov 9, 2017

in this there are only two PCI devices passed-through. Anyway I replaced the lenovo bios with coreboot and seabios and replaced iommu=no-igfx with iommu=1 and can assign both controllers to one usb-vm.
So I think the fix for me was really the combination of both as I tried iommu=1 also prior installing coreboot.

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