View Single Post
gnuite's Avatar
Posts: 1,245 | Thanked: 421 times | Joined on Dec 2005
#42
Originally Posted by haokah View Post
I'm sure I got some giggle from linux veterens, I didn't realize enable was only for printers. Anyway, I did some searching and reading, and I think I'm getting closer. I started reading the gpsd commands, after gnuite's grep request.

I did the following:

/etc/init.d/gpsdriver start
Is this command necessary to actually "enable" the internal GPS receiver? How does Maemo Mapper do the equivalent programmatically? Is there a DBUS interface? Does libgpsmgr not handle it automatically? Can you PM to me the contents of that "/etc/init.d/gpsdriver" file?

Originally Posted by haokah View Post
then

gpsd -n -N -D5 -F /tmp/gps.sock


the term shows it running, and a client connect on 6 when I start mapper, next it says channel assignment failed going to raw mode,

I've tried configuring mapper with /dev/pgps and with gpsd local host server

with /dev/pgps it keeps asking to retry,
Specifying a "File Path" causes Maemo Mapper to use libgpsmgr to try and start and GPSD server using the given path. If GPSD is already running, then libgpsmgr may return a failure (but I thought it was supposed to do nothing - maybe that's libgpsbt I'm thinking of, though). In any case, you already have a GPSD server running, so you shouldn't use "File Path", you should use "GPSD Host", as you did in your second try....

Originally Posted by haokah View Post
with gpsd it keeps searching until you stop it
( this is inside an office building, with no signal )
Hm. If it doesn't produce an error, then it sounds like you've connected to the GPS receiver, but have not yet received an NMEA sentence. Usually, GPS receivers will send NMEA sentences even when they don't have a fix (i.e. with satellite info). If you're not getting any NMEA sentences at all, it sounds like the connection isn't really working that well. In fact, you really should be getting an error after about 10-15 seconds.


I found this header file that reveals the internal GPS receiver is indeed "/dev/pgps", and there are no other API mechanisms by which to "enable" the GPS receiver. One would assume from that API that you should give "/dev/pgps" to the libgps_start() function, which causes the GPS receiver to be enabled and the GPSD server to be started. But it seems as though it doesn't actually handle the "enabling" part.