1. Download the #1 Android News App:   EarlyBird - News for Android
    Dismiss Notice

[Boost Mobile] CM9 for Warp Development thread

Last Updated:

  1. hroark13

    hroark13 Well-Known Member Developer

    I have made some progress with CM9, and this is what I am focusing on, I am dropping CM7 and CAF

    I want to especially thank joe.stone from XDA for letting me use his custom RIL files

    There are a lot of other people to be thanked (too many to be mentioned)
    So I am thanking everyone who reads this, (YES YOU) thank you for all that you have done, and thank you for keeping this thread clean by not posting off topic posts, and non-development posts, you are awesome.

    You do not have to have to post any thank you posts here, just click on the thank you button, the rating stars, or that new "Like" thing they have.

    If you are feeling generous, you can make a small donation, I had to recently make a new Android Build system, and it set me back $425.00, but I am now able to do a CM9 build in 40 minutes, as opposed to 2 hours, like on my old system that crapped out on me.

    If I have helped you, and you like my work, please click on the Thanks Button and give my thread a rating by clicking on the stars above.

    If you would like to buy me a beer cofee, you can click on the PayPal button



    sb43, 5toneyboy, kdraw44 and 23 others like this.
  2. hroark13

    hroark13 Well-Known Member Developer

    I am not going to write instructions on how to setup an Android Build system. there are many tutorials out there for that.

    These instructions will assume that was done

    If you do not have a lot of RAM in your build system, make sure you have a swap partition and it is turned on

    Here is the source code I uploaded to github


    First thing you want to do is Download the CM9 repo

    Open terminal

    Code (Text):
    2. $mkdir cm9
    3. $cd cm9
    4. $repo init -u git://github.com/CyanogenMod/android.git -b ics
    hit enter twice when it asks about your name and email

    Code (Text):
    2. $repo sync -j32
    it will download the repo and take a pretty long time, it does not download everything, you still need to get some pre-builts

    Code (Text):
    1. $vendor/cm/get-prebuilts
    now copy my source code from github and overwrite any files that it prompts

    Code (Text):
    2. $make clobber
    3. $source ./build/envsetup.sh
    4. $lunch ZTE_arthur-userdebug
    5. $mka -j8 bacon
    I use -j8 because I have an 8 core cpu now, if you have a dual core use

    Code (Text):
    2. $mka -j2 bacon
    It will start the build, it takes 40 minutes on my new system, it will probably take longer on older systems, can take a really really long time if you do not have a fast computer

    when it is done, you should have this file


    I always take this file and replace the META-INF folder with my own because the update.script that CM9 makes does not set all the needed permissions, and the end result looks like this.



    This is a dev test ROM and is not for regular usage, it is only for people who want to try and help get CM9 working on the Warp

    Here is a kernel update for the above ROM, flash it in CWM after you flash the ROM, this kernel has more pmem stuff removed


  3. hroark13

    hroark13 Well-Known Member Developer

    There are a lot of issues that need to be fixed, and a lot of things do not work

    We will need to modify the kernel more and refine the source code, this will probably take a while to be finished.

    I do need help, so anyone that can help will be great

    Things that do not work at all

    Blue toothe

    All other things are somewhat working but need to be refined

    The RIL does work, I have not tested data, because my Warp is not activated

  4. hroark13

    hroark13 Well-Known Member Developer

    I had to make some major changes to the kernel, mostly for kgsl, and removing some pmem stuff, but I am sure we need a lot more kernel work to be done, the kernel source is here


    make sure you use the cm9 branch

    This is how to make the kernel

    edit the Makefile to point to the location of your arm-eabi-4.4.3 folder

    like this
    Code (Text):
    2. ARCH        ?= arm
    3. CROSS_COMPILE    ?= /home/hroark13/arm-eabi-4.4.3/bin/arm-eabi-
    open terminal

    Code (Text):
    2. cd WARP_KERNEL
    3. make mrproper
    4. cp warp_cm9_config .config
    5. make ARCH=arm
    after a while you should get a zImage in arch/arm/boot

    you will need to pack that zImage with a ramdisk

    see my packer thread

    Warp Kernel Packer

    stingrays likes this.
  5. Corlygunnz

    Corlygunnz Well-Known Member

    Internet mobile data not working for me.

    3g never comes out. I try to airplane mode off/on and mobile network off/on. And nothing.
    hroark13 likes this.
  6. PattF

    PattF Guest

    The mic isn't working for phone calls. The calls go through just fine but they couldn't hear me.
    hroark13 likes this.
  7. Snake X

    Snake X Well-Known Member

    I thought the rule of thumb was j then the number of cores times two. i.e. quad core would be -j8
  8. hroark13

    hroark13 Well-Known Member Developer

    that may be right

    I have tried -j8 and -j16 and they both take 40 minutes for me

    I have read somewhere it should be the number of cores, but I really don't know
  9. Snake X

    Snake X Well-Known Member

    I remember in #cyanogenmod-dev or in pm's (pretty sure it was in the channel) that that's what the rule of thumb was and it should not be an odd number (i.e. -j9)

    but if it takes the same time for you.. meh, i'd go for higher. can't really hurt
  10. hroark13

    hroark13 Well-Known Member Developer

    i tried doing -j1024 once

    and the power for my entire neighborhood went out for 3 days
    PH473 likes this.
  11. jetx2x

    jetx2x Well-Known Member Developer


    Sent from my N860 using Tapatalk 2 Beta-5
  12. Snake X

    Snake X Well-Known Member

    LOL I'm soooooooo gonna try that.. too bad our thermostat doesnt work right now since we need it or else I'd do it :p that made my day
  13. downthemachine

    downthemachine Developer Incognito VIP Member

    Hoark, are the ztequalcommril.java the ones from xda?
  14. hroark13

    hroark13 Well-Known Member Developer



    are from joe.stone of XDA

    I have really not tried the ZTEQualcommRIL.java yet

    the ZTEQualcommUiccRIL seems to work for the most part, but may need some changes
  15. joestone

    joestone Member

    Using ZTEQualcommRIL dropped sim not loaded messages on SmartTab . They are modified versions of LGE's RIL .
    For data connection to work netmgrd was needed on the tab.
    To be sure every RIL_Requests and RIL_Unsol_response is correct you should check libril-qc-qmi-1.so (if WARP using the same). Maybe the ril verson used by warp is different . The tab is using ver 6. Other problem can be with the datacall routines in ZTEQualcommUiccRIL. Maybe the the unsol data are in different order or format on the two device.
    If the logs shows that the apn is read , then I think the datacall routines should be OK and if the device not getting IP try to push netmgrd to /system/bin.
    MrBobo, hroark13 and downthemachine like this.
  16. hroark13

    hroark13 Well-Known Member Developer

    Hi Joe, welcome to Android Forums, and thank you for your help.

    Warp uses libril-qc-1.so

    these are the prop settings I have so far for the RIL
    Code (Text):
    2. ro.telephony.ril_class=ZTEQualcommUiccRIL
    3. ro.ril.def.preferred.network=4
    4. ro.telephony.default_network=4
    5. ro.config.multimode_cdma=false
    6. rild.libpath=/system/lib/libril-qc-1.so
    7. rild.libargs=-d /dev/smd0
    8. persist.rild.nitz_plmn=
    9. persist.rild.nitz_long_ons_0=
    10. persist.rild.nitz_long_ons_1=
    11. persist.rild.nitz_long_ons_2=
    12. persist.rild.nitz_long_ons_3=
    13. persist.rild.nitz_short_ons_0=
    14. persist.rild.nitz_short_ons_1=
    15. persist.rild.nitz_short_ons_2=
    16. persist.rild.nitz_short_ons_3=
    17. ril.subscription.types=NV,RUIM
    18. ro.ril.disable.power.collapse=0
    I was getting phone force closing when I tried using


    but I did not spend much time trying to figure it out, and just switched back to


    when you say "you should check libril-qc-qmi-1.so"

    what is the best way to check a RIL .so file, with a hex editor, or is there a better way

    the current CM9 ROM does have a netmgrd binary and libnetmgr.so that comes from the stock GB ROM, should we be using those files, or will CM9 build them for me

    The stock build.prop has this setting

    Code (Text):
    1. #
    2. # system props for the data modules
    3. #
    4. # lllccc open the netmgrd, 2011.02.28
    5. ro.use_data_netmgrd=true
    I have not added it to the CM9 prop yet, but I will try it.

    regarding the apn in the log file, do you mean a regular logcat or a logcat -b radio

    If I open Voice Dialer and say "OPEN APNS" and open the APN app

    I do see my Boost Mobile APN listed there, so I am not sure if that means anything

    I am sorry for all the questions, but I am still a noob when it come to some of this stuff

  17. joestone

    joestone Member

    I did not know what is the vendor ril lib on warp , that's why I said libril-qc-qmi-1.so . (It is used on smarttab) . So you should check libril-qc-1.so with a hex editor . Unfortunatelly these files(libril-qc-1.so , netmgrd and libnetmgr.so) are closed source so cm9 wont compile it , you need to copy them from the stock rom.
    About the apn: In the settings-wireless settings-mobile networks-access points should show ap-s (at least on gsm models for example internet.vodafone.net, I do not know cdma ) . On my device until the datacall routines were not correct it shows nothing . You should see something like this in the log : SETUP_DATA_CALL 1 0 internet.vodafone.net 3 IP and then DataCallState: {version=6 status=0 cid=0 active=2 type=' ifname='rmnet0' addresses=[xx.xx.xx.xx] dnses=[xx.xx.xx.xx,xx.xx.xx.xx] gateways=[xx.xx.xx.xx]} .
    When I made these files I changed logd_write.c to enable logging of ril related things without -b radio. Also modified the ril.java and the two ril files to verbose log everything.( boolean RILJ_LOGV = false; to true ) and there was printouts about unsol responses in datacall routines .Maybe I forgot to remove them .
    ro.use_data_netmgrd=true is needed , because init scripts reads this property to start the netmgrd service .

    I am still a noob ,because I am not a programmer , so maybe you can see some ugly coding .

    You will have a lot of work to do . I am fighting with the BT this time , the camera was not started yet . These are the two components not working in my smarttab cm9 port .
    I dont know about the touchscreen of the warp , but it was a big fight in my case . I had to rewrite the routine in the kernel to avoid using legacy touchscreen. KGSL was not big deal and you can download the new adreno libs from qualcomm. Genlock backport also needed in the kernel , then qtaguid and quota2 also needed to backport .I used caf 3.0.8 kernel source to backport from.
    hroark13 likes this.
  18. hroark13

    hroark13 Well-Known Member Developer

    In my Mobile Network Settings, I have


    I have never seen the access points option in CyanogenMod on a CDMA Phone

    make sure you have this in your update.script

    set_perm_recursive(0, 2000, 0755, 0755, "/system/etc");

    there are scripts there that need execute perms

    I think you have the same camera as me

    mine is


    yours is


    I have tried using a ZTE pre-built libs for the camera from the ICS ROM for the ZTE N880 and I think it is the same camera "OV5640"

    I try to use the lib by renaming the camera.msm7627a.so to camera.msm7x30.so and pushing it to my lib/hw and pushing the libgemini.so liboemcamera.so libcameraservice.so libcamera_client.so to the lib folder

    but after I do that CM9 will not boot anymore because it crashes media server

    if you want access to the ZTE N880 ICS ROM let me know and I will upload it for you

    I am using legacy touch screen but it seems to be OK, is there any reason I should not use it ?

    I have updated KGSL and genlock in the kernel, and I have the new adreno libs,

    I have not done this yet

    The issue I am dealing with now is pmem

    I can not get the launcher to stop restarting unless I reduce the size of the pmem-adsp device from my board-zte-arthur.c

    I guess I am gonna have to delete some of my old stuff from github so I can upload some of this new CM9 stuff, so people can look at it easily

    sorry for the long post

  19. joestone

    joestone Member

    These sripts are called from init with exec , and they runs as they should , so I did not changed the permissions in updater-script.
    I plan to port the camera sources from caf because ZTE is using their sources as a base.

    About APN : I told I dont know cdma , but on gsm there is access point settings.
    qtaguid and quota2 needed for wifi to work correctly.

    On the tab there was a stupid circle while was using legacy touchscreen and multitouch was not working as expected.

    On the smarttab this is set #define MSM_PMEM_ADSP_SIZE 0x2000000
    and there is no problem with the launcher.
    hroark13 likes this.
  20. hroark13

    hroark13 Well-Known Member Developer

    To get touch screen to work I had to copy synaptics-rmi4-ts.idc to the usr/idc folder

    this is the contents of synaptics-rmi4-ts.idc

    Code (Text):
    1. touch.deviceType = touchScreen

    as far as multitouch, I can go into gallery and open a picture and zoom in and zoom out by pinching my fingers, I guess that means it is working, that is the extent that I have tested it

    I really appreciate your help by the way, I hope that I will be able to some how help you with your ROM
  21. joestone

    joestone Member

    I learn cdma , and if ztequalcomril files work with your cdma device then I know it should work on the cdma version of the tab (Sprint Optik /V55) because this time the cdma version is not working at all . I have no device and network to test and on xda there is no other dev at all for my device. I know now that these ril files should be OK on cdma (at least voice call) and possibly some settings not correct with the device config .

    You are lucky because of the synaptics touchpad. The tab has atmel mxt224 and 1386 with calibration built-in and ZTE modified the standard driver in kernel a lot . To test it I used touchtest from play . It can handle 10 touches same time.
    atlharp and hroark13 like this.
  22. hroark13

    hroark13 Well-Known Member Developer

    Just so you know, the ZTE Warp is for Boost Mobile only

    Boost Mobile is owned by Sprint and it uses Sprints CDMA network

    So there may be a lot of the same stuff

  23. hroark13

    hroark13 Well-Known Member Developer

    I have uploaded the source for CM9 and the kernel to github and have updated the instructions

    I probably should have done this in the first place, but I am a lazy slob
    atlharp, Spiyder and ron580 like this.
  24. ron580

    ron580 Well-Known Member

    You sir are no slob u must have a lot of patience to do all that you do & thanks for all your hard work
    hroark13 likes this.
  25. DragonDGG

    DragonDGG Well-Known Member

    off topic but whats with the new pic @hroark13


Share This Page