ps3 linux: os_area_queue_work_handler: Could not update FLASH ROM
Geoff Levand
geoff at infradead.org
Tue Jun 27 03:24:54 AEST 2017
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
More information about the Linuxppc-dev
mailing list