Open adrelanos opened 9 years ago
@troubadoour's
Unable to reset PCI device 0000:05:00.2: internal error: Active 0000:05:00.0 devices on bus with 0000:05:00.2, not doing bus reset
Unable to reset PCI device 0000:04:00.2: internal error: Active 0000:04:00.0 devices on bus with 0000:04:00.2 not doing bus reset
So this is likely the same issue.
Does sys-net
run already? You'll see a green indicator under state in Qubes VM Manager. Alternatively you can run in dom0 qvm-ls
to see that. I guess sys-net
is not yet running?
If not... If you are running in dom0 qvm-start sys-net
, it should show the error you posted above?
In that case, go to Qubes VM Manager -> right click on sys-net
-> VM Settings -> Devices. Assign both 0000:04:00.2
and 0000:04:00.0
. See if that works.
It would be interesting if you could post your dom0 lspci
output.
Alternative attempt. In dom0.
sudo su
echo -n "1" > /sys/bus/pci/devices/0000\:05\:00.0/remove
Pure theory from reading https://groups.google.com/forum/#!searchin/qubes-users/Unable$20to$20reset$20PCI$20device/qubes-users/o8eahbAg3q0/v1Ztl8aU-UkJ.
@marmarek do you think this can be somehow fixed and made work out of the box?
If we identify what devices are those, we may add a code to always assign both of them. But doing that blindly isn't a good idea - the other device (since we don't know otherwise) can be anything, including something we don't want in sys-net.
Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing?
sys-net does not run.
Alternative attempt. In dom0.
sudo su echo -n "1" > /sys/bus/pci/devices/0000:05:00.0/remove
That works, sys-net can then be started. I updated dom0.
I'll use the trick for the time being, pending to investigation.
Good.
Curious, what kind of device is 0000:05:00.0
? Can you check please in dom0 lspci
?
If you like to automate this workaround, have it applied on boot... Theoretically, the following should work... dom0...
Edit /etc/rc.local
with root rights:
#!/bin/bash
echo -n "1" > /sys/bus/pci/devices/0000:05:00.0/remove
sudo chmod +x /etc/rc.local
sudo systemctl enable rc-local.service
/etc/rc.local
would be too late. Take a look here for a better way (that one about permissive mode, but the same can be used for other pre-netvm tasks).
Device 0000:05:00.0
is an unassigned Realtek Express Card Reader (there is no card reader on the laptop). Tried several things, including different rules in /etc/udev/rules.d
, to no avail.
As a temporary workaround, the device is removed and I'm on a wired connection to finish setting up Qubes (some funny behavior otherwise, will summarize when I find the time).
Will try PCI passthrough issues when everything is up and running properly.
Hmm, all the cases of this problem I've seen was about 'Realtek Express Card Reader'. Maybe we should add this for User FAQ at least?
Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing?
The "PCI passthrough issues" solution does not seem to work,
systemctl status qubes-pre-netvm.service
reports
Nov 10 17:59:06 dom0 systemd[1]: Starting Netvm fixup...
Nov 10 17:59:06 dom0 sh[1092]: /bin/sh: line 0: echo: write error: No such device
Nov 10 17:59:06 dom0 systemd[1]: qubes-pre-netvm.service: main process exited, code=...URE
Running the command echo 0000:05:00.0 > /sys/bus/pci/drivers/pciback/permissive
directly or editing the "permissive" file return the same error No such device
. (I'm able to edit it if 0000:05:00.0
is added to sys-net devices, but in this configuration, qrexec won't start...)
A workaround is to change the ExecStart line in qubes-pre-netvm.service to the command working from the terminal.
ExecStart=/bin/sh -c 'echo -n "1" > /sys/bus/pci/devices/0000:05:00.0/remove'
And that's where the funny behavior mentioned earlier starts. If the ethernet cable is not connected, the network is gone (popup "Disconnected. The network connection has been disconnected"). It might be an unrelated issue. It has shown up right after I installed whonix-gw template (would have to reinstall Qubes to confirm).
I'll let aside this problem for a while. For the moment, I can work with the wire.
Just in case it could be useful I will tell my experience with a very similar issue.
First, upon installing qubes I got a pop-up with following error.
Setting up neworing failure!
['/usr/sbin/service', 'qubes-netv', 'start'] failed: Redirecting to /bin/systemctl start qubes-netvm.service job for qubes-netvm.service failed. See 'systemctl status qubes-netvm.service' and 'journalctl -xn' for details
Then, trying qvm-start sys-net
from console:
libvirt.libvirtError: internal error: Unable to reset PCI device 0000:03:00.1: internal error: Active 0000:03:00.0 devices on bus with 0000:03:00.1, not doing bus reset
0000:03:00.1
is Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)
0000:03:00.0
is Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
1
was already added to sys-net
but not 0
(what seems correct, because an audio device shouldn't have nothing to do). Anyway, as stated in this issue I tried to add it to sys-net
. Then, it launched successfully but, suddenly, a pop-up appeared noticing me that network connection had been lost.
Then, I tried:
echo -n "1" > /sys/bus/pci/devices/0000:03:00.0/remove`
and then, eureka, sys-net
worked. As also stated in this issue this was not persistent, so I created a file /etc/systemd/system/qubes-pre-netvm.service
with:
[Unit]
Description=Netvm fixup
Before=qubes-netvm.service
[Service]
ExecStart=/bin/sh -c 'echo -n "1" > /sys/bus/pci/devices/0000:03:00.0/remove`'
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
I ran systemctl enable qubes-pre-netvm.service
and now it persists between reboots.
Now, it seems everything is ok. At least for now, it has been my only problem installing Qubes.
By the way, audio is working anyway. I have another audio entry in lspci
. Not sure about their difference...
Thanks for your hard work!!!
Issue still with 4.0 rc3; workaround still fixes the problem.
@ampanasiuk which one? There are a few in this thread.
The one with the workaround of echo -n "1" > /sys/bus/pci/devices/0000:05:00.0/remove .
@ampanasiuk which one? There are a few in this thread.
-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/QubesOS/qubes-issues/issues/1393#issuecomment-394619587
Hi,
I also got an error similar to this (slightly different) when setting up Qubes
Setting up networking failure!
['/usr/sbin/service', 'qubes-netv', 'start'] failed: Redirecting to /bin/systemctl start qubes-netvm.service job for qubes-netvm.service failed. See 'systemctl status qubes-netvm.service' and 'journalctl -xn' for details
When I run:
echo -n "1" > /sys/bus/pci/devices/0000:3a:00.0/remove .
I get a permission denied error, even when using sudo. I have no network connectivity so I'm unable to copy and paste all the details.
Any help would be appreciated, thanks!
Are you doing
sudo echo -n "1" > /sys/bus/pci/devices/0000:3a:00.0/remove
? The redirection is being done outside of sudo. Do "sudo su" first, then the echo.
Hi,
I also got an error similar to this (slightly different) when setting up Qubes
Setting up networking failure! ['/usr/sbin/service', 'qubes-netv', 'start'] failed: Redirecting to /bin/systemctl start qubes-netvm.service job for qubes-netvm.service failed. See 'systemctl status qubes-netvm.service' and 'journalctl -xn' for details
When I run:
echo -n "1" > /sys/bus/pci/devices/0000:3a:00.0/remove .
I get a permission denied error, even when using sudo. I have no network connectivity so I'm unable to copy and paste all the details.
Any help would be appreciated, thanks!
-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/QubesOS/qubes-issues/issues/1393#issuecomment-397821171
Hi,
Thanks, that worked, however the method mentioned @waiting-for-dev for persistence doesn't seem to work for me.
On top of this Qubes is incredibly slow (even with a brand new quad core with 32 GB of RAM); I'm not sure if that's relevant or not.
Does anyone have a persistent solution to this? Do I just throw a script somewhere that executes that command on startup (sorry, I'm trying to get Qubes working after moving from Ubuntu)?
I realized there was a typo above, using this script worked:
[Unit]
Description=Netvm fixup
Before=qubes-netvm.service
[Service]
ExecStart=/bin/sh -c 'echo -n "1" > /sys/bus/pci/devices/0000:03:00.0/remove' #Note the missing accent mark
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Sorry guys can I ask if someone can help me understanding how to fix this error? I'm new to Linux and qubes but I understand that I have to write on the terminal emulator the code /sys/bus/pci/devices/0000:3a:00.0/remove But I don't understand what is echo -n "1" >
And if I want to make the script for a permanent solution where I have to write it?
Or maybe if there is some guide that you can help me please link it
@rotellini9809:
Sorry guys can I ask if someone can help me understanding how to fix this error? I'm new to Linux and qubes but I understand that I have to write on the terminal emulator the code /sys/bus/pci/devices/0000:3a:00.0/remove But I don't understand what is echo -n "1" >
And if I want to make the script for a permanent solution where I have to write it?
Or maybe if there is some guide that you can help me please link it
Based on our issue reporting guidelines, this does not appear to be suitable for qubes-issues
. We ask that you please send this to the qubes-users
mailing list instead. If, after reading our issue reporting guidelines, you believe we are mistaken, please leave a brief comment explaining why. We'll be happy to take another look, and, if appropriate, reopen this issue. Thank you for your understanding.
Did a fresh install and this error still persists.
Is the workaround still valid? It's more than three years old
Does this still affect 4.1 or higher?
Reported by troubadour in Whonix forum.