[GT-I9001][ROM][ION][5.1.1][LMY49F] CyanogenMod 12.1 by ADC-Team [23/01/2016][EOL]

Christopher83

Inactive Recognized Developer
Sep 2, 2012
1,446
12,698
0
Milan




Hi everyone,
I'm proud to present our build of CyanogenMod 12.1 for the Galaxy S Plus (GT-I9001).

Pay attention:
At the moment the builds are for testing purposes.
Also this rom has partition re-assignments and use internal sdcard partition as new data partition, while the internal sd card is now emulated and shares the available space of data partition.

Working features:
  • Audio
  • Receiving and making calls
  • GPS
  • Hardware sensors (Light, Orientation, Compass, Proximity, Acceleration)
  • Legacy sensors / Virtual sensors (Gravity, Linear acceleration, Rotation vector)
  • Wifi
  • Bluetooth
  • MTP storage
  • HW accelerated gui
  • HW accelerated video
  • Camera
  • Voip video calls
  • BLNv10
  • USB/Wifi tethering
  • VSync
  • Phantom key presses filtering
  • USB OTG (check here for the needed Y cable)
  • MicroSD exFAT support
  • zRam
  • F2FS support for /data partition
Known issues:
  • Video recording at 720p quality may cause a force close of Camera app, so it's better to use 480p quality until this issue will be fixed
Not working features:
  • Let me know...

Disclaimer:
Your warranty is now void.

We are not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed.
Please do some research if you have any concerns about features included in this ROM before flashing it!
YOU are choosing to make these modifications, and if you point the finger at us for messing up your device, we will laugh at you.
How to install the rom:
If you're coming from a stock rom, a previous Android version (CM 9, CM 10, CM 10.1, CM 10.2 and derivatives) or if you have a CM 11.0 older than Release 15, read carefully the following steps
  • Download the rom, gapps and the new TWRP recovery (its mandatory)
  • If you have an external sd, you may already copy the downloaded files on it, please don't flash anything yet, read the following steps
  • Backup your data, like call history, contacts, sms, favourite app settings inside external sd (by using Titanium Backup or other apps available on PlayStore)
  • Backup your internal sd content, because all its content will be lost (you may copy the full content on a pc or inside a new folder of your external sd)
  • If you have WhatsApp, copy the folder /sdcard/WhatsApp inside /external_sd/Whatsapp, so you are ready to restore all your conversations after the re-installation of the app
  • Copy the content of the folder /sdcard/DCIM inside /external_sd/DCIM, so your taken pictures stored inside internal sdcard will be preserved
  • Reboot inside CWM or TWRP recovery which not includes new partition assignments
  • Perform a nandroid backup inside external sdcard (inside TWRP, Backup -> Select all the partitions -> Select Micro SD card as storage -> Swipe)
  • Install the new TWRP recovery that includes new partition assignments
  • Reboot inside TWRP recovery again, because now you must be sure to use the new one (inside TWRP, Home -> Reboot -> Recovery)
  • Wipe Data as ext4 or f2fs partition (Wipe -> Advanced Wipe -> Select Data -> Repair or Change File System -> Change File System -> EXT4 or F2FS -> Swipe)
  • Wipe Dalvik Cache, Cache, System and Android Secure (inside Wipe -> Advanced Wipe)
  • If you haven't copied the installation files yet, be sure that MTP is enabled (inside Mounts, click on Enable MTP), then, from your pc, copy the files inside internal sd or external sd
  • Install the rom package
  • Install the gapps package
  • Reboot the system
  • If you performed a backup with an app, on external sd or on pc, you may restore the saved data and copy/move /external_sd/Whatsapp folder to /sdcard/Whatsapp again
If you're coming from CM 12.0 or CM 11.0 Release 15 and above
  • Download the rom and gapps
  • Backup your data, like call history, contacts, sms, favourite app settings inside external sd (by using Titanium Backup or other apps available on PlayStore)
  • Reboot inside TWRP recovery (that includes new partition assignments)
  • Perform a nandroid backup (inside TWRP, Backup -> Select all the partitions -> Select Micro SD card as storage -> Swipe)
  • Wipe Data as ext4 or f2fs partition (Wipe -> Advanced Wipe -> Select Data -> Repair or Change File System -> Change File System -> EXT4 or F2FS -> Swipe)
  • Wipe Dalvik Cache, Cache, System and Android Secure (inside Wipe -> Advanced Wipe)
  • Install the rom package
  • Install the gapps package
  • Reboot the system
  • If you performed a backup with an app, on external sd or on pc, you may restore the saved data
If you're updating a CM 12.1
  • Reboot inside recovery (always the new one)
  • Install the rom update
  • Reboot the system

Downloads:
  • TWRP 2.8.1.0 recovery [17/01/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: f0c43dc355571554be6d0bad047c94cd
    Note: This recovery includes new partition assignments and supports F2FS partitions
  • Android 5.1 Gapps: [Open Gapps] [Mardon Gapps]
    Choose the ones you prefer...
  • CM 12.1 Release [23/01/2016]: [DevHost Mirror] [MediaFire Mirror]
    MD5: 259d8fef9e00bcea3e29db56c2dbc1e8
    Code:
    - Lollipop 5.1.1 (LMY49F)
    - Synched with latest CyanogenMod 12.1 sources
    [B]kernel/samsung/msm7x30[/B]
    - Kernel 3.4.110
    - lowmemorykiller: avoid false adaptive LMK triggers (credits to Vinayak Menon)
    - mm: vmpressure: scale pressure based on reclaim context (credits to Vinayak Menon)
    - mm: vmpressure: account allocstalls only on higher pressures (credits to Vinayak Menon)
    - mm: vmpressure: fix backport (credits to Dave Daynard)
    - block: bfq: Squashed update from BFQ-v7r5 to BFQ-v7r8 (credits to Michael Bestas)
  • Stock Kernel [23/01/2016]: [DevHost Mirror] [MediaFire Mirror]
    MD5: 3aa3d526b06111b425026419c042e1a5
    Note: This stock kernel is already included inside the rom, it's provided in case you installed a custom kernel and would like to re-install the stock one

Old Builds:

  • CM 12.1 Release [10/08/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: 147ac0b7c99aebcaf99d592f11a3186a
    Code:
    - Lollipop 5.1.1 (LMY48G)
    - Synched with latest CyanogenMod 12.1 sources
    [B]device/samsung/ariesve[/B]
    - device: Don't copy FFMPEG config anymore (credits to Steve Kondik)
    - libhealthd: fix warning (credits to Dan Pasanen)
    - ramdisk: Enable adaptive LMK (credits to Steve Kondik)
    [B]kernel/samsung/msm7x30[/B]
    - Kernel 3.4.108
    - mm, oom: make dump_tasks public (credits to Liam Mark)
    - mm: vmpressure: allow in-kernel clients to subscribe for events (credits to Vinayak Menon)
    - mm: Add notifier framework for showing memory (credits to Laura Abbott)
    - android/lowmemorykiller: Account for total_swapcache_pages (credits to Liam Mark)
    - lowmemorykiller: Don't count swap cache pages twice (credits to Liam Mark)
    - lowmemorykiller: use for_each_thread instead of buggy while_each_thread (credits to Vinayak Menon)
    - lowmemorykiller: enhance debug information (credits to Liam Mark)
    - lowmemorykiller: Dump out slab state information (credits to Laura Abbott)
    - lowmemorykiller: Run the lowmemory notifier when killing (credits to Laura Abbott)
    - lowmemorykiller: Do proper NULL checks (credits to Susheel Khiani)
    - lowmemorykiller: adapt to vmpressure (credits to Vinayak Menon)
  • Stock Kernel [10/08/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: e2c53ba45bb56d00742a4f6f02aa09dc
  • CM 12.1 Release [07/06/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: da230bc13260f8ddcd839c821593ba19
    Code:
    - Lollipop 5.1.1 (LMY48B)
    - Synched with latest CyanogenMod 12.1 sources
    [B]device/samsung/ariesve[/B]
    - device: Set dalvik.vm.dex2oat-filter=balanced (credits to mikeioannina)
    [B]kernel/samsung/msm7x30[/B]
    - Revert "epoll: use freezable blocking call" (credits to Rafael J. Wysocki)
    - suspend: Return error when pending wakeup source is found. (credits to Ruchi Kandoi)
    - subsystem: CPU FREQUENCY DRIVERS- Set cpu_load calculation on current frequency (credits to rahul.khandelwal)
    - cfg80211: add space after the b/w in db.txt (credits to Mihir Shete)
    - usb: ks_bridge: Ignore completion error in RX path (credits to ChandanaKishori Chiluveru)
    - ipv4: Missing sk_nulls_node_init() in ping_unhash(). (credits to David S. Miller)
    - msm: msm_fb: wait for VSYNC instead of DMA_P for LCDC (credits to Justin Philip)
    - msm: Kconfig: Disable SPARSEMEM for msm7x30 targets (credits to mikeioannina)
    - video: msm: Tone down logging (credits to mikeioannina)
    - Update defconfigs (credits to arco68)
  • Stock Kernel [17/05/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: 4fe208f9497b94a62bca50da092ed410
  • CM 12.1 Release [17/05/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: 6ae73ac20db3ea3ab8d8776254448053
    Code:
    - Lollipop 5.1.1 (LMY47V)
    - Synched with latest CyanogenMod 12.1 sources
    [B]device/samsung/ariesve[/B]
    - Revert "rootdir: Increase Swappiness to 100" (credits to arco68)
    - Revert "rootdir: Increase zram disk size to 256mb on 512mb devices" (credits to arco68)
    - rootdir: Use lz4 compression for ZRAM (credits to arco68)
    - rootdir: Reduce ZRAM size to 128MB (credits to arco68)
    - overlay: Define default quick setting tiles (credits to arco68)
    - device: Use ART small mode (credits to mikeioannina)
    - device: Disable dex2oat watchdog (credits to mikeioannina)
  • Stock Kernel [17/05/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: 549024aaf01b7ca3b2b5e696a78c7521
  • CM 12.1 Beta [02/05/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: fb2a6c490384f5db98ef8fa087f0923a
    Code:
    - Lollipop 5.1.1 (LMY47V)
    - Synched with latest CyanogenMod 12.1 sources
    [B]device/samsung/ariesve[/B]
    - BoardConfig: Enable BOARD_SUPPRESS_BLOCK_DISCARD (credits to Christopher83)
    [B]hardware/qcom/display-caf/msm7x30[/B]
    - gralloc: Add allocation support for standard NV12 (credits to Justin Philip)
    - gralloc: handle YCbCr 420SP format in lock_ycbcr (credits to Justin Philip)
    - gralloc: Fix incorrect handle validation check (credits to Naseer Ahmed)
    [B]hardware/qcom/media-caf/msm7x30[/B]
    - mm-video: vdec: initialize m_native_buffers_enabled flag appropriately (credits to c_sridur)
    - mm-video:vdec: Fix random ION memory call failures (credits to c_sridur)
    - mm-video: venc: Fix reconbuffer free crash. (credits to c_sridur)
  • Stock Kernel [02/05/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: aee5cdf433e1b4f70c89f171844277da
  • CM 12.1 Beta [17/04/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: ef72f0efaf486e3797eecd0fc674f945
    Code:
    - Lollipop 5.1 (LMY47I)
    - Synched with latest CyanogenMod 12.1 sources
    - Now the icon of mobile network signal should work fine again
    [B]device/samsung/ariesve[/B]
    - device: Disable dialer lookup by default (credits to mikeioannina)
    [B]kernel/samsung/msm7x30[/B]
    - Kernel 3.4.107
  • CM 12.1 Test [09/04/2015]: [DevHost Mirror] [MediaFire Mirror]
    MD5: 5ad2f5d0af2bffc208b01c8fada688c6
    Code:
    - Lollipop 5.1 (LMY47I)
    - Synched with latest CyanogenMod 12.1 sources


Sources:

Credits and Thanks to:
CyanogenMod Team for the huge work
arco68, Christophe83, CastagnaIT, krislibaeer, ivendor, educk for their development on this device
mikeioannina, Blefish for their development on other legacy devices
ktulu84, Rhonin86, smeroni68, XeLLaR* for their help in testing
Nello96 for the team logo
Olli H., Harald K. for their donations

XDA:DevDB Information
[GT-I9001][LP 5.1.1] CyanogenMod 12.1 by ADC-Team - Kernel 3.4.x, ROM for the Samsung Galaxy S Plus I9001

Contributors
Christopher83, DevConnection_Team, arco68, CastagnaIT, mikeioannina, Blefish, krislibaeer, ktulu84, Rhonin86, smeroni68, XeLLaR*, sirmordred
Source Code: https://github.com/AriesVE-DevCon-TEAM

ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: TWRP Recovery that includes new partition assignments
Based On: CyanogenMod

Version Information
Status: Stable
Current Stable Version: 04
Stable Release Date: 2016-01-23

Created 2015-04-11
Last Updated 2016-01-30
 

Attachments

Last edited:

Christopher83

Inactive Recognized Developer
Sep 2, 2012
1,446
12,698
0
Milan
Screenshots:

Frequently Asked Questions:
  • My device keeps on booting inside recovery instead of rebooting the system, what I can do?
    If you have recovery bootloop problem, you should take a look at this post
  • How can I use BackLightNotifications feature?
    BLNv10 is activable/deactivable from AriesParts (Advanced Settings) or BLN Control Application (Free or Pro version)
  • Is the new recovery compatible with an old rom (CM 11.0, CM 10.2, CM 10.1, and previous)?
    No, the new recovery is compatible only with new CM 12.1, CM 12.0, CM 11.0 Release 15 and next releases. If you want to restore a previous backup taken with an old recovery (without partition reassignments), you should re-install the old recovery first, reboot inside recovery again and then restore the backup.
  • What does the emulated internal sd card mean and where my files are stored on it?
    The emulated internal sd card is a special folder (/data/media) available inside data partition and also simlinked to /sdcard, it's recognized as a FAT storage and can be used in place of the previous internal sd card. The emulated sd card shares the available space of data partition, but it's not wiped when you choose to wipe Data from recovery.
  • How can I get the transparent status bar and transparent lock screen background?
    By default, these features are disabled, because they are available for non lowram devices only, but you can enable them by activating Force High-End GFX switch inside Settings -> Performance or Advanced Settings app (a reboot is needed).
  • How can I enable Developer options?
    You can enable this menu section by tapping 7 times on Build number inside Settings -> About phone.
  • How can I enable Root Access for apps?
    You can enable it inside Settings -> Developer Options -> Root Access, set it to Apps only or Apps and ADB.
    The granted root permissions for any app can be found inside Settings -> Privacy -> Privacy Guard, then long press on the app to show or manage its permissions.
  • How can I enable Advanced Reboot options?
    You can enable the Advanced Reboot options inside Developer options.
  • What is Battery saver feature and how can I enable it?
    This is a new feature of Android L that allows to improve the battery life by reducing the device's performance, limiting vibration, most background data and limiting the synchronization for emails, messaging, etc... It can be enabled when the device is not charging inside Settings -> Battery -> Top left menu -> Battery saver.
  • I cannot mount internal SD card via mass storage, how can I fix this issue?
    You must use MTP protocol since emulated sd doesn't support mass storage.
    This is common on all devices with an emulated sd, that's why the mainly supported protocol is now MTP (expecially on Lollipop).
  • During a reboot the system shows "Optimizing Apps" again, why?
    As arco68 said, the optimizing apps on second boot is TRIM running. Google changed this in 5.0.2, so now it runs automatically once a day, either during the night while phone is charging or after you reboot.
  • Music app (Eleven) force closes during start or shows duplicated artists, albums, songs, how can I fix this?
    Probably one of the databases of media provider is corrupted or contains wrong data, try to delete the content of /data/data/com.android.providers.media/database, perform a reboot and test music app again.
  • I cannot connect to my wifi router, how can I fix this issue?
    It has been reported that inside some country regions is not possible to successfully connect to wifi router.
    If you have this problem, check your wifi router configuration and try to switch from WPA2 to WPA security.
    This possible workaround has been reported by an Iranian user.
  • I'd like to go back to CM 11.0 Release 15 or a next CM 11.0 release, what should I do?
    - Reboot inside recovery
    - Wipe Cache, Dalvik Cache, Data, System, Android Secure
    - Perform the restore or the clean installation of CM 11.0
  • I'd like to go back to CM 11.0 Release 14 or a previous Android version, what should I do?
    - Reboot inside recovery
    - Wipe Cache, Dalvik Cache, Data, System, Android Secure
    - Reinstall old recovery (without partition reassignments)
    - Reboot inside the old recovery (Home -> Reboot -> Recovery)
    - Inside Advanced Wipe menu wipe SDcard as FAT partition (Wipe -> Advanced Wipe -> Select SDcard -> Repair or Change File System -> Change File System -> FAT -> Swipe)
    - Perform the restore or the clean installation of the old Android system
  • What is F2FS file system?
    F2FS (Flash-Friendly File System) is a new file system designed for delivering maximum file-system performance on flash-based storage devices. For more info: F2FS
  • How can I switch to F2FS format type for /data partition without loosing data?
    By switching from EXT4 to F2FS format type for /data partition, without performing any backup, you will surely lost all your user data files and internal sd content.
    To avoid that, follow these steps:
    - Perform a backup of your internal sd (/sdcard) by copying the /sdcard content inside a new folder on /external_sd or on your pc (through MTP)
    - Reboot into recovery
    - Install latest TWRP recovery with F2FS support
    - Reboot -> Recovery to reboot inside the newly installed recovery
    - Perform a full backup of your current configuration, inside Backup -> Flag all partitions -> Set a customized name if you want -> Set Micro SD card as storage -> Swipe to Backup
    - After the backup process has completed, go inside Wipe -> Advanced Wipe -> Select Dalvik Cache, System, Cache -> Swipe to Wipe
    - Always inside Wipe -> Advanced Wipe -> Select Data -> Repair or Change File System -> Change File System -> F2FS -> Swipe to Change
    - Install new rom and gapps
    - Restore your data partition from previously made backup, Restore -> Select latest backup -> Select Data only -> Swipe to Restore (don't care about ext4 warnings)
    - Restore your /sdcard backup
    - Reboot System
    - Check if your data is using F2FS format type by running the following command inside Terminal Emulator or through ADB:
    Code:
    mount | grep f2fs
    If everything is ok, you should get
    Code:
    /dev/block/mmcblk0p28 /data f2fs <various comma separated options>
 
Last edited:

Christopher83

Inactive Recognized Developer
Sep 2, 2012
1,446
12,698
0
Milan
How to perform the calibration of Magnetic / Acceleration / Orientation Sensors

  1. Horizontal Calibration:
    Open Advanced Settings and select Horizontal Calibration, place the phone over a flat and horizontal surface, then press Calibrate.
  2. Magnetic Field Calibration
    After installing a compass app or another app that uses the magnetic sensor, open that and perform an 8 shape, as shown in this video.
    The calibration movement is a combined one over all axes and will result in a residual magnetism removal (reset), please perform a slow movement, it's not important the direction you'll follow, just do once or more times until you get the correct calibration.
    To know if the calibration is correct, you must know where is approximately the North and look with a compass app if the needle is pointing there. If it's so, try rotating the phone of 90, 180, 270 degree, finally go back to 360 degrees and look if the needle is pointing always to North during the performed rotation.
    If this easy test give positive results, your magnetic sensor has been correctly calibrated.




Note:
  • After performing the above calibrations, the orientation and magnetic field sensors will give the correct values with all apps.
  • Our phone is known to have a native shift of some degrees respect to the North, but this is a hardware limitation due probably to the orientation of the chip welded on the board.
  • This procedure can be used also after a new flash of a compatible custom kernel in case the sensors are not correctly working.

Legacy Sensors / Virtual Sensors
These sensors are called virtual, because our device hasn't a real hardware chip for them, but by utilizing some data processing techniques and by merging the values coming from accelerometer and magnetic field sensors, it's possible to extrapolate the approximated values of these virtual sensors.
Please note that not all apps support the virtual sensors, to perform a test we suggest the app S Tools+.
 
Last edited:

Christopher83

Inactive Recognized Developer
Sep 2, 2012
1,446
12,698
0
Milan
Please, read carefully all the opening post content, you must follow the installation instructions to avoid any problem...
My custom kernel for CM 12.1 will be available in the future, I think that's important to have a good working rom first.

The first builds of this rom will be surely for testing purposes, don't think that everything will work as expected, so don't install it if you need a good working device.

I wish you a nice week end!
 
Last edited:

tonibm19

Senior Member
Mar 16, 2014
284
86
0
many thanks

Youre the best! You keep S plus alive!
Android 2.2 - 5.1
Kernel 2.6-kernel 3.4
Will try and report soon.

Now, I want to ask you a question. I know youve already done a lot and we cant ask you more, but I wonder: ¿Will you at least try to compile kernel 3.10 from that huavei msm 70x3 which got it? I wanna see how would it perform.

Many thanks! :cowboy:
 

Rhonin86

Senior Member
Nov 17, 2011
1,370
1,313
143
Hagen
THX Cris,

another Masterpiece :D

During the testphase i was astonished how much better the CM 12.1 performes in comparison to the CM 12. The version before this one provided a "very quick" responding CallUI (about 2 seconds) while the latest needs nearly 6 seconds to start. i hope i will be quicker again. Another small bug is the missing provider connection symbol - but the connection is present and it works.

I wish you all a lot of fun with the newest ROM - THX again Chris - there are no words to express our gratitude to how much you have given us

Rhonin
 

Hugo-PT

Senior Member
Jan 1, 2014
611
486
93
Matosinhos
USB OTG is working

Thank you so much Christopher83 for this project :)

As mentioned by Rhonin86 there are no words to express our gratitude to how much you have given us :highfive:

Regarding the USB OTG, I tested and can confirm that it is working :good:
I also agree with Rhonin86 in relation to better performe of the CM 12.1 in comparison to the CM 12.

This was my experience just after the first boot after installation :D ..continue to test it :fingers-crossed:

Obs: I use Minimal Edition Gapps

Best regards,

Hugo

Edit 1

@Christopher83

Wifi tethering is working fine :good: and my free ram also :D

Edit 2

MicroSD exFAT is also working :D
Man, this test build is much faster than the CM12 :good:
 

Attachments

Last edited:

AndreiNdi

Senior Member
Mar 11, 2012
72
17
0
Bucharest
What? Already a 5.1 release? But I've just updated to last 5.0 version! - Just joking, I'll give it a try and let you guys know.

It's probably going to be great so I'll just say thanks now! :highfive:

EDIT: Well, I didn't even get to flash the ROM. I just tried to do the usual steps:

1. Advanced wipe
2. Wipe everything except external sd card

But for the first time, it got stuck on formating the cache partition. I thought it may take more time but in the end the best idea seemed to turn off the phone.
nope. bad idea

Now I can't even boot to recovery/download, it's stuck on Samsung logo. Did it ever happen to you or is there something that can be done?
Yes I know this is off-topic

EDIT2: Kept the battery out for some time and now I am able to boot into recovery
 
Last edited: