I would like to ask for help with get root access for AOSP apk broadcast receiver.
I need receive event for change date/time and I need run my shell command for write system time to hardware RTC.
I have chosen follow principe:
- I wrote Android myBR.apk in AOSP with broadcast receiver for TIME_SET, TIMEZONE_CHANGED
- From myBR.apk I run my shell command (rtcclock -w)
- "rtcclock -w" shell command which is write system time from Android to RTC via /dev/rtc0 -> ioctl( i2c )
My problem is:
==============
I need run shell command rtcclock from AOSP myBR.apk as root.
My all attempts were unsuccessful.
I would like to ask for help from some experts how can I resolve this problem.
Environment info (everything in Android shell terminal)
=======================================================
Android device is not rooted
Permissions for su shell command
$ ls -lZ /system/xbin/su
-rwsr-x--- root shell ubject_r:su_exec:s0 su
SELinux status
$ getenforce
Disabled
Super user information
$ su
# id
uid=0(root) gid=0(root) groups=1007(log)
Android version
$ cat /system/build.prop | grep "ro.build.version.release"
ro.build.version.release=5.1.1
Kernel version
$ cat /proc/version
Linux version 3.4.39 .....
Permissions for rtcclock shell command
$ ls -l /system/bin/rtcclock
-rwxr-xr-x root shell 13672 2017-10-18 09:53 rtcclock
Example for try write system time from Android to RTC as user = shell from
$ rtcclock -w
rtcclock: can't open '/dev/misc/rtc': No such file or directory
Example for try write system time from Android to RTC as user = system
$ su system
$ rtcclock -w
rtcclock: ioctl 0x4024700a failed: Permission denied
Example for try write system time from Android to RTC as user = root
$ su
# rtcclock -w
successfull
My source code:
MyBroadcastReceiver.java
========================
package com.example.mybr;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
public class MyBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "MyBroadcastReceiver";
public MyBroadcastReceiver() {
super();
Log.i( TAG, "MyBroadcastReceiver - created" );
}
@override
public void onReceive( Context context, Intent intent )
{
final String intentAction = intent.getAction();
boolean bResult = false;
if( intentAction.equals( Intent.ACTION_TIME_CHANGED ) ||
intentAction.equals( Intent.ACTION_TIMEZONE_CHANGED ) )
{
bResult = runCmd( "sh", "id" );
Log.i( TAG, "bResult = " + bResult );
bResult = runCmd( "su", "id" );
Log.i( TAG, "bResult = " + bResult );
bResult = runCmd( "su", "rtcclock -w" );
Log.i( TAG, "bResult = " + bResult );
}
}
public static boolean runCmd( String...commands )
{
boolean bResult = false;
try
{
Process prcs = Runtime.getRuntime().exec( commands[ 0 ] );
DataOutputStream cmdStream = new DataOutputStream( prcs.getOutputStream() );
DataInputStream resStream = new DataInputStream( prcs.getInputStream() );
DataInputStream errStream = new DataInputStream( prcs.getErrorStream() );
if( cmdStream != null && resStream != null && errStream != null )
{
for( int n = 1; n < commands.length; n++ )
{
Log.d( TAG, "cmd: " + commands[ n ] );
cmdStream.writeBytes( commands[ n ] + "\n" );
cmdStream.flush();
do
{
String outputResult = resStream.readLine();
Log.d( TAG, "cmd result: " + outputResult );
} while( resStream.available() > 0 );
while( errStream.available() > 0 )
{
String outputResult = errStream.readLine();
Log.d( TAG, "cmd error: " + outputResult );
}
}
bResult = true;
cmdStream.writeBytes( "exit\n" );
cmdStream.flush();
try
{
prcs.waitFor();
} catch( InterruptedException e )
{
Log.i( TAG, "!!! EXCEPTION_1 !!!" );
e.printStackTrace();
}
}
if( cmdStream != null )
{
cmdStream.close();
}
if( resStream != null )
{
resStream.close();
}
if( errStream != null )
{
errStream.close();
}
}
catch( IOException e )
{
Log.i( TAG, "!!! EXCEPTION_2 !!!" );
e.printStackTrace();
}
return( bResult );
}
}
AndroidManifest.xml
===================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="...schemas.android.com/apk/res/android"
package="com.example.mybr"
android:sharedUserId="android.uid.shell">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true">
<receiver
android:name=".MyBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.TIME_SET"/>
<action android:name="android.intent.action.TIMEZONE_CHANGED"/>
</intent-filter>
</receiver>
</application>
</manifest>
Android.mk
==========
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
# Only compile source java files in this apk.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := myBR
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_PATH := $(TARGET_OUT)/priv-app
include $(BUILD_PACKAGE)
# Use the following include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
Listing from logcat (as you can see su always failed)
===================
10-28 14:08:28.821 455-455/system_process I/PackageManager: /system/priv-app/myBR changed; collecting certs
10-28 14:08:28.855 455-455/system_process I/art: DexFile_isDexOptNeeded file /system/priv-app/myBR/arm/myBR.odex needs to be relocated for /system/priv-app/myBR/myBR.apk
10-28 14:08:42.875 455-455/system_process I/art: DexFile_isDexOptNeeded file /system/priv-app/myBR/arm/myBR.odex needs to be relocated for /system/priv-app/myBR/myBR.apk
10-28 14:08:42.876 455-455/system_process I/PackageManager: Running patchoat on: com.example.mybr
10-28 14:08:42.878 631-631/? E/installd: Running /system/bin/patchoat isa=arm in-fd=5 (/system/priv-app/myBR/arm/myBR.odex) out-fd=6 (/data/dalvik-cache/arm/[email protected]@[email protected]@classes.dex)
10-03 14:11:47.001 455-501/system_process I/ActivityManager: Start proc 1795:com.example.mybr/2000 for broadcast com.example.mybr/.MyBroadcastReceiver
10-03 14:11:47.115 455-499/system_process W/InputMethodManagerService: Window already focused, ignoring focus gain of: [email protected] attribute=null, token = [email protected]
10-03 14:11:47.181 1795-1795/com.example.mybr I/MyBroadcastReceiver: MyBroadcastReceiver - created
10-03 14:11:47.214 1795-1795/com.example.mybr D/MyBroadcastReceiver: cmd: id (added my note: runCmd( "sh", "id" )
10-03 14:11:47.268 1795-1795/com.example.mybr D/MyBroadcastReceiver: cmd result: uid=2000(shell) gid=2000(shell) groups=1015(sdcard_rw),1023(media_rw),1028(sdcard_r),3002(net_bt),3008(net_bt_stack),9997(everybody),42000(u0_a32000)
10-03 14:11:47.275 1795-1795/com.example.mybr I/MyBroadcastReceiver: bResult = true
10-03 14:11:47.297 1795-1795/com.example.mybr D/MyBroadcastReceiver: cmd: id (added my note: runCmd( "su", "id" )
10-03 14:11:47.306 1795-1795/com.example.mybr D/MyBroadcastReceiver: cmd result: null
10-03 14:11:47.309 1795-1795/com.example.mybr D/MyBroadcastReceiver: cmd error: su: permission denied (added mine detection: call function setgidI() return -1 from su.c)
10-03 14:11:47.310 1795-1795/com.example.mybr I/MyBroadcastReceiver: !!! EXCEPTION_2 !!!
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: java.io.IOException: write failed: EPIPE (Broken pipe)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at libcore.io.IoBridge.write(IoBridge.java:502)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at java.io.FileOutputStream.write(FileOutputStream.java:186)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at java.iutputStream.write(OutputStream.java:82)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at java.io.DataOutputStream.writeBytes(DataOutputStream.java:156)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at com.example.mybr.MyBroadcastReceiver.runCmd(MyBroadcastReceiver.java:77)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at com.example.mybr.MyBroadcastReceiver.onReceive(MyBroadcastReceiver.java:33)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at android.app.ActivityThread.handleReceiver(ActivityThread.java:2609)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at android.app.ActivityThread.access$1700(ActivityThread.java:151)
10-03 14:11:47.310 1795-1795/com.example.mybr W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at android.os.Looper.loop(Looper.java:135)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5254)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at java.lang.reflect.Method.invoke(Native Method)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: Caused by: android.system.ErrnoException: write failed: EPIPE (Broken pipe)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at libcore.io.Posix.writeBytes(Native Method)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at libcore.io.Posix.write(Posix.java:258)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at libcore.io.BlockGuardOs.write(BlockGuardOs.java:313)
10-03 14:11:47.311 1795-1795/com.example.mybr W/System.err: at libcore.io.IoBridge.write(IoBridge.java:497)
10-03 14:11:47.312 1795-1795/com.example.mybr W/System.err: ... 15 more
10-03 14:11:47.312 1795-1795/com.example.mybr I/MyBroadcastReceiver: bResult = true
10-03 14:11:47.337 1795-1795/com.example.mybr D/MyBroadcastReceiver: cmd: rtcclock -w (added my note: runCmd( "su", "rtcclock -w" )
10-03 14:11:47.340 1795-1795/com.example.mybr D/MyBroadcastReceiver: cmd result: null
10-03 14:11:47.342 1795-1795/com.example.mybr D/MyBroadcastReceiver: cmd error: su: permission denied (added mine detection: call function setgidI() return -1 from su.c)
10-03 14:11:47.342 1795-1795/com.example.mybr I/MyBroadcastReceiver: !!! EXCEPTION_2 !!!
10-03 14:11:47.342 1795-1795/com.example.mybr W/System.err: java.io.IOException: write failed: EPIPE (Broken pipe)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at libcore.io.IoBridge.write(IoBridge.java:502)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at java.io.FileOutputStream.write(FileOutputStream.java:186)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at java.iutputStream.write(OutputStream.java:82)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at java.io.DataOutputStream.writeBytes(DataOutputStream.java:156)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at com.example.mybr.MyBroadcastReceiver.runCmd(MyBroadcastReceiver.java:77)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at com.example.mybr.MyBroadcastReceiver.onReceive(MyBroadcastReceiver.java:36)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at android.app.ActivityThread.handleReceiver(ActivityThread.java:2609)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at android.app.ActivityThread.access$1700(ActivityThread.java:151)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at android.os.Looper.loop(Looper.java:135)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5254)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at java.lang.reflect.Method.invoke(Native Method)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
10-03 14:11:47.343 1795-1795/com.example.mybr W/System.err: Caused by: android.system.ErrnoException: write failed: EPIPE (Broken pipe)
10-03 14:11:47.344 1795-1795/com.example.mybr W/System.err: at libcore.io.Posix.writeBytes(Native Method)
10-03 14:11:47.344 1795-1795/com.example.mybr W/System.err: at libcore.io.Posix.write(Posix.java:258)
10-03 14:11:47.344 1795-1795/com.example.mybr W/System.err: at libcore.io.BlockGuardOs.write(BlockGuardOs.java:313)
10-03 14:11:47.344 1795-1795/com.example.mybr W/System.err: at libcore.io.IoBridge.write(IoBridge.java:497)
10-03 14:11:47.344 1795-1795/com.example.mybr W/System.err: ... 15 more
10-03 14:11:47.344 1795-1795/com.example.mybr I/MyBroadcastReceiver: bResult = true
10-03 14:11:47.354 1388-1388/com.android.deskclock V/AlarmClock: AlarmInitReceiver android.intent.action.TIME_SET
10-03 14:11:47.384 1388-1647/com.android.deskclock V/AlarmClock: AlarmInitReceiver finished
10-03 14:11:47.395 455-498/system_process I/ActivityManager: Killing 1368:com.android.music/u0a33 (adj 15): empty #17
10-03 14:11:47.408 455-455/system_process W/MediaSessionRecord: Removing dead callback in pushEvent.
android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:496)
at android.media.session.ISessionControllerCallback$Stub$Proxy.onSessionDestroyed(ISessionControllerCallback.java:189)
at com.android.server.media.MediaSessionRecord.pushSessionDestroyed(MediaSessionRecord.java:667)
at com.android.server.media.MediaSessionRecord.access$3800(MediaSessionRecord.java:67)
at com.android.server.media.MediaSessionRecord$MessageHandler.handleMessage(MediaSessionRecord.java:1286)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at com.android.server.SystemServer.run(SystemServer.java:269)
at com.android.server.SystemServer.main(SystemServer.java:170)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Thank you very much for help.
Related
Hi,
I've been struggling to get Netflix and HBO Nordic working on my Galaxy S2 running Cyanogenmod 10.1 nightlies. I've tried Netflix 2.1.1 and 1.8.1, and a modded HBO 1.0 app bypassing the root check.
Here are some logcat (*:W) excerpts from the different apps.
HBO Nordic app, force closes upon pressing play:
Code:
W/AudioService( 2198): RemoteControlClient died
F/libc (26548): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 26548 (drmserver)
W/DrmManagerClientImpl(Native)(26554): DrmManager server died!
E/WVMExtractor(28011): Drm manager failed to initialize.
E/MediaPlayer(26554): error (1, -2147483648)
E/MediaPlayer(26554): Error (1,-2147483648)
W/dalvikvm(26554): threadid=1: thread exiting with uncaught exception (group=0x40f2f930)
E/AndroidRuntime(26554): FATAL EXCEPTION: main
E/AndroidRuntime(26554): java.lang.NullPointerException
E/AndroidRuntime(26554): at com.hbo.android.app.activity.VideoActivity.finishWithError(VideoActivity.java:240)
E/AndroidRuntime(26554): at com.hbo.android.app.activity.VideoActivity.access$2(VideoActivity.java:236)
E/AndroidRuntime(26554): at com.hbo.android.app.activity.VideoActivity$2.onMediaPlayerError(VideoActivity.java:108)
E/AndroidRuntime(26554): at com.hbo.android.app.widget.video.player.PlayerBase.onError(PlayerBase.java:425)
E/AndroidRuntime(26554): at com.hbo.android.app.widget.video.player.internal.BaseVideoView$4.onError(BaseVideoView.java:372)
E/AndroidRuntime(26554): at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:2003)
E/AndroidRuntime(26554): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(26554): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(26554): at android.app.ActivityThread.main(ActivityThread.java:5191)
E/AndroidRuntime(26554): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(26554): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(26554): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
E/AndroidRuntime(26554): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
E/AndroidRuntime(26554): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 2198): Force finishing activity com.hbo.android.app/.activity.VideoActivity
W/ActivityManager( 2198): Activity pause timeout for ActivityRecord{41d77aa8 u0 com.hbo.android.app/.activity.VideoActivity}
W/InputDispatcher( 2198): channel '419febd8 com.hbo.android.app/com.hbo.android.app.activity.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
E/InputDispatcher( 2198): channel '419febd8 com.hbo.android.app/com.hbo.android.app.activity.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
W/InputDispatcher( 2198): channel '41938168 com.hbo.android.app/com.hbo.android.app.activity.VideoActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
E/InputDispatcher( 2198): channel '41938168 com.hbo.android.app/com.hbo.android.app.activity.VideoActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
W/InputDispatcher( 2198): Attempted to unregister already unregistered input channel '419febd8 com.hbo.android.app/com.hbo.android.app.activity.MainActivity (server)'
W/InputDispatcher( 2198): Attempted to unregister already unregistered input channel '41938168 com.hbo.android.app/com.hbo.android.app.activity.VideoActivity (server)'
E/Trace (28321): error opening trace file: No such file or directory (2)
E/Trace (28356): error opening trace file: No such file or directory (2)
Netflix 1.8.1, plays sound and shows subtitles, but no video:
Code:
W/ActivityManager( 2198): Scheduling restart of crashed service com.teamhacksung.tvout/.TvOutService in 5000ms
W/libc (27869): pthread_create sched_setscheduler call failed: Operation not permitted
W/libc (27869): pthread_create sched_setscheduler call failed: Operation not permitted
W/libc (27869): pthread_create sched_setscheduler call failed: Operation not permitted
W/libc (27869): pthread_create sched_setscheduler call failed: Operation not permitted
W/libc (27869): pthread_create sched_setscheduler call failed: Operation not permitted
W/libc (27869): pthread_create sched_setscheduler call failed: Operation not permitted
E/Trace (28011): error opening trace file: No such file or directory (2)
E/SEC_COMP_REGS(28011): .
E/SEC_COMP_REGS(28011): ..
E/SEC_COMP_REGS(28011): libOMX.SEC.AVC.Decoder.so
E/SEC_COMP_REGS(28011): Path & libName : /system/lib/omx/libOMX.SEC.AVC.Decoder.so
E/SEC_COMP_REGS(28011): libOMX.SEC.AVC.Encoder.so
E/SEC_COMP_REGS(28011): Path & libName : /system/lib/omx/libOMX.SEC.AVC.Encoder.so
E/SEC_COMP_REGS(28011): libOMX.SEC.M4V.Decoder.so
E/SEC_COMP_REGS(28011): Path & libName : /system/lib/omx/libOMX.SEC.M4V.Decoder.so
E/SEC_COMP_REGS(28011): libOMX.SEC.M4V.Encoder.so
E/SEC_COMP_REGS(28011): Path & libName : /system/lib/omx/libOMX.SEC.M4V.Encoder.so
E/SEC_COMP_REGS(28011): libOMX.SEC.WMV.Decoder.so
E/SEC_COMP_REGS(28011): Path & libName : /system/lib/omx/libOMX.SEC.WMV.Decoder.so
E/OMXNodeInstance(28011): OMX_GetExtensionIndex failed
E/ ( 1864): egl_android_pixel_format* _egl_android_get_native_buffer_format(android_native_buffer_t*) unsupported native buffer format (0x13)
E/SurfaceTexture( 1864): [SurfaceView] error creating EGLImage: 0x3003
E/SurfaceTexture( 1864): [SurfaceView] updateTexImage: acquire failed: Unknown error 2147483648 (-2147483648)
E/ ( 1864): egl_android_pixel_format* _egl_android_get_native_buffer_format(android_native_buffer_t*) unsupported native buffer format (0x13)
E/SurfaceTexture( 1864): [SurfaceView] error creating EGLImage: 0x3003
E/SurfaceTexture( 1864): [SurfaceView] updateTexImage: acquire failed: Unknown error 2147483648 (-2147483648)
E/BufferQueue( 1864): [SurfaceView] acquireBuffer: max acquired buffer count reached: 2 (max=1)
E/SurfaceTexture( 1864): [SurfaceView] updateTexImage: acquire failed: Function not implemented (-38)
E/Trace (28196): error opening trace file: No such file or directory (2)
W/InputEventReceiver( 2198): Attempted to finish an input event but the input event receiver has already been disposed.
W/InputEventReceiver( 2198): Attempted to finish an input event but the input event receiver has already been disposed.
W/AudioFlinger(28011): session id 277 not found for pid 2198
E/BufferQueue( 1864): [SurfaceView] dequeueBuffer: SurfaceTexture has been abandoned!
E/ACodec (28011): dequeueBuffer failed.
E/BufferQueue( 1864): [SurfaceView] queueBuffer: SurfaceTexture has been abandoned!
E/SurfaceTextureClient(28011): queueBuffer: error queuing buffer to SurfaceTexture, -19
E/NuPlayer(28011): Received error from video decoder, aborting playback.
W/BufferQueue( 1864): [SurfaceView] cancelBuffer: BufferQueue has been abandoned!
W/AudioService( 2198): stream was not muted by this client
E/AudioService( 2198): Could not get client death handler for stream: 3
Netflix 2.1.1, stuck on loading screen:
Code:
W/dalvikvm(28732): method Lcom/netflix/mediaclient/android/widget/NetflixSeekBar;.onKeyChange incorrectly overrides package-private method with same name in Landroid/widget/AbsSeekBar;
E/SEC_COMP_REGS(28732): .
E/SEC_COMP_REGS(28732): ..
E/SEC_COMP_REGS(28732): libOMX.SEC.AVC.Decoder.so
E/SEC_COMP_REGS(28732): Path & libName : /system/lib/omx/libOMX.SEC.AVC.Decoder.so
E/SEC_COMP_REGS(28732): libOMX.SEC.AVC.Encoder.so
E/SEC_COMP_REGS(28732): Path & libName : /system/lib/omx/libOMX.SEC.AVC.Encoder.so
E/SEC_COMP_REGS(28732): libOMX.SEC.M4V.Decoder.so
E/SEC_COMP_REGS(28732): Path & libName : /system/lib/omx/libOMX.SEC.M4V.Decoder.so
E/SEC_COMP_REGS(28732): libOMX.SEC.M4V.Encoder.so
E/SEC_COMP_REGS(28732): Path & libName : /system/lib/omx/libOMX.SEC.M4V.Encoder.so
E/SEC_COMP_REGS(28732): libOMX.SEC.WMV.Decoder.so
E/SEC_COMP_REGS(28732): Path & libName : /system/lib/omx/libOMX.SEC.WMV.Decoder.so
E/OMXNodeInstance(28732): OMX_GetExtensionIndex failed
E/NetflixTransport-JNI(28732): Java_com_netflix_mediaclient_javabridge_transport_NativeTransport_native_1setVOapi systemAndroid set VO API
E/NetflixTransport-JNI(28732): Custom params sw analytics params set
E/Trace (28929): error opening trace file: No such file or directory (2)
E/Trace (28959): error opening trace file: No such file or directory (2)
E/Trace (28976): error opening trace file: No such file or directory (2)
E/nf_service(28732): Unable to get instance of PlayerActivity, only pass stateChnage event to MP
Anyone have a clue what might be wrong? Is it a DRM decrypting process that doesn't work, as I suspect?
CyanogenMod 10.1 nightlies on a Galaxy Tab 2 here.
I get similar results with HBO nordic, however there is no force close: it gives a "video error" message, and sends me back to the content browser. It's something to do with DRM.
Code:
F/libc ( 112): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 112 (drmserver)
I/DEBUG ( 108): pid: 112, tid: 112, name: drmserver >>> /system/bin/drmserver <<<
I/DEBUG ( 108): #00 pc 00013c28 /system/vendor/lib/drm/libdrmwvmplugin.so
I/DEBUG ( 108): #01 pc 00014614 /system/vendor/lib/drm/libdrmwvmplugin.so (TEEC_InvokeCommandEx+156)
I/DEBUG ( 108): #02 pc 0001469c /system/vendor/lib/drm/libdrmwvmplugin.so (TEEC_InvokeCommand+32)
I/DEBUG ( 108): #03 pc 0001373c /system/vendor/lib/drm/libdrmwvmplugin.so (_oec10+44)
I/DEBUG ( 108): be868c9c 405b0060 /system/vendor/lib/drm/libdrmwvmplugin.so
I/DEBUG ( 108): be868ca4 405ab618 /system/vendor/lib/drm/libdrmwvmplugin.so (TEEC_InvokeCommandEx+160)
I/DEBUG ( 108): be868d7c 405aa740 /system/vendor/lib/drm/libdrmwvmplugin.so (_oec10+48)
I/ServiceManager( 102): service 'drm.drmManager' died
W/DrmManagerClientImpl(Native)( 2373): DrmManager server died!
E/WVMExtractor( 113): Drm manager failed to initialize.
Thanks for the second report. I'll make sure to get back to you if I hear something somewhere else.
I'm seeing a similar error to your Netflix 1.8.1 report on my i9100 (Galaxy S II) running Cyanogenmod 10.1 (10.1-20130102-NIGHTLY-i9100), with a different video streaming application. The relevant part of logcat is:
Code:
E/ ( 1858): egl_android_pixel_format* _egl_android_get_native_buffer_format(android_native_buffer_t*) unsupported native buffer format (0x13)
E/SurfaceTexture( 1858): [SurfaceView] error creating EGLImage: 0x3003
E/SurfaceTexture( 1858): [SurfaceView] updateTexImage: acquire failed: Unknown error 2147483648 (-2147483648)
E/ ( 1858): egl_android_pixel_format* _egl_android_get_native_buffer_format(android_native_buffer_t*) unsupported native buffer format (0x13)
E/SurfaceTexture( 1858): [SurfaceView] error creating EGLImage: 0x3003
E/SurfaceTexture( 1858): [SurfaceView] updateTexImage: acquire failed: Unknown error 2147483648 (-2147483648)
E/BufferQueue( 1858): [SurfaceView] acquireBuffer: max acquired buffer count reached: 2 (max=1)
E/SurfaceTexture( 1858): [SurfaceView] updateTexImage: acquire failed: Function not implemented (-38)
This application was working fine with CM10 nighties a few weeks ago.
The application is Cricket LIVE Australia (au.com.vha.cricketwidget)
The cm-10.1-20130105-NIGHTLY-i9100 version fixed my issue. I believe patch 29663 on review.cyanogenmod.org is the change that did the trick.
shenki00 said:
The cm-10.1-20130105-NIGHTLY-i9100 version fixed my issue. I believe patch 29663 on review.cyanogenmod.org is the change that did the trick.
Click to expand...
Click to collapse
The update fixed Netflix (1.8.1) for me. Still nothing on the new Netflix or HBO.
HELP ME WITH THIS LOGCAT ERRORS!
Code:
E/msm7x27.gralloc( 140): We support 2 buffers
E/AudioHardwareMSM72XX( 143): failed to open AUTO_VOLUME_CONTROL /system/etc/AutoVolumeControl.txt: No such file or directory (2)
E/CameraHAL( 143): CameraHAL_GetNum_Cameras:
E/MediaProfilesJNI( 141): native_init
E/MediaProfilesJNI( 141): After native_init lock
E/MediaProfilesJNI( 141): Guru : native_init profiles
E/MediaProfiles( 141): getInstance
E/MediaProfiles( 141): Guru :Else 1
E/MediaProfiles( 141): Guru : quality = 0, index = 1
E/MediaProfiles( 141): Guru : quality = 1, index = 0
E/MediaProfiles( 141): Guru : quality = 0, index = 1
E/MediaProfiles( 141): Guru : quality = 1, index = 0
E/MediaProfiles( 141): getInstance e2320
E/MediaProfilesJNI( 141): retun sProfiles
E/MediaProfilesJNI( 141): native_init
E/MediaProfilesJNI( 141): After native_init lock
E/MediaProfilesJNI( 141): retun sProfiles
E/PhonePolicy( 141): Could not preload class for phone policy: com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback
E/dalvikvm( 216): ERROR: couldn't find native method
E/dalvikvm( 216): Requested: Lcom/android/server/PowerManagerService;.nativeStartSurfaceFlingerOffAnimation:(I)V
E/JNIHelp ( 216): RegisterNatives failed for 'com/android/server/PowerManagerService', aborting
F/libc ( 216): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
Anyone?
Sent from my LG-P500 using xda premium
No network signal - how to know is gsm Radio dead in hardware or it is software issue
I have OnePlus One with OxygenOS now, but gsm wasn't working under CM12 either, so I clean installed Oxygen and it didn't resolve issue.
In log I have :
D/RILJ ( 1523): [3904]> QUERY_AVAILABLE_NETWORKS [SUB0]
D/RILC ( 250): SOCKET RIL_SOCKET_1 REQUEST: QUERY_AVAILABLE_NETWORKS length
:8
D/RILC ( 250): RequestComplete, RIL_SOCKET_1
E/RILC ( 250): Send Response to RIL_SOCKET_1
D/RilRequest( 1523): [3904]< QUERY_AVAILABLE_NETWORKS error: com.android.intern
al.telephony.CommandException: GENERIC_FAILURE ret=
*********************
D/NetworkSetting( 1523): EVENT_NETWORK_DATA_MANAGER_DONE: 1
V/QC_RIL_OEM_HOOK( 1523): sendRilOemHookMsg: Outgoing Data is 514f454d484f4f4b1200080000000000
D/QcrilMsgTunnelIfaceManager( 2776): handleMessage what = 1
D/QcrilMsgTunnelSocket( 2776): [1000] > OEM_HOOK_RAW[514f454d484f4f4b1200080000000000]
D/PowerManagerService( 833): acquireWakeLockInternal: lock=562127469, flags=0x1, tag="QcrilMsgTunnelSocket", ws=null, uid=1001, pid=2776
D/QcrilMsgTunnelSocket( 2776): readRilMessage: Buffer = [[email protected] HexData = [00000000e803000002000000ffffffff]
D/QcrilMsgTunnelSocket( 2776): Rcvd SOLICITED response with 12 bytes data for SUB0
D/QcRilRequest( 2776): [1000] < OEM_HOOK_RAW error: com.android.internal.telephony.CommandException: GENERIC_FAILURE
I also have this when trying to click "TURN RADIO ON" in service menu (*#*#4636#*#*) :
D/GsmSST ( 1523): [GsmSST] mDeviceShuttingDown = false
D/GsmSST ( 1523): [GsmSST] mDesiredPowerState = true
D/GsmSST ( 1523): [GsmSST] getRadioState = RADIO_OFF
D/GsmSST ( 1523): [GsmSST] mPowerOffDelayNeed = true
D/GsmSST ( 1523): [GsmSST] mAlarmSwitch = false
D/RILJ ( 1523): [4127]> RADIO_POWER on [SUB0]
D/RILC ( 250): SOCKET RIL_SOCKET_1 REQUEST: RADIO_POWER length:16
D/RILC ( 250): RequestComplete, RIL_SOCKET_1
E/RILC ( 250): Send Response to RIL_SOCKET_1
D/RilRequest( 1523): [4127]< RADIO_POWER error: com.android.internal.telephony.C
ommandException: GENERIC_FAILURE ret=
when trying to turn on bluetooth most of the time it failed, sometimes after phone restarts it starting to work, when I checked the logs I saw this over and over
Code:
10-03 23:53:11.756 5282-5282/? E/[email protected]: DeleteDumpsIfRequired: Cannot open dump location /data/vendor/ssrdump/
10-03 23:53:11.757 907-1546/? E/BluetoothManagerService: MESSAGE_BLUETOOTH_SERVICE_DISCONNECTED(1)
10-03 23:53:11.899 5282-5282/? E/[email protected]_handler: Killing daemon to recover as firmware download is stuck
10-03 23:53:12.091 5319-5319/? E/BluetoothVendorJni: register_com_android_bluetooth_btservice_vendor:
10-03 23:53:12.091 5319-5319/? E/BluetoothVendorSocketJni: register_com_android_bluetooth_btservice_vendor_socket:
10-03 23:53:12.134 5319-5339/? E/bt_btif_storage: btif_storage_get_adapter_property: Controller not ready! Unable to return Bluetooth Address
10-03 23:53:12.134 5319-5339/? E/BluetoothServiceJni: adapter_properties_callback: Status 1 is incorrect
10-03 23:53:13.268 5354-5354/? E/[email protected]_address: BD address read from /data/vendor/oemnvitems/447 iFilelen=6: fd:5d:13:f9:a2:64
10-03 23:53:13.268 5354-5354/? E/[email protected]_address: /data/vendor/oemnvitems/447 ok
10-03 23:53:13.289 5354-5356/? E/[email protected]_manager: bt_power_cherokee enable (0)
10-03 23:53:13.290 5354-5356/? E/[email protected]_manager: bt_power_cherokee enable (1)
10-03 23:53:13.556 5354-5356/? E/[email protected]_address: BD address read from /data/vendor/oemnvitems/447 iFilelen=6: fd:5d:13:f9:a2:64
10-03 23:53:13.556 5354-5356/? E/[email protected]_address: /data/vendor/oemnvitems/447 ok
10-03 23:53:15.132 5319-5334/? E/bt_main: bte_main_enable HCI_MODULE failed to start, Killing the bluetooth process
10-03 23:53:15.173 5354-5354/? E/Diag_Lib: BluetoothDeathRecipient: Calling HAL close
10-03 23:53:15.174 5354-5354/? E/[email protected]: DeleteDumpsIfRequired: Cannot open dump location /data/vendor/ssrdump/
10-03 23:53:15.174 907-1546/? E/BluetoothManagerService: MESSAGE_BLUETOOTH_SERVICE_DISCONNECTED(1)
10-03 23:53:15.316 5354-5354/? E/[email protected]_handler: Killing daemon to recover as firmware download is stuck
10-03 23:53:15.523 5358-5358/? E/BluetoothVendorJni: register_com_android_bluetooth_btservice_vendor:
10-03 23:53:15.523 5358-5358/? E/BluetoothVendorSocketJni: register_com_android_bluetooth_btservice_vendor_socket:
10-03 23:53:15.581 5358-5378/? E/bt_btif_storage: btif_storage_get_adapter_property: Controller not ready! Unable to return Bluetooth Address
10-03 23:53:15.581 5358-5378/? E/BluetoothServiceJni: adapter_properties_callback: Status 1 is incorrect
10-03 23:53:18.288 5393-5393/? E/[email protected]_address: BD address read from /data/vendor/oemnvitems/447 iFilelen=6: fd:5d:13:f9:a2:64
10-03 23:53:18.288 5393-5393/? E/[email protected]_address: /data/vendor/oemnvitems/447 ok
10-03 23:53:18.297 5393-5395/? E/[email protected]_manager: bt_power_cherokee enable (0)
10-03 23:53:18.298 5393-5395/? E/[email protected]_manager: bt_power_cherokee enable (1)
10-03 23:53:18.557 5393-5395/? E/[email protected]_address: BD address read from /data/vendor/oemnvitems/447 iFilelen=6: fd:5d:13:f9:a2:64
10-03 23:53:18.557 5393-5395/? E/[email protected]_address: /data/vendor/oemnvitems/447 ok
10-03 23:53:18.559 5358-5373/? E/bt_main: bte_main_enable HCI_MODULE failed to start, Killing the bluetooth process
10-03 23:53:18.618 5393-5393/? E/Diag_Lib: BluetoothDeathRecipient: Calling HAL close
10-03 23:53:18.620 5393-5393/? E/[email protected]: DeleteDumpsIfRequired: Cannot open dump location /data/vendor/ssrdump/
10-03 23:53:18.622 907-1546/? E/BluetoothManagerService: MESSAGE_BLUETOOTH_SERVICE_DISCONNECTED(1)
10-03 23:53:18.760 5393-5393/? E/[email protected]_handler: Killing daemon to recover as firmware download is stuck
10-03 23:53:18.965 5397-5397/? E/BluetoothVendorJni: register_com_android_bluetooth_btservice_vendor:
10-03 23:53:18.965 5397-5397/? E/BluetoothVendorSocketJni: register_com_android_bluetooth_btservice_vendor_socket:
10-03 23:53:19.020 5397-5418/? E/bt_btif_storage: btif_storage_get_adapter_property: Controller not ready! Unable to return Bluetooth Address
10-03 23:53:19.020 5397-5418/? E/BluetoothServiceJni: adapter_properties_callback: Status 1 is incorrect
Adding more logs with info log filter instead of only error logs in the prev msg
Code:
10-04 00:00:38.958 11888-11903/? I/bt_stack_config: init attempt to load stack conf debug from /etc/bluetooth/bt_stack_debug.conf
10-04 00:00:38.959 11888-11903/? I/bt_btif_core: btif_init_bluetooth finished
10-04 00:00:38.962 11888-11908/? E/bt_btif_storage: btif_storage_get_adapter_property: Controller not ready! Unable to return Bluetooth Address
10-04 00:00:38.962 11888-11908/? E/BluetoothServiceJni: adapter_properties_callback: Status 1 is incorrect
10-04 00:00:38.967 11888-11888/? I/BluetoothAdapterService: Phone policy enabled
10-04 00:00:38.971 11888-11909/? I/BluetoothBondStateMachine: StableState(): Entering Off State
10-04 00:00:38.986 11888-11888/? I/BluetoothOneplusTrackJni: classInitNative: succeeds
10-04 00:00:39.038 11888-11888/? W/BluetoothAdapterService: onProfileServiceStateChange() - Gatt profile service started..
10-04 00:00:39.043 11888-11919/? I/ServiceManagement: getService: Trying again for [email protected]::IBluetoothHci/default...
10-04 00:00:39.250 11923-11923/? I/[email protected]: registering BT & FM services
10-04 00:00:39.248 11923-11923/? W/android.hardwar: type=1400 audit(0.0:44753): avc: denied { read } for name="u:object_r:boottime_prop:s0" dev="tmpfs" ino=22266 scontext=u:r:hal_bluetooth_qti:s0 tcontext=u:object_r:boottime_prop:s0 tclass=file permissive=0
10-04 00:00:39.259 11923-11923/? E/[email protected]_address: BD address read from /data/vendor/oemnvitems/447 iFilelen=6: fd:5d:13:f9:a2:64
10-04 00:00:39.259 11923-11923/? E/[email protected]_address: /data/vendor/oemnvitems/447 ok
10-04 00:00:39.248 11923-11923/? W/android.hardwar: type=1400 audit(0.0:44754): avc: denied { getattr } for path="/data/vendor/oemnvitems/447" dev="sda17" ino=525715 scontext=u:r:hal_bluetooth_qti:s0 tcontext=u:object_r:vendor_data_file:s0 tclass=file permissive=0
10-04 00:00:39.261 11923-11923/? I/ServiceManagement: Removing namespace from process name [email protected] to [email protected]
10-04 00:00:39.264 11923-11923/? I/[email protected]: Registration complete for [email protected]::IBluetoothHci/default.
10-04 00:00:39.271 11923-11923/? I/[email protected]: Registration complete for [email protected]::IFmHci/default.
10-04 00:00:39.277 11923-11923/? I/[email protected]: Registration complete for [email protected]::IAntHci/default.
10-04 00:00:39.277 11888-11919/? I/bt_hci: hci_initialize: IBluetoothHci::getService() returned 0x75bb0ecd00 (remote)
10-04 00:00:39.279 11923-11923/? W/[email protected]_hci: BluetoothHci::initialize()
10-04 00:00:39.279 11923-11923/? W/[email protected]_handler: DataHandler:: Init()
10-04 00:00:39.279 11923-11923/? W/[email protected]_handler: vendor.qcom.bluetooth.soc set to cherokee
10-04 00:00:39.279 11923-11923/? I/[email protected]_handler: Open init_status 0
10-04 00:00:39.279 11923-11925/? I/[email protected]_controller: soc need reload patch = 1
10-04 00:00:39.279 11923-11925/? E/[email protected]_manager: bt_power_cherokee enable (0)
10-04 00:00:39.280 11923-11925/? E/[email protected]_manager: bt_power_cherokee enable (1)
10-04 00:00:39.295 11923-11925/? I/[email protected]_transport: InitTransport: opening /dev/ttyHS0
10-04 00:00:39.298 11923-11925/? I/[email protected]_transport: GetBaudRate: Current Baudrate = 2400 bps
10-04 00:00:39.298 11923-11925/? I/[email protected]_transport: InitTransport: device fd = 9 open @2400 bps
10-04 00:00:39.324 11923-11925/? I/[email protected]_transport: CleanUp:send out shutdown signal
10-04 00:00:39.326 11923-11925/? I/[email protected]_transport: DeInitTransport: Transport is being closed!
10-04 00:00:39.431 11923-11925/? I/[email protected]_transport: InitTransport: opening /dev/ttyHS0
10-04 00:00:39.433 11923-11925/? I/[email protected]_transport: GetBaudRate: Current Baudrate = 115200 bps
10-04 00:00:39.433 11923-11925/? I/[email protected]_transport: InitTransport: device fd = 9 open @115200 bps
10-04 00:00:39.434 11923-11925/? I/[email protected]_transport: Init:send out poweron signal
10-04 00:00:39.435 11923-11925/? I/[email protected]_transport: DeInitTransport: Transport is being closed!
10-04 00:00:39.435 11923-11925/? I/[email protected]_transport: InitTransport: opening /dev/ttyHS0
10-04 00:00:39.435 11923-11925/? I/[email protected]_transport: InitTransport: HW flow control enabled
10-04 00:00:39.435 11923-11925/? I/[email protected]_transport: GetBaudRate: Current Baudrate = 115200 bps
10-04 00:00:39.435 11923-11925/? I/[email protected]_transport: InitTransport: device fd = 9 open @115200 bps
10-04 00:00:39.538 11923-11923/? W/[email protected]: type=1400 audit(0.0:44755): avc: denied { getattr } for path="/data/vendor/oemnvitems/447" dev="sda17" ino=525715 scontext=u:r:hal_bluetooth_qti:s0 tcontext=u:object_r:vendor_data_file:s0 tclass=file permissive=0
10-04 00:00:39.545 11923-11925/? E/[email protected]_address: BD address read from /data/vendor/oemnvitems/447 iFilelen=6: fd:5d:13:f9:a2:64
10-04 00:00:39.545 11923-11925/? E/[email protected]_address: /data/vendor/oemnvitems/447 ok
10-04 00:00:39.545 11923-11925/? I/[email protected]_dl_manager: SocInit
10-04 00:00:39.545 11923-11925/? I/[email protected]_dl_manager: SocInit: reserved param
10-04 00:00:39.545 11923-11925/? I/[email protected]_transport: ## userial_vendor_ioctl: UART Flow On
10-04 00:00:41.948 11888-11903/? E/bt_main: bte_main_enable HCI_MODULE failed to start, Killing the bluetooth process
10-04 00:00:42.008 11923-11923/? W/[email protected]: type=1400 audit(0.0:44756): avc: denied { read } for name="ssrdump" dev="sda17" ino=525514 scontext=u:r:hal_bluetooth_qti:s0 tcontext=u:object_r:ramdump_vendor_data_file:s0 tclass=dir permissive=0
10-04 00:00:42.017 11923-11923/? E/Diag_Lib: BluetoothDeathRecipient: Calling HAL close
10-04 00:00:42.017 11923-11923/? W/[email protected]_hci: BluetoothHci::close()
10-04 00:00:42.017 11923-11923/? W/[email protected]_handler: DataHandler::CleanUp()
10-04 00:00:42.017 11923-11923/? I/[email protected]_handler: DataHandler:: init_status 1
Go to se About phone section, and check if there is a phone name, if not, write one and apply and check again
Is it stock rom?
Hello there,
I'm building Android for HTC M7 (see here: https://forum.xda-developers.com/t/...all-lineageos-18-1-for-microg-stable.4439595/) with the following Docker image:
GitHub - lineageos4microg/docker-lineage-cicd: Docker microservice for LineageOS Continuous Integration and Continous Deployment
Docker microservice for LineageOS Continuous Integration and Continous Deployment - GitHub - lineageos4microg/docker-lineage-cicd: Docker microservice for LineageOS Continuous Integration and Conti...
github.com
My manifest.xml looks like this:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="htc-msm8960-dev/android_device_htc_m7" path="device/htc/m7" remote="github" revision="lineage-18.1" />
<project name="zsoerenm/android_device_htc_m7-common" path="device/htc/m7-common" remote="github" revision="lineage-18.1-label_mpdecision" />
<project name="htc-msm8960-dev/android_kernel_htc_msm8960" path="kernel/htc/msm8960" remote="github" revision="lineage-18.1" />
<project name="htc-msm8960-dev/android_device_htc_msm8960-common" path="device/htc/msm8960-common" remote="github" revision="lineage-18.1" />
<project name="htc-msm8960-dev/proprietary_vendor_htc" path="vendor/htc" remote="github" revision="lineage-18.1" />
</manifest>
Currently FM Radio is not working.
Looking at the build log, I found that https://github.com/LineageOS/android_vendor_qcom_opensource_fm-commonsys is used.
e.g.
Code:
[ 98% 462/467] including vendor/qcom/opensource/libfmjni/Android.mk ...
...
[ 28% 22103/76729] //vendor/qcom/opensource/fm-commonsys/jni:libqcomfm_jni clang++ android_hardware_fm.cpp
[ 28% 22104/76729] //vendor/qcom/opensource/fm-commonsys/jni:libqcomfm_jni clang++ ConfFileParser.cpp
[ 28% 22105/76729] //vendor/qcom/opensource/fm-commonsys/jni:libqcomfm_jni clang++ ConfigFmThs.cpp
[ 28% 22106/76729] //vendor/qcom/opensource/fm-commonsys/jni:libqcomfm_jni clang++ FmPerformanceParams.cpp
...
[ 49% 37708/76729] //vendor/qcom/opensource/fm-commonsys/fmapp2:FM2 aidl
...
[ 50% 38860/76729] //vendor/qcom/opensource/fm-commonsys/fmapp2:FM2 fix manifest
BTW: I'm surprised that this is actively maintained. Very cool!
Now the question is: How do I activate FM radio?
When I open the preinstalled FM-Radio App, it says: Operation failed
and in the logcat I find this:
Code:
06-04 20:31:50.553 4369 4369 E FMRadio : FmReceiver constructor
06-04 20:31:50.553 4369 4369 D FMService: fmOn: RadioBand :1
06-04 20:31:50.553 4369 4369 D FMService: fmOn: Emphasis :1
06-04 20:31:50.553 4369 4369 D FMService: fmOn: ChSpacing :2
06-04 20:31:50.554 4369 4369 D FMService: fmOn: RdsStd :1
06-04 20:31:50.554 4369 4369 D FMService: fmOn: LowerLimit :87500
06-04 20:31:50.554 4369 4369 D FMService: fmOn: UpperLimit :108000
06-04 20:31:50.554 4369 4369 V FMRadio : enable: CURRENT-STATE : FMOff ---> NEW-STATE : FMRxStarting
06-04 20:31:50.554 4369 4369 D FmTransceiver: Fail to Open -1
06-04 20:31:50.554 4369 4369 E FMRadio : enable: Error while turning FM On
06-04 20:31:50.554 4369 4369 E FMRadio : enable: CURRENT-STATE : FMRxStarting ---> NEW-STATE : FMOff
06-04 20:31:50.554 4369 4369 D FMService: mReceiver.enable done, Status :false
06-04 20:31:50.554 4369 4369 D FMService: in stop
06-04 20:31:50.562 4369 4369 E FMRadio : mService.fmOn failed
06-04 20:31:50.562 4369 4369 D FMRadio : disaplyDialog 13
06-04 20:31:50.619 4369 4429 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
I tried to add the following to BoardConfigCommon.mk
Code:
BOARD_HAVE_QCOM_FM := true
COMMON_GLOBAL_CFLAGS += -DQCOM_FM_ENABLED
(see here: https://github.com/zsoerenm/android...mmit/ba35097128d3d0ea730402630bfdad4662a8fe63)
And there is some old code here:
android_device_htc_m7/device.mk at lineage-18.1 · htc-msm8960-dev/android_device_htc_m7
Contribute to htc-msm8960-dev/android_device_htc_m7 development by creating an account on GitHub.
github.com
Code:
# FM radio
PRODUCT_PACKAGES += \
FM2 \
libqcomfm_jni \
qcom.fmradio
However, FM Radio is still not working with the same error as above.
What do I need to do to enable FM-Radio? @bgcngm @LuK1337