[Vibrant Android Development] Jarmezrocks:
Hey,

Thanks for your posts again. Happy to hand over anything if it can help you :)

I haven't even got anyone to call. This will be a maiden voyage when I upload the ROM. All along I didn't realise the Kernel never had allowances for KinetoGAN, only the older gingerbread version did...I had the kineto_gan.ko module driver loaded in the ROM but only now has the kernel been updated to support kineto_gan.ko. I had everything else right from what I believed but that was the missing link.

I only knew that there were modifications needed to the Framework in past Gingerbread versions to enable wifi calling. If they were needed then I assume that they were are also needed in ICS? Other devs have packaged a new framework.jar file with their wifi add on package. I downloaded the stock framework and broke the two appart and saw that there were reference classes to wifi within the "wifi calling framework" I copied those differences only into the ICS framework. There are literally hundreds of classes, Its not an easy job and certainly not something that i can list. Its deeply rooted within the framework. I have just copied and placed them into the same locations within the ICS framework. I had the services.jar appart because i was making the launcher bullet proof for Ice Cream Sandwich as part of zepplinrox's recommendations and when I had it appart I noticed several wifi references (mainly those to the wireless headset that people have had issues with on ICS).

I know that wifi calling IS actually considered a service within Android so I went snooping in the wifi calling ROM/Gingerbread. I noted that nearly all Gingerbread Samsung ROMs have allowances for the service to be there should we want it (kind of like when they made RX7s that they used one electrical harness across all models of FC to cater for electric windows and non electric windows, heated seats and non-heated seats versions of the same car...etc etc you get my point) What I then did was break down the CM7 and Nexus S framework and services.jar files to look for commonalities and differences. As I expected, but the CM7 and and Nexus S versions had no wifi references in all of their .jar files. I can't remember for certain but I think I also looked at Android policy jar file also as it seems as though it is a common governor to what can and cannot be done on the phone right? So anyway I knew that the Nexus S wasn't released a a T-mob wifi calling candidate so that had a big scratch through it to begin with. I also noticed that no one had any success with wifi calling on CM7 (it doesn't surprise me either - and those that have were only HTC users that had very very weak volume if they got it to work at all?) Since then though there has been a break through in the developments for wifi calling in both CM7 for HTC and now CM9, however they are still having issues with volume and/or intimittentent disconnections (that require a reboot) I am hoping that both the .so files for Boosted sound from Samsung Gingerbread ROM as well as the framework/services modifications that I have included in my ROM should fill those gaps where we are not having any luck on Samsung. It makes sense that if those drivers are included in the Gingerbread ROMs that maybe they need to be included in ICS if they are aren't already, and I know for certain that they aren't.

Further to that (I haven't experienced this my self but I know others have) that Ice Cream Sandwich its self has its own wifi issues. I have included a wifi fix apk developed by fardjad on XDA that addresses this and fixes the problem. On top of this i have read recently that there is a need for two more additional files that people using the T989 say are needed to make wifi calling stick with it's connection.....in otherwords it connects without these files but it disconnects or is unstable without them. I have packaged these just in case.

From what i can tell there have been so many variables so far that could have been reasons why ICS wifi calling has failed. I hope now with the Kernel update thanks to PaulForde from the SGSICS team we now have something to work with from LogCat? The HTC guys have wifi calling working on ICS just by using the KinetoGAN in kernel and the additional files that you are probably already aware of (and possibly used). I now have all of the same files + additional lines in build prop (recommended by another Samsung user in my credits in the OP).

So I've basically done a full transplant of all references to wifi from Samsung and embedded that into the necessary jar files within the ICS ROM. Packaged all that everyone before me has done + a few additions. If this doesn't work or get close to working I don't know what will? :o

If you want to assist or take over I am happy to send you all my sources if it can help you out with your ROM:) I would be glad just to have another dev that is willing to contribute or bounce ideas from....even better if they were a T-mob user them selves lol. Send me your email address....once I have packaged the ROM I will package up all the all the files seperate as they are and the broken down classes (the "out" folder from baksmali output as well as packaged jar files and source jar files) and send it all through to you if you like?

Lastly if your interested in looking into the QoS wifi modules I am interested in attempting to progress this further from here should this wifi calling attempt totally fail.

James