CM9 for Warp Development thread

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

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

Click to expand...

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.

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.

Click to expand...

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):

ro.telephony.ril_class=ZTEQualcommUiccRIL

ro.ril.def.preferred.network=4

ro.telephony.default_network=4

ro.config.multimode_cdma=false

rild.libpath=/system/lib/libril-qc-1.so

rild.libargs=-d /dev/smd0

persist.rild.nitz_plmn=

persist.rild.nitz_long_ons_0=

persist.rild.nitz_long_ons_1=

persist.rild.nitz_long_ons_2=

persist.rild.nitz_long_ons_3=

persist.rild.nitz_short_ons_0=

persist.rild.nitz_short_ons_1=

persist.rild.nitz_short_ons_2=

persist.rild.nitz_short_ons_3=

ril.subscription.types=NV,RUIM

ro.ril.disable.power.collapse=0

DEVICE_PROVISIONED=1

I was getting phone force closing when I tried using

ro.telephony.ril_class=ZTEQualcommRIL

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

ro.telephony.ril_class=ZTEQualcommUiccRIL

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):

#

# system props for the data modules

#

# lllccc open the netmgrd, 2011.02.28

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

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.

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 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.

Click to expand...

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,

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.

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

Click to expand...

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.

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.