[Q] XPERIA P No AGPS data with JB - Sony Xperia P, U, Sola, Go

I'm currently with LT22i_6.2.A.0.400_1265-2714.ftf and i'm not getting AGPS data.
Without AGPS data it's almost impossible here to get a FIX from GPS, 2 walks outside of 15min and no FIX.
(please note there are no errors with adresses in my actual files, i had to edit here to post, can't put links due to my posts count)
The ROM comes with thsi gps.conf:
Code:
SUPL_HOST=suplDOTsonyericssonDOTcom
SUPL_PORT=7275
The cacert.txt is the sony certificate:
Code:
-----BEGIN CERTIFICATE-----
MIIDazCCAlOgAwIBAgIBADANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJTRTEN
MAsGA1UEBxMETHVuZDEvMC0GA1UEChMmU29ueSBFcmljc3NvbiBNb2JpbGUgQ29t
bXVuaWNhdGlvbnMgQUIxITAfBgNVBAsTGFNvbnkgRXJpY3Nzb24gU2VjdXJlIEUy
RTAeFw0wMDAxMDExMTAxMjlaFw0xOTEyMzExMTAxMjlaMHAxCzAJBgNVBAYTAlNF
MQ0wCwYDVQQHEwRMdW5kMS8wLQYDVQQKEyZTb255IEVyaWNzc29uIE1vYmlsZSBD
b21tdW5pY2F0aW9ucyBBQjEhMB8GA1UECxMYU29ueSBFcmljc3NvbiBTZWN1cmUg
RTJFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7YSdD6eHY5qywYk4
QkwwSOWjQicq5QlpbjSQMyLgCgNojPGNeBWYRRm0HiHB9bBvJpLBohxo8ZNSGEQT
U0ui3yHNP1HfK2CK5VDUmJGQIa3A1pBJeUlUWw8xdxVUbho1revxiu6UB7Pv9R1j
DSQhrnfwXrYUEF78TC/GQcnwP0D1xsKFLJAj5Oof5sv+UYXXIMdVgc+wUvjd4Mzy
SiWUw5ck1zVgA8rPgMYXOexRQO801f+dcZXQGXYUhWEH3zJY23C4XfDCTk1iKKJL
63Tgf+s+EOtl7nAJSrGTMWC+PDPnjcKMrFQJBdYOb5vq4cMqsGe8elb5agbUvHDM
2FiKtwIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAD
VmfPC4lU3+Xp2PjmfjQTl/+WRG4jAgYdUEReL+7owgmoSQreqiyomFN8/8vCONVk
7j+DVodA11Ynl4s6QTcFLnpMOzBPu06pU+yhoQaQiIFjq2ngWkIhSU4q2lOCE1n5
zMbZnQvCP8+mctuKb0Mk85hcLDi6zZQqO3wsmsh91ufo8u+7wGuUw2rFKW+yANLE
YNmCvc+24cACF8+FJ1Ps5xrUbzcrJOlFYnwDoFZqaYAYn+bB3Bl2179/QivOgLaS
b2WZUQYS0HeViZ/VLk8z/luV+dNZPvqs+/0evT63tRp4FoIThsI+eoyR0md0Y2HG
zdnYD492TlDZneEj8Nq/
-----END CERTIFICATE-----
I've tried changing to vodafone one, since some people suggested in ICS it was hardcoded in some ROMs, no chance:
Code:
NTP_SERVER=br.pool.ntp.org
XTRA_SERVER_1=xtra1DOTgpsonextra.net/xtra.bin
XTRA_SERVER_2=xtra2DOTgpsonextraDOTnet/xtra.bin
XTRA_SERVER_3=xtra3DOTgpsonextra.net/xtra.bin
SUPL_HOST=suplDOTvodafoneDOTcom
SUPL_PORT=7275
SUPL_VER=
And of course using the vodafone certificate:
Code:
-----BEGIN CERTIFICATE-----
MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx
FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm
MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx
MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3
dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl
cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3
DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91
yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX
L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj
EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG
7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e
QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ
qdq5snUb9kLy78fyGPmJvKP/iiMucEc=
-----END CERTIFICATE-----
I'm going to try google supl now but i'm almost hopeless, anyone having issues with AGPS/GPS too?
--EDIT--
Just tried google supl with the apropriated certificate and still no AGPS info, if anyone can give me information on this please help, i'm thinking about using another firmware just to be sure but then i'll have to install everything again :/

There is something seriously wrong with aGPS in Sony 4.1.2 firmware, at least for my Xperia P.
I went through logs and it seem that problem begins with time synchronization with ntp server. I tested a few ROMs based on stock 4.1.2 and CM10 a CM10.1 and on all of them "ntp server response" is time of phone boot, not actual time! Therefore there is no time synchro (i.e. phone time offset to satellites time is nonsence). Moreover, it seems that agps process does not continue past ntp synchroniation, i.e. connection with agps servers is not established.
I tested aGPS on Stock ICS firmware and at least ntp time sync works fine.

Related

[REQ] Users with official Carrier ROMs, info needed

Hi, I am currently trying to compile a list of carrier specific aGPS servers to make a profiling tool that will allow people with custom ROMs to access the correct aGPS servers. The information that I need is contained in your registry (I would suggest using total commander attached to this post if you dont already have a registry editor)
Please can you let me know the information contained in the Following key:
Code:
[HKEY_LOCAL_MACHINE\Software\HTC\SUPL AGPS]
"ServerIP"=
"ServerURL"=
"GPSMode"=
"ServerPort"=
"DynamicURL"=
"TLSHostName"=
Please reply using the above format and maybe I can add this to my profiling app
Excellent!
With the recent AT&T changes, we're going to need this.
Cheers,
Hi there here is mine
Rom:Vodafone UK 5.10.161.1 WWE
Code:
[HKEY_LOCAL_MACHINE\Software\HTC\SUPL AGPS]
"ServerIP"=10.1.101.63
"ServerURL"=missing
"GPSMode"=0x2 (2)
"ServerPort"=0x1C6B (7275)
"DynamicURL"=missing
"TLSHostName"=missing
So by the looks of it uses an Internal IP address specific to Vodafone UK.
HTH
b0yce
b0yce said:
Hi there here is mine
Rom:Vodafone UK 5.10.161.1 WWE
Code:
[HKEY_LOCAL_MACHINE\Software\HTC\SUPL AGPS]
"ServerIP"=10.1.101.63
"ServerURL"=missing
"GPSMode"=0x2 (2)
"ServerPort"=0x1C6B (7275)
"DynamicURL"=missing
"TLSHostName"=missing
So by the looks of it uses an Internal IP address specific to Vodafone UK.
HTH
b0yce
Click to expand...
Click to collapse
Actually, I think that's the generic IP address HTC ships with all their ROMs. See below, which I got from the OEMDrivers RGU of the new AT&T ROM (the AT&T aGPS server updates are done via PROVXML):
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\SUPL AGPS]
"EnableAGPS"=dword:00000000 ; 0:Disable AGPS
[B]"GPSMode"=dword:00000002 ; 1:GPS_FIX_MODE_MSA, 2:GPS_FIX_MODE_MSB, 3:GPS_FIX_MODE_MSS[/B]
"NumberFixes"=dword:3B9AC9FF ; 999999999
"TimeBetweenFixes"=dword:00000001 ; 1
"QoSAccuracy"=dword:00000032 ; 50
"QosPerformance"=dword:00000059 ; 89
[B]"ServerIP"="10.1.101.63" ; Set CHT AGPS Server IP as default[/B]
[B]"ServerPort"=dword:00001C6B ; Set CHT AGPS Server Port as default[/B]
It appears that aGPS is in fact disabled by HTC, by default, as not all Carriers support it (Vodafone UK might be one of them that don't).
Yeah, just found that in the T-Mobile ROM i have dumped as well Though there does seem to be a mention of supl.agps.emome.net in the gpsdriver.dll....
B4PJS said:
Yeah, just found that in the T-Mobile ROM i have dumped as well Though there does seem to be a mention of supl.agps.emome.net in the gpsdriver.dll....
Click to expand...
Click to collapse
If there ARE aGPS settings, they'd probably be in one of the PROVXMLs in the "OperatorPkg" OEM folder. In the AT&T ROM, they're in the "mxipupdate_oemoperators_107.provxml".
AT&T a
This is what I have for stock at&t rom.
[HKEY_LOCAL_MACHINE\Software\HTC\SUPL AGPS]
"ServerIP"= 199.88.233.169
"ServerURL"= h-slp.mnc410.mcc310.pub.3gppnetwork.org
"GPSMode"= value:2 (Dec)
"ServerPort"= 7275 (Dec)
"DynamicURL"= h-slp.mnc000.mcc111.pub.3gppnetwork.org
"TLSHostName"= h-slp.mnc410.mcc310.pub.3gppnetwork.org
re: supl.agps.emome.net
This is the server referred to here:
"ServerIP"="10.1.101.63" ; Set CHT AGPS Server IP as default
"ServerPort"=dword:00001C6B ; Set CHT AGPS Server Port as default
emome.net is a cell phone provider, see http://www.emome.net/channel?chid=256
Anyway, their name is Chunghwa Telecom, (CHT) - it's an internal IP for their SUPL server, similar to AT&T's
Imagine that Chunghwa is a large provider near HTC, so they use that for testing..
Yeah I kinda guessed they were something local to HTC, strange that it is hard coded in the dll though...
T-Mobile USA AGPS Settings
Compliments of a T-Mobile Rhodium ROM. Any Fuze users running on T-Mobile in the US should be able to use these, I guess?
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\SUPL AGPS]
"EnableAGPS"=dword:00000001
"ServerPort"=dword:00001C6B
"ServerIP"="10.176.29.225"
"Network"="T-Mobile Data"
"GPRSConnection"="T-Mobile Data"
"ServerURL"="lbs.geo.t-mobile.com"
"GPSMode"=dword:00000002
"TLSHostName"="lbs.geo.t-mobile.com"
There's no entry for "DynamicURL".
Captain_Throwback said:
Compliments of a T-Mobile Rhodium ROM. Any Fuze users running on T-Mobile in the US should be able to use these, I guess?
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\SUPL AGPS]
"EnableAGPS"=dword:00000001
"ServerPort"=dword:00001C6B
"ServerIP"="10.176.29.225"
"Network"="T-Mobile Data"
"GPRSConnection"="T-Mobile Data"
"ServerURL"="lbs.geo.t-mobile.com"
"GPSMode"=dword:00000002
"TLSHostName"="lbs.geo.t-mobile.com"
There's no entry for "DynamicURL".
Click to expand...
Click to collapse
any luck for t-mobile uk settings?
maybe it's an idea to change the title of the thread to all agps settings?
it could be useful to also have the open servers up here in stead of only the carier specific ones...
Maybe we should spread the word and not keep it to Raphael specific, since the AGPS servers are used on more devices..
just trying to increase our chances in getting a working AGPS setup for everyone who's looking, even not carier specific.
Maybe we can move this thread and change the title to AGPS settings wanted, try these and and report back if they work for you?
That an idea?
Hope we can get this thread widely spread so everyone can use it...
Da_G, could you check if the Nokia server is back in business?
I can't really figure it out..I get a $GPSCEL in my nmea log, but can't get a lock under my roof..
So don't really know if it's actually working..
ta a bunch..
Hi, I will check soon (very busy with image update)
for $GPCELL string, the paramater is degrees LAT / LONG - does it translate to location nearby? if not supl server may be feeding incorrect data.

WiFi not connecting at Work (home OK) on TMous HD2

Mark here.
Thanks in advance for any help offered.
Searched around here and elsewhere since last year & can't find a solution. (please don't copy whole message in reply)
Ideal solution either: 1. Able to store/save settings and password so it does not need to be entered every day (many times) or 2. Load certificate correctly.
I have a TMous HD2 running Energy ROM (Feb 2011 version)
Connects fine to home WiFi's without prompts. Also to about 10 others when traveling - no probs.
It does not connect easily to my work WiFi. I have worked out a method, but I need to re-enter settings and password many times a day. With high security p/w with various characters etc it's a real pain.
To do so, I have setup link to WLANSettings.exe on home screen. I use these settings: 1. Work (not internet), 2. WPA2/AES, 3. PEAP (not Smart card or cert). OK. Then asks for login, password (no domain needed). First time enter login etc it doesn't connect. Second time I've learned to hit OK again and after a few seconds it connects.
If I go though the 'normal' WiFi setup it asks for a Certificate. I enter the server for the cert, password as above and it will not find it. They gave me a cert file ('home grown' PEAP Authority certificate Thawte Premium Server CA) but it loads into Intermediate, not Personal and does not work. Apparently iPhone & iPad link to cert server and install it fine.
Tried:
1. I tried Odyssey (Odyssey Access Client for Windows MobileCE - Juniper Networks ). Helps, but not perfect, but it messes up my home connection. so uninstalled (updated ROM since then)
2. Tried programs to load cert. No go. (p12imprt, pfximprt; smartphoneaddcert). Various error messages - can't remember them - along the lines of not signed, not .pfx cert etc.
3. Exported cert. from PC's (WinXP) Firefox. Can't convert it to a .pfx to use the above.
Work does not support Win Mobile. So no support offered - though they've tried to help.
The settings for my mates Nokia which does work are:
PEAP and the fields are:
Personal certificate: not defined
Authority certificate: Thawte Premium Server CA User name in use: user defined User name: 'must leave blank'
Realm in use: user defined
Realm: 'must leave blank'
Allow PEAPv0: Yes
Allow PEAPv1: Yes
Allow PEAPv2: No
Under MSCHAPv2 within PEAP settings are
User name : your 'username'
Prompt password: no
Password: your 'password'
Have tried following also (rough notes):
HKEY_LOCAL_MACHINE\Comm\EAP\Extension\25.
"InvokePasswordDialog" and "InvokeUserNameDialog" value 1, switch to 0. Works till restart.
go to commMan/ menu/ settings set work & proxy or commMan/Conns/conns
changed to HKLM, gone to directory comm\EAP\extension\25. added a folder called validateservercert and added a key to this folder - DWORD. it asks me to edit the DWORD value - in value data i have added 00000000 and selected hexadecimal.
add the key [HKEY_LOCAL_MACHINE\Comm\EAP\Extension\25] and [HKEY_LOCAL_MACHINE\Comm\EAP\Extension\26]

			
				
Mmm... 'tis a difficult one.
>"Ideal solution either: 1. Able to store/save settings and password so it does not
>need to be entered every day (many times) or 2. Load certificate correctly."
Another alternative would be software to manage WiFi login - that saves passwords.
I tried Odyssey, but it messed up home connections. WiFi Monster does not do it.
Anything out there?
Mark

[Q] Binding applications to a specific IP

Hi,
These days many systems are multi-homed in the sense that they have more than one IP address bound at the same time. I.e. Wifi and VPN,
There are are at least 3 solutions to help bind an application to a specific ip.
1) Lennart Poettering has a IPv4 only version of a shim and a rather good readme available at his site.
2) Catalin M. Boie wrote another LD_PRELOAD shim, force_bind. I have not tested this one. It's capable of handling IPv6 binds.
3) Daniel Ryde has solved the problem via a LD_PRELOAD shim. With his code you can run
$ BIND_ADDR="192.0.2.100" LD_PRELOAD=/usr/lib/bind.so firefox (*)
and happily surf away.
Sorry for not providing direct links but "ALL new users prevented from posting outside links in their messages."
However a faked url with all relevant information is here:
Start by http then add daniel-lange.com/archives/53-Binding-applications-to-a-specific-IP add .html to the end of the url
Can someone provide instructions on how to build an android version of any of the given solutions (or a binary maybe) ??
Thank you

[Q] Crazy WLAN-Problem

My network is 192.168.0.0/24, my former network was 172.17.19.1/24 (gw 172.17.19.1). In former times is set this ip static. (In android 2.3 as global ip)...
My Android (actual CM11) use the actual network (192.168.0.127/24 gw 192.168.0.1).
For the first time it works, but after round about 30min the android tryied to reach the old gateway:
This happens only by connecting to some servers. Other works fine.
10:58:03.877391 ARP, Request who-has 172.17.19.1 tell 192.168.0.127, length 46
10:58:52.700440 ARP, Request who-has 172.17.19.1 tell 192.168.0.127, length 46
I looked in /data/misc/wifi but i found only correct entrys.
I have gapps installed but unchecked the recovery checkbox on initialisation. But these issue survive factory reset AND other devices... therefor i think it get old settings from google :/

WiFi Calling - Partially resolved see Update

UPDATE: Add persist.data.iwlan.enable=true persist.radio.calls.on.ims=1 to /system/build.prop I'm not sure why they only added it to NA 16s. There appears to still be issues getting this to work on LOS. I suspect it has to do with modem firmware and android driver mismatches as LOS also can't properly read the sim address book.
While testing to see if WiFi Calling worked on custom roms I flashed back to stock cn EUI 23s and noticed it doesn't even appear to work on it. It activates and doesn't give an error message on EUI 23s (once got an Error81), and it shows that it is enabled. However it doesn't appear to actually work and checking with 'Network Cell Info' it shows 'WiFi Call avail: No'.
[UPDATE] - I tracked down what makes it work. Apparently all that is needed is something in the le_x2_na (US/CA) 16s build. You can use modem 50 with it and it still works so its something about the android software itself that changed that broke it in the China 23s/India 19s roms. I tested it with Airplane mode on and only wifi enabled and it made calls so it definitely works. It appears all the other builds give Error81 eventually and will not work. I think the other builds don't even try to connect as they didn't show anything when using tcpdump. The 16s build shows lookups to 3gppnetwork.org for mnc260 "US" mcc310 "T-Mobile" (my provider) and a bunch of ISAKMP and ESP packets to the resulting ip address.
Grepping for the 3gppnetwork.org text in /system turns up the following files:
Code:
$ grep -r 3gppnetwork.org *
Binary file bin/wpa_supplicant matches
Binary file etc/firmware/modem_pr/mcfg_sw_tmo.mbn matches
Binary file etc/firmware/modem_pr/mcfg_sw_cmcc.mbn matches
Binary file framework/oat/arm64/wifi-service.odex matches
Binary file priv-app/Settings/oat/arm64/Settings.odex matches
Binary file vendor/lib/lib-imsqimf.so matches
Binary file vendor/lib64/lib-imsqimf.so matches
Generic Access Network
If no one else knows what's going on with it I might throw a packet sniffer in between and see if its actually sending out the request properly. It should also help to see if a call is actually being routed, but it fails when I turn off the cell connection so I think it may not be working. There also isn't a wifi calling icon at top so probably isn't working.
Code:
05-13 00:01:30.219 2280 3293 I NetworkController: onReceive: intent=Intent { act=android.net.wifi.RSSI_CHANGED flg=0x4000010 mCallingUid=1000 (has extras) }
05-13 00:01:30.228 2280 3293 I NetworkController: onReceive: intent=Intent { act=android.net.wifi.RSSI_CHANGED flg=0x4000010 mCallingUid=1000 (has extras) }
05-13 00:01:30.361 12051 12051 I ViewRootImpl: finishMotionEvent: handled = true stage=10: View Post IME stage,inputElapseTime=2 eventTime = 2467238 downTime = 2467238 title= com.android.settings/com.android.settings.Settings$WifiCallingSettingsActivity
05-13 00:01:30.439 2280 3293 I NetworkController.MobileSignalController(slotId:0 subId:1): mWfcImsObserver onChange()
05-13 00:01:30.458 1605 2698 W AppOps : isskipsystem code:40 uid:1001
05-13 00:01:30.466 2755 3770 E ImsConfigImpl: getImsConfigListener returns null
05-13 00:01:30.466 2755 3770 E ImsConfigImpl: onSetFeatureResponseDone listener is not valid !!!
05-13 00:01:30.470 1605 2604 W AppOps : Finishing op nesting under-run: uid 1001 pkg org.codeaurora.ims code 40 time=0 duration=0 nesting=0
05-13 00:01:30.484 1605 2628 W AppOps : isskipsystem code:40 uid:1001
05-13 00:01:30.510 1605 2681 W AppOps : Finishing op nesting under-run: uid 1001 pkg org.codeaurora.ims code 40 time=0 duration=0 nesting=0
I also notice that while VoLTE appears to work on 23s if you turn it off and on it doesn't, the logcat output also looks a bit odd, like it might not be doing anything at all, ugh.
Code:
05-13 00:20:02.742 2755 2755 I ViewRootImpl: finishMotionEvent: handled = true stage=10: View Post IME stage,inputElapseTime=1 eventTime = 3580090 downTime = 3580090 title= com.android.phone/com.android.phone.MobileNetworkSettings
05-13 00:20:02.878 1605 1633 W AppOps : isskipsystem code:40 uid:1001
05-13 00:20:02.887 2755 3770 E ImsConfigImpl: getImsConfigListener returns null
05-13 00:20:02.887 2755 3770 E ImsConfigImpl: onSetFeatureResponseDone listener is not valid !!!
05-13 00:20:02.967 1605 2628 W AppOps : Finishing op nesting under-run: uid 1001 pkg org.codeaurora.ims code 40 time=0 duration=0 nesting=0
It works on the us rom x829 5.8.16s and maybe on some of the dev roms.
Edit: You can check by enabling airplane mode
whymoo said:
It works on the us rom x829 5.8.16s and maybe on some of the dev roms.
Click to expand...
Click to collapse
Thanks, I'll have to take a look at what it is doing differently between 16s and 23s so hopefully it will work on more roms.
So running tcpdump on 23s and turning off and on WiFi Calling does not appear to produce any network packets at all, or at least not any that tcpdump saw. I'll have to try it out on 16s sometime soon.
Updated OP, US 16s apparently will work with various modem firmwares, v24 v50 tested, but India 19s and China 23s do not.
I'm not certain but I think the issue is due to the newer builds not including WfcService at all. Copying it from 16s though causes com.android.phone to crash continuously.
ccheney said:
Updated OP, US 16s apparently will work with various modem firmwares, v24 v50 tested, but India 19s and China 23s do not.
Click to expand...
Click to collapse
Nice to see someone digging into this. Getting sick of the 16s firmware.
Another thing which is a bit interesting is that with the original 16s radio, WiFi calling tends to be a bit less finicky about connecting. After reading your post, I flashed the v50 modem, and got the REG99 "Unable to connect" error message upon booting. This almost never happens with the original modem file. I did manage to get it to work, but only after putting the phone into Airplane mode and enabling WiFi. If you only need to call numbers in your contacts, or receive calls, you can leave it in Airplane. Otherwise, the dialer shows "Emergency calls only", and you have to put it back into normal mode. The 16s seems more seamless, but the newer modem files are probably better overall for other radio functions.
I wish LeEco would release the sources for the 16s firmware, to make the job of the devs easier for this, but I don't see that happening.
If anyone knows more details about how WFC works in Android please let us know or point to reading material.
I have some prior Android hw development experience but have been previously using an iPhone and finally made the switch permanent with this phone. So I'm still learning how WFC works under Android, but it seems there are also two sets of modem files. The ones in /system/etc/firmware/modem_pr/ and the ones in /firmware/image/modem_pr/mcfg/configs/mcfg_sw/generic . I'm not sure why they are different (the md5sums don't match). There are much fewer of them in the system area as well as compared to firmware. I suspect the ones in /firmware are from qualcomm for global use and perhaps LeEco just picked a few to actually use for some reason? Looking at how the Pixel phones do it they seem to copy the files out of the /firmware dir to use at boot time. I'll have to try out v50 again later on 16s but I'm pretty sure I got it to work fine. VoLTE activation also seems to be a bit flaky even on the EUI firmware.
I suspect that WFC does not work for carriers in Europe or most of Asia even on 16s unless the 'others' modem profile allows them to work somehow. There are more modem profiles in /firmware we could potentially use if we determine how this works.
I'm going to go back to EUI 23s again and see if it ever tries to communicate to the WFC website via tcpdump. It certainly didn't show much in the logcat output that I could see. I'm not sure if I can start tcpdump with the network down, but it does seem to work with just disabling/reenabling WFC on 16s.
I'm probably wrong, but couldn't someone just take the WFC code from another SD820 phone and use that to make it work?
/system/etc/firmware/modem_pr/
mcfg_sw_att.mbn - US - AT&T
mcfg_sw_cmcc.mbn - China - CMCC
mcfg_sw_ct.mbn - China - CT
mcfg_sw_cu.mbn - China - CU
mcfg_sw_le_others.mbn - ??
mcfg_sw_others.mbn - ??
mcfg_sw_reliance.mbn - India - Reliance
mcfg_sw_tmo.mbn - US - T-Mobile
mcfg_sw_verizon.mbn - US - Verizon
I did another round of testing on 23s and I turned airplane mode on/off while running tcpdump, just toggling wifi didn't give any error and didn't work, WFC gave Error81 but there was no visible attempt to connect to the WFC server or even do a DNS lookup for it during the entire time. No points for LeEco making their newer roms buggier.
Interestingly CN 16s also gives Error81, so it might be that only the NA (US/CA) 16s works for some reason. I suspect it might have something to do with the modem firmware.
UPDATE: I think I solved the issue on EUI, testing against 26s now to see if it fixes it. Having trouble verifying if I fixed it as its not giving Error81 anymore but not saying WFC is enabled either, will have to look at tcpdump output some more I suppose.
Ok, so I managed to get IN 19s to work with the change. For some reason CN 23s/26s did not seem to work.
All you have to do is add the following and it works:
persist.data.iwlan.enable=true
At the top of the screen it shows "T-Mobile Wi-Fi Calling LTE" (I'm using T-Mobile) I noticed that if I have Airplane mode enabled it does not appear to be able to make calls so it may be only partially working, will have to look at tcpdump output to see if its actually registering. It may need persist.radio.always_send_plmn=true but I'm not sure yet. I can't really tell from the tcpdump if its working or not, will have to capture a full call under 16s to see what it looks like to compare it. There was lots of ipv4/ipv6/da1a data being transferred, but I don't know which part was the call, lol.
There may be other useful props to add from NA 16s but I'm not sure.
But I'm still pretty new at this, only had an Android phone for a couple weeks.
ccheney said:
Ok, so I managed to get IN 19s to work with the change. For some reason CN 23s/26s did not seem to work.
All you have to do is add the following and it works:
persist.data.iwlan.enable=true
At the top of the screen it shows "T-Mobile Wi-Fi Calling LTE" (I'm using T-Mobile) I noticed that if I have Airplane mode enabled it does not appear to be able to make calls so it may be only partially working, will have to look at tcpdump output to see if its actually registering. It may need persist.radio.always_send_plmn=true but I'm not sure yet. I can't really tell from the tcpdump if its working or not, will have to capture a full call under 16s to see what it looks like to compare it. There was lots of ipv4/ipv6/da1a data being transferred, but I don't know which part was the call, lol.
There may be other useful props to add from NA 16s but I'm not sure.
But I'm still pretty new at this, only had an Android phone for a couple weeks.
Click to expand...
Click to collapse
If you can get Wi-Fi Calling and VoLTE to work in Nougat ROMS it would be amazing.
So I found out how to make IN 19s work properly after looking at the LOS 14.1 x2 device tree.
You need both of the following:
persist.data.iwlan.enable=true
persist.radio.calls.on.ims=1
I can now turn on airplane mode and only turn on wifi and still make calls so it is going over WiFi like it should.
LOS 14.1 does not support it due to a 'feature' in the code they copied from LeEco. They turn off support for WiFi Calling for the X820 model for some unknown reason. Even the cellular providers in China support WiFi calling so its unclear why they did that. Oh and this might also fix VoLTE but I haven't tested that part yet...
device/leeco/msm8996-common/init/init_leeco_msm8996.cpp
Code:
else if (isLEX820)
{
// This is LEX820
property_set("ro.product.model", "LEX820");
property_set("persist.data.iwlan.enable", "false");
// Dual SIM
property_set("persist.radio.multisim.config", "dsds");
// Disable VoLTE
property_set("persist.radio.cs_srv_type", "1");
property_set("persist.radio.calls.on.ims", "0");
property_set("persist.radio.jbims", "0");
}
else if (isLEX829)
{
// This is LEX829
property_set("ro.product.model", "LEX829");
property_set("persist.data.iwlan.enable", "true");
// Dual SIM
property_set("persist.radio.multisim.config", "dsds");
// Enable VoLTE
property_set("persist.radio.cs_srv_type", "0");
property_set("persist.radio.calls.on.ims", "true");
property_set("persist.radio.jbims", "true");
}
I flashed today's official LOS 14.1 and noticed there isn't an option to even turn on/off VoLTE/WFC at all. I'm guessing it is disabled in the settings gui in the build?
Anyone happen to know what I need to change to make it show up?
ccheney said:
I flashed today's official LOS 14.1 and noticed there isn't an option to even turn on/off VoLTE/WFC at all. I'm guessing it is disabled in the settings gui in the build?
Anyone happen to know what I need to change to make it show up?
Click to expand...
Click to collapse
Maybe editing the settings.db and/or dialing *#*#4636#*#*. Great work so far.
whymoo said:
Maybe editing the settings.db and/or dialing *#*#4636#*#*. Great work so far.
Click to expand...
Click to collapse
Thanks!
The secret menu shows its disabled but won't let me change it but and I don't see a settings.db file in /system, is it somewhere else?
Looking *#*#4636#*#* menu it seems to be having some issues reading the SIM properly. It claims that ViLTE is unprovisioned, WiFi Calling is unprovisioned, IMS is not registered, no SIM Address Book, etc.
Searching online it seems that at least on some versions of Android that if it doesn't detect you can use the feature (VoLTE/ViLTE/WFC) it is auto hidden, so the problem may lay with the problems reading the sim.
Update: Flashed back to NA 16s and the SIM address book has entries in it so its definitely something wrong with LOS 14.1 ability to read the SIM card properly. Unfortunately the hidden menu in 16s doesn't show the VoLTE/ViLTE/WFC status like the version in LOS 14.1
With NA 16s 'Network Cell Info' shows the following:
VoLTE capable: Yes
WiFi call Available: Yes
Video call av: No
Video call en: No
So ViLTE may take extra effort to make work, but VoLTE/WFC should work once we resolve why the SIM isn't being read properly.
settings.db is supposed to be in /data/data/com.android.providers.settings/databases/settings.db but its missing. Have you tried Resurrection Remix? In the *#*#4636#*#* menu volte and wi-fi calling are enabled but they don't work.
I'll have to take a look at that. I just grabbed the 23s failed logcat output and am about to compare it to NA 16s working output to see if anything obvious sticks out.
ccheney said:
I'll have to take a look at that. I just grabbed the 23s failed logcat output and am about to compare it to NA 16s working output to see if anything obvious sticks out.
Click to expand...
Click to collapse
infrag was able to fix volte in this nougat ROM https://drive.google.com/open?id=0B4k5OpXTXcS9bVRVVkZMY2RORDQ
Here is the thread https://forum.xda-developers.com/le-max-2/development/kernel-blackscreen-leeco-x2-t3604445

Categories

Resources