FP Open OS: Clock resets after reboot

Ok, I’ve pushed the investigation forward. time_daemon and TimeService.apk are included in the build, as well as calling time_daemon restore on the init.qcom.rc (boot process). So, why are they not working?

I took a look at the system apps list and, surprise, TimeService (com.qualcomm.timeservice) is not installed. WTF! But it is on the system! Check it, /system/app/TimeService/TimeService.apk!

So I tried to debug by installing it manually. I opened Termux, and ran:

$ su
# pm install /system/app/TimeService/TimeService.apk
pkg: /system/app/TimeService/TimeService.apk
Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]

¡Ahá! There’s the problem. A permission/signing key issue. But I cannot investigate further because, as you now, closed source code is not reviewable (I can’t see what the AndroidManifest.xml says, :angry:). All this Qcom time thingies are part of the FP2 blobs.

PD: there’s useful Android permissions information at /data/system/packages.xml, FYI. Time info seems to be saved on a binary file at /data/time/ats_13

7 Likes