SONY ERICSSON W995

2010-02-28
2013-05-29
  • Nobody/Anonymous

    works fine with internal GPS

     
  • Alex Silver

    Alex Silver - 2010-03-20

    could you please desribe how you got the internal gps-receiver working ?
    I didnt got it to work - i know it must be possible because the receiver works fine with another tool (MapNav j2me).

     
  • gra67

    gra67 - 2010-03-20

    It doesn't work on my W995 either. It states connected to internal GPS on startup, but the satellite icon isn't displayed and it just states "NoFix" all the time! I'm running version 0.6.1

    TrekBuddy and WeTravel bring up the GPS icon and work fine.

    Its a UK T-Mobile W995 running software version R1HA035

    Gra

     
  • lydi

    lydi - 2010-04-15

    It works with Orange W995 running software version R1HA035, in normal mode
    Before launching GPSMID, I start the localization services->parameters information->state of the connexion
    When the connected state is displayed, I put it in background and launched GPSMID.
    When I put  GPSMID in background, 2 icons are displayed on  the main screen, the one showing a satellite and the one showing an application that  is  running.
       

     
  • - 2010-07-23

    I confirm lydi observations.
    GpsMid has troubles acquiring a fix by itself: the phone's GPS icon keeps going off and on, as if GpsMid was resetting the GPS every few seconds.
    However, if one uses another location tool to acquire a fix, GpsMid works fine. It seems to keep working fine then even if that other location tool is turned off.

    This behavior has been here since i first tried GpsMid (late 2009, don't remember the version nb). It's still there with GpsMid 0.6.3, packed up with Osm2GpsMid CVS as of today.

    I'm not sure what the reason is…
    Fwiw, in my own J2ME programs, the W995's GPS icon goes off only after i set my LocationProvider reference to null (and the garbage collector has run).

     
  • Anonymous - 2010-07-23

    I had a discussion about this "phenomenon"  yesterday. We have the same phone, SE G705, his phone is a branded version mine not. I have software version "1208-4726 R1BA038 081016" (actually I do not know what that means ;-) We first observed the on/off switching around new year. To introduce him to GPSmid, I send him the midlet via bluetooth. We observed the weird GPS on/off thing. Later the day I compiled a new midlet from local area with the same CVS-version of OSM2gpsmid. This version worked well on his phone. I never observed it on my phone. The build in GPS-software in his phone works fine and when such a software (e.g. status info) runs in background the GPSmid runs fine.
    He now observed it again with a midlet build the newest CVS and GUI options. For us it is a mystery. We will keep you up to date, if we have new findings.

     
  • - 2010-07-23

    There's something weird in the code related to our issue (JSR179Input.java): every time the LocationProvider state changes, updateSolution() re-sets the location listener.
    Afaik, this is not required by JSR179, and i fail to see its purpose in GpsMid code. I suppose that, in some implementations, this re-setting *might* lead to the behavior we have witnessed.

    Afaict, the location listener should be set once, as in the following patch:

    diff --git a/src/de/ueller/gps/location/JSR179Input.java b/src/de/ueller/gps/location/JSR179Input.java
    index 1d21c05..207c388 100644
    --- a/src/de/ueller/gps/location/JSR179Input.java
    +++ b/src/de/ueller/gps/location/JSR179Input.java
    @@ -112,6 +112,7 @@ public class JSR179Input
                    }
                }
                if (locationProvider != null) {
    +               locationProvider.setLocationListener(this, 1, -1, -1);
                    updateSolution(locationProvider.getState());
                } else {
                    receiverList.locationDecoderEnd("no JSR179 Provider"/* i:NoJSR179Provider */);
    @@ -221,7 +222,6 @@ public class JSR179Input
        private void updateSolution(int state) {
            logger.info("Update Solution");
            if (state == LocationProvider.AVAILABLE) {
    -           locationProvider.setLocationListener(this, 1, -1, -1);
                if (receiverList != null) {
                    receiverList.receiveSolution("On"/* i:On */);
                }
    @@ -231,7 +231,6 @@ public class JSR179Input
            // FIXME current (2010-06) android j2mepolish gives OUT_OF_SERVICE even when a fix exists
            //#else
            if (state == LocationProvider.OUT_OF_SERVICE) {
    -           locationProvider.setLocationListener(this, 1, -1, -1);
                if (receiverList != null) {
                    receiverList.receiveSolution("Off"/* i:Off */);
                    receiverList.receiveMessage("provider stopped"/* i:ProviderStopped */);
    @@ -250,7 +249,6 @@ public class JSR179Input
                 * So setting setLocationListener to 0 interval, which should have given
                 * you all the status changes, does not work.
                 */
    -           locationProvider.setLocationListener(this, 1, -1, -1);
                if (receiverList != null) {
                    receiverList.receiveSolution("NoFix"/* i:NoFix */);
                }
    (local=d8ab1f) ~/dev/GpsMid$
    

    Unfortunately, i don't have the time right now to test it, but i'll try to give it a go when i can. If you felt like testing it yourself that would be excellent tho… ;-)

     
  • - 2010-07-23

    Damn, i copied/pasted my shell prompt! :-$
    Please disregard the last line in the above patch.

     
  • sk750

    sk750 - 2010-07-23

    I've seen the blinking icon as well on SE C702, however simply turning off A-GPS in the mobile's setup fixed the issue for me.

     
  • gra67

    gra67 - 2010-07-23

    Must be a T-Mobile W995 problem then because I've tried running other apps that use GPS, waiting for fix and then running GpsMid, but it still doesn't get a fix.
    I've also tried turning off A-GPS too.

     
  • - 2010-07-23

    Victory!
    I confirm that, with the above patch, there is no more "blinking icon" and GpsMid can acquire a fix by itself without problems. :-)

     
  • - 2010-07-23

    Excellent. :-)
    Did the blinking icons disappeared for you as well (with A-GPS)?

    I'm fairly confident apmonkey's problem will go away with this patch too.
    JSR179 is unclear as to what exactly happens when you reset the location listener, however the way the API is designed suggests one should not make successive setLocationListener() calls, unless arguments have changed…

     
  • sk750

    sk750 - 2010-07-24

    > Did the blinking icons disappeared for you as well (with A-GPS)?
    I  never configured C702 for Internet access and therefore think this was the reason for the rather dropping-in than blinking gps icon.

     
  • - 2010-07-24

    I never configured C702 for Internet access and therefore think this was the reason for the dropping-in gps icon.

    I've never configured my W995 for internet access either and A-GPS is turned on.
    Out of curiosity: did you have troubles acquiring a fix as well or was it just an icon thing?

    About the apmonkey patch you link too: imho the code is wrong in terms of JSR179, both before and after this patch.

    Before apmonkey's patch:
    To cut it short, before the patch the code would stop requiring location updates (the 0 parameter) when the GPS became unavailable.
    First, this is unnecessary as there won't be location updates when the GPS is not in an available state anyway. Second, once the code stops requiring location updates (and assuming no other code running on the device is requiring location updates) it is lawful for a JSR179 implementation to leave the GPS in its unavailable state: why would it try to put it back on and running when no code needs it?
    In other words, as soon as the GPS would leave the available state, GpsMid would tell it "i don't need you to be available anymore", thus creating the won't-acquire-a-new-fix issue apmonkey experienced. I'm fairly confident this also prevented several devices to acquire a fix altogether as, on the W995 for example, a normal GPS start goes: UNAVAILABLE->AVAILABLE->location updates.

    After apmonkey's patch
    After the patch, the situation got better as the code kept requiring location updates every second (the 1 parameter) no matter the GPS state. Thus the Nokia 6220c JSR179 implementation would try to put the GPS back in the available state (and would probably succeed eventually).
    But now the code would re-set the LocationListener (with identical parameters) whenever the GPS state changed. At best this would have no effect at all, so that many devices worked fine. At worst, JSR179 implementations where the GPS start procedure begins with the UNAVAILABLE state (which is lawful according to JSR179) we have an infinite loop that will never reach the AVAILABLE state.

    It's true that JSR179 is unclear in everal details (i suspect this is because LocationProvider is a generic class that isn't restricted to GPS location devices).
    For example, what states a starting GPS should go through? Or, if you reset the LocationListener while the GPS is on and running, should providerStateChanged() receive the full state cycle as if you were starting the GPS?
    As per the JSR179 though, the Nokia 6220c implementation seems buggy: a GPS loosing a fix should not trigger the UNAVAILABLE state, it should only return false to Location#isValid(); UNAVAILABLE would be for example if a device, receiving a phone call, had to temporarily release the GPS resources to process the call.

    Nevertheless, afaics both versions of JSR179Input.java (pre- and post- apmonkey's patch) show a misunderstanding of how JSR179 is to be used. Something along the lines of the patch i posted above would be the correct way to use it. That is, don't reset the LocationListener unless there is a reason to do so (e.g. the listener or the updates period has changed).
    In other words, afaik it would be safe and sound to commit something like the above patch (even though there was no W995 issue), unless there are good and explicit reasons to do it any differently.

    Cheers

     
  • - 2010-07-24

    Another related ticket, afaics: https://sourceforge.net/tracker/?func=detail&aid=2788221&group_id=192084&atid=939974

    Pretty much the same infinite loop as described above for the UNAVAILABLE state on the W995.
    This time we receive an OUT_OF_SERVICE state, we display the "provider stopped" error message, then we re-set LocationListener, so we receive another OUT_OF_SERVICE state, and so on…

     
  • Tok Phillip

    Tok Phillip - 2011-03-13

    Hi there, how to turn on the backlight? Having difficulties driving and clicking on my w995.

     
  • sk750

    sk750 - 2011-03-13

    You must not handle GpsMid while driving - that would be really dangerous. You can turn on the backlight permanently in Setup/Display (ONE of the Nokia APIs must be set for Sony Ericsson W995, probably "with Nokia API"). You can toggle backlight using the # key.

     
  • Tok Phillip

    Tok Phillip - 2011-03-15

    it works. Thanks sk750.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks