Mer/Documentation/N810 GPS
(More formatting) |
(→Directions) |
||
Line 9: | Line 9: | ||
== Directions == | == Directions == | ||
- | 1 | + | === Step 1: Install the necessary files === |
+ | Install the following packages from the Maemo Updates repository (you can install them on Maemo, then copy the packages from the apt cache): | ||
libsupld1 | libsupld1 | ||
osso-gpsd | osso-gpsd | ||
Line 16: | Line 17: | ||
gpsdriver | gpsdriver | ||
- | 2. Edit /etc/init.d/libgpsbt and change all instances of "user:users" to "YOURUSERNAME:users" There should be 2 instances you need to change. | + | === Step 2: Tweak /etc/init.d/libgpsbt === |
+ | Edit /etc/init.d/libgpsbt and change all instances of "user:users" to "YOURUSERNAME:users" There should be 2 instances you need to change. | ||
- | 3 | + | === Step 3: Change ownership === |
+ | Run: | ||
chown -R YOURUSERNAME:users /var/lib/gps | chown -R YOURUSERNAME:users /var/lib/gps | ||
- | 4 | + | === Step 4: Make the necessary files === |
+ | Make the following files: | ||
/etc/default/gps5300driver.conf: | /etc/default/gps5300driver.conf: | ||
Line 93: | Line 97: | ||
esac | esac | ||
- | 5 | + | === Step 5: Copy gpsdriver === |
+ | Make a copy of gpsdriver to prevent confusion | ||
cp /usr/sbin/gpsdriver /usr/sbin/gps5300driver | cp /usr/sbin/gpsdriver /usr/sbin/gps5300driver | ||
- | 6. Put libgps5300faker.so in /usr/lib (Not posted anywhere yet): | + | === Step 6: Install libgps5300faker.so === |
+ | Put libgps5300faker.so in /usr/lib (Not posted anywhere yet): | ||
cp /path/to/libgps5300faker.so /usr/lib | cp /path/to/libgps5300faker.so /usr/lib | ||
- | 7 | + | === Step 7: Reboot === |
+ | Reboot: | ||
reboot | reboot | ||
- | 8 | + | === Step 8: Prepare to use the GPS === |
+ | Get ready to use the GPS: | ||
/etc/init.d/libgpsbt restart | /etc/init.d/libgpsbt restart | ||
/etc/init.d/gpsdriver restart | /etc/init.d/gpsdriver restart | ||
/etc/init.d/gps5300driver restart | /etc/init.d/gps5300driver restart | ||
- | 9 | + | === Step 9: Start GPSD === |
+ | Start GPSD: | ||
gpsd -n -N -D2 /dev/pgps | gpsd -n -N -D2 /dev/pgps | ||
Revision as of 18:20, 22 May 2009
Contents |
Notes
- These directions are confirmed to work on Mer 0.12.
- All commands should be run as root.
- All instances of "YOURUSERNAME" should be changed to whatever your user is named. Commands involving "YOURUSERNAME" [i]probably[/i] don't have to be run if your user is named "user", though this is unconfirmed.
- The time to first fix (TTFF) is quite long (~30 min), and GPSD quits after the last client disconnects. Keep this in mind.
Directions
Step 1: Install the necessary files
Install the following packages from the Maemo Updates repository (you can install them on Maemo, then copy the packages from the apt cache):
libsupld1 osso-gpsd libgpsmgr libgpsbt (?) gpsdriver
Step 2: Tweak /etc/init.d/libgpsbt
Edit /etc/init.d/libgpsbt and change all instances of "user:users" to "YOURUSERNAME:users" There should be 2 instances you need to change.
Step 3: Change ownership
Run:
chown -R YOURUSERNAME:users /var/lib/gps
Step 4: Make the necessary files
Make the following files:
/etc/default/gps5300driver.conf:
# /etc/default/gps5300driver.conf # The user who can control the driver GPS5300_USER=root # Whether the driver will self-initialize, may or may not work (more on the may not side) GPS5300_SELFINIT=true
/etc/init.d/gps5300driver:
#!/bin/bash GPS5300_DRIVER='/usr/sbin/gps5300driver' GPS5300_PIDFILE='/var/run/gps5300driver.pid' GPS5300_PRELOAD='/usr/lib/libgps5300faker.so' CONF=/etc/default/gps5300driver.conf if [ -f $CONF ]; then . $CONF fi case $1 in start) echo "Starting GPS5300 driver" if ! [ -e /sys/devices/platform/gpio-switch/gps_reset/state ]; then echo "gps_reset state gpio switch missing" # return 1 fi [ -z "${GPS5300_SELFINIT}" ] && GPS5300_SELFINIT=true ${GPS5300_SELFINIT} || unset GPS5300_SELFINIT export GPS5300_SELFINIT [ -z "${GPS5300_USER}" ] && GPS5300_USER=root export GPS5300_USER export LD_PRELOAD=${GPS5300_PRELOAD} start-stop-daemon --start \ --quiet \ --background \ --pidfile "${GPS5300_PIDFILE}" \ --make-pidfile \ --exec "${GPS5300_DRIVER}" # --env "LD_PRELOAD=${GPS5300_PRELOAD}" \ # --exec "${GPS5300_DRIVER}" # return 0 ;; stop) echo "Stopping GPS5300 driver" start-stop-daemon --stop \ --quiet \ --pidfile "${GPS5300_PIDFILE}" rm ${GPS5300_PIDFILE} # return 0 ;; restart|force-reload) $0 stop $0 start ;; *) echo "Usage: $0: {start|stop|restart|force-reload}" exit 1 ;; esac
Step 5: Copy gpsdriver
Make a copy of gpsdriver to prevent confusion
cp /usr/sbin/gpsdriver /usr/sbin/gps5300driver
Step 6: Install libgps5300faker.so
Put libgps5300faker.so in /usr/lib (Not posted anywhere yet):
cp /path/to/libgps5300faker.so /usr/lib
Step 7: Reboot
Reboot:
reboot
Step 8: Prepare to use the GPS
Get ready to use the GPS:
/etc/init.d/libgpsbt restart /etc/init.d/gpsdriver restart /etc/init.d/gps5300driver restart
Step 9: Start GPSD
Start GPSD:
gpsd -n -N -D2 /dev/pgps
When you start getting messages like:
gpsd: <= GPS: $GPGGA,183757.000,4504.94573,N,09300.43367,W,1,04,2.7,288.8,M,-31.3,M,,*60 gpsd: <= GPS: $GPGLL,4504.94573,N,09300.43367,W,183757.000,A,A*42 gpsd: can't use GGA/GGL time until after ZDA or RMC has supplied a year. gpsd: <= GPS: $GPGSA,A,3,31,11,30,32,,,,,,,,,5.9,2.7,5.3*3D gpsd: <= GPS: $GPGST,183757.000,14.3,13.2,37.3,19.1,16.0,32.4,73.2*54
You have a lock and are ready to use your GPS (I've also gotten other messages indicating the GPS is ready. Basically anything new/other than what it routinely spits out should be a good indicator).