-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Device Information
System Model or SKU
Please select one of the following
- Framework Laptop 13 (11th Gen Intel® Core™)
- Framework Laptop 13 (12th Gen Intel® Core™)
- Framework Laptop 13 (13th Gen Intel® Core™)
- Framework Laptop 13 (AMD Ryzen™ 7040 Series)
- Framework Laptop 13 (Intel® Core™ Ultra Series 1)
- Framework Laptop 16 (AMD Ryzen™ 7040 Series)
BIOS VERSION
03.05
DIY Edition information
If you are experiencing an issue on a DIY system, Please also fill out the memory and storage devices you are using.
Memory: Framework - 32 (2 x 16GB) DDR5-5600
Storage: Western Digital SN850X 2TB (2280), Western Digital SN770M 2TB (2230)
Standalone Operation
Are you running your mainboard as a standalone device. Is standalone mode enabled in the BIOS?
- Yes
- No
Describe the bug
With the Linux kernel paramater "efi=disable_early_pci_dma" ( or you don't but have the kernel config CONFIG_EFI_DISABLE_PCI_DMA ) enabled ), set, after the system has posted and starts to boot the OS, it's just sitting at there idle ( several minutes ) at the Framework logo until I press the power button ( not holding it down but just tap it ) and it turns off
Steps To Reproduce
Steps to reproduce the behaviour:
- Power on and wait for the Framework logo
- I wait several minutes thinking it might boot
- Tap power button ( after waiting ) and it turns off
Expected behaviour
- Power on and wait for the Framework logo
- Framework logo changes to showing the Framework logo plus plymouth animation starts to play
- I'm booted into Linux tty ready for me to enter my credentials.
Solution
To rid of this issue
- set kernel parameter
"efi=no_disable_early_pci_dma"if you haveCONFIG_EFI_DISABLE_PCI_DMAenabled - or unset kernel parameter
"efi=disable_early_pci_dma"ifCONFIG_EFI_DISABLE_PCI_DMAis disabled
Operating System:
- OS/Distribution: Gentoo ( primarily ), Arch Linux
- Version: Gentoo ( Linux 6.12.0 ), Arch Linux ( 6.10.6, I've not updated this since I switched over to Gentoo )
- Linux Kernel Version ( From Gentoo only ):
Linux hostname 6.12.0-mainline-byw-gcc-znver4 #1 SMP PREEMPT_RT Wed Nov 20 06:58:15 GMT 2024 x86_64 AMD Ryzen 7 7840HS w/ Radeon 780M Graphics AuthenticAMD GNU/Linux
Additional context
I've only tried Linux 6.10.6 ( Arch Linux ) and 6.12.0 ( Gentoo )
About "efi=disable_early_pci_dma" / CONFIG_EFI_DISABLE_PCI_DMA
Disable the busmaster bit in the control register on all PCI bridges while calling ExitBootServices() and passing control to the runtime kernel. System firmware may configure the IOMMU to prevent malicious PCI devices from being able to attack the OS via DMA. However, since firmware can't guarantee that the OS is IOMMU-aware, it will tear down IOMMU configuration when ExitBootServices() is called. This leaves a window between where a hostile device could still cause damage before Linux configures the IOMMU again. If you say Y here, the EFI stub will clear the busmaster bit on all PCI bridges before ExitBootServices() is called. This will prevent any malicious PCI devices from being able to perform DMA until the kernel reenables busmastering after configuring the IOMMU. This option will cause failures with some poorly behaved hardware and should not be enabled without testing. The kernel commandline options "efi=disable_early_pci_dma" or "efi=no_disable_early_pci_dma" may be used to override this option.
and more info about this from Matthew Garrett
I've been using "efi=disable_early_pci_dma" ( not "efi=no_disable_early_pci_dma" ) with bioses 03.02, 03.03 and 03.04 with no issues