Today I released version 3.0 of the rSAP app. It is a complete redesign of the app, it is now prepared for the coming Android Nougat. I already ran it successfully on a Nexus 5X with the Nougat pre-release. Big changes were made in the user interface. I removed all outdated options and tried to better show error conditions. I also removed the SIM check, I will add this again when I find the time.
In case you find problems please report them in the forum.
Sadly some other issues showed up which I could not yet fix:
- the app no longer works on Samsung phones with Android 6.
- the app does not work on the OnePlus 3
I'm working on both problems but cannot say so far when (or if) I have a solution.
Today I published a new version of the installer app (2.5.9). It supports additional newer or 64 bit phones. On these phones a special "factory test mode" must be set to create the necessary file in the baseband's file system. Additionally the phone must be rebooted after setting the test mode.
Some phones don't remember the test mode after the reboot, so you still cannot make the change to the baseband settings. The Oneplus Two is affected by this problem. I'll keep trying to find a solution for these phones.
I received my Nexus 5X and I finally could check what happens on a 64 bit Qualcomm phone when you don't get ACCESS DENIED: the system files crash :-(
Version 2.5.7 of the installer app fixes this crash and works nicely on a Nexus 5X, in contrast to the Google stock rSAP implementation.
Fun fact: the Nexus 5X does not have sap_security_restrictions set in the baseband's NV storage, but it still works...? I guess there is some more research necessary for the 64 bit Qualcomms.
This was haunting me since the release of the first Motorola Moto G and the firmware update of the Nexus 5: The Qualcomm baseband software returns QMI_ERR_ACCESS_DENIED for every request. Recent 64 bit phones seem to all suffer from this. I had no idea what I could do about that.
The problem is simply a missing setting in the baseband's NV storage!
This sounds easy to fix but it is not, at least currently. The change has to be made via the Qualcomm diagnostic interface, usually over USB. The first problem is that this port is not available in every firmware, since some manufacturers remove it from the kernel configuration. The probably best known example is the Nexus 5. The next problem is to find out how to switch the USB port on the phone to the Qualcomm diagnostic mode. This seems to be different for every phone and of course every phone needs a different Windows driver which is usually hard to find.
The last problem is that you will need proprietary Qualcomm tools. Luckily the files are available in the Internet. Be cautious not to pick one with malware! I hope I can do the communication with the installer app, but that will need a considerable amount of time.
The good news: I verified functionality with the Nexus 5 and the Moto G (1st gen). As far as I understand the change is stored in the EFS partition, i.e. you have to do the whole procedure only once and it seems to survive flashing a new firmware.
Stay tuned for detailed installation instructions for the Moto G and the Nexus 5. I have two 64 bit phones (ZTE Nubia Z9 Mini and OnePlus Two) which I will try next, I'll let you know the results.