OESF Portal | OESF Forum | OESF Wiki | LinuxPDA | #planetgemini chat on matrix.org | #gemini-pda chat on Freenode | #zaurus and #alarmz chat on Freenode | ELSI (coming soon) | Ibiblio


Welcome Guest ( Log In | Register )

> Got Earthmate USB GPS, now what?
post May 7 2004, 05:37 PM
Post #1

Group: Members
Posts: 53
Joined: 18-March 04
From: USA
Member No.: 2,388

I took the plunge and got the Delorme Earthmate USB GPS.

The 6000 recognize it right away as "Delorme USB Earthmate". dmesg says something about

USB HID v1.00 Pointer [Delorme Publishing Delorme Earthmate] on usb 1.27.0

Now what do I do? I installed qpegps but the defualt path is

-p /dev/ttyS0 -s -4800

Is that for connection through serial cale? What should I change it to?

One good thing about the setup is that the Z can power the GPS all by itself. The bad is that if qpegps is run in 640x480 mode, it looks skewed.

Please help me set this up.


Go to the top of the page
+Quote Post
Start new topic
post May 9 2005, 02:45 PM
Post #2

Group: Members
Posts: 4,512
Joined: 25-October 03
From: Bath, UK
Member No.: 464

I hadn't thought you'd need libusb, however after reading this (http://emul.berlios.de/about.php) I think you might (it might be worth trying to find some program which will test whether libusb is working - in fact I don't even know what it's supposed to do).

I'm working exclusively from http://emul.berlios.de/ as this is the one linked from http://geocities.com/i0xox0i/ with some kind of indication that it'll work on 2.4.x (the other site seems to me to be concerned with 2.6.x kernel modules which won't work for you until the 2.6.11 kernel is ported to the 6000).

Installing.. blah blah
ipkg_conf_write_status_files: Can't open status file: /mnt/card/packages//usr/lib/ipkg/status for writing: Read-only file system.

I saw someone saying this had happened to them - I asked whether their card was mounted ro or rw - I can't remember what the problem was though I'm afraid. Perhaps umount the card and try running fsck on it.

mknod /dev/ttyUSB0 c 188 0
mknod /dev/ttyUSB1 c 188 1
mknod /dev/ttyUSB2 c 188 2
mknod /dev/ttyUSB3 c 188 3
mknod /dev/ttyUSB15 c 188 15

appears to be correct.

Next question is whether the driver for the device is loaded, and whether/how it's bound to the dev entry. My (admittedly not very in-depth) understanding is that you'll get this binding if you use the kernel module (which acts as the usb-serial convertor).

I don;t think this is what you're going to be doing - the patched gpsd uses the emul lib which uses libusb which talks to the usb device directly (that's my guess anyway).

Try to install the libusb, stick the emul lib in (and create the symlinks to the major and .so files), the see if gpsd or the two test programs will work.


(a bit of an explanation: http://www.mp3car.com/vbulletin/showthread.php?t=24211)

Last user comment on this page might also be interesting to investigate:
(the one from David Tauriainen)

Explanation of what emul is: http://s2.selwerd.nl/~dirk-jan/gpsdrive/ar...e/msg04332.html

Plus the entire README from emul source code:

EarthMate Userland Library v1.0.2
emul's dependencies are as follows:

libusb >= 0.1.8

The library has moved away from automake and friends.  For your target
install, please link the appropriate makefile.  For example, someone doing
an install with Mac OS X or OpenDarwin should issue the command:
$ln -s Makefile.darwin Makefile

To install, please take a look at the Makefile and make sure the
PREFIX variable is set to your liking.  The default is '/usr'.  If this
is acceptable, it should be simple enough to enter the command below
and hit enter:

$ make install

To see if things are working, there are two programs which utilize
this library.  Those are: emul_test and sirfmon.  If all goes well,
simply running emul_test should start spewing NMEA (or binary garbage)
on the terminal.  A quick way to get the unit to switch back into nmea
mode is to physically replug it.  There is also the excellent utility
'sirfmon' written mostly by Eric S. Raymond which can be run with this
library via the command:
$ sirfmon emate    (it also works with regular tty devices)

You can switch the unit between sirf and nmea with the sirfmon utility.
By default, the unit is switched into sirf mode when starting sirfmon.  To
go back to nmea, simply enter 'n' at the command line.

Both sirfmon and emul_test are installed by default.  emul_test can be
passed the argument 'd1' - 'd8' to activate emul library debugging.

For information regarding the gpsd patch in directory patches,
please view the readme file in that directory.

Documentation for the library can be found in html/ courtesy of doxygen.
man keywords are 'emul.h' and 'serconfig'.

If you want to help out, with porting/patches/bug reports/success
stories/etc, please do.  Visit the project page at:

My tests and trials:

  Machines tested with library:
amd athlon 1500/256MB ddr266/ehci-ohci-uhci
abit bh6 p3 667/256MB PC133/ali ehci-ohci, uhci bus onboard

2.4 linux kernel notice:

Host controllers that are usb 2.0 compatible bundled with ohci bridges for
usb 1.1 gave me some trouble.  For instance, trying to read from the interrupt
in pipe will return -22 (or EINVAL) for whichever reason.  This problem does not
seem to exist on the 2.5/2.6 kernels.  A quick and dirty solution is to connect
a usb 1.1 hub on one of the controllers port hubs and then plug the earthmate
into that.  I'm not sure if this is the same for ehci/uhci controllers as
well... I surely hope not.  For people with plain jane usb 1.1 busses there
should be no problem.

RedHat Linux 9.0 (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) kernel
Before compiling, I had to change MANDIR to 'MANDIR=$(PREFIX)/share/man'.
Otherwise it compiled cleanly.  The version of libusb that comes default with
rh9 is 0.1.6, which does not contain the necessary functions for interrupt
transactions.  I had to first package a new rpm of libusb-0.1.10a and then force
it to install using the --force flag.  I also grabbed the latest usbutils and
repacked that as well (for lsusb tool).  On the first run, the system completely
locked up. Apparently when connected to the uhci usb bus the system would oops.
I then tried upgrading the kernel to something a little more recent from
kernel.org. With 2.4.22/2.4.24/2.4.30 no lockups occured.  sirfmon, both the
version packaged with the library and the one accompanying gpsd, worked well.
The library utilites, such as emul_test, did not however.  This problem should
be fixed at this point.  I also ran gpsd-2.21 with success.

Gentoo Linux 2005.0 (gcc 3.4.3 / kernel 2.6.11):
Compiled without trouble.  It just works, but then again I'm developing emul
on this platform.

Slackware 10.1 (gcc 3.3.4 / kernel 2.4.29):
Compiled without trouble.  The sirfmon utility works fairly well at rates
below or at 9600bps.  Anything higher will start
choking the emul applications, including gpsd.

OpenDarwin 7.2.1 (gcc 3.3):
Compiled without trouble.  The only usb controller which seemed to work was
an Ali based ehci/ohci controller, and even then only one of the two ports
worked.  I'm sure someone with ppc hardware could easily have this working.
When running the test applications, they work quite well now.  Before a certain
bug was fixed, they would fail on the read process.  gpsd should work fine with

Mac OS X:
I'm guessing this library will work based on what happened with OpenDarwin.

BSD Folks:
BSD support is coming along slowly.

NetBSD 2.0 (gcc 3.3.3):
Compiled without trouble.  In order to avoid using userconf manually on every
boot to disable uhid/uhidev, the uhid interface needs to be disabled in the
kernel by recompiling it.  This is of course very inconvenient for someone with
usb mice, etc.  With userconf, at boot I had to issue the command 'boot -c' in
order to get into the userconf dialog.  Then, to disable the hid interface,
issue the commands: disable 349 and disable 350.  The emul_test program works
fine, however the lines never drop... that is something that should be fixed.
The em_select() function seems to be at blame for why sirfmon and emul_test2
fail to work properly.

Avoid this library... use the ucycom module instead.  Someone, namely
'brick', has reported the module working fine with the earthmate on FreeBSD
6.0-CURRENT.  The node created by ucycom should be used with gpsd.  If you
however would want to still use this library... who am I to stop you!  Something
to look into for disabling ucycom/uhid without obtaining a migraine would be


Good Luck!
Go to the top of the page
+Quote Post

Posts in this topic
lwong   Got Earthmate USB GPS, now what?   May 7 2004, 05:37 PM
dmilligan   I am guessing /dev/ttyUSBXXX - you will probably n...   May 7 2004, 05:49 PM
lwong   Could you elaborate a little as I am not familiar ...   May 7 2004, 05:56 PM
Gondola   I got one of the iRiver adapters (great deal btw)....   Jan 25 2005, 02:23 PM
Gondola   I've tried to put "-p /dev/ttyUSB1" ...   Jan 25 2005, 07:45 PM
Gondola   Bump. I did some Googling in an attempt to figure...   Jan 27 2005, 08:18 AM
hellbilly   QUOTE(Gondola @ Jan 27 2005, 11:18 AM)Bump. ...   Apr 3 2005, 09:19 AM
Gondola   Bump.   Jan 29 2005, 07:44 AM
lardman   QUOTEI would appreciate if someone with more knowl...   Apr 3 2005, 10:16 AM
Gondola   Actually, it turns out that it's more complex ...   Apr 4 2005, 10:57 AM
Gondola   Bump. I'm still interested in getting my GPS ...   May 2 2005, 11:29 AM
lardman   Sorry, I lost track of this thread. I note from:h...   May 7 2005, 09:36 AM
lardman   Right, Mickeyl has given me a hand, and now the si...   May 8 2005, 06:18 AM
Gondola   QUOTE(lardman @ May 8 2005, 02:18 PM)Right, M...   May 9 2005, 07:41 AM
lardman   QUOTEThe 2.4 kernel required patches to use the cu...   May 9 2005, 09:39 AM
Gondola   Although I've used Linux for years, I've s...   May 9 2005, 10:20 AM
Gondola   Tried to ipkg install the libusb you had up on tha...   May 9 2005, 11:19 AM
Gondola   Ok, it looks like maybe the mknod should be ...   May 9 2005, 11:44 AM
lardman   I hadn't thought you'd need libusb, howeve...   May 9 2005, 02:45 PM
lardman   It's just occured to me that libusb may well b...   May 9 2005, 03:01 PM
Gondola   I appreciate your help, lardman. I'll try to ...   May 9 2005, 05:22 PM
lardman   Okay, do the following: 1. hrw has added libusb t...   May 10 2005, 03:14 AM
Gondola   Ok, some results... armv5te was already in my /et...   May 10 2005, 04:38 AM
lardman   QUOTEthe card, which is vfat, not ext2 Can you fo...   May 10 2005, 05:00 AM
Gondola   Well, after a couple hours I was able to get every...   May 10 2005, 10:19 AM
lardman   QUOTE- Installed libusb - Installed gpsd - Install...   May 10 2005, 02:14 PM
lardman   There's one more issue (of course), qpegps doe...   May 11 2005, 01:37 AM
Gondola   The sirfmon and emul_test programs aren't work...   May 11 2005, 08:45 AM
lardman   Are you online atm - come and talk in #openzaurus,...   May 11 2005, 08:50 AM
lardman   libusb must be working otherwise this would fail a...   May 11 2005, 09:04 AM
lardman   Next suggestion - see which module is grabbing the...   May 11 2005, 09:09 AM
Gondola   Ok, I need to verify the file names from the libus...   May 11 2005, 06:59 PM
lardman   You don't need ipkg-utils. You just need ipkg...   May 12 2005, 01:09 AM
dignome   Hi guys. Sorry about all the confusion with the p...   Jun 9 2005, 01:31 AM
zipmaster   so has anymore got it working using the emul thing...   Jun 9 2005, 03:46 PM

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:


RSS Lo-Fi Version Time is now: 21st June 2018 - 12:41 AM