4

I cannot figure out how to get my NVMe disks recognized in a brand new system.

No matter which distro I use, the dmesg output is the same: (Live CD)

xubuntu@xubuntu:~$ dmesg | grep -i nvme
[    5.007954] nvme nvme0: pci function 0000:08:00.0
[    5.008077] nvme nvme1: pci function 0000:09:00.0
[    5.224407] nvme nvme0: missing or invalid SUBNQN field.
[    5.224413] nvme nvme1: missing or invalid SUBNQN field.
[    5.496248] nvme1n1: detected capacity change from 240057409536 to 0
[    5.612128] nvme nvme1: failed to set APST feature (-19)
[    5.660221] nvme0n1: detected capacity change from 240057409536 to 0
[    5.896172] nvme nvme0: failed to set APST feature (-19)
[   13.921911] Modules linked in: snd_hda_codec_hdmi cmac bnep arc4 snd_hda_codec_realtek iwlmvm edac_mce_amd snd_hda_codec_generic kvm snd_hda_intel mac80211 snd_hda_codec snd_hda_core irqbypass snd_hwdep snd_pcm crct10dif_pclmul btusb crc32_pclmul ghash_clmulni_intel btrtl btbcm pcbc btintel snd_seq_midi bluetooth snd_seq_midi_event iwlwifi snd_rawmidi aesni_intel aes_x86_64 snd_seq crypto_simd joydev input_leds glue_helper cryptd cfg80211 ecdh_generic snd_seq_device snd_timer snd soundcore ccp wmi_bmof k10temp shpchp mac_hid sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 overlay nls_utf8 isofs dm_mirror dm_region_hash dm_log uas usb_storage hid_generic usbhid hid nouveau mxm_wmi video ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops igb drm dca i2c_piix4 nvme
[   13.921933]  i2c_algo_bit ahci ptp nvme_core pps_core libahci gpio_amdpt wmi gpio_generic

The only insances of invalid SUBNQN field I can find are the literal error in the original C source code.

The drives are XPG SX8200 PCIe NVMe Gen3x4, the motherboard is Asrock x399 Taichi + 1900X TR

4

I just recently added SX8200 to my existing system (which is installed on a SATA SSD) and the new drive wasn't recognized correctly. I have a very similar setup on a X399 Taichi and saw the same errors in dmesg. I'm on Ubuntu 18.04.1 with kernel 4.15.0-36-generic.

I don't know if there's a proper fix out there, but I was able to get past some of the errors with the same workaround that was used for some Samsung drives. You can try adding the following parameter to the kernel boot command line:

nvme_core.default_ps_max_latency_us=0

As I understand it, this will disable APST, which is a power saving feature. I didn't experiment with a larger value, maybe you can avoid the error and still get some efficiency in, but I haven't played with it yet.

After this workaround I still get the other errors, but the APST one is gone and the drive seems to work. I was able to mount it and read files (I formatted it to NTFS in Windows before).

  • Also worked for me with XPG SX8200 PCIe NVMe Gen3x4, Taichi x399, Threadripper 1920x. Note that I could use also use nvme_core.default_ps_max_latency_us=250, 5500 did not work. – n8henrie Nov 30 '18 at 23:24
0

This may by a similar bug in Kernel / NVMe firmware: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1803692

Try to update the firmware of your SSD / NVMe first. Here a quick howto for those who has this issue with Intel drives:

Firmware update with Intel SSD Data Center Tool (DCT) https://downloadcenter.intel.com/search?keyword=SSD+Firmware+Update+Tool

# Download and install DCT
wget https://downloadmirror.intel.com/28999/eng/Intel_SSD_Data_Center_Tool_3.0.20_Linux.zip -O /tmp/Intel_SSD_Data_Center_Tool_3.0.20_Linux.zip
unzip -d /tmp /tmp/Intel_SSD_Data_Center_Tool_3.0.20_Linux.zip
sudo dpkg -i /tmp/isdct_3.0.20-1_amd64.deb

# show drive data
isdct show -intelssd

# update 1st drive
isdct load -intelssd 0

reboot

# update second drive
isdct load -intelssd 1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.