hwclock with 2.6.31 not changing rtc

I've got a curious situation. I can run hwclock -w on the beagle while running
a 2.6.31 kernel, and it appears to succeed, but the time on the hardware clock
does not change. I've run hwclock through strace, and the ioctl to set the
time is returning zero == success, but when I then query the clock again, the
time has not changed.

I'm running jaunty, installed following elinux.org/BeagleBoardUbuntu.

The really strange thing is that the same executable, from the same rootfs
*does* work (change the rtc time) if I boot from a 2.6.29 kernel.

I looked through the kernel driver, and the rtc_twl4030 module has not changed
significantly since the 2.6.29 release.

Has anyone else experienced this? Had any luck getting it to work?


Hi Cameron,

Seems to be working for me..

voodoo@beagle-256mb-0:~$ uname -a
Linux beagle-256mb-0 #1 PREEMPT Fri Nov 6 20:48:13 UTC
2009 armv7l GNU/Linux

voodoo@beagle-256mb-0:~$ date
Mon Nov 9 08:44:33 CST 2009

voodoo@beagle-256mb-0:~$ sudo hwclock
Fri 31 Dec 1999 09:39:54 PM CST -0.132569 seconds

voodoo@beagle-256mb-0:~$ dmesg | grep rtc
[ 31.886413] twl4030_rtc twl4030_rtc: rtc core: registered twl4030_rtc as rtc0
[ 32.200744] twl4030_rtc twl4030_rtc: Power up reset detected.
[ 32.345825] twl4030_rtc twl4030_rtc: Enabling TWL4030-RTC.

voodoo@beagle-256mb-0:~$ sudo hwclock --show
Fri 31 Dec 1999 09:40:57 PM CST -0.793976 seconds

voodoo@beagle-256mb-0:~$ sudo hwclock -w

voodoo@beagle-256mb-0:~$ sudo hwclock --show
Mon 09 Nov 2009 08:46:10 AM CST -0.491730 seconds


I'm not getting some of those messages in dmesg. I'm using the same kernel
(from your bazaar repository). Could you please mail your config?


Okay, it's working for me now. I had to disable OMAP_MUX in the kernel
build, and it started working.

Don't know if this is a bug, or I just didn't setup muxing properly.