Public bug reported:

Hello,

I bought notebook HP ZBook Firefly 14 G10 A with AMD Ryzen 7 7840HS CPU.
This notebook have nvme SSD WD PC SN810 SDCPNRZ-2T00 with HPS2 firmware.

When I use standard Ubuntu kernel 6.5.0-14-generic, disk regularly disconnects 
and FS become ReadOnly.
I found similar issue with eg. Kingston A2000 nvme disk. This seems to Firmware 
bug.
I tried same solution and this worked.

As first workaround I tried add kernel parameter 
"nvme_core.default_ps_max_latency_us=10000".
Behavior was much better, but sometimes disk still disconnects (after connect 
disconnect from Thunderbolt docking station or after several sleep/wake cycles)

Second workaround was update kernel source code and setup quirk 
"NVME_QUIRK_NO_DEEPEST_PS" for disk identifier. Then I build kernel package and 
install it on notebook with Ubuntu 23.10.
After ~4days of usage it seems that this is working solution.

Now I running my own kernel build 6.5.3 (from sources downloaded via apt
package manager), this is reason why I cannot provide "ubuntu-bug linux"
output.

Will be possible to add this solution to the default kernel image please? 
I'm not a developer and not sure if this is all you need.
I can provide additional info or testing if will be needed.

------
Updated was file "linux-6.5.0/drivers/nvme/host/pci.c" with following lines:

--- drivers-nvme-host-pci.c.original    2023-12-29 20:48:38.048105439 +0100
+++ drivers-nvme-host-pci.c.new 2023-12-29 20:48:38.064104967 +0100
@@ -3399,6 +3399,8 @@
                .driver_data = NVME_QUIRK_BOGUS_NID, },
        { PCI_DEVICE(0x15b7, 0x2001),   /*  Sandisk Skyhawk */
                .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
+       { PCI_DEVICE(0x15b7, 0x5011),   /* Sandisk Corp WD PC SN810 
SDCPNRZ-2T00 (HPS2 FW) */
+                .driver_data = NVME_QUIRK_NO_DEEPEST_PS, },    
        { PCI_DEVICE(0x1d97, 0x2263),   /* SPCC */
                .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
        { PCI_DEVICE(0x144d, 0xa80b),   /* Samsung PM9B1 256G and 512G */

------
$ lsb_release -rd
No LSB modules are available.
Description:    Ubuntu 23.10
Release:        23.10

------
$ apt-cache policy linux-image-6.5.0-14-generic 
linux-image-6.5.0-14-generic:
  Installed: 6.5.0-14.14
  Candidate: 6.5.0-14.14
  Version table:
 *** 6.5.0-14.14 500
        500 http://sk.archive.ubuntu.com/ubuntu mantic-updates/main amd64 
Packages
        500 http://security.ubuntu.com/ubuntu mantic-security/main amd64 
Packages
        100 /var/lib/dpkg/status

$ apt-cache policy linux-image-6.5.3 
linux-image-6.5.3:
  Installed: 6.5.3-2
  Candidate: 6.5.3-2
  Version table:
 *** 6.5.3-2 100
        100 /var/lib/dpkg/status

------
$ sudo smartctl -ic /dev/nvme0n1
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.5.3] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       WD PC SN810 SDCPNRZ-2T00-1006
Serial Number:                      
Firmware Version:                   HPS2
PCI Vendor/Subsystem ID:            0x15b7
IEEE OUI Identifier:                0x001b44
Total NVM Capacity:                 2 048 408 248 320 [2,04 TB]
Unallocated NVM Capacity:           0
Controller ID:                      8224
NVMe Version:                       1.4
Number of Namespaces:               1
Namespace 1 Size/Capacity:          2 048 408 248 320 [2,04 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            001b44 8b4a02b37b
Local Time is:                      Fri Dec 29 21:04:43 2023 CET
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat 
Timestmp
Log Page Attributes (0x1e):         Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg Pers_Ev_Lg
Maximum Data Transfer Size:         128 Pages
Warning  Comp. Temp. Threshold:     84 Celsius
Critical Comp. Temp. Threshold:     88 Celsius
Namespace 1 Features (0x02):        NA_Fields

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     8.25W    8.25W       -    0  0  0  0        0       0
 1 +     3.50W    3.50W       -    0  0  0  0        0       0
 2 +     2.60W    2.60W       -    0  0  0  0        0       0
 3 -   0.0250W       -        -    3  3  3  3     5000   10000
 4 -   0.0035W       -        -    4  4  4  4     3900   45700

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1

------


Thanks

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "OS Report and diff file from my patch."
   
https://bugs.launchpad.net/bugs/2047712/+attachment/5734736/+files/report-and-patch.zip

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2047712

Title:
  FS disconnects on WD PC SN810 SDCPNRZ HP FW

Status in linux package in Ubuntu:
  New

Bug description:
  Hello,

  I bought notebook HP ZBook Firefly 14 G10 A with AMD Ryzen 7 7840HS CPU.
  This notebook have nvme SSD WD PC SN810 SDCPNRZ-2T00 with HPS2 firmware.

  When I use standard Ubuntu kernel 6.5.0-14-generic, disk regularly 
disconnects and FS become ReadOnly.
  I found similar issue with eg. Kingston A2000 nvme disk. This seems to 
Firmware bug.
  I tried same solution and this worked.

  As first workaround I tried add kernel parameter 
"nvme_core.default_ps_max_latency_us=10000".
  Behavior was much better, but sometimes disk still disconnects (after connect 
disconnect from Thunderbolt docking station or after several sleep/wake cycles)

  Second workaround was update kernel source code and setup quirk 
"NVME_QUIRK_NO_DEEPEST_PS" for disk identifier. Then I build kernel package and 
install it on notebook with Ubuntu 23.10.
  After ~4days of usage it seems that this is working solution.

  Now I running my own kernel build 6.5.3 (from sources downloaded via
  apt package manager), this is reason why I cannot provide "ubuntu-bug
  linux" output.

  Will be possible to add this solution to the default kernel image please? 
  I'm not a developer and not sure if this is all you need.
  I can provide additional info or testing if will be needed.

  ------
  Updated was file "linux-6.5.0/drivers/nvme/host/pci.c" with following lines:

  --- drivers-nvme-host-pci.c.original  2023-12-29 20:48:38.048105439 +0100
  +++ drivers-nvme-host-pci.c.new       2023-12-29 20:48:38.064104967 +0100
  @@ -3399,6 +3399,8 @@
                .driver_data = NVME_QUIRK_BOGUS_NID, },
        { PCI_DEVICE(0x15b7, 0x2001),   /*  Sandisk Skyhawk */
                .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
  +     { PCI_DEVICE(0x15b7, 0x5011),   /* Sandisk Corp WD PC SN810 
SDCPNRZ-2T00 (HPS2 FW) */
  +                .driver_data = NVME_QUIRK_NO_DEEPEST_PS, },  
        { PCI_DEVICE(0x1d97, 0x2263),   /* SPCC */
                .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
        { PCI_DEVICE(0x144d, 0xa80b),   /* Samsung PM9B1 256G and 512G */

  ------
  $ lsb_release -rd
  No LSB modules are available.
  Description:  Ubuntu 23.10
  Release:      23.10

  ------
  $ apt-cache policy linux-image-6.5.0-14-generic 
  linux-image-6.5.0-14-generic:
    Installed: 6.5.0-14.14
    Candidate: 6.5.0-14.14
    Version table:
   *** 6.5.0-14.14 500
          500 http://sk.archive.ubuntu.com/ubuntu mantic-updates/main amd64 
Packages
          500 http://security.ubuntu.com/ubuntu mantic-security/main amd64 
Packages
          100 /var/lib/dpkg/status

  $ apt-cache policy linux-image-6.5.3 
  linux-image-6.5.3:
    Installed: 6.5.3-2
    Candidate: 6.5.3-2
    Version table:
   *** 6.5.3-2 100
          100 /var/lib/dpkg/status

  ------
  $ sudo smartctl -ic /dev/nvme0n1
  smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.5.3] (local build)
  Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

  === START OF INFORMATION SECTION ===
  Model Number:                       WD PC SN810 SDCPNRZ-2T00-1006
  Serial Number:                      
  Firmware Version:                   HPS2
  PCI Vendor/Subsystem ID:            0x15b7
  IEEE OUI Identifier:                0x001b44
  Total NVM Capacity:                 2 048 408 248 320 [2,04 TB]
  Unallocated NVM Capacity:           0
  Controller ID:                      8224
  NVMe Version:                       1.4
  Number of Namespaces:               1
  Namespace 1 Size/Capacity:          2 048 408 248 320 [2,04 TB]
  Namespace 1 Formatted LBA Size:     512
  Namespace 1 IEEE EUI-64:            001b44 8b4a02b37b
  Local Time is:                      Fri Dec 29 21:04:43 2023 CET
  Firmware Updates (0x14):            2 Slots, no Reset required
  Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
  Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat 
Timestmp
  Log Page Attributes (0x1e):         Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg 
Pers_Ev_Lg
  Maximum Data Transfer Size:         128 Pages
  Warning  Comp. Temp. Threshold:     84 Celsius
  Critical Comp. Temp. Threshold:     88 Celsius
  Namespace 1 Features (0x02):        NA_Fields

  Supported Power States
  St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
   0 +     8.25W    8.25W       -    0  0  0  0        0       0
   1 +     3.50W    3.50W       -    0  0  0  0        0       0
   2 +     2.60W    2.60W       -    0  0  0  0        0       0
   3 -   0.0250W       -        -    3  3  3  3     5000   10000
   4 -   0.0035W       -        -    4  4  4  4     3900   45700

  Supported LBA Sizes (NSID 0x1)
  Id Fmt  Data  Metadt  Rel_Perf
   0 +     512       0         2
   1 -    4096       0         1

  ------

  
  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2047712/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to