[ROM][AOSP][CM][SafeStrap]Cyanogenmod 11 for SafeStrap with locked bootloaders

Search This thread

AlaskaLinuxUser

Senior Member
Oct 23, 2015
2,005
4,145
Fairbanks
alaskalinuxuser3.ddns.net
[ NO LONGER ACTIVELY BEING DEVELOPED - SORRY, READ THE POSTS FOR INFORMATION ]

Yes, you read that right. What we have here is a semi-functional CM11 (Kit Kat 4.4.4) for those with the locked boot loader using Safe Strap. I have been working on this for about a month, and this is what has come of that work. However, I need some help. I am not Android savvy enough to fix all of these problems to make this a fully functioning phone.
That being said, the phone does boot up and appears to mostly work. At this time, it is not a stable daily driver.
I did search all the threads, and I believe that this is not covered in another thread, so please forgive me if there is another CM11 thread that is for SS users on AT&T's locked boot loader phones. I don't see any.

How I got here:
Well, I wanted Cyanogenmod on my AT&T locked boot loader Safe Strapped phone. Every thread says we can't do that, and I just don't like hearing people tell me we can't do something and not provide any reasons. So I decided to try for myself. For the most part, they are right, but with enough perseverance, anything could happen.
I wanted to still use my phone as my daily driver, so I needed SafeStrap to work without having to bounce between kernels.
I was currently using Safe Strap with the NB1/NC1 kernels, and running Joe-Tech's GPE 4.4.4, so I decided that I should start with a 4.4.4 variant of CM, which lead me to CM11. I tried all of them, the nightlies, the home builds, the official builds, and I stumbled across one particular CM11 nightly (20151115) that would boot and then crash as soon as it booted. So I decided to use that as a base.
Reviewing the situation/logs/errors after each crash, I slowly removed, edited, or replaced something until it would not receive that error and would move on to the next error. By the grace of God it was slowly coming together! Hence why the built in camera app is gone and replaced with open camera, etc.
If we get this working, we may be able to use these hacks or tricks to get higher versions such as CM12 or perhaps (fingers crossed) CM13. I know this is kind of lofty, but perhaps we could get something going here. Once we identify the key problems, perhaps we can also apply these tricks to other AOSP variants, such as Slim Roms.
However, let's stick to putting one foot in front of the other right now and focus on CM11.

The Setup:
AT&T boot loader locked phone with NB1/NC1 kernel and modules flashed.
Safe Strap 3.75, currently using Rom Slot 1 for this, as my daily driver is on the stock slot, however I have done it both ways, and it works either way.
Download the below CM11 zip and put it on your phone.
In Safe Strap, choose stock or rom slot, then wipe and flash the CM11 zip.
After flashing the zip, flash the wifi modules for your kernel.

Once it boots:
Go to the settings->about phone->tap on build to enable developer mode.
Then, in developer menu, choose "Disable HW overlays" to always use GPU for screen compositing. (To improve graphics performance, you may find playing with the other graphics options help also.)
Then disable the lock screen by changing "slide" to "none" (To prevent sleep of death until we fix it.) Thanks @Sterben Pistole

Temporary Root:
Simply open the KingoRoot app and click on the padlock. This will take roughly 3-5 minutes, but it will successfully give you root permissions. After reboot, root permission will be lost, but you can simply open KingoRoot and give yourself root permissions again.

Download link:
http://www.mediafire.com/download/at7iw100uawi74k/CM11-20160322-SS.zip
OR This version, which includes the qcom scripts (testing):
http://www.mediafire.com/download/nb98rtkk2j0vjpa/CM11-20160326-SS.zip

Screenshots:

Check the following posts for issues and known working items. If you have an idea of how to solve the item, the best thing to do would be to download this CM11 and try it out. If you can't do that, or if you did and found a solution, just post your thoughts/trials/2 cents here in the forum and we can hopefully integrate it into the final product!

Team Members and Contributors: (People who have contributed to the project.)
@Sterben Pistole
@Evant28

Beta testers: @DeadlySin9

Huge special thanks to @jmsq and @Joe-Tech for permission to use things we need from their GPE roms!
 
Last edited:

AlaskaLinuxUser

Senior Member
Oct 23, 2015
2,005
4,145
Fairbanks
alaskalinuxuser3.ddns.net
Known problems

Here is a list of the Known issues:

SYSTEM:
-USB - MTP, UMS, and PTP are not currently working properly. The PTP may be working, but my Linux computer cannot connect to it. The UMS will not mount. The MTP says the connection is taking too long and resets (on my computer).
-Sleep of Death - Lock screen causes sleep of death and reboot errors. Must disable the lock screen to prevent this. Thanks @Sterben Pistole !
-Mounting external SD card - Currently the extSdCard is mounted, however it requires root privileges to use it.
-SU - Currently, @Sterben Pistole has found a SU temporary work around, however, it is lost on reboot.
-GPS - Not currently functioning.
-APN settings - Since that portion of the settings crashes, I thought we could edit the xml file directly and set a default option for the carrier of choice. Not ideal, but perhaps a good work around?
-TeleService.apk has been removed, it causes too many crashes, this apk is really important for phone calls/radio control, so this would really need to be replaced.

APPS:
-GPS Status - The app works, but GPS does not appear to be functioning.
-Messaging - Crashes when you open it. I think due to settings issue with connectivity to network.
-Settings - Mostly works, a few settings options cause it to crash, most importantly, the mobile network settings for APN's etc. crashes.
-Torch - Torch apk does not function at this time. Found that during CM kernel init, changes are made to facilitate the torch.apk, which are not done by the stock kernel init. However, it is possible that these could be written in as a init.d script.
 
Last edited:

AlaskaLinuxUser

Senior Member
Oct 23, 2015
2,005
4,145
Fairbanks
alaskalinuxuser3.ddns.net
Known Working

Here is a list of the known working:

SYSTEM:
-ADB - Fully functional.
-Audio - Makes sounds when you tap on buttons, appears to work fine.
-Bluetooth - Fully functional, used it to tether internet to use the browser, worked great.
-Bootlogo - Fully functional.
-Bootup - Boots all the way up the first time.
-Camera - Fully functional.
-External SD Card - Currently mounts, but requires super user privileges to use it.
-Internal Storage - Fully functional.
-Themes - @Sterben Pistole has verrified that different themes work.
-Wifi - Remember to flash your modules in SS! Thanks @Sterben Pistole

APPS:
-Apollo - Works great.
-Browser - Works great when you have an active network connection.
-Calculator - Works great.
-Calendar - Works great.
-Camera - Works great. Thanks @Sterben Pistole
-Clock - Works great.
-CM File Manager - Now working!
-DSP Manager - Appears to work.
-Email - Appears to work.
-Gallery - Works great!
-Movie Studio - Appears to work.
-People - Appears to work.
-Phone - Appears to work, but due to a settings issue with setting the carrier, I could not connect to make a phone call.
-Terminal Emulator - Works great.
-Voice Dialer - App opens, don't know if it works as I did not add my contacts.
 
Last edited:

AlaskaLinuxUser

Senior Member
Oct 23, 2015
2,005
4,145
Fairbanks
alaskalinuxuser3.ddns.net
Change log

Code:
3/26/16
-New QCOM script testing download link CM11-20160326-SS.zip
-Removed two of the scripts, the BT, and the BTDUN scripts. Those two scripts cause the Bluetooth to fail. Now the bluetooth works just as it did before the scripts were added.

3/24/16
-Alternate CM11-20160324-QCOMSCRIPTS-SS.zip download link
-Our NB1/NC1 kernel will need certain settings, services, and scripts run to be fully functional in regards to the hardware. Our kernel, through init, was calling for several qcom shells that did not exist. They have been added into this zip. Although it does not immediately solve any issues, it may be worth trying some of the things in these scripts, thus the original 20160322 zip is still available for download.
3/22/16
-New CM11-20160322-SS.zip download link
-Removed /recovery, boot.img, and file_context from zip as well as from updater-script. This makes it smaller and quicker to flash to your phone.
-Removed Loki script from installation script, as we do not need it on SS.

3/16/16
-New CM11-20160316-SS.zip download link
-External SD card now is auto mounted to /storage/extSdCard, however, it requires super user permission to use it.
-Dropped UltraExplorer and added ES File Manager for maintenance tools. Not intended for final product.

3/15/16
-New CM11-20160315-SS.zip download link
-Added Kingoroot for simpler one click rooting, root is still temporary.
 (We had already achieved temporary root, but it was more complicated to activate than this. Kingoroot can re-root after restarting your phone.)

3/14/16
-New CM11-20160314-SS.zip download link
-Subtle changes in build.prop, fixed model # in about phone.
-Added TowelRoot, UltraExplorer, and Pushbullet for maintenance tools. Not intended for final product.

3/13/16
-New CM11-20160313-SS.zip download link.
 -Camera2.apk fixed, open camera removed. Thanks [user=6053184]@Sterben Pistole[/user]
 -CM File Manager fixed, removed ES File explorer.

3/12/16
-New CM11-20160312-SS.zip download link.
 -WiFi Fixed, be sure to flash the appropriate modules in SS! Thanks [user=6053184]@Sterben Pistole[/user] !

3/11/16
-New CM11-20160311-AKLU-SS.zip download link with fix for internal phone memory "sdcard" mounting with SS.
-Sleep of death and reboot error workaround - Thanks [user=6053184]@Sterben Pistole[/user] 
   - Disable the lock screen to prevent sleep of death and to allow future reboots. We will want to disable or fix the lock screen function, but the workaround allows us to continue working at this time!

3/10/16
-Uploaded to XDA for assistance from other members and to share what has been done so far.

2/26/16
-Created new boot animation reflecting SS and CM.

2/24/16
-Removed Torch.apk, camera.apk, camera2.apk due to issues.
-Added OpenCamera - works great, and you can choose where to save pics.
-Added /system/lib/modules, but still cannot insmod them, due to no root permission.
-Tried Kingroot, will not root without internet connection, used bluetooth tether, but it did not recognize internet connection, even though browser worked online.
-Tried SuperSU, but it cannot update the binary.

2/23/16
-Removed teleservices.apk from /system/priv-app due to issues.
-Edited build.prop
-Now the crrashing has stopped, however we cannot use data or make phone calls without teleservices.apk. Perhaps we can steal it from another rom?
-Camera app crashes when accessing the camera.
-Settings sometimes crash.
-File manager could not find any storage devices, internal or external. Replacd with ES File Manager and now can see all files in mounted partitions.
-sdcard and extSdCard are not mounted at boot. Write script to do that?
-GPU needed set to no HW overlays in dev. options to prevent graphics errors/tearing.
-Bluetooth tests sat! :)

2/22/16
-Installed CM11 nightly through SS, but it constantly crashes.
 
Last edited:

Sterben Pistole

Senior Member
Sep 28, 2014
421
203
24
Jefferson
I'm going to be experimenting with your build as I've started working on the same type of project as of last week. I'm going to see what I can do to fix a couple of the crashes and report back to you.

EDIT: TO ALL, IF YOU DON'T KNOW WHAT YOU'RE DOING DO NOT INSTALL THIS. IT IS NOT A DAILY DRIVER AT ALL.

EDIT 2: As I suspected, if you go into the settings and disable the lockscreen it won't go into the sleep of death.
 
Last edited:

AlaskaLinuxUser

Senior Member
Oct 23, 2015
2,005
4,145
Fairbanks
alaskalinuxuser3.ddns.net
I'm going to be experimenting with your build as I've started working on the same type of project as of last week. I'm going to see what I can do to fix a couple of the crashes and report back to you.

EDIT: TO ALL, IF YOU DON'T KNOW WHAT YOU'RE DOING DO NOT INSTALL THIS. IT IS NOT A DAILY DRIVER AT ALL.

EDIT 2: As I suspected, if you go into the settings and disable the lockscreen it won't go into the sleep of death.

Tested, works great! Updated thread! Great work!
Now we should replace or fix the lock screen. At least now we know what the problem was. Great insight!
 
  • Like
Reactions: Evant28

AlaskaLinuxUser

Senior Member
Oct 23, 2015
2,005
4,145
Fairbanks
alaskalinuxuser3.ddns.net
Rebooting works flawlessly if you turn off the lock screen. As for the internal and external storage not mounting properly, you need a wrapper script for that. I think @jmsq made one a while ago, but he's not active anymore.

Great find on the disabled lock screen allowing reboots! I've added it to the instructions after booting up the first time. I am breaking down @jmsq GPE 4.4.3 rom to look at the script. I've also pm'd to ask their permission.
 

DeadlySin9

Senior Member
Sep 2, 2012
1,475
703
Google Pixel 8 Pro
To be fair, some of those people saying it wasn't possible did specify that it would require plenty of work that most people don't want to/can't do. Kitkat probably is the best option since we did get those GPE's working though, and I certainly applaud your efforts. I'm no developer myself or I'd help out, but I think a good way to get some things working since we can't change the kernel is to try and build and load modules for it using bypasslkm. I don't know the viability of that, but I know at least for the storage issue I've seen a case where a module was loaded in order to allow mounting.
 

Sterben Pistole

Senior Member
Sep 28, 2014
421
203
24
Jefferson
To be fair, some of those people saying it wasn't possible did specify that it would require plenty of work that most people don't want to/can't do. Kitkat probably is the best option since we did get those GPE's working though, and I certainly applaud your efforts. I'm no developer myself or I'd help out, but I think a good way to get some things working since we can't change the kernel is to try and build and load modules for it using bypasslkm. I don't know the viability of that, but I know at least for the storage issue I've seen a case where a module was loaded in order to allow mounting.
Does BypassLKM work on 4.4.2? I know it works on 4.3, because that's what it was built for, but if it does it would definitely help a good bit.
 

AlaskaLinuxUser

Senior Member
Oct 23, 2015
2,005
4,145
Fairbanks
alaskalinuxuser3.ddns.net
Mounting of sdcard fixed.

To be fair, some of those people saying it wasn't possible did specify that it would require plenty of work that most people don't want to/can't do. Kitkat probably is the best option since we did get those GPE's working though, and I certainly applaud your efforts. I'm no developer myself or I'd help out, but I think a good way to get some things working since we can't change the kernel is to try and build and load modules for it using bypasslkm. I don't know the viability of that, but I know at least for the storage issue I've seen a case where a module was loaded in order to allow mounting.

Internal phone storage "sdcard" mounting is fixed, new download link in OP. Turns out SS roms use a special sdcard mounting script. Thanks for the suggestions though, we need all the help we can get!
 
  • Like
Reactions: Sterben Pistole

Sterben Pistole

Senior Member
Sep 28, 2014
421
203
24
Jefferson
Wow great progress! I'll be installing as soon as I get home. Now that internal storage is fixed does WiFi work?
Not at the moment. Even if Wi-Fi was working this would still be far off from being a stable daily driver. I'll post an update if I figure something out.

EDIT: WIFI IS NOW UP AND RUNNING! Modules are needed as always.

EDIT 2: Uploading build with working Wi-Fi as I am typing this. I have slow Wi-Fi so it'll be a while ;-;

EDIT 3: Got root working, but it's not out of the box. You need to flash SU in Safestrap right after modules, download towelroot, make it rain, and then install SU binary's from SU app.

EDIT 4: Root is only temporary. After a reboot it disappears. Also, theme's work great ;)
 
Last edited:

Evant28

Member
Jan 22, 2013
34
37
Not at the moment. Even if Wi-Fi was working this would still be far off from being a stable daily driver. I'll post an update if I figure something out.

EDIT: WIFI IS NOW UP AND RUNNING! Modules are needed as always.

EDIT 2: Uploading build with working Wi-Fi as I am typing this. I have slow Wi-Fi so it'll be a while ;-;

EDIT 3: Got root working, but it's not out of the box. You need to flash SU in Safestrap right after modules, download towelroot, make it rain, and then install SU binary's from SU app.

EDIT 4: Root is only temporary. After a reboot it disappears. Also, theme's work great ;)
Just about to flash, did you by chance get the build uploaded? Awesome work!
 
  • Like
Reactions: AlaskaLinuxUser

DeadlySin9

Senior Member
Sep 2, 2012
1,475
703
Google Pixel 8 Pro
Does BypassLKM work on 4.4.2? I know it works on 4.3, because that's what it was built for, but if it does it would definitely help a good bit.

I'm pretty sure someone got it working while everyone was looking into getting a working kexec module. I'll see if I can't find a link somewhere.

EDIT: Still searching, but there are also directions on how to point it to the right address and compile it in the bypasslkm thread. Surge1223 built one for 4.4.2, but it's for verizon NC5 and I haven't found the link yet just found it here.
 
Last edited:
  • Like
Reactions: AlaskaLinuxUser

Sterben Pistole

Senior Member
Sep 28, 2014
421
203
24
Jefferson
I'm pretty sure someone got it working while everyone was looking into getting a working kexec module. I'll see if I can't find a link somewhere.

EDIT: Still searching, but there are also directions on how to point it to the right address and compile it in the bypasslkm thread. Surge1223 built one for 4.4.2, but it's for verizon NC5 and I haven't found the link yet just found it here.
http://ubunmobile.blogspot.com/2015/03/moddev-enable-unsigned-kernel-modules.html Here's a link to what seems like it's what we're looking for.
 
  • Like
Reactions: AlaskaLinuxUser

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    [ NO LONGER ACTIVELY BEING DEVELOPED - SORRY, READ THE POSTS FOR INFORMATION ]

    Yes, you read that right. What we have here is a semi-functional CM11 (Kit Kat 4.4.4) for those with the locked boot loader using Safe Strap. I have been working on this for about a month, and this is what has come of that work. However, I need some help. I am not Android savvy enough to fix all of these problems to make this a fully functioning phone.
    That being said, the phone does boot up and appears to mostly work. At this time, it is not a stable daily driver.
    I did search all the threads, and I believe that this is not covered in another thread, so please forgive me if there is another CM11 thread that is for SS users on AT&T's locked boot loader phones. I don't see any.

    How I got here:
    Well, I wanted Cyanogenmod on my AT&T locked boot loader Safe Strapped phone. Every thread says we can't do that, and I just don't like hearing people tell me we can't do something and not provide any reasons. So I decided to try for myself. For the most part, they are right, but with enough perseverance, anything could happen.
    I wanted to still use my phone as my daily driver, so I needed SafeStrap to work without having to bounce between kernels.
    I was currently using Safe Strap with the NB1/NC1 kernels, and running Joe-Tech's GPE 4.4.4, so I decided that I should start with a 4.4.4 variant of CM, which lead me to CM11. I tried all of them, the nightlies, the home builds, the official builds, and I stumbled across one particular CM11 nightly (20151115) that would boot and then crash as soon as it booted. So I decided to use that as a base.
    Reviewing the situation/logs/errors after each crash, I slowly removed, edited, or replaced something until it would not receive that error and would move on to the next error. By the grace of God it was slowly coming together! Hence why the built in camera app is gone and replaced with open camera, etc.
    If we get this working, we may be able to use these hacks or tricks to get higher versions such as CM12 or perhaps (fingers crossed) CM13. I know this is kind of lofty, but perhaps we could get something going here. Once we identify the key problems, perhaps we can also apply these tricks to other AOSP variants, such as Slim Roms.
    However, let's stick to putting one foot in front of the other right now and focus on CM11.

    The Setup:
    AT&T boot loader locked phone with NB1/NC1 kernel and modules flashed.
    Safe Strap 3.75, currently using Rom Slot 1 for this, as my daily driver is on the stock slot, however I have done it both ways, and it works either way.
    Download the below CM11 zip and put it on your phone.
    In Safe Strap, choose stock or rom slot, then wipe and flash the CM11 zip.
    After flashing the zip, flash the wifi modules for your kernel.

    Once it boots:
    Go to the settings->about phone->tap on build to enable developer mode.
    Then, in developer menu, choose "Disable HW overlays" to always use GPU for screen compositing. (To improve graphics performance, you may find playing with the other graphics options help also.)
    Then disable the lock screen by changing "slide" to "none" (To prevent sleep of death until we fix it.) Thanks @Sterben Pistole

    Temporary Root:
    Simply open the KingoRoot app and click on the padlock. This will take roughly 3-5 minutes, but it will successfully give you root permissions. After reboot, root permission will be lost, but you can simply open KingoRoot and give yourself root permissions again.

    Download link:
    http://www.mediafire.com/download/at7iw100uawi74k/CM11-20160322-SS.zip
    OR This version, which includes the qcom scripts (testing):
    http://www.mediafire.com/download/nb98rtkk2j0vjpa/CM11-20160326-SS.zip

    Screenshots:

    Check the following posts for issues and known working items. If you have an idea of how to solve the item, the best thing to do would be to download this CM11 and try it out. If you can't do that, or if you did and found a solution, just post your thoughts/trials/2 cents here in the forum and we can hopefully integrate it into the final product!

    Team Members and Contributors: (People who have contributed to the project.)
    @Sterben Pistole
    @Evant28

    Beta testers: @DeadlySin9

    Huge special thanks to @jmsq and @Joe-Tech for permission to use things we need from their GPE roms!
    3
    No problem, it was a pleasure working for you guys. Good luck with the project, i can see success already:good::D:p
    3
    I'm really glad you guys still supporting this device, finally a taste of CM. Nice job guys, keep up the good work:p
    Too late for a third?[emoji14]

    Sent from my GT-I9505G using Tapatalk
    3
    To be fair, some of those people saying it wasn't possible did specify that it would require plenty of work that most people don't want to/can't do. Kitkat probably is the best option since we did get those GPE's working though, and I certainly applaud your efforts. I'm no developer myself or I'd help out, but I think a good way to get some things working since we can't change the kernel is to try and build and load modules for it using bypasslkm. I don't know the viability of that, but I know at least for the storage issue I've seen a case where a module was loaded in order to allow mounting.
    2
    Known problems

    Here is a list of the Known issues:

    SYSTEM:
    -USB - MTP, UMS, and PTP are not currently working properly. The PTP may be working, but my Linux computer cannot connect to it. The UMS will not mount. The MTP says the connection is taking too long and resets (on my computer).
    -Sleep of Death - Lock screen causes sleep of death and reboot errors. Must disable the lock screen to prevent this. Thanks @Sterben Pistole !
    -Mounting external SD card - Currently the extSdCard is mounted, however it requires root privileges to use it.
    -SU - Currently, @Sterben Pistole has found a SU temporary work around, however, it is lost on reboot.
    -GPS - Not currently functioning.
    -APN settings - Since that portion of the settings crashes, I thought we could edit the xml file directly and set a default option for the carrier of choice. Not ideal, but perhaps a good work around?
    -TeleService.apk has been removed, it causes too many crashes, this apk is really important for phone calls/radio control, so this would really need to be replaced.

    APPS:
    -GPS Status - The app works, but GPS does not appear to be functioning.
    -Messaging - Crashes when you open it. I think due to settings issue with connectivity to network.
    -Settings - Mostly works, a few settings options cause it to crash, most importantly, the mobile network settings for APN's etc. crashes.
    -Torch - Torch apk does not function at this time. Found that during CM kernel init, changes are made to facilitate the torch.apk, which are not done by the stock kernel init. However, it is possible that these could be written in as a init.d script.