gllin is an userpsace driver for a hammerhead chip. It was distributed on phase1 openmokos.

+

'''Gllin''' is an userspace driver for a hammerhead [[GPS]] chip. It was distributed on phase1 openmokos.

−

Unfortunately, it is an OABI binary, and not even static one, so lots of stuff is needed for it to work. For security reasons, and for compatibility with EABI userland, it is probably best to run it in chroot. [[user:Zdanek|Zdanek's]] wrote an [http://www.openmoko.org.pl/node/55 article] how to put that together.

+

Thanks to a tremendous amount of hard work by many people, we have ready

+

a release of gllin, the GPS driver. Here is how you can get it:

−

__TOC__

+

http://3rdparty.downloads.openmoko.org/gllin/

−

==The changeroot trick==

+

The similar instructions are described in more details at [[getting GPS console output with gllin]]. The downloaded .ipk package can be installed and works not just on Openmoko but also on Qtopia.

−

Your chroot will need to contain following files:

−

−

./dev<br />

−

./dev/zero<br />

−

./dev/ttySAC1<br />

−

./etc<br />

−

./etc/hosts<br />

−

./etc/nsswitch.conf<br />

−

./etc/host.conf<br />

−

./lib<br />

−

./lib/libm.so.6<br />

−

./lib/libpthread-2.5.so<br />

−

./lib/libnss_files.so.2<br />

−

./lib/libnss_compat-2.5.so<br />

−

./lib/libnss_mdns6_minimal.so.2<br />

−

./lib/libanl-2.5.so<br />

−

./lib/libgcc_s.so.1<br />

−

./lib/libutil-2.5.so<br />

−

./lib/libmemusage.so<br />

−

./lib/libm-2.5.so<br />

−

./lib/libc-2.5.so<br />

−

./lib/libnss_mdns_minimal.so.2<br />

−

./lib/libBrokenLocale.so.1<br />

−

./lib/libnss_mdns4_minimal.so.2<br />

−

./lib/libpthread.so.0<br />

−

./lib/librt-2.5.so<br />

−

./lib/libdl-2.5.so<br />

−

./lib/libutil.so.1<br />

−

./lib/libthread_db-1.0.so<br />

−

./lib/libcrypt-2.5.so<br />

−

./lib/libnss_compat.so.2<br />

−

./lib/libnss_mdns4.so.2<br />

−

./lib/libnss_mdns6.so.2<br />

−

./lib/ld-2.5.so<br />

−

./lib/libcidn.so.1<br />

−

./lib/libthread_db.so.1<br />

−

./lib/libnss_files-2.5.so<br />

−

./lib/libanl.so.1<br />

−

./lib/libcrypt.so.1<br />

−

./lib/libnss_dns-2.5.so<br />

−

./lib/ld-linux.so.2<br />

−

./lib/libnss_mdns.so.2<br />

−

./lib/libdl.so.2<br />

−

./lib/libnss_dns.so.2<br />

−

./lib/libc.so.6<br />

−

./lib/librt.so.1<br />

−

./lib/libcidn-2.5.so<br />

−

./lib/libBrokenLocale-2.5.so<br />

−

./log<br />

−

./tmp<br />

−

./tmp/nmeaNP<br />

−

./usr<br />

−

./usr/lib<br />

−

./usr/lib/libstdc++.so.6<br />

−

./usr/lib/libstdc++.so.6.0.8<br />

−

./gllin<br />

−

./sys<br />

−

−

...and you"ll want to mount /sys there. Then, to get gps to work, do:

−

−

root@fic-gta01:/chroot$ cat /chroot/tmp/nmeaNP &<br />

−

root@fic-gta01:/chroot$ chroot /chroot/ gllin -low 1<br />

−

root@fic-gta01:/chroot$ chroot /chroot/ gllin -periodic 1<br />

−

−

More infos and tricks are here: [[Manually_using_GPS]].

== gllin options ==

== gllin options ==

−

The /home/root/gllin file installed by the new (legitimate!) .ipk package is really just a shell script. You can modify the options passed to gllin.real by editing that script. Here are the options:

+

The /home/root/gllin/gllin file installed by the new (legitimate!) .ipk package is really just a shell script. You can modify the options passed to gllin.real by editing that script. Here are the options:

<pre>

<pre>

Usage:

Usage:

Line 144:

Line 80:

</pre>

</pre>

−

Some notes:

+

== Using gpsd with gllin ==

+

+

ipkg install gpsd

+

+

edit /etc/default/gpsd and set the GPS_DEV to /tmp/nmeaNP start gpsd before gllin.

+

+

== Some notes: ==

The listed defaults don't seem to be correct. By default it DOES generate NMEA data in log files. These log files are on your flash (/home/root/gllin/log/*) and are written to once every second. Ridiculous!

The listed defaults don't seem to be correct. By default it DOES generate NMEA data in log files. These log files are on your flash (/home/root/gllin/log/*) and are written to once every second. Ridiculous!

Line 157:

Line 99:

You can't just take the 'cat' command out of the script, because with the named pipe activated, gllin will QUIT if it doesn't see anybody taking the output from the pipe. To keep it going, either open that pipe or turn it off.

You can't just take the 'cat' command out of the script, because with the named pipe activated, gllin will QUIT if it doesn't see anybody taking the output from the pipe. To keep it going, either open that pipe or turn it off.

+

+

You can use this [http://obri.sygroup.ch/gllin gllin initscript] to start and stop gllin.

These scripts allow you (or init, if you have them numbered in rcX.d appropriately) to start gpsd *before* gllin. This way, gpsd starts listening on /tmp/nmeaNP immediately, and gllin doesn't need to send output to /dev/null in order to stay alive.

+

+

This version of the gpsd script will create the named pipe (if the device name includes "NP" in the filename) if it doesn't exist.

+

+

[[Category:GPS Applications]]

+

[[Category:GPS]]

Latest revision as of 07:15, 19 July 2009

Gllin is an userspace driver for a hammerhead GPS chip. It was distributed on phase1 openmokos.

Thanks to a tremendous amount of hard work by many people, we have ready
a release of gllin, the GPS driver. Here is how you can get it:

Contents

The /home/root/gllin/gllin file installed by the new (legitimate!) .ipk package is really just a shell script. You can modify the options passed to gllin.real by editing that script. Here are the options:

The listed defaults don't seem to be correct. By default it DOES generate NMEA data in log files. These log files are on your flash (/home/root/gllin/log/*) and are written to once every second. Ridiculous!

To stop this, add the option "-nmea" to the second of the two gllin.real commands in the startup script.

But note further that the startup script also spawns a command to 'cat' the output of the /tmp/nmeaNP named pipe to a gzipped file in /home/root. If you want this to stop, you can do one of two things:

* cat to /dev/null instead of | gzip >> file

* add "-np" to the second gllin.real command

You can't just take the 'cat' command out of the script, because with the named pipe activated, gllin will QUIT if it doesn't see anybody taking the output from the pipe. To keep it going, either open that pipe or turn it off.

These scripts allow you (or init, if you have them numbered in rcX.d appropriately) to start gpsd *before* gllin. This way, gpsd starts listening on /tmp/nmeaNP immediately, and gllin doesn't need to send output to /dev/null in order to stay alive.

This version of the gpsd script will create the named pipe (if the device name includes "NP" in the filename) if it doesn't exist.

Views

Personal tools

gllin is an userpsace driver for a hammerhead chip. It was distributed on phase1 openmokos.

Unfortunately, it is an OABI binary, and not even static one, so lots of stuff is needed for it to work. For security reasons, and for compatibility with EABI userland, it is probably best to run it in chroot. Zdanek's wrote an article how to put that together.

The listed defaults don't seem to be correct. By default it DOES generate NMEA data in log files. These log files are on your flash (/home/root/gllin/log/*) and are written to once every second. Ridiculous!

To stop this, add the option "-nmea" to the second of the two gllin.real commands in the startup script.

But note further that the startup script also spawns a command to 'cat' the output of the /tmp/nmeaNP named pipe to a gzipped file in /home/root. If you want this to stop, you can do one of two things:

* cat to /dev/null instead of | gzip >> file

* add "-np" to the second gllin.real command

You can't just take the 'cat' command out of the script, because with the named pipe activated, gllin will QUIT if it doesn't see anybody taking the output from the pipe. To keep it going, either open that pipe or turn it off.