View Single Post
gnuite's Avatar
Posts: 1,245 | Thanked: 421 times | Joined on Dec 2005
#322
Originally Posted by kaybee View Post
I am also seeing this lockup issue. MM will get a GPS fix, run for a while (5-30 secs) and the GPS seems to stop updating (MM still responds to some things like the close button). After this, sometimes I will see stray MM processes left around which I have to kill in order to establish connection to the GPS again (although sometimes even this does not work and it requires a reboot to get connection to the GPS again). Another data point that I have not seen mentioned is that after this happens NaviCore can no longer connect to the GPS either. Sometimes I can get the GPS back in NaviCore by going through the "Activate GPS" procedure but not always.
Interesting.... The fact that the Maemo Mapper process sticks around means that the GPS thread (the one talking with the GPS receiver) is still connected to and trying to communicate with the GPS receiver. I still haven't been able to reproduce the problem, so I can't test it, but it sounds like Maemo's RFCOMM connection is stalling. Maemo Mapper would disconnect and retry if it got any kind of error from the read process, but it sounds like the read call is not returning at all. Have you tried waiting for longer than 5 minutes? There may be a very long time-out that is keeping the read method from returning.

I explicitly set a timeout for GPSD connections, because the default HTTP timeout is unacceptably long. I didn't immediately see a way to do this for RFCOMM connections, but I'll look again.

In the meantime, anyone that is having problems with the GPS receiver "hanging" may want to try using GPSD instead. Install gpsd, start it up, and use "localhost" as your GPSD host in Maemo Mapper.

GPSD is going to become the de facto standard with OS 2008, anyway, so you might as well start using it now.

Last edited by gnuite; 2007-11-20 at 16:14. Reason: Fixed typo.