[MOD] noCIQ for EI22 :: 11/9/2011 :: UPDATED SCRIPT - REDL/REFLASH!

Search This thread

KennyG123

Senior Moderator / Mod Committee / Spider-Mod
Staff member
Nov 1, 2010
39,957
54,786
Right behind you!
OK thanks to a discovery by SenseiSimple it turns out activity by Sprintandroidextension.apk is what is triggering all the false high CIQ scores with Voodoo detector. K0nane any idea why activity there would cause that? Without that file, the score is consistently 70 and there are voicemail problems and inability to update Profile and PRL, even an occasional MMS error.
 

k0nane

Inactive Recognized Developer
Feb 7, 2008
3,991
3,783
127.0.0.1
www.k0nane.info
OK thanks to a discovery by SenseiSimple it turns out activity by Sprintandroidextension.apk is what is triggering all the false high CIQ scores with Voodoo detector. K0nane any idea why activity there would cause that? Without that file, the score is consistently 70 and there are voicemail problems and inability to update Profile and PRL, even an occasional MMS error.
SprintAndroidExtension is what provides for Profile/PRL updating, among a few other things. It is not, however, what "triggers" high scores. The scores aren't false positives, they just don't mean you're infected - they report what they find, if you scroll down you'll see it all.

The remaining pieces of CIQ, not including those in the kernel, are libiq_client.so, the BootCompletedReceiver class, and items in AndroidManifest.xml of framework-res.apk. AndroidManifest.xml in framework-res.apk cannot be edited without resigning framework-res.apk (and in turn, almost all of the rest of system, which is not at all optimal, as all themes/etc. would have to be specially made for one ROM). The calls there start the process android.iqd as an empty shell for BootCompletedReceiver, which itself is an empty shell. It listens for a "booted" trigger sent by what would appear to be SprintAndroidExtension (but it's not, I've checked many times - that very framework portion may be generating it, as it's just a signal and nothing more), upon which BootCompletedReceiver, before noCIQ, would start the CIQ service. Of course, with noCIQ, all it does is... nothing. The process hangs around, but as noted many times before, it has absolutely no purpose. It's empty.

libiq_client.so is, as I've also noted several times before, statically linked into the system libraries and cannot be removed. Specifically, libopencore_player.so and libstagefright.so are linked to it. This is harmless, as libiq_client.so does absolutely nothing without the framework-side pieces, but a pain if one wants to remove it. These libraries can't easily be swapped in from other phones. Of available SGS devices, none have suitable substitutes: the Fascinate has VZW-forced DRM libraries built into theirs, and the GSM variants are all similar to the I9000, whose updates also don't work very well. Swaps from JVQ, JVS, JVT, and JVZ work - JVT generally the best - but not completely. Shutdown will hang forever as a function in OpenCORE panics. By logs, it appeared it could have been a mismatch in libutils or libc, but it was not (I swapped those, too). It may be possible to swap even more (beyond all OpenCORE and Stagefright) libraries to get things working, but if you ask me, it's not worth it. The change would be purely cosmetic.

Of course, there are the kernel pieces, but we know about those. :)
 
Last edited:

KennyG123

Senior Moderator / Mod Committee / Spider-Mod
Staff member
Nov 1, 2010
39,957
54,786
Right behind you!
Wow, thanks for that detailed explanation (now I got a headache..lol). So basically it is the calls for CIQ that are triggering the different scores in the Voodoo detector and not actual CIQ transmitted data. So by removing Sprintandroidextension those calls fail and don't trigger the detector. So the scores are meaningless for us with those calls still being made. Will those calls still cause some battery drain? Is it ok to remove Sprintandroidextension for awhile and pop it in occasionally to check PRL and Profile? Don't be afraid to dumb it down for me, I am many years from when I took my C++ programming classes.
 
  • Like
Reactions: sonarchist

MДЯCЦSДИT

Inactive Recognized Developer
Nov 21, 2010
6,563
4,616
Carrier IQ used to watch everything I did, but then it took an arrow to the knee.

Nice shot k0nane.

Sent from my SPH-D700 using XDA App
 

Top Liked Posts

  • There are no posts matching your filters.
  • 49
    k0nane presents...
    noCIQ (Carrier IQ removal) for EI22
    Because your privacy matters!

    11/16/11: Hello, InformationWeek readers!

    About

    Any of you who have been around since EB13, who have come from the Evo 4G, or really, who have had a Sprint Android phone at all in the last few years, probably know what Carrier IQ is. If you don't, see the second post.

    This mod does precisely what it says on the tin - removes Carrier IQ. For good. No more background process, reduced battery drain, marginally better performance. This package is best suited for stock ROM users and ROM/theme devs - ROM users, you will likely see this mod included in most if not all ROMs from today (11/9) on.

    How To Install

    Wipe cache (main menu) and dalvik-cache (under Advanced) in CWM, and flash as normal.

    Video via qbking77:

    Downloads
    I do not use file hosts with waiting times!

    Download noCIQ for EI22
    Download noCIQ for EI22 (mirror)


    FAQ

    Q: Can I flash this on an odexed ROM, including stock?
    A: No! You must be on a deodexed ROM.

    Q: I get FCs!
    A: Ensure you wiped cache and dalvik-cache. If issues persist, try other common troubleshooting steps. DO NOT report bugs unless you get an FC every single time in a certain place.

    Q: This broke (theme/mod/app/etc.)
    A: Theme/mod: is it noCIQ-compatible? If not, that's why. Ask the creator to update it. DO NOT USE THEMES/MODS FROM OLDER VERSIONS. Anything else: no. It didn't break it.

    Q: I'm a ROM dev/themer. May I use this?
    A: Absolutely. Please credit me if you do - other than that, go wild.

    Credits


    • qbking77: Testing, how-to video.
    • xBTx: Original files.
    • Shabbypenguin: Mirror.
    • XDA users and mods: This would be of no use without you! :)
    6
    I run the current SleeperROM and I got this.

    Sent from my SPH-D700 using XDA Premium App

    This is expected. ROM developers can delete libiq_service.so without consequence, but libiq_client.so must remain in to prevent a bootloop. The log entries are due to a stub BootCompletedReceiver I left in to quiet the log - the android.iqd process it launches is 100% empty and does, quite literally, nothing. :) It uses no resources and cannot perform any functions.

    I have been providing input and some testing to supercurio. The app is still in active development. noCIQ will be addressed in future updates.
    5
    Nice to see you working your magic again with this new release, thanks k0nane!

    Sure. I try to keep up with noCIQ for official releases - the Epic Touch got love last month.
    3

    What, me? I work quickly. The actual mod only took me about 30 minutes.
    3
    As i have said many times. Thanks Konane. I hope you go to work for one of the phone manufacturers so you can show them how to write code so quickly. Better yet go to work for Sprint and convince them not to use CIQ anymore.
    I may be good, but I'm not good enough to do either one. ;) Though a certain phone manufacturer seems to want me to apply for a job... :D