On Saturday, January 18, 2020 at 8:27:05 AM UTC-3, Claudia wrote:
>
> January 18, 2020 1:57 AM, "Guerlan" <[email protected] <javascript:>> 
> wrote:
>
> > I have a problem where any linux distro in my Razer Blade Stealth will 
> suffer from NVME corruption
> > (nvme enters in read only mode) many times a day. I tried the most 
> recent kernel, old ones, etc.
> > Tried opening a bug in canonical launchpad, got some help, some kernel 
> patches to try, but none
> > worked. I made two independent tests that prove it's not a problem in my 
> notebok or SSD: 1, I
> > bougth a brand new SSD, same problem. 2: neither Windows or Qubes will 
> give the error.
> > 
> > Actually, I installed Qubes just to see what would happen, because I 
> wanted to run something non
> > linux in my machine just to test. Turns out something in Qubes makes the 
> dom0 access the NVME
> > without any problems.
> > The way I think Xen/Qubes NVME interaction works is like this: xen has 
> pci front and back drivers.
> > Front is in xen, back is in dom0. dom0 then accesses the NVME through 
> PCI. The nvme driver in dom0
> > is the same as the nvme driver in my older bare metal linux 
> distributions which had the bug, so I
> > can only think the bug happens in the PCI level, because it's the only 
> thing different here.
> > 
> > Can someone with better understanding of Xen and Qubes give me a better 
> picture and maybe guess
> > what's happening and why I don't feel the bug at all in Qubes?
>
> Qubes doesn't use a storage domain, so the SATA controller (or in your 
> case, NVME) doesn't use pciback as far as I know. If not for that, I would 
> say it's probably because pciback blocks writes to read-only config space 
> of PCI devices. However storage devices in Qubes just use the normal driver 
> in dom0, just like any other Linux. You can check with `lspci -k`. 
> Unfortunately I don't know enough about NVME to be much help.
>
> Have you tried installing Xen in any other distro? See if the problem 
> occurs there. You can also test suspend/resume while you're at it. If you 
> find that it fixes the NVME problem and suspend works, you can continue 
> using that distro under Xen, even if you don't actually use any domUs. 
>

Thanks. Here's my lspci -k

[lz@dom0 ~]$ lspci -k
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core 
Processor Host Bridge/DRAM Registers (rev 02)
    Subsystem: Razer USA Ltd. Device 6752
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 
02)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: i915
    Kernel modules: i915
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI 
Controller (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: pciback
    Kernel modules: xhci_pci
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP 
Thermal subsystem (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: intel_pch_thermal
    Kernel modules: intel_pch_thermal
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP 
Serial IO I2C Controller #0 (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: intel-lpss
    Kernel modules: intel_lpss_pci
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP 
Serial IO I2C Controller #1 (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: intel-lpss
    Kernel modules: intel_lpss_pci
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME 
HECI #1 (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: mei_me
    Kernel modules: mei_me
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root 
Port #3 (rev f1)
    Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root 
Port #9 (rev f1)
    Kernel driver in use: pcieport
00:1e.0 Signal processing controller: Intel Corporation Sunrise Point-LP 
Serial IO UART Controller #0 (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: intel-lpss
    Kernel modules: intel_lpss_pci
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 
21)
    Subsystem: Razer USA Ltd. Device 6752
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel, snd_soc_skl
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
    Subsystem: Razer USA Ltd. Device 6752
    Kernel driver in use: i801_smbus
    Kernel modules: i2c_i801
01:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless 
Network Adapter (rev 32)
    Subsystem: Bigfoot Networks, Inc. Device 1535
    Kernel driver in use: pciback
    Kernel modules: ath10k_pci
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD 
Controller SM961/PM961
    Subsystem: Samsung Electronics Co Ltd Device a801
    Kernel driver in use: nvme
    Kernel modules: nvme

I don't understand, how can dom0 access NVME without using the nvme driver? 
And how can the nvme driver communicate with my SSD if not through PCI? And 
shouldn't any PCI connection be made through xenpci driver? I thougth dom0 
couldn't access raw pci 

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/c04c325e-f89c-4560-95dc-7aba10fc065d%40googlegroups.com.

Reply via email to