[Boost Mobile] For Discussion of Development for CM7 Only


Last Updated: 2012-11-29 05:38:14
  1. hroark13

    hroark13 Well-Known Member Developer


    what version ROM was your system dump ?

    Advertisement
  2. downthemachine

    downthemachine Developer Incognito VIP Member

    The files in lib? That was b08c
    hroark13 likes this.
  3. hroark13

    hroark13 Well-Known Member Developer



    I will be looking more into this on the weekend


    I am kind of busy with work and stuff


    the important thing is we are making some progress
  4. downthemachine

    downthemachine Developer Incognito VIP Member

    Ya I've been looking pretty deep into the radio interface layer stuff. Any clue on why superuser fc? Sams with rom manager
  5. hroark13

    hroark13 Well-Known Member Developer


    we should be removing Rom Manager, when we start releasing the ROM

    as far as the su, maybe we need to use a newer binary or apk filke
  6. downthemachine

    downthemachine Developer Incognito VIP Member

    I'll do some tests tonight if I get time, kids and work leave me about an hour to get to it every night
    Reply, part 2: (ie, edit)
    Cm7 is building su itself. I'm having trouble finding rom manager, but I agree, it should be removed. Currently on another building with some changes to the /root in sources, there seems to be alot of differences in those files and what's in b08c, hroark, Woodstock posted a nandroid of b08c. You should check it out and compare
    Edit 2: fell asleep after i got a good build goinging. I was at a loss on why my builds were coming out 70megs,was a issue with my sources
    Sources were missing, back to normal, I really don't know what damaged it, but a repo sync fixed it
  7. Snake X

    Snake X Well-Known Member

    Hmm I just noticed something.. If the GPU in this phone is the adreno 205 then why do I only see adreno200 in /arthur/prebuilt/lib/egl?
  8. downthemachine

    downthemachine Developer Incognito VIP Member

    Did another build changing the stuff in the /root folder and the funniest damn thing happened, boot animation is upside down, wouldn't boot, I know why, I just thought it was hilarious :)
  9. hroark13

    hroark13 Well-Known Member Developer

    well I spent a lot of time this weekend trying to get this RIL to work properly


    if you do not have this setting in the build.prop CM7 treats the phone as a GSM phone


    ro.telephony.default_network=4


    when you get CM7 functioning as a CDMA phone with that setting and other ways of doing it, the RIL starts but you can not make phone calls


    if you do not have that setting and the CM7 treats the phone as GSM, you can make phone calls

    I have tried using all the available RIL classes that are built into CM7 and have unsuccessfully tried to make some new ones

    I have de-complied the RIL.Java from the stock framework.jar and tried to make a new RIL class with the commands that I found in it, and I failed at this


    I am almost ready to put this project to the side and maybe start trying to fix the kernel source code, so that I can try to get CM9 working


    CM9 handles RIL stuff differently and may be easier
  10. JBrd400

    JBrd400 Well-Known Member

    Has anyone tried the android source tweaks listed in this blog? According to the author, the android source is buggy too and that certain changes are required in order for the ril to build right. I made the required changes to the android source and did a build. It finished okay, but won't be able to do any further testing until later. Just curious if anyone else has already tried this.

    Working with the Radio Layer Interface (RIL) in Android afewe
  11. hroark13

    hroark13 Well-Known Member Developer


    at this time, we are really not messing with the lower level RIL source files, we are trying to use the pre-built RIL .so files from stock

    I was trying to mess with the higher level java files


    these files are located in the cm7 source folder in this location


    system/frameworks/base/telephony/java/com/android/internal/telephony

    The default RIL file is

    RIL.java

    and then you have some custom RIL classes that come with CM7

    HTCRIL.java
    LGEQualcommRIL.java
    LGEStarRIL.java
    MotoTegraRIL.java
    MotoWrigley3GRIL.java
    SamsungRIL.java
    SemcRIL.java
    QualcommNoSimReadyRIL.java


    if you look at

    system/frameworks/base/telephony/java/com/android/internal/telephony/PhoneFactory.java

    you will see the valid RIL classes you can specify in the Build.prop

    //reads the system properties and makes commandsinterface

    String sRILClassname = SystemProperties.get("ro.telephony.ril_class");
    Log.i(LOG_TAG, "RILClassname is " + sRILClassname);

    if("samsung".equals(sRILClassname))
    {
    Log.i(LOG_TAG, "Using Samsung RIL");
    sCommandsInterface = new SamsungRIL(context, networkMode, cdmaSubscription);
    } else if ("htc".equals(sRILClassname)) {
    Log.i(LOG_TAG, "Using HTC RIL");
    sCommandsInterface = new HTCRIL(context, networkMode, cdmaSubscription);
    } else if("lgestar".equals(sRILClassname)) {
    Log.i(LOG_TAG, "Using LGE Star RIL");
    sCommandsInterface = new LGEStarRIL(context, networkMode, cdmaSubscription);
    } else if ("semc".equals(sRILClassname)) {
    Log.i(LOG_TAG, "Using Semc RIL");
    sCommandsInterface = new SemcRIL(context, networkMode, cdmaSubscription);
    } else if ("lgeqcom".equals(sRILClassname)) {
    Log.i(LOG_TAG, "Using LGE Qualcomm RIL");
    sCommandsInterface = new LGEQualcommRIL(context, networkMode, cdmaSubscription);
    } else if ("mototegra".equals(sRILClassname)) {
    Log.i(LOG_TAG, "Using Motorola Tegra2 RIL");
    sCommandsInterface = new MotoTegraRIL(context, networkMode, cdmaSubscription);
    } else if ("motow3g".equals(sRILClassname)) {
    Log.i(LOG_TAG, "Using Motorola Wrigley 3G RIL");
    sCommandsInterface = new MotoWrigley3GRIL(context, networkMode, cdmaSubscription);
    } else {
    sCommandsInterface = new RIL(context, networkMode, cdmaSubscription);


    CM9 does this differently than CM7, so this info is for CM7 only

    So if you want to add a new RIL class you would need to edit the PhoneFactory.java and add a file BlahBlahRIL.java

    But there must be something else you need to do, because when I tried doing this I was getting symbol errors during the compile

    I tried modding the QualcommNoSimReadyRIL.java with some of the stuff I found in the de-compiled RIL.java that I pulled from the stock framerwork.jar as show in the link below

    package com.android.internal.telephony; import android.content.BroadcastRecei - Pastebin.com


    as you can see de-compiled java files are pretty useless, but you can look at them and get a hint of what is going on

    I was trying to add the RIL_REQUEST and RIL_UNSOL commands and make my own RIL class, but as I mentioned before I failed at this, CM7 would not finish compiling and would stop when it got to that file and complain about symbols and other crap

    I am not a programmer and do not know any programming languages, so this stuff baffles me
    bads3ctor and JBrd400 like this.
  12. hroark13

    hroark13 Well-Known Member Developer

    oh and I also tried taking the RIL.java from CM9 (which seems to support more commands) and using it in CM7

    and that was a total failure too
    bads3ctor likes this.
  13. Snake X

    Snake X Well-Known Member

    I have some java experience, as I have done a bit programming in my life (all the way to learning ASM fundamentals). I may be rusty but I think I can give it ago. I do remember most java syntax of what I learned from it. What is it your trying to figure out? What is your basic problem and where is it happening (so I know where to look)? There's a significant chance however that I may not be able to figure it out but I will apply logical reasoning to try to figure out whats happening in here.
  14. JBrd400

    JBrd400 Well-Known Member

    Great explanation... Have a couple possibly stupid questions. If stock uses the RIL.java, shouldn't CM7 be able to use it as well? (or is the issue that Zte customized RIL.java so it is different than the CM7 source)

    Second thing is related to creating custom classes. Did you try using a known-good/unmodified classfile when creating a custom class just to see if the build finishes? If you copy/rename an existing .java file (unmodified) and associate it in PhoneFactory.java as a new class, the build *should* finish okay. Just a test to see whether it's something missing in class creation process or an issue with the contents of the classfile itself.
  15. hroark13

    hroark13 Well-Known Member Developer


    The RIL.java from stock and RIL.java for CM7 is different, and they have different RIL commands to talk to the modem and stuff, the RIL.java from stock was made by ZTE but should be similar to other Qualcom based phones RIL.java


    You can add an entry to the PhoneFactory.java for say ztewarp and then copy one of the other class files, but you do have to change the section at the top of the file that looks like this

    public class SamsungRIL extends RIL implements CommandsInterface {

    private boolean mSignalbarCount = SystemProperties.getInt("ro.telephony.sends_barcount", 0) == 1 ? true : false;

    private boolean mIsSamsungCdma = SystemProperties.getBoolean("ro.ril.samsung_cdma", false);

    public SamsungRIL(Context context) {
    super(context);
    }

    public SamsungRIL(Context context, int networkMode, int cdmaSubscription) {
    super(context, networkMode, cdmaSubscription);



    or else you will get errors


    but if you change the 3 sections that say SamsungRIL to the right name it will compile OK
    bads3ctor likes this.
  16. hroark13

    hroark13 Well-Known Member Developer


    well the first thing I would ask you to look at, is to see if you can get the RIL.java from the stock ROM, so that it can be used in CM7 as a RIL class

    can you de-compile the stock RIL.java a better way that I did ? so it is more useable

    are you able to look at this de-compiled RIL.java

    package com.android.internal.telephony; import android.content.BroadcastRecei - Pastebin.com

    and fix it so that it looks like similar to this

    package com.android.internal.telephony; import java.util.ArrayList; import j - Pastebin.com


    and then be able to add it as a RIL class in CM7, with CM7 not giving errors during the compile process





    This stuff is not easy and I do not expect you to be able to do it, but anything that you can contribute will help
    bads3ctor likes this.
  17. Snake X

    Snake X Well-Known Member

    ill give it a shot when i get home from school
    hroark13 likes this.
  18. Snake X

    Snake X Well-Known Member

    O_______O THAT WHOLE THING?! :eek:

    I don't know if I can do this or not.. I'l...... try.. :SSSSSSSS

    That first one is about 3600 lines O.O

    Well I skimmed through the file and it seems like it uses a lotta external files.. I will see what I can do and where the errors are at

    edit: I'll have to try to do it tomorrow.. my hw just mentally exhausted me from school
    bads3ctor likes this.
  19. hroark13

    hroark13 Well-Known Member Developer

    here are some more of my findings


    we know that in order to tell CM7 that the phone is a CDMA Phone, we need to specify this

    ro.telephony.default_network=4


    in the build.prop, otherwise it will create a GSM phone on first boot

    if you were to add this to the build.prop, you would need to do a facory wipe, so that a new phone can be created (like on first boot)



    when I have the setting ro.telephony.default_network=4 in the build.prop


    telephony will keep crashing and force closing constantly, unless I also have either of these settings in the build.prop


    ro.telephony.ril_class=lgeqcom

    or

    ro.telephony.ril_class=semc



    If we specify either of those ril classes we can not make phone calls


    when you have those settings in the build.prop LGEQualcommRIL.java or SemcRIL.java will be used


    now those two RIL files are not full RIL java files, they are extensions of QualcommNoSimReadyRIL.java

    QualcommNoSimReadyRIL.java can not be used as its own class

    QualcommNoSimReadyRIL.java is not a full RIL java file, it is an extension of RIL.java


    when these files extend other files, they can overide commands and functions and stuff

    you can read more about this here

    https://gist.github.com/CyanogenMod...mmit/0b3ea727aed89f20eb7e8b00a5dd923a978cfe0c


    I think one of the problems is those RIL files (QualcommNoSimReadyRIL.java, LGEQualcommRIL.java, SemcRIL.java) are designed for GSM phones


    I think we need to somehow modify one or two of those files to also work with CDMA
    bads3ctor likes this.
  20. bads3ctor

    bads3ctor Well-Known Member

    This is everything I know about CDMA and Sprint. This is from my work on ICS for the Samsung Intercept. Some of this won't apply but some might be helpful.

    rild.libpath=/system/lib/libsec-ril40.so
    rild.libargs=-d /dev/ttyS0

    keyguard.no_require_sim=true
    ril.ecclist=112,911,#911,*911

    net.interfaces.defaultroute=cdma
    net.cdma.ppp.interface=ppp0
    net.connectivity.type=CDMA1
    ro.telephony.ril_class=samsung
    ro.ril.samsung_cdma=true

    ro.config.vc_call_vol_steps=15
    ro.telephony.default_network=4
    ro.com.google.clientidbase=android-sprint-us

    Edit: The whole build.prop: http://min.us/mbfBmUiOxN
    prmax and downthemachine like this.
  21. QuietStorm1785

    QuietStorm1785 Well-Known Member Developer

    did u try using the original system.prop that came with the phone? Im building cm7 using your source as I type to test that out, if that doesnt work ima try a few other things. Im still trying to figure out why the kernel isnt booting, I got about as far as you did hroark. Wouldnt mount partitions, was able to start adb.. etc etc. mind racking crap here..
  22. hroark13

    hroark13 Well-Known Member Developer

    yeah, I have tried everything

    this is my latest cm7 source, some minor corrections, and all the pre built files are B06, the B06 RIL files seem to start quicker, and also BlueToothe works

    arthur-4-17-12.zip

    for the kernel did you compile your own zImage or use mine
    bads3ctor likes this.
  23. QuietStorm1785

    QuietStorm1785 Well-Known Member Developer

    I compiled my own zimage a while ago, just a few weeks after source was released. then used dsixda android kitchen to pack the zimage and ramdisk.

    [EDIT]
    yeh, same errors as before as you in regards to kernel, wont boot, but adb works. curious as to why it isnt mounting partitions.
  24. hroark13

    hroark13 Well-Known Member Developer


    were you able to get to adb before, or did you use my new test ramdisk with your zImage
  25. QuietStorm1785

    QuietStorm1785 Well-Known Member Developer

    I was able to do it before, I did the same edits to init.arthur.rc that you did. I really dont understand why it wont mount partitions at boot. I didnt do a mount command tho, so didnt really test. I feel like building the kernel again and checking if the default config has ext4 modules built in. Last time I built the kernel using the .config that was on the phone, it didnt have the ext4 modules selected. That might be the issue, but I really dont know. I wonder if sebastian got a hold of zte, cuz that would really help right about now.

Share This Page