Can't assign LTE USB Modem (Non-endpoint PCI devices cannot be assigned to guests)

335 views
Skip to first unread message

Daniil .Travnikov

unread,
Aug 24, 2018, 5:53:33 AM8/24/18
to qubes-users
I have an LTE USB Modem which I used in Qubes 3.2 very well, but in Qubes 4.0 I have some issues.


First of all in Qubes Manager I can attach this usb modem only in HVM mode ('ERROR: devices tab: Can't attach PCI device to VM in pvh mode').


So I changed in VM on HVM mode and attached just usb slot.

Then I tried to turn on my VM but I got 2 same error messages (first one in windows and the second one on the top right corner):

'ERROR: Start failed: internal error: Non-endpoint PCI devices cannot be assigned to guests, see /var/lob/libvirt/libxl/libxl-driver.log'

'Qube Status: usb
Domain usb has failed to start: Internal error: Non-endpoint PCI devices cannot be assigned to guests'.


Tell me please what am I missing in Qubes 4.0?

P.S. In Qubes 3.2 (when I had some xenlight error) I just used this command:
'qvm-prefs -s vmname pci_strictreset false'. But here I suppose it's another problem.

awokd

unread,
Aug 24, 2018, 6:08:54 AM8/24/18
to Daniil .Travnikov, qubes-users
On Fri, August 24, 2018 9:53 am, Daniil .Travnikov wrote:
> I have an LTE USB Modem which I used in Qubes 3.2 very well, but in Qubes
> 4.0 I have some issues.
>
>
>
> First of all in Qubes Manager I can attach this usb modem only in HVM
> mode ('ERROR: devices tab: Can't attach PCI device to VM in pvh mode').
>
>
> So I changed in VM on HVM mode and attached just usb slot.
>
>
>
>
> Then I tried to turn on my VM but I got 2 same error messages (first one
> in windows and the second one on the top right corner):
>
> 'ERROR: Start failed: internal error: Non-endpoint PCI devices cannot be
> assigned to guests, see /var/lob/libvirt/libxl/libxl-driver.log'
>
> 'Qube Status: usb
> Domain usb has failed to start: Internal error: Non-endpoint PCI devices
> cannot be assigned to guests'.
>
>
> Tell me please what am I missing in Qubes 4.0?

Do an "lspci" and "lspci -t" in dom0, and try attaching the leaf device
instead. Sounds like you are trying to attach some type of bridge.


Message has been deleted

Daniil .Travnikov

unread,
Aug 24, 2018, 8:03:04 AM8/24/18
to qubes-users

Thank you for your answer.


Before your message I tried to attach this device:
'00:1d.0 PCI bridge: Intel Corporation Device a330 (rev f0)'
and you saw which error I got.

After your message I thought maybe I am choosing not correct device and now I am choosing this device:
'00:14.0 USB controller: Intel Corporation Device a36d (rev 10)'

and got another error messages:

'ERROR: Start failed: internal error: Unable to reset PCI device 0000:00:14.0: no FLR, PM reset or bus reset available, see /var/log/libvirt/libxl/libxl-driver.log for details'

'Qube Status: usb
Domain usb has failed to start: internal error: Unable to reset PCI device 0000:00:14.0: no FLR, PM reset or bus reset available'.

Daniil .Travnikov

unread,
Aug 24, 2018, 8:09:47 AM8/24/18
to qubes-users
On Friday, August 24, 2018 at 6:08:54 AM UTC-4, awokd wrote:
> Do an "lspci" and "lspci -t" in dom0, and try attaching the leaf device
> instead. Sounds like you are trying to attach some type of bridge.


This is what I got when run this 2 commands:


[user@dom0 ~]$ lspci
00:00.0 Host bridge: Intel Corporation Device 3ec4 (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Device 3e9b
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Device a379 (rev 10)


00:14.0 USB controller: Intel Corporation Device a36d (rev 10)

00:14.2 RAM memory: Intel Corporation Device a36f (rev 10)
00:16.0 Communication controller: Intel Corporation Device a360 (rev 10)
00:17.0 SATA controller: Intel Corporation Device a353 (rev 10)


00:1d.0 PCI bridge: Intel Corporation Device a330 (rev f0)

00:1d.5 PCI bridge: Intel Corporation Device a335 (rev f0)
00:1d.6 PCI bridge: Intel Corporation Device a336 (rev f0)
00:1d.7 PCI bridge: Intel Corporation Device a337 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Device a30d (rev 10)
00:1f.3 Audio device: Intel Corporation Device a348 (rev 10)
00:1f.4 SMBus: Intel Corporation Device a323 (rev 10)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device a324 (rev 10)
01:00.0 VGA compatible controller: NVIDIA Corporation GP104M [GeForce GTX 1070 Mobile] (rev a1)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a808
03:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
05:00.0 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5250 PCI Express Card Reader (rev 01)

[user@dom0 Desktop]$ lspci -t
-[0000:00]-+-00.0
+-01.0-[01]----00.0
+-02.0
+-08.0
+-12.0
+-14.0
+-14.2
+-16.0
+-17.0
+-1d.0-[02]----00.0
+-1d.5-[03]----00.0
+-1d.6-[04]----00.0
+-1d.7-[05]----00.0
+-1f.0
+-1f.3
+-1f.4
\-1f.5

What do you mean when you say "leaf device"?

awokd

unread,
Aug 24, 2018, 8:31:07 AM8/24/18
to Daniil .Travnikov, qubes-users
Yes, this one should work better.

> and got another error messages:
>
> 'ERROR: Start failed: internal error: Unable to reset PCI device
> 0000:00:14.0: no FLR, PM reset or bus reset available, see
> /var/log/libvirt/libxl/libxl-driver.log for details'
>
>
> 'Qube Status: usb
> Domain usb has failed to start: internal error: Unable to reset PCI device
> 0000:00:14.0: no FLR, PM reset or bus reset available'.

Disable the strict reset requirement on that device, either in the GUI or
CLI.



Daniil .Travnikov

unread,
Aug 24, 2018, 10:23:30 AM8/24/18
to qubes-users
Thank you very much again. It works for me.


When I am choosing this device:
'00:14.0 USB controller: Intel Corporation Device a36d (rev 10)'

and start VM, I see that all usb controllers going to work from this started new VM.


Like you already saw in the list of pci above I have only 1 USB controller in the list (when I run the command 'lspci').
But in my laptop I have 3× USB 3.1 Type-A and they all going to started with VM.

Maybe existing some way, when I can connect only those usb ports which has include devices at the time?

awokd

unread,
Aug 25, 2018, 10:20:02 AM8/25/18
to Daniil .Travnikov, qubes-users
On Fri, August 24, 2018 2:23 pm, Daniil .Travnikov wrote:

> When I am choosing this device:
> '00:14.0 USB controller: Intel Corporation Device a36d (rev 10)'
>
>
> and start VM, I see that all usb controllers going to work from this
> started new VM.
>
>
> Like you already saw in the list of pci above I have only 1 USB
> controller in the list (when I run the command 'lspci'). But in my laptop
> I have 3× USB 3.1 Type-A and they all going to started with VM.

Missed seeing that, actually!

> Maybe existing some way, when I can connect only those usb ports which
> has include devices at the time?

Can you leave the USB controller in sys-usb, then use qvm-usb to attach
just the modem to sys-net? Not sure that would actually work. Is that what
you did in 3.2?


Daniil .Travnikov

unread,
Aug 25, 2018, 10:45:21 AM8/25/18
to qubes-users
Actually when I used Qubes 3.2 it was been the server which was have the several usb controllers. And I assume that my laptop have only 1 controller which connected to 5 usb ports. Maybe that's why I see only one usb controller in Devices tab.


When I put in my any usb flash card I can see it when I write command 'qvm-block', but when i put in my usb modem this command do not show my device.

I checked modem, he is still working on another laptop.

When I write this commands now:
'qvm-block'
'qvm-usb'

I see empty results:
'BACKEND:DEVID DESCRIPTION USED BY'

awokd

unread,
Aug 25, 2018, 10:59:22 AM8/25/18
to Daniil .Travnikov, qubes-users
OK, then I guess your only option is to do what you were doing and keep
the USB controller in sys-net. This isn't necessarily a bad thing; there's
an option on Qubes install to configure it like that, but it lessens
separation of devices.


Daniil .Travnikov

unread,
Aug 25, 2018, 11:27:20 AM8/25/18
to qubes-users
Maybe do you know how can I install this Qubes option about you said? Or maybe in some point from docs?

awokd

unread,
Aug 25, 2018, 12:06:49 PM8/25/18
to Daniil .Travnikov, qubes-users
Manually assigning the USB controller to sys-net accomplishes the exact
same thing as the setup option.


Message has been deleted

Daniil .Travnikov

unread,
Aug 25, 2018, 4:20:12 PM8/25/18
to qubes-users

It means that I have not any solution for this modem in Qubes. Because I can't assign this device to sys-net without all devices which I already using (for example usb mouse and usb flash drives).

awokd

unread,
Aug 25, 2018, 5:32:52 PM8/25/18
to Daniil .Travnikov, qubes-users
That's correct, all USB devices would also be on sys-net, but like I wrote
above that's not necessarily a bad thing.


awokd

unread,
Aug 25, 2018, 5:37:15 PM8/25/18
to aw...@danwin1210.me, Daniil .Travnikov, qubes-users
Another option might be to configure your sys-usb with "qvm-prefs sys-usb
provides_network true". Not sure if there is more to it than that.

demio...@gmail.com

unread,
Aug 25, 2018, 6:11:52 PM8/25/18
to qubes-users
OP has the mouse on sys-usb, so connecting it to the network would be very bad.
Reply all
Reply to author
Forward
0 new messages