Can't access the internet

I do like that short intro although I think it provided more confusion.

As I said above:

Dom0 is not an AppVM, it’s not based on a Template. It simply runs Fedora-32, however AFAIK it should not matter for your particular problem.

You have to share the .yml file with us. For this you need to copy it from dom0, as I said above.

Thanks. I would appreciate any comments about how one could improve that text.

Having now reinstalled Qubes with the most recent kernel (I think), I am still getting the same problem.

Phew! I managed to figure out how to copy the .yml file to a USB in Qubes, yay! I’ll attach it here and I hope it helps.

I’m now getting a bit confused as to where I’m at as this is getting a bit complicated. Anyway, I also checked my sys-net and it is based on Fedora 37. So how would I change sys-net to something else?

Qubes-HCL-HP-HP_Pavilion_Laptop_15_eh0xxx-20230703-201916.yml (858 Bytes)

1 Like

usb: |
2

It actually shows that you have two USB controllers. You need to check if it’s true: You can go to the Qube Manager, find sys-usb qube, open its Settings, tab Devices. Does it show two USB controllers selected on the right hand side? What are their names? (Sometimes, the system is mistaken and one controller can be shown as two. I have such situation by the way on my machine. I do not know how to reliably find it out without experimenting.) One of them definitely contains your USB boot device, so removing it would break your installation… Another one, in theory, could be removed from sys-usb and added to new sys-usb-2 qube (or something)…

Try right click on the qube in the Qube Manager. The Template can only be changed when the qube is not running. It will replace the /root partition of the qube. Alternatively, you can change the Template in the qube Settings, tab Basic.

Actually, this should not be very complicated. Your Internet does not work. Two possible solutions: (a) make WiFi work, or (b) make ethernet work. Because the latter is a USB device and you booted from another USB device, this is complicated. Option (a) should be easier.

For option (a), you probably need to install the firmware. Most of the time, latest Linux versions already contain it and it should just work. Your WiFi card is attached to and managed by sys-net virtual machine. It is based on Fedora-37. You can try to make it Fedora-38 in the hope that newer kernel will fix your problem. Alternatively, you can try to make it Debian-12.

By the way, it seems here is a similar problem with another solution:

Wow, who knew I had two USB controllers, well I do now. I checked in Qube Manager and it doesn’t list a sys-usb. Does that mean that I have to create it as I did previously?

Ok, when you put it like that it does sound easier. I think I was just getting confused as there seems to be multiple threads and things to try. But you clarified very succinctly. I tried changing the sys-net template to debian-11, I didn’t have debian 12 but still with the same problem. On boot sys-net tried to start but then shutdown. Fedora 38 isn’t listed as an option that I can change sys-net to. The only other options are whonix-gw-16 and whonix-ws-16 but didn’t try them.

If I apparently know that I now have 2 USB controllers is it also possible that I could isolate one for my boot device and one for my USB Ethernet card. Although I’m not sure how I would go about that? This might achieve option b, what do you think?

I checked out this question but I don’t think I can do the first two lines of code as I don’t have a functional Ethernet card:

sudo dnf update
sudo dnf install dkms make kernel-devel -y
git clone https://github.com/tomaspinho/rtl8821ce.git
cd rtl8821ce/
sudo ./dkms-install.sh 
exit

I had been investigating how to install the driver manually and had downloaded that driver code from github and transferred it to dom0 of my Qubes installation. If you read the installation instructions for installing the driver manually it states the following:

In order to install the driver open a terminal in the directory with the source code and execute the following command:

sudo ./dkms-install.sh

I tried this but it failed with the following errors:

So I wasn’t sure if I was executing the file from the correct folder or now. Or maybe I should be doing this in sys-net and not dom0, again, what do you think? Might try that next?

Thank you, I’m glad my expanation helped!

Debian-11 is quite old, so I did not expect that it would help and did not suggest to try it.

These are newly available Templates, you can install them with just one command, see here and here. However, without the Internet access, you would have to download them manually. I’m not sure how to do it… @adw is this possible?

Indeed, I forgot that you have no sys-usb. You can create it manually and add a USB controller to it, but be very careful here. As I explained above, one of your USB controllers (if you have two) is used to boot your system. If you add this one to sys-usb, you will break your system. You need to add a different one. But it can be hard to find out wihch one is which! Do not use automatic create with Salt, because it will put both controllers to sys-usb and break your system (which already happened to you before).

Actually, that link is about the WiFi, not Ethernet: How to enable WIFI on a NitroPC. To be installed in sys-net’s Template.

Exactly. Also, Qubes OS is a security-oriented OS, relying on compartmentalization. Running untrusted code in dom0 is a security risk.

I think it is possible, but I’m not sure how to do it. @marmarek?

1 Like

Ooooppppssss!!! I broked it, dam! I used the following command:

sudo qubesctl state.sls qvm.sys-usb

Which I assumed created the sys-usb VM but then assigned both my USB controllers to it and upset dom0. So guess it’s back the drawing board and a reinstall.

I did then notice the next section about assigning a USB controller manually so guess I’ll have to figure that out next when Qubes reinstalls.

1 Like

But how can I run this is sys-net won’t even start. I was under the impression that I had to start sys-net and then I could start a terminal in sys-net. Is that correct? Or is there another way I can manually install the drivers?

Back to the drawing board, perhaps, but no need for a reinstall just for
this. There’s almost never need for reinstall.
At the Grub prompt, edit the kernel entry to include qubes.skip_autostart and
remove rd.qubes.hide_all_usb
This will allow Qubes to start with no qubes starting, and the USB
controllers will still be available in dom0.
This means that you will be able to check which controller you assign to
sys-usb.

I never presume to speak for the Qubes team. When I comment in the Forum or in the mailing lists I speak for myself.
1 Like

Ooooopps!!! To late, already reinstalled it but that’s worth knowing for when I break it next. Just out of interest how would I edit the kernel?

Humphh!!! Not sure why you liked that post but several hours later and I’m ready to break it again, sigh

I liked the post, because you correctly explained what happened and what went wrong.

Not kernel, but grub bootloader. This is not a Qubes-specific question, it’s related to Linux. Also was explained on this forum: one, two.

Indeed this is an important question. You can try to open Settings of sys-net, tab Devices and remove the currently attached device to it. Also check if it was the correct WiFi card. If not, you should try to attach the correct one. The qube should start without any devices attached (but you of course can’t have the Internet like this).

Sigh, I think I broked it again. So this time I tried to create sys-usb manually using the command:

qvm-create --label red sys-usb

Which seemed to work but wouldn’t allow me to apply devices when I clicked the settings of this VM from Qube manager. The reason was that it was PVH enabled or something like that. Anyway, I might have deleted it and tried again. Eventually I found in settings where I could change the mode to HVM and this then allowed me to assign a device to sys-usb. Not quite sure if I assigned the correct device. I ran the command ‘qvm-pci’ and saved it in a file which I’ll upload although it doesn’t seem to be allowing me to upload a text file so cut and paste it is

dom0:00_00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Root Complex
dom0:00_00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir IOMMU
dom0:00_01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
dom0:00_01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
dom0:00_02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
dom0:00_02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
dom0:00_02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
dom0:00_08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
dom0:00_08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus
dom0:00_14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller
dom0:00_14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge
dom0:00_18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 0
dom0:00_18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 1
dom0:00_18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 2
dom0:00_18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 3
dom0:00_18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 4
dom0:00_18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 5
dom0:00_18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 6
dom0:00_18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 7
dom0:01_00.0 Unassigned class: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader
dom0:02_00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter sys-net
dom0:03_00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd
dom0:04_00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir
dom0:04_00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI]
dom0:04_00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor
dom0:04_00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1
dom0:04_00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1
dom0:04_00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor
dom0:04_00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller

There were two USB controllers listed so I tried each in turn. The first dom0:04_004 crashed Qubes so I assumed that this was the one that dom0 was using. So I tried the other USB controller and it seemed to work, I think. Now the first time I started sys-usb it wouldn’t start but attempted to load the following devices a cam, some bluetooth device and a gigabit ethernet card which I assume is my USB Ethernet card. The second time I started sys-usb it said these devices were available to me but not sure what to do next? How do I get dom0 to access them or how do I use them?

I checked the settings for sys-net and removed the device driver which was the Realtek driver and then sys-net would start. Whilst I have the driver apparently it requires certain dependencies to install and apparently the only way to install them is to download them so I think I need my USB Ethernet card working before I can solve my wifi issue?

I think I might be getting somewhere but I’m not sure. I do think I am learning something and I appreciate your support and patience

I

1 Like

Although having just rebooted and tried again I got an error saying 'Cannot connect to seconds, qrexec agent for 60 see /var/log/xen/console/guest-sys-usb. log for details. So not sure what that means. But about to give up for one night my head hurts!

But then when I tried again it started and said the three devices were available but still don’t know how to access them?