Tech Note: PCIe (SSD/WiFi) stability fix/workaround for kernel 6.18

Because I need a guide to point people to for tech support, I’m combining here some fragments written by @josch in other threads, as a recipe:

Step 1:

sudo mkdir -p /etc/u-boot-menu/conf.d

Step 2:

Create the file /etc/u-boot-menu/conf.d/reform_pcie_fix.conf with the following content:

U_BOOT_PARAMETERS="$U_BOOT_PARAMETERS pcie_aspm=off"

Step 3:

sudo u-boot-update

Step 4:

Have a look at your /boot/extlinux/extlinux.conf. The lines that start with append should now have pcie_aspm=off at or near the end. If not, something went wrong. In that case, delete /etc/u-boot-menu/conf.d/reform_pcie_fix.conf and re-run sudo u-boot-update to restore the original state.

If everything went as expected, reboot your machine.

3 Likes

u-boot-update seems is part of the package u-boot menu. That was not installed on my machine. So before step 3, I needed to do
sudo apt-get install u-boot-menu .

u-boot-menu only started being installed on new system images by default in May 2025. If your system is older and if you have not installed u-boot-menu then your system is using flash-kernel to boot and then the right method to add pcie_aspm=off to your kernel cmdline is to create /etc/flash-kernel/ubootenv.d/00reform2_ubootenv or similar and add:

setenv bootargs "ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs}"

Please note, that this will switch your boot method from using boot.scr created by flash-kernel to extlinux.conf created by u-boot-menu. This should not break anything but if something does break please keep in mind that you performed this change.

I just uploaded reform-tools 1.85 to Debian unstable which fixes this problem so once you have upgraded to this version, you can remove the workaround. Sorry for the delay but there were some unrelated bugs to iron out before the release.

2 Likes