Finally got some time to update my Nexus 5 to the current image with xTraFactory (Stock, but pre-rooted and "optimized") with a SuperSU binary version 2.64 -> "systemless" root.

I assume the "systemless" root method does not change the system partition of the rom and leaves it mounte read only.

After the first failed attempt and a short logcat-review, I mounted the system partition (/system) as read-write, double checked the /system/lib/hw permissions (rwx r-x r-x) and the root access.

The error message within the app was "Failed to install Bluetooth drivers" with Generic and Generic (old) method.Choosing the "recovery installation" results in a return to the home-screen without further messages, neither popup nor toast.

Uninstalled the installer app, as the logcat told me "no file permission granted, as the app was installed without the permissions before". Reinstalled it and tried again.

Now the error message has no additional "Bluetooth driver installation failed" message, but simply says "Failed".

The logcat indicates a problem linking the patched .so file from the rsap_install cache folder to the /system/lib/hw folder.

Double checked the permissions of the cache folder with EX File Explorer, it has "rw- --- ---" but no owner or group.

Changing this to "root" leads to an earlier error, as the app now has no permission to access the lib in the cache folder For testing purpose, changing the permission of the cache file to 777, the old error message is back, as shown in the logcat below.

changing the /system/lib/hw/ folder permissions to 777 is not allowed apparently.

As ES is on a decending path, I chose to buy root explorer and chose mount r/w directly in the /system/lib/ folder -> Installation works!

But now, an old problem is back: "SIM status" is telling me "socket error" in the rSAP app

busybox is a fresh install (1.24.1 provided by Stericson), the logcat shows a bunch of "ps output:XXXXX" errors, I assume for any process running, but all logcats categorized within the RSAPUtils part.

Did anything change in the "ps" behaviour of current busybox? Or in the Integer Java class?

The logcat tells me the "RSAPBroadcastReceiver" is "##### starting rSAP services ##### but apparently the rSAP app is not able to connect to it because it gets crap from the "ps" command.

If you need help testing a sideloaded fix, just give me short notice, we once had an email discussion about the Google Product forum thread about the removed rsap-interface in the current baseband of LG, which Google ironically marked as "obsolete" during M development and never changed the status back to "open".

Edit: Forgot to mention the reboot during testing after the last action and a manually killed rSAP app in between, did not work out either^^

Searching a little bit deeper, either the creation of the socket fails or the accessibility of the socket from rSAP is prevented somehow.

Trying to follow advice at https://source.android.com/security/sel ... idate.html, but need some time to identify the correct starting point.To prove the hypothesis first, I'll try to set SELinux to permissive mode and test a few settings afterwards if permissive mode is working.

Looking into a terminal with su, a "ls" command on /dev/socket/ does not show any rsap, sounds like failed creation, which part of the app creates that?

@admin: Do you have any hint for further analysis?Having an "out-of-the-box"-solution for the next (monthly ) update would be really great, just give me a note if any support for testing with the Nexus 5 hardware is needed.

I don't understand your problems. Recently I reflashed my Nexus 5 a thousand times with different firmware versions (including CyanogenMod) and never had any problems like you have. You should simply try to flash the latest official Marshmallow firmware, flash SuperSU "systemless" Beta 2.67. Then run the installer app, install system files and enable rSAP access. Don't use any "optimized" ROMs. I don't think there is much to "optimize" in Android 6. Don't make/keep the system partition read-only, else you won't be able to install the system files (that's why they are called system files).

"Socket error" is caused by missing system files or by SELinux restrictions.