Thread (2 messages) 2 messages, 2 authors, 2017-06-26

Re: ps3 linux: os_area_queue_work_handler: Could not update FLASH ROM

From: Geoff Levand <geoff@infradead.org>
Date: 2017-06-26 17:24:54

Hi Sombat,

On 06/26/2017 02:26 AM, Sombat Tragolgosol wrote:
1) Is it normal for os_area_queue_work_handler: Could not update FLASH ROM?
You should try to find the exact cause of the error.  It could be due to a
corrupted os-area.
2) My Date time is not correct.  Is the problem is not able to update os-area data?

Here below is my rtc time problem.

RTC time is not proper value (lower than it should be).
(For GameOS , Date-Time is OK.)

Here is what I've tried
   1) lv1_get_rtc gets 205943663 (11 Jul 1976)
   2) saved_params.rtc_diff always is 946684800
        (205943663+946684800) = 11 Jul 2006
   So every time, my Linux is booted,  my year says 2006 and causes problem on clock skew.
   3) if I add 345746286 to rtc in read_rtc function in
      arch/powerpc/platforms/ps3/time.c and
      drivers/rtc/rtc-ps3.c
      (205943663+946684800+345746286) = 25 Jun 2017
   My boot time and date is acceptable for my temporary use.

   Do you have any proper solution? I don't want to modify source for my one rtc time problem?
Your problem is that the os-area database value is wrong and is not being set.

The RTC hardware of the PS3 cannot be reset, so each OS (game-os and Linux) needs
to maintain a difference between the hardware RTC value and the value it
uses for time.

A read-only copy of the game-os diff is put at os_area_params.rtc_diff.  You can read
that with 'ps3-flash-util --game-time'. For Linux we keep that difference in the
os-area database (db_area_offset + OS_AREA_DB_OWNER_LINUX + OS_AREA_DB_KEY_RTC_DIFF).

See:

  https://www.kernel.org/pub/linux/kernel/people/geoff/cell/ps3-linux-docs/PlatformSpecificUtilities.html

First you should try to set the os-area value with 'ps3-rtc-init --force'.  Look at
the ps3-rtc-init source to see how to set the rtc diff value yourself:

  https://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-utils.git/tree/ps3-rtc-init.in#n69

Maybe you need to re-format the os-area database 'ps3-flash-util ----db-format'.  Make
a backup first.  See '** backup flash data **' here:

  https://www.kernel.org/pub/linux/kernel/people/geoff/cell/ps3-howto/ps3-boot-recovery-howto.txt

-Geoff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help