Comment 20 for bug 1802233

Manoj Iyer (manjo) wrote :

Sorry did not realize that all the comments were not correctly mirrored over. A launchpad bug was reported by the Ubuntu kernel team as a result of their testing in the lab. We were not sure if this was a BMC issue, a hardware issue or kernel bug, so there is no github report as of now. If you think this is related to the BMC I can open a github bug. Also please tell us how to open bugs for BMC on Bostons.

== P9 Boston ==
There seems to be a delay between setting the hwclock and reading from it.
ubuntu@tiselius:~$ sudo /sbin/hwclock --set --date "2004/11/21 04:10:00"; sudo strace -e ioctl "/sbin/hwclock"
ioctl(4, RTC_UIE_ON) = -1 EINVAL (Invalid argument)
ioctl(4, RTC_RD_TIME, {tm_sec=0, tm_min=10, tm_hour=4, tm_mday=21, tm_mon=10, tm_year=104, ...}) = 0
ioctl(4, RTC_RD_TIME, {tm_sec=0, tm_min=10, tm_hour=4, tm_mday=21, tm_mon=10, tm_year=104, ...}) = 0

when the hwclock command fails, the ioctl that fails is RTC_RD_TIME.. but running it with --verbose probably gives it just enough time to complete the sync.

Or you could use the command as follows:
ubuntu@tiselius:~$ sudo /sbin/hwclock --set --date "2004/11/22 04:10:00"; sudo /sbin/hwclock --delay=0.5
2004-11-22 04:09:59.898618+00:00

== P9 Witherspoon ==
On the Witherspoon the hwclock does not seem to set at all.

ubuntu@bobone:~$ uname -a
Linux bobone 4.18.0-18-generic #19~18.04.1-Ubuntu SMP Fri Apr 5 10:21:11 UTC 2019 ppc64le ppc64le ppc64le GNU/Linux

ubuntu@bobone:~$ sudo /sbin/hwclock --set --date "2004/11/22 04:10:00"; sudo /sbin/hwclock
2019-05-15 14:36:33.802253+0000

ubuntu@bobone:~$ sudo /sbin/hwclock --set --date "2004/11/22 04:10:00"; sudo /sbin/hwclock --debug
hwclock from util-linux 2.31.1
System Time: 1557931207.255519
Trying to open: /dev/rtc0
Using the rtc interface to the clock.
Last drift adjustment done at 1101096600 seconds after 1969
Last calibration done at 1101096600 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
ioctl(4, RTC_UIE_ON, 0): Invalid argument
Waiting in loop for time from /dev/rtc0 to change clock tick
Time read from Hardware Clock: 2019/05/15 14:40:08
Hw clock time : 2019/05/15 14:40:08 = 1557931208 seconds since 1969
Time since last adjustment is 456834608 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2019-05-15 14:40:07.171582+0000