hwclock -r 不起作用,但 RTC 似乎没问题

hwclock -r 不起作用,但 RTC 似乎没问题

我在 Raspberry Pi 4 上安装了 Debian/Raspbian buster Linux,并连接了 isl1208 RTC。我认为 RTC 本身可以工作:当内核模块禁用时,我可以直接使用 python 脚本读取它

systemd timedatectl

命令显示 RTC 时钟和

/sys/bus/i2c/devices/i2c-1/1-006f/rtc/rtc0/time

显示时间。

hwclock -r不起作用

$ sudo hwclock -r
hwclock: select() to /dev/rtc0 to wait for clock tick timed out

hwclock应在启动期间使用 RTC 设置系统时间。

任何想法为什么hwclock -r不起作用?或者应该有其他方法在启动期间从 RTC 设置系统时间?

编辑1:

看来systemd可以读取RTC,因为systemd-timedated只对/dev/rtc进行读取操作,效果很好。

hwclock -r 在从 /dev/rtc 读取时间之前首先执行synchronize_to_clock_tick_rtc,其中进程等待中断,但该中断永远不会到来。

所以我想知道更新中断是否应该适用于 isl1208 和 RasPi,其中 RTC i2c IC 和 RasPi 之间只有 i2c 连接?

答案1

解决方法是使用 busybox 中的 hwclock,它不执行同步过程。

答案2

你试过吗:

sudo i2cdetect -y 1

您应该看到出现一堵文本墙,如果出现 UU 而不是 68,则我们已成功加载 RTC 电路的内核驱动程序

如果你的 RTC 是正确的,也许你错过了:

sudo hwclock -w

该命令会将时间从 Raspberry Pi 写入 RTC 模块。

详细步骤: https://pimylifeup.com/raspberry-pi-rtc/ 或者 https://www.instructables.com/id/Set-up-Real-Time-Clock-RTC-on-Raspberry-Pi/

相关内容