Loss of RTC Device Node
At work we have two workstations with aging motherboards. With Debian 10 the /dev/rtc0
device node no longer is created. The system previously ran Ubuntu MATE 16.04 and the node was created.
Ubuntu 16.04 uses a 4.4 kernel. Debian 10 uses a 4.19 kernel. Likely in the development between the two kernels ACPI support became more strict and causes the failure to create the device node.
Related log entries include:
ACPI Error: Method parse/execution failed \_SB.PCI0.LEG0.HPET._CRS, AE_NOT_FOUND (20180810/psparse-516) ACPI Error: Method parse/execution failed \_SB.PCI0.LEG0.HPET._STA, AE_NOT_FOUND (20180810/psparse-516) ACPI Error: Method parse/execution failed \_SB.PCI0.LEG0.RTC._CRS, AE_NOT_FOUND (20180810/psparse-516) ACPI Error: Method parse/execution failed \_SB.PCI0.LEG0.TMR._CRS, AE_NOT_FOUND (20180810/psparse-516) ACPI BIOS Error (bug): Could not resolve [\_SB.PCI0.LEG0.RTC._CRS.HPTF], AE_NOT_FOUND (20180810/psargs-330) rtc_cmos 00:02: RTC can wake from S4 hctosys: unable to open rtc device (rtc0)
cat /proc/ioports | grep -i rtc
is empty.
The loss of the device node is not the end of the world but is annoying when previously functional. We were using RTC to self awaken workstations in the mornings. A temporary work-around was sending a WOL magic packet from another workstation that did not have this RTC quirk.
I played with various boot parameters and different Live ISO images. Boot, reboot, boot, reboot....
The acpi=off
and pnpacpi=off
boot parameters avoided the original problem of no /dev/rtc0
device node. The first parameter is an unacceptable sledge hammer. For several days I tested the second parameter.
At least now the device node is created and the workstations self-awaken.
Somewhere between the 4.4 and 4.18 kernels something changed with the ACPI support that causes this missing /dev/rtc0
quirk. I tested a 5.4 kernel and the quirk happened with that version too.
Some vendors take shortcuts with non standard ACPI tables. Likely the target motherboards do not have compliant ACPI tables that cause newer kernels to barf.
Posted: Usability Tagged: Debian
Category:Next: Dualing Notification Daemons
Previous: Style Guides