Skip to content

/dev/alarm no longer works for setting the time #23

Description

@aecolley

NTPSync silently fails to set the time on my SGH-T889 (a T-Mobile-dehanced Samsung Galaxy Note 2), creating log entries like this:

E/DatabaseUtils( 3612): Writing exception to parcel
E/DatabaseUtils( 3612): java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
E/DatabaseUtils( 3612): at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13175)
E/DatabaseUtils( 3612): at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2044)
E/DatabaseUtils( 3612): at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:615)
E/DatabaseUtils( 3612): at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
E/DatabaseUtils( 3612): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
E/DatabaseUtils( 3612): at android.os.Binder.execTransact(Binder.java:388)
E/DatabaseUtils( 3612): at dalvik.system.NativeStart.run(Native Method)
W/ActivityManager( 3612): Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
[...]
D/SystemClock( 7840): Setting time of day to sec=1410443164
D/SystemClock( 7840): Trying to open a file
E/SystemClock( 7840): File Open Failed
W/SystemClock( 7840): Unable to open alarm driver: Permission denied

The SuperSU log clearly shows NTPSync successfully chmoding /dev/alarm to mode 666 and back. Oddly, there are no log entries with the tag NTPSync and I haven't been able to trigger the making of any Debug-level entries with /data/local.prop.

A StackExchange answer lays out the /dev/alarm technique, but goes on to claim that on newer Samsung firmwares, it doesn't work because of SELinux restrictions, and that use of date is needed.

So, how about some use of date if setCurrentTimeMillis fails? Or at least an error message.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions