
If you’re using Ubuntu 18.04 or 18.10 and have an Intel NVMe SSD, you may encounter an error message that reads “nvme0: failed to set APST feature”. This error can be frustrating, but don’t worry, we have solutions for you.
Before we dive in, let’s understand what this error means.
The error “nvme0: failed to set APST feature” is related to the Active State Power Management (ASPM) feature of the PCIe (Peripheral Component Interconnect Express) interface, which is used by the NVMe SSD. ASPM is a power saving mechanism that puts the PCIe device into a low-power state when it’s not in use. However, in some cases, this feature can cause issues with the NVMe SSD, leading to the error message.
To fix the "nvme0: failed to set APST feature" error on Ubuntu 18.04/18.10 with an Intel NVMe SSD, you can try using the "acpi=off" and "nvme_load=YES" boot options during installation. If that doesn’t work, you can disable ASPM with the "pcie_aspm=off" boot option. Remember to backup your data before making any changes and keep in mind that hardware compatibility can vary.
Solution 1: Use the “acpi=off” and “nvme_load=YES” Boot Options
Step 1: Install Ubuntu with “acpi=off” Boot Option
During the installation process, when you see the GRUB boot menu, press ‘e’ to edit the boot parameters. Add the boot option acpi=off
at the end of the “linux” line. This option disables the ACPI (Advanced Configuration and Power Interface), allowing the installer to detect your SSD M.2 drive and complete the installation.
Step 2: Boot Ubuntu with “nvme_load=YES” Boot Option
After the installation, if you are unable to boot without the “acpi=off” option, it may severely impact your laptop’s performance. To resolve this, you can try adding the nvme_load=YES
boot option instead. This option forces the NVMe driver to load, allowing you to boot Ubuntu successfully without the “acpi=off” option.
To add this boot option permanently, open the /etc/default/grub
file in a text editor with root privileges, for example:
sudo nano /etc/default/grub
Find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT
and add nvme_load=YES
inside the quotes. The line should look something like this:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_load=YES"
Save the file and exit the text editor. Then, update the GRUB configuration with the following command:
sudo update-grub
Please note that software updates may cause the “nvme0: failed to set APST feature” error to reoccur. If this happens, repeat the steps above.
Solution 2: Disable ASPM with “pcie_aspm=off” Boot Option
If the first solution does not work, you can try disabling ASPM by adding the pcie_aspm=off
parameter to the GRUB_CMDLINE_LINUX_DEFAULT
line in the /etc/default/grub
file. This option disables the ASPM feature of the PCIe interface, which can resolve the error.
To do this, open the /etc/default/grub
file in a text editor with root privileges:
sudo nano /etc/default/grub
Add pcie_aspm=off
inside the quotes of the GRUB_CMDLINE_LINUX_DEFAULT
line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=off"
Save the file and exit the text editor. Then, update the GRUB configuration:
sudo update-grub
This solution has been reported to work for some users, even when changing the default_ps_max_latency_us
parameter had no effect.
Conclusion
The “nvme0: failed to set APST feature” error can be a nuisance, but it’s not insurmountable. With these solutions, you should be able to successfully boot Ubuntu on your laptop with an Intel NVMe SSD. However, always remember to backup your important data before attempting any changes to your system configuration. And keep in mind that hardware compatibility and support can vary, so it’s possible that your specific hardware may not be fully supported by Ubuntu at this time.
For more information on boot options and GRUB configuration, you can refer to the Ubuntu Community Help Wiki.
ACPI stands for Advanced Configuration and Power Interface. Disabling ACPI can be necessary in some cases to resolve compatibility issues with certain hardware components, such as NVMe SSDs. Disabling ACPI allows the installer to detect and work with the SSD M.2 drive during the installation process.
The "nvme_load=YES" boot option forces the NVMe driver to load during the boot process. This option can be helpful when you are unable to boot Ubuntu without the "acpi=off" option, as it allows you to successfully boot Ubuntu without disabling ACPI.
To add a boot option permanently, you need to modify the /etc/default/grub
file. Open the file with a text editor using root privileges, add the desired boot option to the GRUB_CMDLINE_LINUX_DEFAULT
line, save the file, and update the GRUB configuration with the sudo update-grub
command.
If the "nvme0: failed to set APST feature" error reoccurs after a software update, you can repeat the steps mentioned in the solution to add the boot options. Updating the GRUB configuration with the sudo update-grub
command after modifying the /etc/default/grub
file will apply the changes and help resolve the error again.
Disabling ASPM (Active State Power Management) disables a power-saving feature of the PCIe interface. In the context of this error, disabling ASPM can help resolve the "nvme0: failed to set APST feature" error when other solutions do not work.
It is always recommended to backup your important data before making any changes to your system configuration. While these solutions should not cause data loss, it’s better to be safe and have a backup in case of any unexpected issues.
Hardware compatibility and support can vary. While these solutions have been reported to work for many users with Intel NVMe SSDs on Ubuntu 18.04 and 18.10, it’s possible that they may not work for all hardware configurations. It’s always advisable to check for specific hardware compatibility and consult the Ubuntu Community Help Wiki or relevant forums for further assistance.