[RECOVERY] Carliv Touch Recovery v5.7 and v6.6

  • Thread starter Deleted member 5186178
  • Start date
Status
Not open for further replies.
Search This thread
D

Deleted member 5186178

Guest
@globula_neagra


Total guess here :eek:
I might be tempted to try Blacklist "mtk-tpd-kpd" first and see what happens. :confused:
Carliv will know better but I think mtk-tpd-kpd is for separate virtual and or physical Home Back & Menu buttons which are not needed in recovery. :confused:

Well, he wants to turn off the touch completely and so it has to be a device that produce ABS events (touch) not only keys.
 
  • Like
Reactions: bigrammy

bigrammy

Senior Member
Apr 8, 2011
2,962
2,592
huddersfield
Well, he wants to turn off the touch completely and so it has to be a device that produce ABS events (touch) not only keys.

Hi carliv, I hope you don't think I was trying to interfere :eek:
You are 100% correct for disabling the touch altogether :good:
I was just reading through the posts and noticed he did get some touch response
which works only if the tablet goes in standby (the screen wakes up upon touch but that's it, not other reaction besides that)
Any other suggestions ? :)
This made me wonder if the recovery was using only the soft touch keys if that makes sense :laugh:
 
D

Deleted member 5186178

Guest
Hi carliv, I hope you don't think I was trying to interfere :eek:
You are 100% correct for disabling the touch altogether :good:
I was just reading through the posts and noticed he did get some touch response

This made me wonder if the recovery was using only the soft touch keys if that makes sense :laugh:

:laugh: No problem at all! Anyone who can help is welcome!
That post you read was about twrp. In my recovery touch works but is screwed up (touch up and the response is down). It seems that the swap touch recovery flags couldn't help and as someone posted on the other page a link, that was a problem in PhilZ recovery too for some devices -fixed only at kernel level, but I don't think he has access to kernel source.
 
  • Like
Reactions: bigrammy

DeadSquirrel01

Senior Member
Jun 2, 2016
532
438
Rimini
This made me wonder if the recovery was using only the soft touch keys if that makes sense :laugh:
The old CWM hadn't touch support, but personally I prefer to use touch, so, I don't break my keys for pressing them too much times (thanks google translate for this comment)

---------- Post added at 08:18 PM ---------- Previous post was at 08:08 PM ----------

I don't think he has access to kernel source.

On internet i found this
 
  • Like
Reactions: bigrammy

bigrammy

Senior Member
Apr 8, 2011
2,962
2,592
huddersfield
:laugh: No problem at all! Anyone who can help is welcome!
That post you read was about twrp. In my recovery touch works but is screwed up (touch up and the response is down). It seems that the swap touch recovery flags couldn't help and as someone posted on the other page a link, that was a problem in PhilZ recovery too for some devices -fixed only at kernel level, but I don't think he has access to kernel source.
Thanks carliv I should've read further back :eek:
 

globula_neagra

Senior Member
Jun 28, 2009
258
81
Birmingham
I`v looked for some paths in terms of kernel. Archos is pretty rubbish at releasing the source code. The closest relative to this tablet is the Acer A3 A20 that has a MT8127 chipset but on this tablet a cwm was never achieved (not even what I have now) so compared to them I am pretty advanced. The Acer has the source code released and I was thinking if I could use the graphics.c from it to sort something out with my touchscreen. I will have a look when I have some days of.
@ DeadSquirrel01 To what kernel are you referring ? I don`t have a working CWM (it compiles ok but I get a black screen upon flashing), just TWRP and carliv where visible till now. carliv`s is fully functional besides the touch.


This tablet is really strange, I had some really strange outputs in terms of touchscreen, where just a region of it was working. it was inversed in all the possible ways and many more. Now I am trying just to get something working. Me personally I don`t need the touch so for me should suffice just the hard buttons.
The TOUCH_INPUT_BLACKLIST := "mtk-tpd" has not worked under TWRP, will try it tonight under carliv rec to see if I have better success rate:)
 
Last edited:

DeadSquirrel01

Senior Member
Jun 2, 2016
532
438
Rimini
@globula_neagra on the link I posted you can find
ARCHOS Generation 6/7/8/9... Source Code, but I don't know if they are for your device, too, since I never had an archos mobile and only one of my friends have an archos device
 
D

Deleted member 5186178

Guest
update

CHANGELOG 14-07-2016:
- add adopted storage support for marshmallow;
- fix zip and wipe menu;
- fix backup to internal sdcard
- other improvements.
 
  • Like
Reactions: BouyaPK

DeadSquirrel01

Senior Member
Jun 2, 2016
532
438
Rimini
@carliv
Thanks for the update, now the data backup problem is solved :) .
And... for sideload, do I need an external SD card, because if i type "adb devices" I don't find my device. I see in your github page that I need the lun file path in ctr.fstab, to connect my device to my pc, but it's only for SD card, so, do I need an external SD card to use sideload or it's a device tree problem (you can find it here, if you want to take a look)
 

globula_neagra

Senior Member
Jun 28, 2009
258
81
Birmingham
1) Sort the adb devices issue
You could try to add the init.recovery.usb.rc and init.whateverisyournameofthesoc.rc to your board or just unpack the stock recovery and copy them two files in the new one. Or you could just edit them, depends what suits you better. Anyway carliv mentioned in some porting posts of his how to sort this out.
2) adb sideload
The adb sideload command is to be used to load firmwares from your computer in the format of zip updates or full firmwares in zip format, is worth mentioning that if you activate adb sideload from your recovery some adb commands will not work, as the recovery get`s in this download state where is expecting a zip file to come not some random commands. With other words, the internal storage or any sdcard is not involved.

Is there anyone that has a cm11 build environment that builds older carliv recoveries ? I keep trying with mine but I get this
bootable/recovery/mmcutils/mmcutils.c:388:1: note: expected 'struct MmcPartition *' but argument is of type 'const struct MmcPartition *'
target asm: libpixelflinger_static <= system/core/libpixelflinger/t32cb16blend.S
bootable/recovery/minui/graphics.c: In function 'gr_fb_blank':
bootable/recovery/minui/graphics.c:542:15: error: expected expression before '/' token
bootable/recovery/minui/graphics.c:542:15: error: too few arguments to function 'open'
In file included from bootable/recovery/minui/graphics.c:22:0:
bionic/libc/include/fcntl.h:60:5: note: declared here
build/core/binary.mk:512: recipe for target '/home/globula/cm-11/out/target/product/ac101cpl/obj/STATIC_LIBRARIES/libminui_intermediates/graphics.o' failed
make: *** [/home/globula/cm-11/out/target/product/ac101cpl/obj/STATIC_LIBRARIES/libminui_intermediates/graphics.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** wait: No child processes. Stop.
Can one of you waste 10 min and see if it compiles on yours ? the device tree is here https://github.com/globula/device_Archos_ac101cpl/tree/android-5.1
 
Last edited:
D

Deleted member 5186178

Guest
1)
Is there anyone that has a cm11 build environment that builds older carliv recoveries ?

Here's your problem:
Code:
TARGET_RECOVERY_LCD_BACKLIGHT_PATH := /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightnes

for older recoveries this should be:
Code:
TARGET_RECOVERY_LCD_BACKLIGHT_PATH := \"/sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightnes\"
escaping quotes.

@DeadSquirrel01 your problem is drivers or udev rules related.
 

DeadSquirrel01

Senior Member
Jun 2, 2016
532
438
Rimini
@DeadSquirrel01 your problem is drivers or udev rules related.[/QUOTE]
i use TWRP kernel. Here's my unpacked recovery.

@globula_neagra
Now I'm compiling :)

EDIT: now i compiled it, the size of recovery.img is 6.7MB (in kali linux) if you need it, i'll upload tomorrow or tonight on github, now i have to go out with my friends
 
Last edited:

DeadSquirrel01

Senior Member
Jun 2, 2016
532
438
Rimini
how I can compiled MT6580M?

To compile it for your device, you need a linux machine, cm12.1 or cm13 source, a buildable device tree and a recovery to unpack, then you can buid it by typing
1). build/envsetup.sh
2)lunch full_yourdevicename-eng
3)make -j# recoveryimage (change # with your number of cpu cores), or simply type make recoveryimage and u will find on out/target/product/yourdevicename a file called recovery.img

EDIT: @carliv
On debian sideload works
 
Last edited:
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 26
    D
    Deleted member 5186178
    DISCLAIMER:
    Rooting your phone and using custom Recoveries and ROMS have risks and may result in bricking your device, and has nothing to do with Google or the device manufacturers. In case of any mishap I am not responsible if you brick/ruin your phone in any way.
    Basic computer skills are required and minimal knowledges about phones and phones utilities too.
    Make sure that whatever you do, you are doing it at your own responsibility.


    Carliv Touch Recovery

    - version 5.7.2 is for Lollipop (cm 12.1, aicp lp or resurrection remix lp) and version 6.6 is for Marshmallow (cm 13, aicp-mm or resurrection remix mm).
    The version starting number is related to android version.

    This is a CWM based recovery and I did put up some work to update it to lollipop (cm 12.1) and marshmallow (cm-13) after official cwm development stopped at kitkat. It works with LOLLIPOP and MARSHMALLOW kernels and it builds with cm 12.1, aicp lp or resurrection remix lp (version 5.7) and with cm 13, aicp-mm or resurrection remix mm (version 6.5).
    This is for those who want a lighter and simpler recovery or they just liked CWM before. It's not as good or complex as twrp, but it will do the job just fine.
    For gui I ported PhilZ Recovery full touch module.
    Because the vold in cm 12.1 and 13 doesn't support cwm anymore I had to use the old fstab1 type for functionality, although for building reason a valid recovery.fstab should be provided in device tree. In the third post there are some building hints to make it clear for those who want to try building it.

    Features:
    - EXT4 and F2FS support (for f2fs use the BoardConfig flag).
    - full touch menu ported by me from PhilZ touch Recovery. The old Napstar-xda touch module was good but it's quite old and to update that was too much work. Actually There is a version 4 with that touch module, all working, but the touch doesn't work with some input drivers and I had to give up on it for the new and improved version from PhilZ.
    - all cwm functionalities are up and working (adb, sideload, backup, restore, install, mass storage...). There is no mtp and if your phone doesn't have an external sdcard you can't connect it to PC while is in recovery mode. But there is usb-otg support, of course if your phone was shipped with that.
    - added new menu for backup and restore advanced, to use it for backing or restoring only a specific partition and I also ported from PhilZ the multizip flashing function.
    - in Carliv menu there is now a new section for flashing boot and recovery images. It is a feature that I needed during many recovery builds testing. I wanted an easier way to flash other image without booting to android and using an app like RashR. You can browse your storage locations for any image and after choose you will have to select on wich partition should that be flashed. I added multiple confirmations check to avoid flashing on wrong partition. This feature works only with boot and recovery images. I won't add other partitions to this because for other things there are multiple backup restore functions.
    - for MTK phones (if the flag is used in Boardconfig) there is a new menu to backup and restore some important partitions like uboot, nvram an secro because they are involved in restoring a lost IMEI, and also the logo partition which may often get broken by bad ported ROMs.
    - besides these all my old specific menus (aroma, rainbow...) are still in place.
    - added support for dencrypting and mounting data partition using the builtin minivold from cyanogenmod with vdc commands (the ideea came from this post of Lekensteyn). Tested and working well with text ar hex passwords, and maybe will work with pin too but I don't think it will work with pattern :).
    - added support for dencrypting and mounting adopted storage in marshmallow. The solution is based on this article of nelenkov.
    - there is no included root solution. I choose to do it this way because there is no universal root solution now and someone may end up messing things with a non-working root option. You can flash a zip installer from Chainfire's SuperSu or other solution that may work for your phone.

    All screenshots are made with my old tool from here (still working well).

    CREDITS:

    The biggest thanks go to AP756 and DerTeufel1980, two friends from Germany, who sent me a new phone each, with lollipop OS and that helped me a lot to do this.

    - Phil3759 for the touch code and many other things from his recovery;
    - TWRP developers. I learned a lot from their work;
    - Clockworkmod Team starting with Koushik Dutta and ending with all developers that made the CWM recovery what it was;
    - Cyanogenmod Developers;
    - Nikolay Elenkov;


    In next post there are some links for built recoveries. I'll add more soon as I get a valid link (on a reliable webhost) from people who build it for other phones.

    I worked alone on this, there is no team here, not because I don't want to :), but probably because there was no one interested in this, and so there may be some unspotted bugs. If you find any please do tell me to help on fixing it.

    XDA:DevDB Information
    Carliv Touch Recovery, Tool/Utility for all devices (see above for details)

    Contributors
    carliv


    Version Information
    Status: Stable
    Current Stable Version: 5.7.3 & 6.6.1
    Stable Release Date: 2016-07-19

    Created 2016-05-30
    Last Updated 2016-07-19
    14
    D
    Deleted member 5186178
    Changelog and working builds

    CHANGELOG 19-07-2016:
    - fix backup for old mtk phones.

    Lollipop
    1. Jiayu S3+
    2. Zopo Speed 7+
    3. Zopo Speed 7
    4. Mlais Mx Base
    5. Alcatel Pop C2/C3
    6. ZTE Blade L3 / Digicel DL910
    7. Nous NS5511

    Marshmallow
    1. Zopo Speed 7+
    2. Zopo Speed 7+ with adopted storage
    3. Zopo Speed 7
    4. Zopo Speed 7 with adopted storage
    * NOTE: sadly the kernel source for zopo marshmallow isn't published so these two don't have touch in recovery, but you can use them as in CWM with phone buttons.


    [*] QCOMM devices:
    1. Huawei Honor 5x (kiwi)
    2. Samsung Galaxy A5 (SM-A500FU)
    11
    D
    Deleted member 5186178
    Building Guide

    To build you need a local repo of cm-12.1 or cm-13 and a proper device tree. To see how a buildable device tree looks check this one from my github.
    It builds out of the box with aicp lp-5.1 and aicp mm-6.0 too, but like in cm you need a proper device tree.

    Some things to be considered:

    For BoardConfig:
    - the most common thing in all BoardConfig I saw (you need this to use power button to select if you use physical buttons in some situations)
    Code:
    - BOARD_HAS_NO_SELECT_BUTTON

    - for the graphical interface
    Code:
    - TARGET_RECOVERY_PIXEL_FORMAT

    - for mass storage if your phone has an external sdcard, to connect it to PC (this one can be specified in fstab too) - and it has to be without any quotes or slashes
    Code:
    - TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/mt_usb/musb-hdrc.0.auto/gadget/lun%d/file

    - for LCD backlight lights - and it has to be without any quotes or slashes
    Code:
    - TARGET_RECOVERY_LCD_BACKLIGHT_PATH := /sys/class/leds/lcd-backlight/brightness

    - for vibrator feature - and it has to be without any quotes or slashes
    Code:
    - VIBRATOR_TIMEOUT_FILE := /sys/devices/virtual/timed_output/vibrator/enable


    - with link to a valid recovery.fstab version 2 (it may work without it but it is better to be here)
    Code:
    - TARGET_RECOVERY_FSTAB

    - for a better readability adapted to your screen (check the minui folder for more fonts)
    Code:
    - BOARD_USE_CUSTOM_RECOVERY_FONT

    Carliv Touch Recovery specific flags:
    - if you have the recovery on recovery-carliv folder under bootable directory in cm-12.1 source use this next flag.
    Code:
    - RECOVERY_VARIANT := carliv
    NOTE: in cm 13, and other android 6 sources too, you can't build with this flag out of the box and so you have some things to do - the easy one is to rename recovery folder in [recovery-stock] and to place my recovery next to that with the name [recovery]. Other option is to open Android.mk from /sytem/core/healthd and find line 58 where you need to replace [LOCAL_C_INCLUDES := bootable/recovery] with [LOCAL_C_INCLUDES := $(call project-path-for,recovery)].

    - with your phone resolution like this width x height
    Code:
    - DEVICE_RESOLUTION := 720x1280

    - if you want to use it with encrypted phone (it work with a non encrypted phone too but it will be smaller if you don't need decrypting function)
    Code:
    - BOARD_INCLUDE_CRYPTO := true

    - if your phone is MTK powered you need this for the MTK menu (it is not mandatory though with the mtk phones shipped with lollipop or marshmallow)
    Code:
    - BOARD_HAS_MTK_CPU := true

    - for touch menu, if your phone has an input driver with PROTOCOL_TYPE_B (synaptic is an example, or many samsung devices); if you have access to, check your kernel input driver for something like this [#define PROTOCOL_TYPE_B] - google it if you want to know more about this
    Code:
    - BOARD_USE_PROTOCOL_TYPE_B := true

    - to block an input device use
    Code:
    - TOUCH_INPUT_BLACKLIST := "devicename"

    - if you use Adopted Storage
    Code:
    - BOARD_USE_ADOPTED_STORAGE := true

    For system.prop from device tree:
    Code:
    #
    # system.prop for mx
    #
    ro.ctr.crypto.passwd="64656661756c745f70617373776f7264"
    ro.ctr.forbid_format=/frp,/persistent,/lk,/uboot,/logo,/metadata,/nvdata,/nvram,/secro
    ro.ctr.forbid_mount=/frp,/persistent,/lk,/uboot,/logo,/metadata,/nvdata,/nvram,/secro
    ro.ctr.touch_accuracy=7

    - to use decrypt data specify here your password (ro.ctr.crypto.passwd); I forgot to mention that if the phone uses encryption, the recovery will start with few seconds delay, because of the decrypting and mounting data process. If the message will tell you that couldn't be decrypted it is possible that your password was wrong or it uses an unsuported type of password. To be sure just restart the recovery from Power menu and if you still get the same message then you need to check your provided password from system.prop or to find a different solution (other recovery like twrp). If you want to decrypt your phone for good you need to format data and data media from Mount/Storage menu but you will loose your data (settings, preferences).
    - ro.ctr.forbid_format and ro.ctr.forbid_mount are for partitions from fstab that you don't want to be shown in Mount/ Storage menu with mount and format option (coma separated, no spaces and with leading slash), like in my example above.
    - ro.ctr.touch_accuracy to improve the touch handling (bigger lcd_density = bigger accuracy); the initial value is 7, just like in PhilZ Recovery, and I reccomend you to try different numbers to see what is right for you, but don't go over 19.
    All these system.prop lines are not mandatory.

    Carliv Touch Recovery uses a fstab version 1 named [ctr.fstab] and you have to create a folder recovery in your device tree, in that recovery folder create a new folder named root, in root folder another folder named etc and in that one place the ctr.fstab. Like this:
    Code:
    recovery/root/etc/ctr.fstab
    That will be enough since the compiler will add it in recovery ramdisk and the recovery module will find it in etc folder.
    Code:
    # Android fstab file.
    # The filesystem that contains the filesystem checker binary (typically /system) cannot
    # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
    
    # mount point	fstype    device    	[device2]    fs_options    [fs_options2]    lun
    
    /boot			emmc	/dev/block/platform/mtk-msdc.0/by-name/boot
    /cache			ext4	/dev/block/platform/mtk-msdc.0/by-name/cache
    /recovery		emmc	/dev/block/platform/mtk-msdc.0/by-name/recovery
    /system			ext4	/dev/block/platform/mtk-msdc.0/by-name/system  fs_options=rw
    /data			ext4	/dev/block/platform/mtk-msdc.0/by-name/userdata  fs_options=rw
    /internal_sd	datamedia	/dev/null
    /sdcard			vfat	/dev/block/mmcblk1p1	/dev/block/mmcblk1   lun=sys/class/android_usb/android0/f_mass_storage/lun/file
    Important here is how you define internal storage which is data media
    Code:
    /internal_sd	  [COLOR="Red"]datamedia[/COLOR]	[COLOR="Magenta"]/dev/null[/COLOR]
    You can see It's used the old way with "datamedia" fstype and /dev/null device.
    Important thing: if you have only internal storage define it as
    Code:
    /sdcard   datamedia	/dev/null
    If you have also an external sdcard, use either way:
    Code:
    /internal_sd	   datamedia	/dev/null
    /sdcard			vfat	/dev/block/mmcblk1p1	/dev/block/mmcblk1
    or
    Code:
    /sdcard 	datamedia	/dev/null
    /external_sd		vfat	/dev/block/mmcblk1p1	/dev/block/mmcblk1
    If you are using the adopted storage feature for external sd card, define this
    Code:
    /data_sd ext4 /dev/block/mmcblk1p2 fs_options=adopted
    and remove or comment out the line for external sd card.
    You can see the internal storage can be sdcard or internal_sd and external sdcard can be sdcard or external_sd, but internal storage can't be external_sd or external sdcard internal_sd.
    If your phone has OTG support you can use that too defining it like this
    Code:
    /usb-otg		vfat	/dev/block/sda1	/dev/block/sda
    or this
    Code:
    /usbdisk		vfat	/dev/block/sda1	/dev/block/sda
    -check with your phone booted up in Android and a OTG USB mounted to see in [/sys/class/block] or [dev/block] how to set device for this (the dev/block/sdx part).
    The recovery has fat32, exfat and ntfs support builtin (also f2fs for file system). You can define your usb-otg and/or external sdcard as "auto" instead of "vfat" and it will work with any of these formats. I tested a portable HDD self powered and it works (120 GB) as usb-otg. Anyway that is available only for zip and image flashing. Maybe I'll make it to work for backup and restore too.
    7
    D
    Deleted member 5186178
    @carliv is back!!! Thanks a lot for this.

    Should I port or should I build?

    :) You should build it of course. I won't make porting recoveries anymore.
    Actually wait for a day or two because I'm working on some improvements and I'll push them to github soon.
    Also I have a working version for cm13 too. That also need some more tests before release.
    6
    D
    Deleted member 5186178
    All things are mostly done.
    Just a little heads up: Added usb-otg support for install zip menu - should work with ntfs, fat, exfat and fat32 usb flash drives (I tested only with fat32). Other improvements too for both versions (lollipop and marshmallow).
    I'll push the source tomorrow.

    Attached a screenshot of the recovery for marshmallow (cm13).