RTC Treiber neu starten
Posted: 14 Nov 2022, 11:56
Moin zusammen,
ich habe ein Problem mit der Real Time Clock festgestellt. Und zwar wenn das Revolutionpi Core 3+ nach längerer Nichtbenutzung neu gestartet wird, kann die RTC nicht vom Treiber gelesen werden, scheinbar weil sich die Kapazität noch auflädt. Der Kernel gibt in diesem Fall folgende Fehlermeldung:
Nach einem Reboot funktioniert dann alles wieder:
Nun möchte ich per Skript checken, ob die RTC richtig initialisiert wurde und ggf. den Treiber neu laden, um ein Reboot zu vermeiden.
Allerdings bereitet mir das Laden des Treibers zur Laufzeit Probleme.
Laut Devicetree wird der Treiber "pcf2129" genutzt, welcher einen alias des "rtc_pcf2127" Treiber darstellt.
Daher kam mir die Idee, das Kernel Modul "rtc_pcf2127" mit modprobe neu zu laden:
Allerdings scheint das Laden mit modprobe nicht geklappt zu haben, da mit dmesg im kernel log nichts geschrieben wurde und auch lsmod nicht anzeigt, dass das Modul geladen wurde. Modprobe selber liefert kein Ausgabe
Interessanterweise schreibt modinfo, dass das Modul nicht gefunden wurde:
Nach etwas herumprobieren habe ich herausgefunden, dass der pcf2127 Treiber in den Modulen für die Kernelversion "v7l" enthalten sind (unter /lib/modules/5.10.103-rt62-v7l/kernel/drivers/rtc/), der laufende Kernel hat aber die Version "v7".
modprobe -S Kernelversion hat auch nicht geklappt
bzw. Logeintrag im dmesg:
Wie kann ich nun den Treiber der RTC zur Laufzeit neu laden?
Danke im Voraus für jegliche Tipps und Hinweise!
Liebe Grüße
Torben
ich habe ein Problem mit der Real Time Clock festgestellt. Und zwar wenn das Revolutionpi Core 3+ nach längerer Nichtbenutzung neu gestartet wird, kann die RTC nicht vom Treiber gelesen werden, scheinbar weil sich die Kapazität noch auflädt. Der Kernel gibt in diesem Fall folgende Fehlermeldung:
Code: Select all
[ 2.814106] rtc-pcf2127-i2c: probe of 1-0051 failed with error -121
Nach einem Reboot funktioniert dann alles wieder:
Code: Select all
[ 2.935838] rtc-pcf2127-i2c 1-0051: oscillator stop detected, date/time is not reliable
[ 2.936073] rtc-pcf2127-i2c 1-0051: registered as rtc0
[ 2.937195] rtc-pcf2127-i2c 1-0051: oscillator stop detected, date/time is not reliable
[ 2.937202] rtc-pcf2127-i2c 1-0051: hctosys: unable to read the hardware clock
Nun möchte ich per Skript checken, ob die RTC richtig initialisiert wurde und ggf. den Treiber neu laden, um ein Reboot zu vermeiden.
Allerdings bereitet mir das Laden des Treibers zur Laufzeit Probleme.
Laut Devicetree wird der Treiber "pcf2129" genutzt, welcher einen alias des "rtc_pcf2127" Treiber darstellt.
Daher kam mir die Idee, das Kernel Modul "rtc_pcf2127" mit modprobe neu zu laden:
Code: Select all
>>sudo modprobe rtc_pcf2127 -v
Allerdings scheint das Laden mit modprobe nicht geklappt zu haben, da mit dmesg im kernel log nichts geschrieben wurde und auch lsmod nicht anzeigt, dass das Modul geladen wurde. Modprobe selber liefert kein Ausgabe
Interessanterweise schreibt modinfo, dass das Modul nicht gefunden wurde:
Code: Select all
>>modinfo rtc_pcf2127
modinfo: ERROR: Module rtc_pcf2127 not found.
modprobe -S Kernelversion hat auch nicht geklappt
Code: Select all
>>sudo modprobe -S 5.10.103-rt62-v7l rtc-pcf2127 -v
insmod /lib/modules/5.10.103-rt62-v7l/kernel/drivers/base/regmap/regmap-spi.ko
modprobe: ERROR: could not insert 'rtc_pcf2127': Exec format error
Code: Select all
[15818.711307] regmap_spi: disagrees about version of symbol module_layout
Wie kann ich nun den Treiber der RTC zur Laufzeit neu laden?
Danke im Voraus für jegliche Tipps und Hinweise!
Liebe Grüße
Torben