[ROM][WT88047][L][5.1.1] CyanogenMod unofficial builds

Search This thread

ketut.kumajaya

Recognized Developer
Apr 28, 2011
4,935
14,137
Bekasi
CyanogenMod is a free, community built, aftermarket firmware distribution of Android 5.1.x (Lollipop), which is designed to increase performance and reliability over stock Android for your device.

Code:
/*
 * Your warranty is now void.
 *
 * I am not responsible for bricked devices, dead SD cards, dead cats,
 * thermonuclear war, or you getting fired because the alarm app failed.  
 * YOU are choosing to make these modifications, and if
 * you point the finger at me for messing up your device, I will break it! [emoji14]
 * Act accordingly
 */

CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.

The source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review. You can also view the Changelog for a full list of changes & features.

Important information:
This thread is for CyanogenMod 12.1 opensource builds for Wingtech WT88047, marketed as Redmi 2 by Xiaomi. The following will not be supported in this thread:
- Custom Kernels
- Mods
- Modified system files
- Xposed

Instructions:
Comprehensive installation instructions for CM on Wingtech WT88047 can be found on the CyanogenMod Wiki: http://wiki.cyanogenmod.org/w/Install_CM_for_rendang

Issues?
Experience issues? Please provide the following info:
  • If the device was hard reboot, please provide the file "/sys/fs/pstore/console-ramoops".
  • If the device was soft reboot or is "bootlooping", please run a logcat and provide the full output.
  • Please use Pastebin when possible.

Download Links:
Google Drive: https://goo.gl/zhGZjQ
AFH: https://goo.gl/5sqZGp
EmfoxZhou's build: https://goo.gl/iQNZjC

I would like to thank everyone involved in helping with testing, coding, debugging & documenting! Enjoy!

Known Issues:
  • Both back and front camera not working
  • Sound out from both speaker and headset
  • Compass chip Yamaha YAS537 known not supported, Asahi Kasei Microdevices AKM09911 working flawlessly
  • Use VOL UP + VOL DOWN + POWER button to enter recovery mode
  • At the start of video or any stereo recording, audio noise in about 5 seconds. Please use a different camera app and set audio format to AMR-NB (mono)
  • If you experiencing a random freeze, tell me your MMC type. You can check it using "dmesg | grep mmcblk0" command as root. Known chip in Redmi 2 variant:
    • Redmi 2 8 GB:
      • H8G2d 7.28 GiB - Hynix - inside my Redmi 2, no freeze
      • QN1SMB 7.28 GiB - Samsung
      • P1J95K 7.29 GiB - Numonyx Micron - reported random freeze
    • Redmi 2 16 GB:
      • HAG2e 14.6 GiB - Hynix
      • R1J96N 14.6 GiB - Numonyx Micron

XDA:DevDB Information
[ROM][WT88047][L][5.1.1] CyanogenMod unofficial builds, ROM for Wingtech WT88047 devices (see above for details)

Contributors
ketut.kumajaya, @zwliew
Source Code: https://github.com/kumajaya/android_device_wingtech_wt88047

ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.10.x
Based On: CyanogenMod

Version Information
Status: Beta

Created 2015-09-14
Last Updated 2015-12-23
 
Last edited by a moderator:

ketut.kumajaya

Recognized Developer
Apr 28, 2011
4,935
14,137
Bekasi
Initial development thread: http://en.miui.com/thread-148731-1-1.html

A great how to: http://forum.xda-developers.com/and.../how-to-convert-qualcomms-dtb-to-dts-t3221223

Xiaomi still refuse to release Redmi 2 kernel source, they continue violate the GPL accompanied by ex. Google Hugo Barra.

I believe more than one hardware revision available out there, luckily this port working smoothly on my own Redmi 2 device. Some facts:
  • Compass chip Yamaha YAS537 known not supported, Asahi Kasei Microdevices AKM09911 working flawlessly
  • I'm afraid Wingtech use a different battery charger management chip on selected model, SMB13x chip supported
  • My device model HM2014817 1GB RAM, board revision S88047E1, R61308 LCD driver with AUO3.5 LCD panel, AKM09911 compass chip

Current manifest:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="kumajaya/android_device_wingtech_wt88047" path="device/wingtech/wt88047" remote="github" revision="cm-12.1" />
  <project name="kumajaya/android_kernel_cyanogen_msm8916" path="kernel/cyanogen/msm8916" remote="github" revision="cm-12.1-amss-2.1-wt88047" />
  <project name="kumajaya/proprietary_vendor_wingtech" path="vendor/wingtech" remote="github" revision="cm-12.1" />
  <project name="kumajaya/android_device_cyanogen_msm8916-common" path="device/cyanogen/msm8916-common" remote="github" revision="cm-12.1" />
  <project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
  <project name="kumajaya/android_packages_apps_SnapdragonCamera" path="packages/apps/SnapdragonCamera" remote="github" revision="cm-12.1" />
</manifest>
 
Last edited:

ketut.kumajaya

Recognized Developer
Apr 28, 2011
4,935
14,137
Bekasi
Camera status

Kernel space:
  • Camera eeprom loaded
  • Both back and front camera module loaded
  • All nodes (v4l-subdev*, video0, video1) registered to /dev successfully
User space:
Camera server sub module (imglib) crash, kernel space stopped because of user space problem

Logcat output:
Code:
--------- beginning of crash
F/libc    (  262): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 2888 (mct_pipe_start)
I/DEBUG   (  249): property debug.db.uid not set; NOT waiting for gdb.
I/DEBUG   (  249): HINT: adb shell setprop debug.db.uid 100000
I/DEBUG   (  249): HINT: adb forward tcp:5039 tcp:5039
I/DEBUG   (  249): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  249): Build fingerprint: 'Xiaomi/2014811/HM2014811:4.4.4/KTU84P/V6.6.7.0.KHJMICF:user/release-keys'
I/DEBUG   (  249): Revision: '0'
I/DEBUG   (  249): ABI: 'arm'
I/DEBUG   (  249): pid: 262, tid: 2888, name: mct_pipe_start  >>> /system/bin/mm-qcamera-daemon <<<
I/DEBUG   (  249): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
I/DEBUG   (  249):     r0 b7db57f8  r1 00000001  r2 b7db5860  r3 00000000
I/DEBUG   (  249):     r4 b7db57f8  r5 b6ea3db7  r6 b6468d84  r7 00000001
I/DEBUG   (  249):     r8 b7db57f8  r9 b7dbb418  sl b6e4f475  fp b6468dd0
I/DEBUG   (  249):     ip b6ebbeb8  sp b6468d28  lr b6ea3dc7  pc 00000000  cpsr a0000010
I/DEBUG   (  249): 
I/DEBUG   (  249): backtrace:
I/DEBUG   (  249):     #00 pc 00000000  <unknown>
I/DEBUG   (  249):     #01 pc 00007dc5  /system/vendor/lib/libmmcamera2_imglib_modules.so
I/DEBUG   (  249):     #02 pc 00006297  /system/vendor/lib/liboemcamera.so (mct_list_traverse+26)
I/DEBUG   (  249):     #03 pc 000062b9  /system/vendor/lib/liboemcamera.so (mct_list_traverse+60)
I/DEBUG   (  249):     #04 pc 000062b9  /system/vendor/lib/liboemcamera.so (mct_list_traverse+60)
I/DEBUG   (  249):     #05 pc 000084f3  /system/vendor/lib/libmmcamera2_imglib_modules.so
I/DEBUG   (  249):     #06 pc 00002699  /system/vendor/lib/liboemcamera.so
I/DEBUG   (  249):     #07 pc 00013493  /system/lib/libc.so (__pthread_start(void*)+30)
I/DEBUG   (  249):     #08 pc 000113bf  /system/lib/libc.so (__start_thread+6)
I/DEBUG   (  249): 
I/DEBUG   (  249): Tombstone written to: /data/tombstones/tombstone_05

Solution:
Restore some Smartfren Andromax Q (known built for Lollipop) https://github.com/kumajaya/proprie...mmit/d20417a6a35c9ac52cd8e359b0420aab51313c47

Conclusion:
For KitKat camera blobs, a compatible kernel driver needed because user space system call slightly different to the current kernel. How I did it fairly easy, you can trace my kernel commits on github. The rest, you can trace my proprietary vendor blobs commits.
 
Last edited:

Gondya bhau

Senior Member
Jan 28, 2012
481
233
Mumbai
great !! :D good luck :good::good:

hope you can fix the remaining bugs soon :cowboy:


PS: Is your ROM completely independent from zwliew's ROM ? since you didnt mention him anywhere....

EDIT

PS 2 : to prevent spam here, it would also be nice if you could include the links to TWRP and Gapps too....

cheers :)
 
Last edited:

ketut.kumajaya

Recognized Developer
Apr 28, 2011
4,935
14,137
Bekasi
great !! :D good luck :good::good:

hope you can fix the remaining bugs soon :cowboy:


PS: Is your ROM completely independent from zwliew's ROM ? since you didnt mention him anywhere....

EDIT

PS 2 : to prevent spam here, it would also be nice if you could include the links to TWRP and Gapps too....

cheers :)
You can check the device tree source, my work based on rendang. Of course we help each other, this is an open source project. Thanks for your input :good:
Somehow not working here.
Great,bro. I'm waiting for your perfect version.
Forever...
Wow...Back on xda...
Your nick look familiar.
 

ketut.kumajaya

Recognized Developer
Apr 28, 2011
4,935
14,137
Bekasi

ketut.kumajaya

Recognized Developer
Apr 28, 2011
4,935
14,137
Bekasi
OK thanks, can't wait! BTW, your TWRP recovery external sd card not supported and cannot modify system files without giving permissions...

It's TWRP the result after Cyanogen recovery failed running on our device. Then I found a trick to make Qualcomm framebuffer initialized by old bootloader ready for CyanogenMod. Yes, running current Cyanogen MSM8916 kernel on our device too ambitious but with a good result so far. Later, something in TWRP codes possibility broke my ROM that I build for hours, flashing it failed without any error, then I switched back to Cyanogen recovery. Previously I worked for OnePlus One that doesn't have external card. Still no time to try TWRP after that because my laptop not as fast as my brain :D
 
  • Like
Reactions: nicknitewolf

nicknitewolf

Recognized Developer
Sep 10, 2013
1,302
3,488
Singapore
Xiaomi Poco F1
It's TWRP the result after Cyanogen recovery failed running on our device. Then I found a trick to make Qualcomm framebuffer initialized by old bootloader ready for CyanogenMod. Yes, running current Cyanogen MSM8916 kernel on our device too ambitious but with a good result so far. Later, something in TWRP codes possibility broke my ROM that I build for hours, flashing it failed without any error, then I switched back to Cyanogen recovery. Previously I worked for OnePlus One that doesn't have external card. Still no time to try TWRP after that because my laptop not as fast as my brain :D

Anyways I tried using the rendang guide you posted but I was somewhat unsuccessful... I only managed to get the kernel and recovery built and not sure if it even works.
EDIT:WARNING DON'T TRY AS SCREEN FLASHES
EDIT AGAIN: Screen flashing disappears after a while but still not advised to flash
boot.img
 
Last edited:

ketut.kumajaya

Recognized Developer
Apr 28, 2011
4,935
14,137
Bekasi
Anyways I tried using the rendang guide you posted but I was somewhat unsuccessful... I only managed to get the kernel and recovery built and not sure if it even works.
EDIT:WARNING DON'T TRY AS SCREEN FLASHES
EDIT AGAIN: Screen flashing disappears after a while but still not advised to flash
boot.img
Your source tree not ready for wt88047 yet. Open .repo/local_manifests/roomservice.xml, change:
Code:
  <project name="CyanogenMod/android_kernel_cyanogen_msm8916" path="kernel/cyanogen/msm8916" remote="github" />
to
Code:
  <project name="kumajaya/android_kernel_cyanogen_msm8916" path="kernel/cyanogen/msm8916" remote="github" revision="cm-12.1-amss-1.0.2-wt88047" />
Add:
Code:
  <project name="kumajaya/android_device_wingtech_wt88047" path="device/wingtech/wt88047" remote="github" />
  <project name="kumajaya/proprietary_vendor_wingtech" path="vendor/wingtech" remote="github" />
Sync and build for wt88047 target:
Code:
repo sync
breakfast wt88047
brunch wt88047
 

gingerboy92

Senior Member
May 7, 2011
747
193
Xiaomi Mi 11 Lite 4G
Code:
<6>[ 2934.220129] lineout_status_put: external speaker PA mode: 1
<3>[ 2934.228324] wcd-spmi-core msm8x16_wcd_codec-ee34ec00: Failed to get mbhc impedance -22
<3>[ 2934.260293] send_afe_cal_type cal_block not found!!
<6>[ 2934.347338] msm8x16_ext_spk_delayed_enable: Enable external speaker PAs.
<6>[ 2937.173969] lowmemorykiller: Killing 'dboxed_process1' (32514), adj 1000,
<6>[ 2937.173969]    to free 13324kB on behalf of 'kswapd0' (73) because
<6>[ 2937.173969]    cache 121960kB is below limit 122880kB for oom_score_adj 1000
<6>[ 2937.173969]    Free memory is 15256kB above reserved.
<6>[ 2937.173969]    Free CMA is 1620kB
<6>[ 2937.173969]    Total reserve is 25012kB
<6>[ 2937.173969]    Total free pages is 25068kB
<6>[ 2937.173969]    Total file cache is 125968kB
<6>[ 2937.173969]    Total anon is 351580kB
<6>[ 2937.173969]    Slab Reclaimable is 10356kB
<6>[ 2937.173969]    Slab UnReclaimable is 33668kB
<6>[ 2937.173969]    Total Slab is 44024kB
<6>[ 2937.173969]    GFP mask is 0xd0
<3>[ 2939.946381] mmc0: data txfr (0x00100000) error: -110 after 1521 ms
<6>[ 2939.946399] sdhci: =========== REGISTER DUMP (mmc0)===========
<6>[ 2939.946406] sdhci: Sys addr: 0x000002d8 | Version:  0x00002e02
<6>[ 2939.946414] sdhci: Blk size: 0x00000200 | Blk cnt:  0x00000018
<6>[ 2939.946421] sdhci: Argument: 0x00589788 | Trn mode: 0x0000002b
<6>[ 2939.946428] sdhci: Present:  0x01e80100 | Host ctl: 0x00000035
<6>[ 2939.946435] sdhci: Power:    0x0000000d | Blk gap:  0x00000000
<6>[ 2939.946442] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
<6>[ 2939.946448] sdhci: Timeout:  0x0000000d | Int stat: 0x00000000
<6>[ 2939.946456] sdhci: Int enab: 0x03ff800b | Sig enab: 0x03ff800b
<6>[ 2939.946462] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
<6>[ 2939.946469] sdhci: Caps:     0x222dc8b2 | Caps_1:   0x00008007
<6>[ 2939.946476] sdhci: Cmd:      0x0000193a | Max curr: 0x00000000
<6>[ 2939.946483] sdhci: Resp 1:   0x00000000 | Resp 0:   0x00000900
<6>[ 2939.946491] sdhci: Resp 3:   0x00000900 | Resp 2:   0x00000000
<6>[ 2939.946496] sdhci: Host ctl2: 0x00000003
<6>[ 2939.946504] sdhci: ADMA Err: 0x00000003 | ADMA Ptr: 0xaf0702c8
<6>[ 2939.946510] ----------- VENDOR REGISTER DUMP -----------
<6>[ 2939.946519] Data cnt: 0x00003000 | Fifo cnt: 0x00002800 | Int sts: 0x000c0000
<6>[ 2939.946527] DLL cfg:  0x060d6400 | DLL sts:  0x00000184 | SDCC ver: 0x1000002e
<6>[ 2939.946535] Vndr func: 0x00000a1e | Vndr adma err : addr0: 0x00b16800 addr1: 0x00000000
<6>[ 2939.946543] Vndr func2: 0xfa8018a8
<6>[ 2939.946566]  Test bus[0 to 3]: 0x0000c846 0x000000ce 0x00007018 0x01c002fe
<6>[ 2939.946574]  Test bus[4 to 7]: 0x00473fd8 0x0005c038 0x00000000 0xff23fffb
<6>[ 2939.946583]  Test bus[8 to 11]: 0x6ffc27c4 0x40800002 0x2023e089 0x000014c0
<6>[ 2939.946592]  Test bus[12 to 15]: 0x045f0788 0x803d1180 0x0d001c08 0x00000a80
<6>[ 2939.946601]  Test bus[16 to 19]: 0x00022000 0x010e808c 0x138f3696 0x00001091
<6>[ 2939.946610] mmc0: clk: 177770000 clk-gated: 0 claimer: mmcqd/0 pwr: 12
<6>[ 2939.946617] mmc0: rpmstatus[pltfm](runtime-suspend:usage_count:disable_depth)(0:0:0)
<6>[ 2939.946623] sdhci: ===========================================
<3>[ 2944.703930] wlan: [3196:E :HDP] hdd_tx_rx_pkt_cnt_stat_timer_handler: Disable split scan
<3>[ 2949.973884] mmc0: Timeout waiting for hardware interrupt.
<6>[ 2949.973904] sdhci: =========== REGISTER DUMP (mmc0)===========
<6>[ 2949.973912] sdhci: Sys addr: 0x000002d8 | Version:  0x00002e02
<6>[ 2949.973920] sdhci: Blk size: 0x00000200 | Blk cnt:  0x00000000
<6>[ 2949.973927] sdhci: Argument: 0x00000000 | Trn mode: 0x0000002b
<6>[ 2949.973935] sdhci: Present:  0x01e80006 | Host ctl: 0x00000035
<6>[ 2949.973942] sdhci: Power:    0x0000000d | Blk gap:  0x00000000
<6>[ 2949.973949] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
<6>[ 2949.973956] sdhci: Timeout:  0x0000000e | Int stat: 0x00000000
<6>[ 2949.973963] sdhci: Int enab: 0x03ff800b | Sig enab: 0x03ff800b
<6>[ 2949.973970] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
<6>[ 2949.973977] sdhci: Caps:     0x222dc8b2 | Caps_1:   0x00008007
<6>[ 2949.973984] sdhci: Cmd:      0x00000c1b | Max curr: 0x00000000
<6>[ 2949.973991] sdhci: Resp 1:   0x00000000 | Resp 0:   0x00000c00
<6>[ 2949.973998] sdhci: Resp 3:   0x00000000 | Resp 2:   0x00000000
<6>[ 2949.974003] sdhci: Host ctl2: 0x00000003
<6>[ 2949.974011] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
<6>[ 2949.974017] ----------- VENDOR REGISTER DUMP -----------
<6>[ 2949.974025] Data cnt: 0x00000000 | Fifo cnt: 0x00000000 | Int sts: 0x000c0000
<6>[ 2949.974034] DLL cfg:  0x060d6400 | DLL sts:  0x00000184 | SDCC ver: 0x1000002e
<6>[ 2949.974042] Vndr func: 0x00000a1e | Vndr adma err : addr0: 0x00000000 addr1: 0x00000000
<6>[ 2949.974048] Vndr func2: 0xfa8018a8
<6>[ 2949.974071]  Test bus[0 to 3]: 0x0000c846 0x000000ce 0x00007118 0x01c102fe
<6>[ 2949.974080]  Test bus[4 to 7]: 0x4047bfd8 0x2025c038 0x00000000 0xff23fffb
<6>[ 2949.974089]  Test bus[8 to 11]: 0x47fc27c4 0x40800002 0x2003e089 0x000014c0
<6>[ 2949.974098]  Test bus[12 to 15]: 0x004f0788 0x803d3180 0x0d000000 0x00000a80
<6>[ 2949.974106]  Test bus[16 to 19]: 0x000a0000 0x010e80cc 0x138f3696 0x00000091
<6>[ 2949.974116] mmc0: clk: 177770000 clk-gated: 0 claimer: mmcqd/0 pwr: 12
<6>[ 2949.974123] mmc0: rpmstatus[pltfm](runtime-suspend:usage_count:disable_depth)(0:0:0)
<6>[ 2949.974129] sdhci: ===========================================
<3>[ 2949.974222] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0xe00
<3>[ 2957.844683] wcd_imped_config, invalid imped, greater than 48 Ohm
<3>[ 2957.844683]  = 48
<6>[ 2957.908065] lineout_status_put: external speaker PA mode: 0
<3>[ 2979.984018] mmc0: Card stuck in programming state! mmcblk0 mmc_blk_err_check
<3>[ 2981.229562] mmc0: mmc_init_card: mmc_send_op_cond() fails -110
<3>[ 2981.229591] mmc0: mmc_blk_reset: failed to reset -110
<3>[ 2981.229606] end_request: I/O error, dev mmcblk0, sector 5805960
<3>[ 2981.229628] end_request: I/O error, dev mmcblk0, sector 5805968
<3>[ 2981.229645] end_request: I/O error, dev mmcblk0, sector 5805976
<3>[ 2981.229661] end_request: I/O error, dev mmcblk0, sector 5805984
<3>[ 2981.229676] end_request: I/O error, dev mmcblk0, sector 5805992
<3>[ 2981.229692] end_request: I/O error, dev mmcblk0, sector 5806000
<3>[ 2981.229707] end_request: I/O error, dev mmcblk0, sector 5806008
<3>[ 2981.229722] end_request: I/O error, dev mmcblk0, sector 5806016
<3>[ 2981.229738] end_request: I/O error, dev mmcblk0, sector 5806024
<3>[ 2981.229752] end_request: I/O error, dev mmcblk0, sector 5806032
<3>[ 2981.230061] Buffer I/O error on device mmcblk0p30, logical block 266993
<3>[ 2981.230081] Buffer I/O error on device mmcblk0p30, logical block 266994
<3>[ 2981.230093] Buffer I/O error on device mmcblk0p30, logical block 266995
<3>[ 2981.230105] Buffer I/O error on device mmcblk0p30, logical block 266996
<3>[ 2981.230117] Buffer I/O error on device mmcblk0p30, logical block 266997
<3>[ 2981.230128] Buffer I/O error on device mmcblk0p30, logical block 266998
<3>[ 2981.230139] Buffer I/O error on device mmcblk0p30, logical block 266999
<3>[ 2981.230151] Buffer I/O error on device mmcblk0p30, logical block 267000

@ketut.kumajayaa i have been getting this mmc crash after upgrading to 12.1( during high IO, eg installing apps, black screen with backlight on, power button not responding, adb still alive but becomes useless, need to poweroff by removing battery ). this one is from zwliew's rom, but after flashing yours, the same crash happened too while installing apps during the first setup(and i didn't get a dmesg dump because i was slow). thing is, i tried recompiling the kernel with a few patches from sultanqasim's github(moto e 2015)
HTML:
https://github.com/sultanqasim/android_kernel_motorola_msm8916/commits/squid_linux_mr1/drivers/mmc?page=2

Code:
 IKSWL-11467: mmc: add firmware-specific quirk support
 IKVPREL1L-1355: mmc: health and performance reporting
 IKVPREL1L-1355: mmc: support eMMC driver strength configuration
 IKVPREL1L-1355: mmc: fix frequency scaling tuning logic for HS400
 IKSWL-11467: mmc: disable cache on known-bad Micron eMMCs
 IKVPREL1L-1355: mmc: Sandisk eMMC quirks
 IKVPREL1L-1355: mmc: improve handling of flaky SD cards
 IKVPREL1L-1355: sdhci: improve recovery behavior when SDCC is jammed
 IKVPREL1L-1355: mmc: don't blindly retry on timed-out flushes

some of the patches are there because it's needed to compile/apply, but either one of them(or all) have solved my problem, it ran fast and without problems, that is for a while, after a few hours, sometimes after a day, the /data partition would just remount to RO suddenly. i'm suspecting that it's my flash chip.
 
Last edited:

ketut.kumajaya

Recognized Developer
Apr 28, 2011
4,935
14,137
Bekasi
Code:
<6>[ 2934.220129] lineout_status_put: external speaker PA mode: 1
<3>[ 2934.228324] wcd-spmi-core msm8x16_wcd_codec-ee34ec00: Failed to get mbhc impedance -22
<3>[ 2934.260293] send_afe_cal_type cal_block not found!!
<6>[ 2934.347338] msm8x16_ext_spk_delayed_enable: Enable external speaker PAs.
<6>[ 2937.173969] lowmemorykiller: Killing 'dboxed_process1' (32514), adj 1000,
<6>[ 2937.173969]    to free 13324kB on behalf of 'kswapd0' (73) because
<6>[ 2937.173969]    cache 121960kB is below limit 122880kB for oom_score_adj 1000
<6>[ 2937.173969]    Free memory is 15256kB above reserved.
<6>[ 2937.173969]    Free CMA is 1620kB
<6>[ 2937.173969]    Total reserve is 25012kB
<6>[ 2937.173969]    Total free pages is 25068kB
<6>[ 2937.173969]    Total file cache is 125968kB
<6>[ 2937.173969]    Total anon is 351580kB
<6>[ 2937.173969]    Slab Reclaimable is 10356kB
<6>[ 2937.173969]    Slab UnReclaimable is 33668kB
<6>[ 2937.173969]    Total Slab is 44024kB
<6>[ 2937.173969]    GFP mask is 0xd0
<3>[ 2939.946381] mmc0: data txfr (0x00100000) error: -110 after 1521 ms
<6>[ 2939.946399] sdhci: =========== REGISTER DUMP (mmc0)===========
<6>[ 2939.946406] sdhci: Sys addr: 0x000002d8 | Version:  0x00002e02
<6>[ 2939.946414] sdhci: Blk size: 0x00000200 | Blk cnt:  0x00000018
<6>[ 2939.946421] sdhci: Argument: 0x00589788 | Trn mode: 0x0000002b
<6>[ 2939.946428] sdhci: Present:  0x01e80100 | Host ctl: 0x00000035
<6>[ 2939.946435] sdhci: Power:    0x0000000d | Blk gap:  0x00000000
<6>[ 2939.946442] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
<6>[ 2939.946448] sdhci: Timeout:  0x0000000d | Int stat: 0x00000000
<6>[ 2939.946456] sdhci: Int enab: 0x03ff800b | Sig enab: 0x03ff800b
<6>[ 2939.946462] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
<6>[ 2939.946469] sdhci: Caps:     0x222dc8b2 | Caps_1:   0x00008007
<6>[ 2939.946476] sdhci: Cmd:      0x0000193a | Max curr: 0x00000000
<6>[ 2939.946483] sdhci: Resp 1:   0x00000000 | Resp 0:   0x00000900
<6>[ 2939.946491] sdhci: Resp 3:   0x00000900 | Resp 2:   0x00000000
<6>[ 2939.946496] sdhci: Host ctl2: 0x00000003
<6>[ 2939.946504] sdhci: ADMA Err: 0x00000003 | ADMA Ptr: 0xaf0702c8
<6>[ 2939.946510] ----------- VENDOR REGISTER DUMP -----------
<6>[ 2939.946519] Data cnt: 0x00003000 | Fifo cnt: 0x00002800 | Int sts: 0x000c0000
<6>[ 2939.946527] DLL cfg:  0x060d6400 | DLL sts:  0x00000184 | SDCC ver: 0x1000002e
<6>[ 2939.946535] Vndr func: 0x00000a1e | Vndr adma err : addr0: 0x00b16800 addr1: 0x00000000
<6>[ 2939.946543] Vndr func2: 0xfa8018a8
<6>[ 2939.946566]  Test bus[0 to 3]: 0x0000c846 0x000000ce 0x00007018 0x01c002fe
<6>[ 2939.946574]  Test bus[4 to 7]: 0x00473fd8 0x0005c038 0x00000000 0xff23fffb
<6>[ 2939.946583]  Test bus[8 to 11]: 0x6ffc27c4 0x40800002 0x2023e089 0x000014c0
<6>[ 2939.946592]  Test bus[12 to 15]: 0x045f0788 0x803d1180 0x0d001c08 0x00000a80
<6>[ 2939.946601]  Test bus[16 to 19]: 0x00022000 0x010e808c 0x138f3696 0x00001091
<6>[ 2939.946610] mmc0: clk: 177770000 clk-gated: 0 claimer: mmcqd/0 pwr: 12
<6>[ 2939.946617] mmc0: rpmstatus[pltfm](runtime-suspend:usage_count:disable_depth)(0:0:0)
<6>[ 2939.946623] sdhci: ===========================================
<3>[ 2944.703930] wlan: [3196:E :HDP] hdd_tx_rx_pkt_cnt_stat_timer_handler: Disable split scan
<3>[ 2949.973884] mmc0: Timeout waiting for hardware interrupt.
<6>[ 2949.973904] sdhci: =========== REGISTER DUMP (mmc0)===========
<6>[ 2949.973912] sdhci: Sys addr: 0x000002d8 | Version:  0x00002e02
<6>[ 2949.973920] sdhci: Blk size: 0x00000200 | Blk cnt:  0x00000000
<6>[ 2949.973927] sdhci: Argument: 0x00000000 | Trn mode: 0x0000002b
<6>[ 2949.973935] sdhci: Present:  0x01e80006 | Host ctl: 0x00000035
<6>[ 2949.973942] sdhci: Power:    0x0000000d | Blk gap:  0x00000000
<6>[ 2949.973949] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
<6>[ 2949.973956] sdhci: Timeout:  0x0000000e | Int stat: 0x00000000
<6>[ 2949.973963] sdhci: Int enab: 0x03ff800b | Sig enab: 0x03ff800b
<6>[ 2949.973970] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
<6>[ 2949.973977] sdhci: Caps:     0x222dc8b2 | Caps_1:   0x00008007
<6>[ 2949.973984] sdhci: Cmd:      0x00000c1b | Max curr: 0x00000000
<6>[ 2949.973991] sdhci: Resp 1:   0x00000000 | Resp 0:   0x00000c00
<6>[ 2949.973998] sdhci: Resp 3:   0x00000000 | Resp 2:   0x00000000
<6>[ 2949.974003] sdhci: Host ctl2: 0x00000003
<6>[ 2949.974011] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
<6>[ 2949.974017] ----------- VENDOR REGISTER DUMP -----------
<6>[ 2949.974025] Data cnt: 0x00000000 | Fifo cnt: 0x00000000 | Int sts: 0x000c0000
<6>[ 2949.974034] DLL cfg:  0x060d6400 | DLL sts:  0x00000184 | SDCC ver: 0x1000002e
<6>[ 2949.974042] Vndr func: 0x00000a1e | Vndr adma err : addr0: 0x00000000 addr1: 0x00000000
<6>[ 2949.974048] Vndr func2: 0xfa8018a8
<6>[ 2949.974071]  Test bus[0 to 3]: 0x0000c846 0x000000ce 0x00007118 0x01c102fe
<6>[ 2949.974080]  Test bus[4 to 7]: 0x4047bfd8 0x2025c038 0x00000000 0xff23fffb
<6>[ 2949.974089]  Test bus[8 to 11]: 0x47fc27c4 0x40800002 0x2003e089 0x000014c0
<6>[ 2949.974098]  Test bus[12 to 15]: 0x004f0788 0x803d3180 0x0d000000 0x00000a80
<6>[ 2949.974106]  Test bus[16 to 19]: 0x000a0000 0x010e80cc 0x138f3696 0x00000091
<6>[ 2949.974116] mmc0: clk: 177770000 clk-gated: 0 claimer: mmcqd/0 pwr: 12
<6>[ 2949.974123] mmc0: rpmstatus[pltfm](runtime-suspend:usage_count:disable_depth)(0:0:0)
<6>[ 2949.974129] sdhci: ===========================================
<3>[ 2949.974222] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0xe00
<3>[ 2957.844683] wcd_imped_config, invalid imped, greater than 48 Ohm
<3>[ 2957.844683]  = 48
<6>[ 2957.908065] lineout_status_put: external speaker PA mode: 0
<3>[ 2979.984018] mmc0: Card stuck in programming state! mmcblk0 mmc_blk_err_check
<3>[ 2981.229562] mmc0: mmc_init_card: mmc_send_op_cond() fails -110
<3>[ 2981.229591] mmc0: mmc_blk_reset: failed to reset -110
<3>[ 2981.229606] end_request: I/O error, dev mmcblk0, sector 5805960
<3>[ 2981.229628] end_request: I/O error, dev mmcblk0, sector 5805968
<3>[ 2981.229645] end_request: I/O error, dev mmcblk0, sector 5805976
<3>[ 2981.229661] end_request: I/O error, dev mmcblk0, sector 5805984
<3>[ 2981.229676] end_request: I/O error, dev mmcblk0, sector 5805992
<3>[ 2981.229692] end_request: I/O error, dev mmcblk0, sector 5806000
<3>[ 2981.229707] end_request: I/O error, dev mmcblk0, sector 5806008
<3>[ 2981.229722] end_request: I/O error, dev mmcblk0, sector 5806016
<3>[ 2981.229738] end_request: I/O error, dev mmcblk0, sector 5806024
<3>[ 2981.229752] end_request: I/O error, dev mmcblk0, sector 5806032
<3>[ 2981.230061] Buffer I/O error on device mmcblk0p30, logical block 266993
<3>[ 2981.230081] Buffer I/O error on device mmcblk0p30, logical block 266994
<3>[ 2981.230093] Buffer I/O error on device mmcblk0p30, logical block 266995
<3>[ 2981.230105] Buffer I/O error on device mmcblk0p30, logical block 266996
<3>[ 2981.230117] Buffer I/O error on device mmcblk0p30, logical block 266997
<3>[ 2981.230128] Buffer I/O error on device mmcblk0p30, logical block 266998
<3>[ 2981.230139] Buffer I/O error on device mmcblk0p30, logical block 266999
<3>[ 2981.230151] Buffer I/O error on device mmcblk0p30, logical block 267000

@ketut.kumajayaa i have been getting this mmc crash after upgrading to 12.1( during high IO, eg installing apps, black screen with backlight on, power button not responding, adb still alive but becomes useless, need to poweroff by removing battery ). this one is from zwliew's rom, but after flashing yours, the same crash happened too while installing apps during the first setup(and i didn't get a dmesg dump because i was slow). thing is, i tried recompiling the kernel with a few patches from sultanqasim's github(moto e 2015)
HTML:
https://github.com/sultanqasim/android_kernel_motorola_msm8916/commits/squid_linux_mr1/drivers/mmc?page=2

Code:
 IKSWL-11467: mmc: add firmware-specific quirk support
 IKVPREL1L-1355: mmc: health and performance reporting
 IKVPREL1L-1355: mmc: support eMMC driver strength configuration
 IKVPREL1L-1355: mmc: fix frequency scaling tuning logic for HS400
 IKSWL-11467: mmc: disable cache on known-bad Micron eMMCs
 IKVPREL1L-1355: mmc: Sandisk eMMC quirks
 IKVPREL1L-1355: mmc: improve handling of flaky SD cards
 IKVPREL1L-1355: sdhci: improve recovery behavior when SDCC is jammed
 IKVPREL1L-1355: mmc: don't blindly retry on timed-out flushes

some of the patches are there because it's needed to compile/apply, but either one of them(or all) have solved my problem, it ran fast and without problems, that is for a while, after a few hours, sometimes after a day, the /data partition would just remount to RO suddenly. i'm suspecting that it's my flash chip.
Try "e2fsck" your data block device in recovery. May be you need -fv switch to force e2fsck check your device.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 40
    CyanogenMod is a free, community built, aftermarket firmware distribution of Android 5.1.x (Lollipop), which is designed to increase performance and reliability over stock Android for your device.

    Code:
    /*
     * Your warranty is now void.
     *
     * I am not responsible for bricked devices, dead SD cards, dead cats,
     * thermonuclear war, or you getting fired because the alarm app failed.  
     * YOU are choosing to make these modifications, and if
     * you point the finger at me for messing up your device, I will break it! [emoji14]
     * Act accordingly
     */

    CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.

    The source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review. You can also view the Changelog for a full list of changes & features.

    Important information:
    This thread is for CyanogenMod 12.1 opensource builds for Wingtech WT88047, marketed as Redmi 2 by Xiaomi. The following will not be supported in this thread:
    - Custom Kernels
    - Mods
    - Modified system files
    - Xposed

    Instructions:
    Comprehensive installation instructions for CM on Wingtech WT88047 can be found on the CyanogenMod Wiki: http://wiki.cyanogenmod.org/w/Install_CM_for_rendang

    Issues?
    Experience issues? Please provide the following info:
    • If the device was hard reboot, please provide the file "/sys/fs/pstore/console-ramoops".
    • If the device was soft reboot or is "bootlooping", please run a logcat and provide the full output.
    • Please use Pastebin when possible.

    Download Links:
    Google Drive: https://goo.gl/zhGZjQ
    AFH: https://goo.gl/5sqZGp
    EmfoxZhou's build: https://goo.gl/iQNZjC

    I would like to thank everyone involved in helping with testing, coding, debugging & documenting! Enjoy!

    Known Issues:
    • Both back and front camera not working
    • Sound out from both speaker and headset
    • Compass chip Yamaha YAS537 known not supported, Asahi Kasei Microdevices AKM09911 working flawlessly
    • Use VOL UP + VOL DOWN + POWER button to enter recovery mode
    • At the start of video or any stereo recording, audio noise in about 5 seconds. Please use a different camera app and set audio format to AMR-NB (mono)
    • If you experiencing a random freeze, tell me your MMC type. You can check it using "dmesg | grep mmcblk0" command as root. Known chip in Redmi 2 variant:
      • Redmi 2 8 GB:
        • H8G2d 7.28 GiB - Hynix - inside my Redmi 2, no freeze
        • QN1SMB 7.28 GiB - Samsung
        • P1J95K 7.29 GiB - Numonyx Micron - reported random freeze
      • Redmi 2 16 GB:
        • HAG2e 14.6 GiB - Hynix
        • R1J96N 14.6 GiB - Numonyx Micron

    XDA:DevDB Information
    [ROM][WT88047][L][5.1.1] CyanogenMod unofficial builds, ROM for Wingtech WT88047 devices (see above for details)

    Contributors
    ketut.kumajaya, @zwliew
    Source Code: https://github.com/kumajaya/android_device_wingtech_wt88047

    ROM OS Version: 5.1.x Lollipop
    ROM Kernel: Linux 3.10.x
    Based On: CyanogenMod

    Version Information
    Status: Beta

    Created 2015-09-14
    Last Updated 2015-12-23
    14
    Initial development thread: http://en.miui.com/thread-148731-1-1.html

    A great how to: http://forum.xda-developers.com/and.../how-to-convert-qualcomms-dtb-to-dts-t3221223

    Xiaomi still refuse to release Redmi 2 kernel source, they continue violate the GPL accompanied by ex. Google Hugo Barra.

    I believe more than one hardware revision available out there, luckily this port working smoothly on my own Redmi 2 device. Some facts:
    • Compass chip Yamaha YAS537 known not supported, Asahi Kasei Microdevices AKM09911 working flawlessly
    • I'm afraid Wingtech use a different battery charger management chip on selected model, SMB13x chip supported
    • My device model HM2014817 1GB RAM, board revision S88047E1, R61308 LCD driver with AUO3.5 LCD panel, AKM09911 compass chip

    Current manifest:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>
      <project name="kumajaya/android_device_wingtech_wt88047" path="device/wingtech/wt88047" remote="github" revision="cm-12.1" />
      <project name="kumajaya/android_kernel_cyanogen_msm8916" path="kernel/cyanogen/msm8916" remote="github" revision="cm-12.1-amss-2.1-wt88047" />
      <project name="kumajaya/proprietary_vendor_wingtech" path="vendor/wingtech" remote="github" revision="cm-12.1" />
      <project name="kumajaya/android_device_cyanogen_msm8916-common" path="device/cyanogen/msm8916-common" remote="github" revision="cm-12.1" />
      <project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
      <project name="kumajaya/android_packages_apps_SnapdragonCamera" path="packages/apps/SnapdragonCamera" remote="github" revision="cm-12.1" />
    </manifest>
    13
    20160318 build available at Drive.
    9
    Camera status

    Kernel space:
    • Camera eeprom loaded
    • Both back and front camera module loaded
    • All nodes (v4l-subdev*, video0, video1) registered to /dev successfully
    User space:
    Camera server sub module (imglib) crash, kernel space stopped because of user space problem

    Logcat output:
    Code:
    --------- beginning of crash
    F/libc    (  262): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 2888 (mct_pipe_start)
    I/DEBUG   (  249): property debug.db.uid not set; NOT waiting for gdb.
    I/DEBUG   (  249): HINT: adb shell setprop debug.db.uid 100000
    I/DEBUG   (  249): HINT: adb forward tcp:5039 tcp:5039
    I/DEBUG   (  249): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    I/DEBUG   (  249): Build fingerprint: 'Xiaomi/2014811/HM2014811:4.4.4/KTU84P/V6.6.7.0.KHJMICF:user/release-keys'
    I/DEBUG   (  249): Revision: '0'
    I/DEBUG   (  249): ABI: 'arm'
    I/DEBUG   (  249): pid: 262, tid: 2888, name: mct_pipe_start  >>> /system/bin/mm-qcamera-daemon <<<
    I/DEBUG   (  249): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
    I/DEBUG   (  249):     r0 b7db57f8  r1 00000001  r2 b7db5860  r3 00000000
    I/DEBUG   (  249):     r4 b7db57f8  r5 b6ea3db7  r6 b6468d84  r7 00000001
    I/DEBUG   (  249):     r8 b7db57f8  r9 b7dbb418  sl b6e4f475  fp b6468dd0
    I/DEBUG   (  249):     ip b6ebbeb8  sp b6468d28  lr b6ea3dc7  pc 00000000  cpsr a0000010
    I/DEBUG   (  249): 
    I/DEBUG   (  249): backtrace:
    I/DEBUG   (  249):     #00 pc 00000000  <unknown>
    I/DEBUG   (  249):     #01 pc 00007dc5  /system/vendor/lib/libmmcamera2_imglib_modules.so
    I/DEBUG   (  249):     #02 pc 00006297  /system/vendor/lib/liboemcamera.so (mct_list_traverse+26)
    I/DEBUG   (  249):     #03 pc 000062b9  /system/vendor/lib/liboemcamera.so (mct_list_traverse+60)
    I/DEBUG   (  249):     #04 pc 000062b9  /system/vendor/lib/liboemcamera.so (mct_list_traverse+60)
    I/DEBUG   (  249):     #05 pc 000084f3  /system/vendor/lib/libmmcamera2_imglib_modules.so
    I/DEBUG   (  249):     #06 pc 00002699  /system/vendor/lib/liboemcamera.so
    I/DEBUG   (  249):     #07 pc 00013493  /system/lib/libc.so (__pthread_start(void*)+30)
    I/DEBUG   (  249):     #08 pc 000113bf  /system/lib/libc.so (__start_thread+6)
    I/DEBUG   (  249): 
    I/DEBUG   (  249): Tombstone written to: /data/tombstones/tombstone_05

    Solution:
    Restore some Smartfren Andromax Q (known built for Lollipop) https://github.com/kumajaya/proprie...mmit/d20417a6a35c9ac52cd8e359b0420aab51313c47

    Conclusion:
    For KitKat camera blobs, a compatible kernel driver needed because user space system call slightly different to the current kernel. How I did it fairly easy, you can trace my kernel commits on github. The rest, you can trace my proprietary vendor blobs commits.
    9
    Mainly from official Cyanogen device: bacon (because I have OnePlus One), rendang, lettuce, tomato, crackling, kipper, r7plus for YAS537 reference driver, etc. Oh God, it's hard because of Xiaomi stupidity.