Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
problems with acpi
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
fatpenguin
n00b
n00b


Joined: 12 Jun 2021
Posts: 6

PostPosted: Tue Jun 15, 2021 9:42 pm    Post subject: problems with acpi Reply with quote

Hi,
I have installed Gentoo on a HP Laptop with Intel Celeron CPU and integrated graphics, and I am experiencing random hangs at every boot, the process getting stuck when some service tries to start (I am using OpenRC). So I tried to add various boot parameters to the kernel and I found out that the system only booted with "acpi=off" or "acpi=noirq". Of course I discarded the first option because I didn't have power management, but with "acpi=noirq" my keyboard was not detected. So i added the parameter "noapic"and the keyobard worked.
Is this workaround acceptable in the long run? Because I don't really know how ACPI works, I only know that it controls power consumption and the fan and that partly or fully disabling it may cause permanent hardware damage.
Back to top
View user's profile Send private message
figueroa
Advocate
Advocate


Joined: 14 Aug 2005
Posts: 2929
Location: Edge of marsh USA

PostPosted: Wed Jun 16, 2021 3:08 am    Post subject: Reply with quote

Do you have sane and modern BIOS settings?

ADDED a moment later: Have you run any other Linux on this laptop? You can learn a lot by doing so.
_________________
Andy Figueroa
hp pavilion hpe h8-1260t/2AB5; spinning rust x3
i7-2600 @ 3.40GHz; 16 gb; Radeon HD 7570
amd64/17.1/desktop (stable), OpenRC, -systemd -pulseaudio -uefi
Back to top
View user's profile Send private message
fatpenguin
n00b
n00b


Joined: 12 Jun 2021
Posts: 6

PostPosted: Wed Jun 16, 2021 8:43 am    Post subject: Reply with quote

figueroa wrote:
Do you have sane and modern BIOS settings?

ADDED a moment later: Have you run any other Linux on this laptop? You can learn a lot by doing so.


The BIOS is modern, the laptop is a brand new HP and all parameters are left as default, I only disabled secureboot. Most importantly, I have tried countless distros on this laptop and they all worked. Also, I forgot to say that I have to disable udev.-settle service from sysinit runlevel. Here is the ACPI section of my kernel configuration:
Code:
#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_AUTOSLEEP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
CONFIG_PM_WAKELOCKS_GC=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_CLK=y
CONFIG_PM_GENERIC_DOMAINS=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
CONFIG_ENERGY_MODEL=y
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_TINY_POWER_BUTTON=m
CONFIG_ACPI_TINY_POWER_BUTTON_SIGNAL=38
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_TAD=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
# CONFIG_ACPI_CUSTOM_METHOD is not set
CONFIG_ACPI_BGRT=y
CONFIG_ACPI_NFIT=m
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_HMAT=y
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
# CONFIG_ACPI_APEI_EINJ is not set
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
CONFIG_ACPI_DPTF=y
CONFIG_DPTF_POWER=m
CONFIG_DPTF_PCH_FIVR=m
CONFIG_ACPI_WATCHDOG=y
CONFIG_ACPI_EXTLOG=m
CONFIG_ACPI_ADXL=y
CONFIG_ACPI_CONFIGFS=m
CONFIG_PMIC_OPREGION=y
# CONFIG_XPOWER_PMIC_OPREGION is not set
# CONFIG_BXT_WC_PMIC_OPREGION is not set
CONFIG_CHT_DC_TI_PMIC_OPREGION=y
CONFIG_X86_PM_TIMER=y
CONFIG_SFI=y
Back to top
View user's profile Send private message
fatpenguin
n00b
n00b


Joined: 12 Jun 2021
Posts: 6

PostPosted: Fri Jun 18, 2021 8:15 pm    Post subject: Reply with quote

Digging deeper I got this dmesg output:
Code:
[    0.471298] pci 0000:00:15.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    2.933527] pcieport 0000:00:13.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    2.933742] pcieport 0000:00:13.2: can't find IRQ for PCI INT C; please try using pci=biosirq
[    2.933894] pcieport 0000:00:13.3: can't find IRQ for PCI INT D; please try using pci=biosirq
[    2.934060] pcieport 0000:00:14.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    2.934224] pcieport 0000:00:14.1: can't find IRQ for PCI INT B; please try using pci=biosirq
[    2.957370] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.962872] mei_me 0000:00:0f.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    3.486314] i915 0000:00:02.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    3.695560] r8169 0000:02:00.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    3.709168] r8169 0000:02:00.0 eth0: RTL8168h/8111h, 6c:02:e0:d9:3b:06, XID 541, IRQ 23
[    3.714737] ahci 0000:00:12.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    3.719971] xhci_hcd 0000:00:15.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    6.078622] intel-lpss 0000:00:17.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    6.078662] intel-lpss 0000:00:17.3: can't find IRQ for PCI INT D; please try using pci=biosirq
[    6.093439] proc_thermal 0000:00:00.1: can't find IRQ for PCI INT B; please try using pci=biosirq
[    6.106139] i801_smbus 0000:00:1f.1: can't find IRQ for PCI INT A; please try using pci=biosirq
[    6.341593] snd_hda_intel 0000:00:0e.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    6.611396] rtw_8821ce 0000:05:00.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[    6.767063] rtl8821ce 0000:05:00.0: can't find IRQ for PCI INT A; please try using pci=biosirq

So yes, there is something wrong with IRQ and btw "pci=biosirq" doesn't work.
Back to top
View user's profile Send private message
figueroa
Advocate
Advocate


Joined: 14 Aug 2005
Posts: 2929
Location: Edge of marsh USA

PostPosted: Fri Jun 18, 2021 8:46 pm    Post subject: Reply with quote

Install the binary Gentoo kernel, see what you can learn from it.
Code:
sys-kernel/gentoo-kernel-bin

_________________
Andy Figueroa
hp pavilion hpe h8-1260t/2AB5; spinning rust x3
i7-2600 @ 3.40GHz; 16 gb; Radeon HD 7570
amd64/17.1/desktop (stable), OpenRC, -systemd -pulseaudio -uefi
Back to top
View user's profile Send private message
fatpenguin
n00b
n00b


Joined: 12 Jun 2021
Posts: 6

PostPosted: Sun Jun 20, 2021 3:38 pm    Post subject: Reply with quote

Thanks but unfortunately this didn't work too. I had to downgrade the kernel to an old lts branch and the problem is gone for now. The thread can be marked as (half-) solved.
Back to top
View user's profile Send private message
Goverp
Veteran
Veteran


Joined: 07 Mar 2007
Posts: 1973

PostPosted: Sun Jun 20, 2021 3:48 pm    Post subject: Reply with quote

ACPI and APIC are not related apart from being anagrams...
A quote from RedHat
Quote:
APIC stands for Advanced Programmable Interrupt Controller.

APIC is the replacement for the old PIC chip that, in the past, was embedded on motherboards and allowed the configuration of interrupts for peripherals like soundcards, IDE controllers, sharing/redirecting of interrupts. Disabling APIC removes the ability to make use of IRQ sharing or device IRQ remapping.

noapic explains your IRQ issues.

I'd have a further dig around IRQ processing, rather than ACPI (which is basically power management). I've no experience or knowledge of APIC/IRQ so I can't help. It might be worth Googling on linux and your HP model number to see if there are configuration hints around.

As figueroa said, you can learn a lot from other distros. You could boot one and copy its dmesg output to file, then boot Gentoo and do likewise and compare the results using kdiff3 or some other tool appropriate to your desktop. There will probably be a lot of noise, though.
_________________
Greybeard
Back to top
View user's profile Send private message
fatpenguin
n00b
n00b


Joined: 12 Jun 2021
Posts: 6

PostPosted: Mon Jun 21, 2021 10:07 am    Post subject: Reply with quote

I have found an interesting tutorial that helped me at least pinpoint my problem:
https://habr.com/en/post/501660/
So it looks like ACPI does indeed an important job for IRQ routing. So if I only use the "acpi=noirq" option, ACPI will handle routing but with the help of MPtable instead of ACPI tables themselves. However this wasn't enough and I had to add "noapic". Why? Because the system couldn't find the MPtable for some reason and routing had to be handled by PIC with the help of $PIR table. Why did this occur is entirely beyond my knowledge, but because simply downgrading the kernel worked, my humble guess is that it's more a bug in the kernel than anything else. The fact that all the other distros boot normally (Even the binary Gentoo-based Calculate Linux! :D ) mean that maybe they have added some patch to their kernel that I don't know. However, I think that sticking with the LTS kernel should be the best option for now, if everything works as expected. I will check the new 5.12 branch when it's ready.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum