YEs. Please upload the dump.
YEs. Please upload the dump.
Don't post links here for the "iPhone dump", since it's illegal.
Learn to use vfdecrypt and decrypt the rootFS dmg from the .ipsw by yourselves. Kthx
I am now pretty sure that the code we found in locationd daemon is related to those who are roaming in Egypt thus playing with it or fixing it actually will help only those who already had GPS running at their original networks and became disabled when roaming in Egypt.
I suggest that the modem daemon (locationd) is not working on any iPhone enabled by an Egyptian carrier due to a setting placed somewhere in the OS instructing it not to fire-up the modem daemon (locationd) and this explains why GPS is not working for iPhones activated by Egyptian carriers even outside Egypt where GPS is not prohibited.
Does anyone knows a method to lit running processes or daemons on the iPhone so we can accept or reject this assumptions?
Regarding the code you will find it in the locationd file at /usr/libexec but you will need a hex viewer editor, as it is a binary program. Personally, I am using PSPad editor.
Regarding my questions I will rephrase it:
Does any one knows a tool or utility that can list all applications o daemons (services in the windows platform jargon) so I become sure that locationd is not working? If we are sure of my assumption then we should split into two groups one focusing on the activation process and the other on the roaming and re-assurance process happening each time locationd reconnects the modem to the sat.
i Think we will not be able to do anything with the activation so i guess our only solution is some-how changing this code in the locationd
Install "Top" from Cydia - it is the Unix tool to list processes and their need for ram...
Connect then from your Mac/PC with Terminal/PuTTY to the iPhone as root
ssh -l root 192.168.1.200
(where 192.168.1.200 is replaced by the IP number of your iPhone). Type
then and all processes will be listed. once you start any app on the iPhone that uses location services you will see the locationd fired up.
I would bet locationd will fire up aswell in Egypt with Egypt simcard in.
As far as I can see once fired up the routine in locationd we found will just make the gps receiver not work or at least not provide the gps longitude/lattitude/altitude values to the app that uses location services.
One note: You could call top from MobileTerminal on the iPhone aswell, but probably would see locationd not showing up cause when switching from maps or so to MobileTerminal the app that uses locationd is quit by the os. So best is to try from the PC/Mac.
Here is one for you guys in Egypt if you had GPS before (at 2.0.2) and dont have it now. At firmware 2.2 install Top, connect via ssh to the iPhone, type top then start an app on the iPhone taht uses location services aka maps. I bet you will se locationd starting up.
If so the next step - as I assumed in my post before - would be to find out how and where the value in locationd's routine is retrieved by the iPhone and if it`s execution (shutting off the gps-reception or transmission of the data) can be worked around.
nice post ,it look like we are closer to slove that echo
,about me i done edit that file locationd with hex editor but ,its not effect in my phone ,,
i change Off value to On but even its not work ,maybe wrong edit becouse hex edit is so hard but we are closer
guys check via top
when locationd start onther pro start with it and then shutdown
its name securityd
i think modem off come bettwen many layers not only locationd
guys check when run it via ssh
you can seeCode:
iPhone:~ root# cd /usr/libexec
iPhone:/usr/libexec root# ./locationd
249559263.545,int main(int, const char**): starting CLDaemonCore (./locationd @ iPhone OS2.1/5F136)...
249559263.630,CLLocationCore::CLLocationCore(CLLocationCore::Listener*): running on AppleBasebandN82
249559263.665,time_t ltoGetTrustedUnixTime(): no reference time available - using system time
249559263.713,bool CLDaemonModemModel::isGpsProhibitedByNetwork(): subscriber country 602 prohibits GPS
2008-11-28 12:01:03.725 locationd[339:10b] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x5003, name = 'com.apple.locationd.registration'
See /usr/include/servers/bootstrap_defs.h for the error codes.
249559263.741,bool CLDaemonCore::start(): could not create client registration port
249559263.741,bool CLDaemonCore::start(): daemon initialization failed
249559263.826,int main(int, const char**): CLDaemonCore stopped.
249559263.830,void CLTelephonyService::removeClient(int): client 2 does not exist
CLDaemonModemModel::isGpsProhibitedByNetwork(): subscriber country 602 prohibits GPS
you can see egypt code 602 i plan to do some thing else to chanfe 602 for example to 603 to paypass this function
guys any one can send me locationd of OS 2.02