yashsingh1/xdaforums huggingface dataset:
[Nexus S Android Development] krohnjw:
Once the G2 update to 2.3 drops it should hopefully get done if we can't use this apk with 2.3
[Nexus S Android Development] ritcereal:
Doesn't the Wifi Calling port require a custom kernel for the n1 to function? Additionally in krohnjw's zip file of the apk and other libraries we're missing the module '/system/lib/modules/kineto_gan.ko' from the n1 "bundle" that was last released. Has anyone been loading this module before launching the Wifi Calling application?

Other thought is that the htc ril that is bundled doesn't have similar functions, but not certain how I could find out.

Just some initial thoughts, going to keep looking into this!
[Nexus S Android Development] Anderdroid:
Just thought I'd mention if it isn't known, the Vibrant froyo leaks also contain the WiFi calling.
[Nexus S Android Development] ritcereal:
Pulling apart the apk and the exceptions via logcat I found the offending call. Though I'm still trying to figure out what we need to replace. It is a library issue.

:try_start_a3
const-string v1, "kineto"

invoke-static {v1}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
:try_end_a8
.catch Ljava/lang/Exception; {:try_start_a3 .. :try_end_a8} :catch_a9

.line 60
:goto_a8
return-void

The part that stands out to me is invoke-static {v1} which would to me...translate into invote-static("kineto"), which of course it cannot find.

Though I'm confused by this as well, I'm not seeing any lib's that are included in the n1 port...I'm probably missing something.
[Nexus S Android Development] krohnjw:
That was the wrong zip or incomplete. I compiled a kernel with the kineto_gan module as statedvin the op. Works no problem (no errors in dmesg - success messages present) . Module loads successfully.

I'm running this kernel with the module loaded....doesn't make any difference. I can make it available if anyone would like to test.
[Nexus S Android Development] krohnjw:
I just pulled that (and their version of libkineto.so) from the leaked image - same result, same error.
[Nexus S Android Development] diversificationied:
I'm curious, since wifi calling required libary files and all that jazz, wouldn't it be easier to just route the wifi calling apk through the SIP protocol already in place? That way you can avoid all the kernel and library "mess".

(not too knowledgeable on SIP and/or wifi calling).
[Nexus S Android Development] ragnarokx:
You may not have your Nexus much longer, but I will and am still looking forward to this.

Sent from my Google Nexus S
[Nexus S Android Development] denis_y_s:
Now SGSII and Amaze 4G getting Wi-Fi calling!

And now you have to have a “GBA SIM card” with TM9177 code printed on it.

Why don't T-mobile just release app for all Android devices? :mad: Is it gonna ever come to Nexus S :confused:
[Nexus S Android Development] ragnarokx:
Doesn't look like it will officially, but hopefully our wonderful developers will work their magic.

Sent from my Google Nexus S
[Nexus S Android Development] denis_y_s:
What about the special “GBA SIM card”? how devs will go around that?
[Nexus S Android Development] faceoff007:
!!! Bump !!!
[Nexus S Android Development] xsteven77x:
I want this so bad i could #@$%ing cry. I go over my minutes all the time ever since I got this phone since we don't have wifi calling.
[Nexus S Android Development] LowQue27:
I wish T-Mobile would give us this and Google wallet. I guess I'm asking to must.
[Nexus S Android Development] njd15:
Wait....I thought t-mobile wi-fi calling STILL uses your minutes...!? I swear I seen it say that it still uses air time minutes on my HTC Sensation and other phones with tmobile wifi calling
[Nexus S Android Development] xsteven77x:
Swear to god on my life all you have to do is call and ask them to make wifi calling free. If you google it, they had a press release about six months or so ago. It's not activated on your account unless you specifically ask for it. I actually I thinking had a topic that got rather large in the android general forum at the time. Of course after its activated the wifi calling app will still say whatever it is coded to say, but it will be 100% free and not against your minutes. If anyone still needs absolute proof I can take a acreenshot of my account page under services and show you how it says "free wifi calling".
[Nexus S Android Development] kevin0905:
so is this thread dead or is there still hope for making wifi calling possible?
[Nexus S Android Development] got2best:
I would love to c this happen! Because signal inside my house sucks!
[Nexus S Android Development] pkgingo:
I don't have a nexus s but you might look at the motorola milestone and motorola defy to harvest their wifi calling apps and/or libraries. They all seem to share the SKY77529.
[Nexus S Android Development] kevin0905:
has anyone tried the new ril files form ics? or are the ril files the same?

i've tried it but i'm no expert at this and i received an error (attached)
[Nexus S Android Development] OCedHrt:
The HD2 also has a working port. I'd check with tytung and see if he can/will help.
[Nexus S Android Development] hay112:
man I would donate to anybody that could get this to work
[Nexus S Android Development] faceoff007:
You might as well close this thread. No developer is capable of making this happened.
[Nexus S Android Development] tekkitan:
It's an HTC phone as well. Our's is Samsung.

I agree with closing this. This won't be possible without some major re-coding or T-mobile releasing some Samsung-based libs.
[Nexus S Android Development] ragnarokx:
Then why did you bump it?

And it should stay open. It's not over till it's over god dammit :)

Sent from my Nexus S
[Nexus S Android Development] diverbelow:
I am also interested in this as well...
[Nexus S Android Development] texasaggie1:
Love for it to work

I suppose you tried fixing permissions after you got the force close? I know it's a simple little thing. But sometimes those are the easiest to over look.
[Nexus S Android Development] yotsuna:
cheering you guys on...

Thanks so much for looking into this guys... would be a very welcome addition.

I've setup the VOIP alternatives and although they are handy, it's more of a "dirty" solution than I was hoping for and, of course, isn't flawless for sending/receiving text messages... if only we could port our carrier numbers to google voice! :(

Also, thanks in general to everyone that leads and participates in this community - can't explain how useful and helpful it has been.

Definitely plan on donating a few bucks next paycheck... thx again.
[Nexus S Android Development] b84cops:
is it possible that the new update will help with this effort?
[Nexus S Android Development] xdahd2:
not likely because the gingerbread code doesn't change.
[Nexus S Android Development] brodie7838:
No. SIP and T-Mobile's WiFi calling app don't operate the same at all, and T-Mobile encrypt their traffic.
[Nexus S Android Development] Ry-Guy615:
My wife needs to replace her phone. She likes my vibrant. Thus I can get a Nexus S... If the wifi calling weren't an issue. We have no coverage from any carrier within 10 minutes of my house so wifi calling is a necessity. If Nexus S gets wifi calling I get a Nexus S. Therefore I'm really hoping wifi calling gets solved.
[Nexus S Android Development] ogdobber:
try this, works for me. I'm in the same situation as you http://xdaforums.com/showthread.php?t=877879
[Nexus S Android Development] Ry-Guy615:
Thanks. I'LLC take a look. Only problem is the phone number. Oh well. As you can see in my recently changed signature I'm confident that wifi calling will eventually show up.

Anyway I have 30 days to change my mind. The exchange would be to a mt4g. Really dislike the ui on that thing. So far this phone is screaming!
[Nexus S Android Development] petep86:
Did u buy ur phone outright? then u got 30 days. Thats not the case if u got a two year contract ... hope everyone knows that.. u only got 14 days if u signed a contract ..
[Nexus S Android Development] exoplasm:
It's 30 days in California, with contract.
[Nexus S Android Development] petep86:
T-Mobile only gives u 14 days to back out the contract. So yea u can return it in 3 weeks n get ur 215 bucks back, but ur still stuck in that two year contract.. thats why you should always read when u sign, it's right in the fine print.. if u have doubts call T-Mobile and confirm it...
[Nexus S Android Development] hahaitsjeff:
here's a better detailed write-up that a friend sent me today.

http://xdaforums.com/showthread.php?t=887131
[Nexus S Android Development] Ry-Guy615:
Unfortunately this workaround isn't a great option for someone interested in making calls and sending/receiving texts from our mobile numbers. I tried using google voice to send texts when i first got my vibrant but didn't get a lot of replies since friends don't know that number.

T mobile wifi calling is such a great feature and it would make this device infinitely better for me. Here's to hoping someone figures this out.
[Nexus S Android Development] mrcrassic:
EDIT: Sorry; though this was the N1 forum. We're having the same issue; I think it's an OS incompatibility.

Hi,

Which ROM are you using? There was a new kernel released that merged some of intersectRaven' and wildmonk's source; not sure if the Wifi calling provisions were included. I'm going to ask. As for me, I tried to load the libs but it's failing on an UnsatifiedLinkError to the AudioRecord lib. Hard to see without seeing debug output:

I/Kineto::Receiver( 352): onReceive Enter

I/Kineto::Receiver( 352): Received android.intent.action.SIM_STATE_CHANGED

I/Kineto::Receiver( 352): onReceive: intent.getStringExtra('ss')= LOADED

I/Kineto::Receiver( 352): onReceive: intent.getStringExtra('ss').equals to LOADED

D/dalvikvm( 352): Trying to load lib /data/data/com.android.kineto/lib/libkineto.so 0x405124f0

W/dalvikvm( 352): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/android/kineto/kineto;

D/AndroidRuntime( 352): Shutting down VM

W/dalvikvm( 352): threadid=1: thread exiting with uncaught exception (group=0x40015560)

E/AndroidRuntime( 352): FATAL EXCEPTION: main

E/AndroidRuntime( 352): java.lang.ExceptionInInitializerError

E/AndroidRuntime( 352):	at com.android.kineto.Receiver.onReceive(Receiver.java:49)

E/AndroidRuntime( 352):	at android.app.ActivityThread.handleReceiver(ActivityThread.java:1769)

E/AndroidRuntime( 352):	at android.app.ActivityThread.access$2400(ActivityThread.java:117)

E/AndroidRuntime( 352):	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:978)

E/AndroidRuntime( 352):	at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime( 352):	at android.os.Looper.loop(Looper.java:123)

E/AndroidRuntime( 352):	at android.app.ActivityThread.main(ActivityThread.java:3647)

E/AndroidRuntime( 352):	at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime( 352):	at java.lang.reflect.Method.invoke(Method.java:507)

E/AndroidRuntime( 352):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)

E/AndroidRuntime( 352):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

E/AndroidRuntime( 352):	at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime( 352): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1311]: 70 cannot locate '_ZN7android11AudioRecordC1EijijijPFviPvS1_ES1_i'...
E/AndroidRuntime( 352):

E/AndroidRuntime( 352):	at java.lang.Runtime.loadLibrary(Runtime.java:434)

E/AndroidRuntime( 352):	at java.lang.System.loadLibrary(System.java:554)

E/AndroidRuntime( 352):	at com.android.kineto.kineto.<clinit>(kineto.java:1550)

E/AndroidRuntime( 352):	... 12 more
[Nexus S Android Development] krohnjw:
That's where I am leaning as well.

Ill keep an eye open there as well to see if any more progress is made
[Nexus S Android Development] Anderdroid:
Has anyone tried modifying the apk in winRAR and dropping the kineto library inside of a libs folder inside of it.
[Nexus S Android Development] Anderdroid:
Try adb push libkineto.so /data/data/com.android.kineto/lib/
[Nexus S Android Development] krohnjw:
It's already there.

The lib actually installs there as part of the APK install.

The reason this seems like an incompatibility to me is that when you install that APK on the stock 2.2 AVD it launches fine and brings up the tutorial. When you install the same APK on the stock 2.3 AVD it force closes immediately with the same error as above.

We are clearly working with the same APK installing the same lib with itself and it only FC on 2.3 while 2.2 launches without issue and brings up the tutorial (with no extra libs pushed or the necessary kernel module loaded).
[Nexus S Android Development] MacGuy2006:
WTF?!

I thought this would be a standard issue on all T-Mobile phones going forward....

Heck, it should be a built-in feature of Android.

Hope someone figures out how to port it over soon, or T-Mobile or Google get on the ball.

Really stupid to omit this feature from the Nexus S (just like omitting 720p).

These are my two big gripes with the Nexus S.
[Nexus S Android Development] tominater12:
720p video does not really matter on a phone right now (480p can look just as good) and this is a Google phone not a T-Mobile phone. I would much rather have a crapware free experience than wifi calling and crapware.
[Nexus S Android Development] tekkitan:
I'd rather have crapware free AND wifi calling :)
[Nexus S Android Development] MacGuy2006:
LOL.

And I'd rather have crapware free AND wifi calling, AND 720p (which matters to those of us with large screen TVs) :)

So I hope we get them soon.
[Nexus S Android Development] ritcereal:
Maybe you should make a feature request on Google's Issue's site for Android. As fun as it is to read your complaint, and as much as I agree that WiFi Calling would have been nice to have...its just words that won't change anything.

Those who have poked around with WiFi Calling on their phones just haven't gotten anywhere promising so likely we will have to sit tight until another T-Mobile phone with the feature is updated to Gingerbread. Until then, you should poke Google and Samsung repeatedly.
[Nexus S Android Development] krohnjw:
Really you should poke T-Mobile. Its their app. Other US carriers don't use gan / uma, they've opted for microcells. So its a third party solution built into phones that T-Mobile has requested. It uses an intermediary RIL to manage the handoff. No way it ends up on a stock nexus s build IMO

With that said I'm waiting for a 2.3 update for the G2 or MT4G (or a new phone with 2.3) and it doesn't look like it should be too difficult to get it working.
[Nexus S Android Development] tekkitan:
give it time. hasn't even been out a month yet.
[Nexus S Android Development] jhnphm:
<- G2 user here interested in this

Perhaps it'd be possible to modify the Gingerbread framework to put in a compabiliity shim that emulates the missing functions in the Froyo framework? Of course, that's probably unnecessary effort since one can just wait until the G2 gets gingerbread, although I don't think it'd be too hard.
[Nexus S Android Development] MacGuy2006:
Good point :)

I added feature requests for both WiFi Calling and for 720p.

My experience with Google has been less than positive ( a few months ago someone else was suddenly given my Google Voice number, and Google completely ignored my emails, just as they had apparently ignored others in exactly the same situation -- now I would never again rely on Google Voice....)

But one never knows, and there is always hope :)

Here is the link where people can add feature requests: http://code.google.com/p/android/issues/list
[Nexus S Android Development] ritcereal:
For those who don't feel like finding the appropriate bugs to vote up (star) here they are!

UMA T-Mobile

http://code.google.com/p/android/is...ma&colspec=ID Type Status Owner Summary Stars

UMA enable Android OS

http://code.google.com/p/android/is...ma&colspec=ID Type Status Owner Summary Stars

I didn't include the 720 issue since it is off topic.
[Nexus S Android Development] ritcereal:
Also of interesting note...

http://twitter.com/#!/kmobs/status/23490237489487872

I'm going to have to figure out what they did ;)
[Nexus S Android Development] Ry-Guy615:
What makes you so sure that this isn't just a gingerbread themed Vibrant?
[Nexus S Android Development] ogdobber:
it doesn't matter what phone it is, the key is to get it working with gingerbread first...btw kmobs doesn't theme
[Nexus S Android Development] Ry-Guy615:
I'll be honest, I don't know who any of these devs are or what they do or don't do. So if you say he doesn't theme then that answers the intent of my question.

Completely agree though that it doesn't matter what phone. Only matters whether or not 2.3 is being used.

Good stuff. Can't wait to have wifi calling on the nexus s!
[Nexus S Android Development] b84cops:
Any updates?
[Nexus S Android Development] krohnjw:
It's working well on CM 7 on the mt4g. I have another nexus s coming my way this week. If its not in the cm 7 nightlies I'll get in touch with zinx if I can't get it going on a stock rom with the included apk and libraries.

I know he made some non insignificant changes to the code base to get things working well and eliminate choppy audio issues in cm 7.
[Nexus S Android Development] ritcereal:
Well I took the passion beta wifi-calling and made a few changes (aka, told it to install on crespo, removed libhtc_ril.so and such).

I set the property:

rilswitch.vendorlibpath=/system/vendor/lib/libsec-ril.so

I have a feeling that isn't going to do me much good, this on the n1 is the htc_ril.so. However some progress has been made (thanks to unforgiven512 for his work on the n1 port).

Anyone have any idea's? Attached is where I left off, and for clarification this does _NOT_ work.
[Nexus S Android Development] Anderdroid:
It's not force closing?
[Nexus S Android Development] ogdobber:
we need a kernel:(

its funny, I did the same thing...no force close. it just hangs at "connecting" thats were the kernel comes in
[Nexus S Android Development] ritcereal:
It isn't FC'ing as some have asked. I'm rather pleased with my progress and so now its onto the kernel! Luckily I've been looking into building it for the NS so I've got a decent start, but more importantly I have no clue what we need to add or change in the kernel to support this. Anyone happen to have information regarding that?
[Nexus S Android Development] brian6685:
I am not sure, but I know that Zinx was the one to get it working on the mytouch 4g so if you could get in touch with him somehow that would be your best bet.
[Nexus S Android Development] krohnjw:
Ok, so ritcereal talked to Zinx a bit and got some good info.

We got the binary/modified libraries from the N1 Gingerbread port and have been working to get things up and running on the NS.

The wifi calling app loads using the hacked libkineto.so from the N1 port. I'll stick up a link to a trimmed down logcat. I let it sit "enabling" for 10 minutes and it doesn't ever appear to throw an error or complain.

Here's a link to the trimmed logcat if anyone wants to take a look (or are familiar with why it might not be connecting).

http://pastebin.com/6vuyzN7A

So far I have the proper libraries pushed, a kernel up and going with the new gan-eth module and everything is working pretty well outside of wifi calling.

librilswitch.so loads and hands off to libsec-ril.so without a problem it seems (that's good because that would be pretty unfixable if it didn't). The gan-eth module loads, but the wifi calling app itself hangs establishing a connection.
[Nexus S Android Development] Anderdroid:
Hey if the kernel edit wasn't hard could you post on how to properly do it? This way this can be done again and again as OTA's are pushed without having to go through contacting someone on how to do it or having to refigure it out. Not to mention overclock kernels and whatnot could have it included built in.

Also was wondering if you have this:

I/ActivityManager( 111): Start proc com.cyanogenmod.ganoptimizer for broadcast com.cyanogenmod.ganoptimizer/.GanStateReceiver: pid=750 uid=10132 gids={}

com.cyanogenmod.ganoptimizer

also this error... Don't completely understand it but it could be the cause? Dunno.

E/ApplicationContext( 358): Couldn't rename file /data/data/com.android.kineto/shared_prefs/KinetoPrefsFile.xml to backup file /data/data/com.android.kineto/shared_prefs/KinetoPrefsFile.xml.bak

Another error

E/GanlitePersistence( 358): java.io.FileNotFoundException: /data/data/com.android.kineto/files/GanLite.txt (Permission denied)

Maybe try fixing permissions ? dunno. Like chmod all of these

/data/data/com.android.kineto/shared_prefs/

/data/data/com.android.kineto/shared_prefs/KinetoPrefsFile.xml

/data/data/com.android.kineto/files/GanLite.txt

Oh and this error near the top don't understand it but it does say error

E/KINETO ( 358): KLOG084- Unable to store X.509 cert:358:error:0B07C065:lib(11):func(124):reason(101):external/openssl/crypto/x509/x509_lu.c:355:

Kindof looks like a permissions issue even there but I'm no genius. Assuming that that's in x509_lu.c at line 355.... Which i found on here:

http://fxr.googlebit.com/source/crypto/openssl/crypto/x509/x509_lu.c?v=8-CURRENT but I don't understand it. Seems to be an SSL issue?
[Nexus S Android Development] tekkitan:
I'm not an expert with this at all, but I deal with VPNs for a living. I do see some OpenSSL errors in the log and seems like it's trying to establish an SSL VPN which is probably how it works with T-mobile.

I can't really help beyond that though :)
[Nexus S Android Development] krohnjw:
Yeah - it's trivial to add the code for the module and edit the make file. So anyone could build it from the AOSP source. Once things get sorted then definitely.

Zinx posted GanOptimizer to fix the stuttering issue with wifi calling. HTC had essentially set some things when wifi calling started to prevent sleeping, set wifi performance up, etc. GanOptimizer addresses this. I may pull that out until we get it sorted as I'm unsure if it relies on an altered framework or not.

Fixed permissions / ownership. Errors disappear but still unable to connect.

This is definitely what concerns me. I'm pulling the CM7 repo now and will look at the kernel config to see what else is compiled in. Looking at the release for CM7 on the passion/glacier the gan-eth module isn't present. I compiled it into the kernel but still no love there either.

I'll take a look at the kernel configs themselves and see if the AOSP kernel I'm building is missing anything from a crypto/vpn standpoint that could be causing this.
[Nexus S Android Development] Anderdroid:
Googling the SSL error, 0B07C065, brings up some interesting things. Could not store cert? Already in hash table? Etc.
[Nexus S Android Development] anotherbrick:
Thanks for all of the hard work you guys are doing on this. I'm watching this thread closely... This feature would be really helpful with the weak signal I get at my house,
[Nexus S Android Development] rome425:
I second that, any progress will be greatly appreciated
[Nexus S Android Development] swordsaint_ss:
bump. i'm interested in porting this to the galaxy tab as well so i'm keen for updates.
[Nexus S Android Development] kenvan19:
Hell yes. I'm very interested in this. I'm very disappointed by the thread that claims to have "free" wifi calling as it requires you to buy something...not really free and the set up is rather complicated.