#12660 NORM 13.2.0: XO-1.5 time reset problem with year

Zarro Boogs per Child bugtracker at laptop.org
Mon Apr 29 18:29:05 EDT 2013


#12660: XO-1.5 time reset problem with year
-------------------------------------------+--------------------------------
           Reporter:  dsd                  |       Owner:  Quozl        
               Type:  defect               |      Status:  new          
           Priority:  normal               |   Milestone:  13.2.0       
          Component:  ofw - open firmware  |     Version:  not specified
         Resolution:                       |    Keywords:               
        Next_action:  package              |    Verified:  0            
Deployment_affected:                       |   Blockedby:               
           Blocking:                       |  
-------------------------------------------+--------------------------------

Comment(by Quozl):

 A risk with any "insurance" mechanisms is false positives.  For instance,
 the day of week register is not set by Open Firmware, but is set by Linux,
 so if we checked for valid day of week we might reset the clock on laptops
 that have not yet had their time set by Linux.

 The tests you mention are in svn 3649 already.

 The remaining undetectable corruption is possibly due to the shadow
 register copy triggering when voltage is nearly gone.  It causes values
 from the least significant registers to be copied verbatim into the most
 significant registers.  When the bit pattern is indistinguishable from a
 valid date and time, the code cannot detect the corruption.  To
 illustrate, here are the summary results of my test "run-d":
 http://dev.laptop.org/~quozl/z/1UWwNt.txt

 The columns are:
  * duration of power down, in seconds,
  * the time_t of the test in my raw logs,
  * the time taken to boot, in seconds,
  * the first 16 register values in the RTC, after the amnesia check is
 done, (seconds, alarm seconds, minutes, alarm minutes, hours, alarm hours,
 day of week, day of month, month, year, register a, b, c, d, first two
 SRAM locations),
  * a series of analysis tags; ''reinit'' means the amnesia test triggered
 and the date and time was reset, ''bad-dt'' means the date and time are
 not valid (they were set to a specific value unrelated to the time_t), and
 ''bad-sram'' means the bit pattern in the first two SRAM locations had
 rotted.

 Observe how the duration of the power down affects the corruption.  This
 test was without a battery, but the same sort of thing is expected to
 occur with a discharged battery, over a longer time period.

-- 
Ticket URL: <http://dev.laptop.org/ticket/12660#comment:5>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list