[LEDE-DEV] [PATCH] base-files: sysfixtime: Allow system time in local timezones
John Crispin
john at phrozen.org
Thu Oct 27 03:13:25 PDT 2016
On 21/10/2016 10:31, Petr Štetiar wrote:
> Daniel Dickinson <lede at cshore.thecshore.com> [2016-10-20 16:47:09]:
>
>> On Wed, 19 Oct 2016 22:05:43 +0200
>> Petr Štetiar <ynezz at true.cz> wrote:
>>
>>> Felix Fietkau <nbd at nbd.name> [2016-10-19 21:44:06]:
>>>
>>>> I'd like to know why you need to use local time for the RTC, I think
>>>> that's rather uncommon.
>>>
>>> You mean system time in local time, right? RTC should be in UTC and
>>> in current sysftime isn't. Basically sysfixtime should be using
>>> hwclock with -u parameter from the same beginning as the kernel
>>> doesn't expect time in RTC to be in other timezone.
>>>
>>> Believe it or not, I've some users which are used to have system time
>>> on their desktop Linux machines in local timezone and they expect the
>>> same from the Linux on embedded devices. It's hard, I know :-)
>>
>> Have you ever looked at UCI config for /etc/config/system? There is
>> the option to set the system timezone there. No need to hack hwclock.
>
> I know, that I can't write meaningful commit messages, sorry for that. I'll
> try to explain it again.
>
> Please take a look at hwclock, you've to tell it via -u command line option,
> that your RTC is keeping time in UTC, otherwise it will happily use whatever
> time your system uses and your time is screwed (no time conversion happens).
>
> I've following in the setup script:
>
> uci set system. at system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3'
> uci set system. at system[0].zonename='Europe/Prague'
>
> I've this RTC setup:
>
> rtc-ds1307 3-006f: rtc core: registered mcp7941x as rtc0
> snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc1
>
> Then you can experience following (current time is 10:15am):
>
> $ date
> Fri Oct 21 10:15:07 CEST 2016
>
> $ hwclock -r -f /dev/rtc0
> Fri Oct 21 08:14:46 2016 0.000000 seconds
>
> $ hwclock -u -r -f /dev/rtc0
> Fri Oct 21 10:14:46 2016 0.000000 seconds
>
> And after current borken sysfixtime:
>
> $ /etc/init.d/sysfixtime stop
>
> $ date
> Fri Oct 21 10:15:25 CEST 2016
>
> $ hwclock -r -f /dev/rtc0
> Fri Oct 21 10:15:31 2016 0.000000 seconds
>
> Now you've time in your battery backed RTC in CEST timezone instead of UTC. Is
> the problem more clear now?
>
> Again, wbut ith my patched sysfixtime, using hwclock -u parameter:
>
> $ /etc/init.d/sysfixtime stop
>
> $ date
> Fri Oct 21 10:15:53 CEST 2016
>
> $ hwclock -r -f /dev/rtc0
> Fri Oct 21 08:15:55 2016 0.000000 seconds
>
> -- ynezz
>
patch looks good to me. please however make a change
+ 'rtc_utc:bool:0'
replace with
+ 'rtc_utc:bool:1'
this will make the clock UTC by default
John
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
>
More information about the Lede-dev
mailing list