This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x System date changes after reboot



Hi All,

I am working on a prototype board based on Beagle Bone Black running TI SDK 8.00. During one of the tests, we came across SysRq and subsequently the system reboots with a change in the system date and time. 

Given below are the logs: 

Jan  1 00:00:15.181 root: Trying to set default year as 2015. Resetting system date and time to 2015-01-15

Jan 15 00:00:00.225 SoftwareUpgrade: I : mmc_auto_mount.sh:LINENO: Finding mount path

Jan 15 00:00:00.516 root: SoftwareUpgrade: Current boot partition is 3
Jan 15 00:00:00.593 SoftwareUpgrade: I : P032_Update_Bootvariable.sh:LINENO: Disable write protect echo 0 > /sys/block/mmcblk0boot1/force_ro
Jan 15 00:00:00.654 SoftwareUpgrade: I : P032_Update_Bootvariable.sh:LINENO: Set the applaunchcount variable to 0
Jan 15 00:00:00.755 SoftwareUpgrade: I : P032_Update_Bootvariable.sh:LINENO: Enable write protect echo 1 > /sys/block/mmcblk0boot1/force_ro
Jan 15 00:00:00.780 kernel: [ 15.642841] (stk) :ldisc_install = 1(stk) :ldisc installation timeout
Jan 15 00:00:00.806 SoftwareUpgrade: I : P032_Update_Bootvariable.sh:LINENO: Sync the files /bin/sync
Jan 15 00:00:00.846 SoftwareUpgrade: I : P032_Update_Bootvariable.sh:LINENO: Sync the values to mmc
Jan 15 00:00:01.780 kernel: [ 16.642433] (stk) :ldisc_install = 0(stk) : timed out waiting for ldisc to be un-installed
Jan 15 00:00:01.951 kernel: [ 17.645696] Bluetooth: st_register failed -22
Jan 15 00:00:02.50 SoftwareUpgrade: I : P032_Update_Bootvariable.sh:LINENO: 'applaunchcount' Updated to '0' Successfully
Jan 15 00:00:02.340 root: Startup.sh: Launching Tunstall Application 0...
Jan 15 00:00:03.932 P032_App: C : main:26 : Application caught signal 11
Jan 15 00:02:09.549 kernel: [ 145.409774] libphy: 4a101000.mdio:01 - Link is Down
Jan 15 00:02:10.305 ifplugd(eth0): link is down
Jan 15 00:02:15.312 ifplugd(eth0): executing '/etc/ifplugd/ifplugd.action eth0 down'
Jan 15 00:02:15.751 ifplugd(eth0): exit code: 0
Jan 15 00:02:16.760 ifplugd(eth0): upping interface
Jan 15 00:02:16.761 kernel: [ 152.622587] net eth0: initializing cpsw version 1.12 (0)
Jan 15 00:02:16.857 kernel: [ 152.709930] net eth0: phy found : id is : 0x20005c90
Jan 15 00:02:16.869 kernel: [ 152.715313] net eth0: PHY already attached
Jan 15 00:02:16.869 kernel: [ 152.719699] net eth0: phy 4a101000.mdio:01 not found on slave 1
Jan 15 00:09:32.779 kernel: [ 588.614555] SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p)
Feb 17 19:18:07.885 syslogd started: BusyBox v1.23.2
Feb 17 19:18:07.984 kernel: klogd started: BusyBox v1.23.2 (2015-11-12 18:25:55 IST)
Feb 17 19:18:08.7 SoftwareUpgrade: I : mmc_auto_mount.sh:LINENO: Finding mount path
Feb 17 19:18:08.26 kernel: [ 0.000000] Booting Linux on physical CPU 0x0
Feb 17 19:18:08.30 SoftwareUpgrade: I : mmc_auto_mount.sh:LINENO: Finding mount path
Feb 17 19:18:08.34 kernel: [ 0.000000] Linux version 3.14.26-3.0.14 (telxsi@telxsi) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 Tue May 17 12:56:56 IST 2016
Feb 17 19:18:08.34 kernel: [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
Feb 17 19:18:08.35 kernel: [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Feb 17 19:18:08.35 kernel: [ 0.000000] Machine model: Tunstall Lifeline
Feb 17 19:18:08.35 kernel: [ 0.000000] cma: CMA: reserved 24 MiB at 9e000000
Feb 17 19:18:08.35 kernel: [ 0.000000] Memory policy: Data cache writeback
Feb 17 19:18:08.36 kernel: [ 0.000000] On node 0 totalpages: 130816

It can be seen that before reboot, system date is Jan 15. However after reboot, system date changes to Feb 17.

We have the following queries:

1. What could be the cause of SysRq?

2. Why does the system date changes from Jan 15 to Feb 17?

Thanks,

Sridhar CR

  • Hi,

    I will ask the software team to comment. I don't see how you set system time from this log.
  • Hi Biser,

    We use "date -s" command to set the system time.
  • Hello Sridhar,

    When the system hung or not working this SysRq message is printed out by the kernel to help you to safely rescue the system.
    The system time probably has changed by this init.rc script:

    /etc/init.d/bootmisc.sh

    #
    # This is as good a place as any for a sanity check
    #
    # Set the system clock from hardware clock
    # If the timestamp is more recent than the current time,
    # use the timestamp instead.
    test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh start
    if test -e /etc/timestamp
    then
    	SYSTEMDATE=`date -u +%4Y%2m%2d%2H%2M`
    	read TIMESTAMP < /etc/timestamp
    	if [ ${TIMESTAMP} -gt $SYSTEMDATE ]; then
    		date -u ${TIMESTAMP#????}${TIMESTAMP%????????}
    		test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh stop
    	fi
    fi

    Since you have changed the date backward and the system crashed, during the boot up this script detects that the timestamp in /etc/timestamp is more recent and loads it.

    Best regards,
    Kemal