Getting EasyGPS 1.3.7 Working in Linux - Adventures in Switching to Linux

Wednesday, January 9, 2008

Getting EasyGPS 1.3.7 Working in Linux

Note: This guide only applies to the older, 1.3.7 version of EasyGPS. You can download it here.

Note 2 (4/22/08): EasyGPS 1.3.7 is no longer available for download from the developer. I have a copy you should be able to download here if you need it. Also, please go to Old Apps and Old Version and request they archive it too. I've sent them both a copy but it has not made it in their archives yet.

Update 3 (10/11/08) : Here is a new EasyGPS 1.3.7 download link! Also, I've tried newer 2.7
.x, 2.8.x and 2.9.x versions of EasyGPS with Wine 1.1.6 and the existing problems are still there so this looks to be your best option still.

I've spent some time recently getting an older version of EasyGPS working in Linux. Now all you Geocachers and GPS lovers can have a good all in one application to manage waypoints and transfer them to and from your GPS in Linux.

These instructions are based on wine 0.9.52 (12/28/07), EasyGPS 1.3.7, Ubuntu 7.10 and an eTrex Legend (serial) or GPSMap 60CSx GPS (usb) receiver. The Linux distribution and version likely will not matter. Any recent version of wine should be ok too but there may always be a regression bug or 2 in any release that may break something. Unfortunately, I also don't have any other GPS receivers to test this but feel free to buy me one. I'd prefer a Magellan for the variety since all I have now are Garmin. :-) I imagine any other serial GPS will work the same though. I have no idea about USB support for other brands.

Running Windows programs is made possible by Wine. If you are already here, I am going to assume you have wine installed. If you don't then install it. (or use these instructions to get the latest Wine in Ubuntu) I am running wine 0.9.52, the latest as of this writing, and you may or may not have problems with newer or older versions.

Install and Setup EasyGPS First

The first step is to download the older Windows 98 compatible EasyGPS 1.3.7. The newest version still has too many problems under wine. Then install it like you would any other Windows/wine application by double clicking on the icon or running:

wine SetupEasyGPS98.exe


Don't have the application start automatically after installation, or if it does, just close it. We will get back to the application soon.

The next step is to setup your serial ports if you haven't already. You will need to open a terminal if you don't already have one open and then do this:

cd ~/.wine/dosdevices
ln -s /dev/ttyS0 com1
ln -s /dev/ttyS1 com2
ln -s /dev/ttyS2 com3
ln -s /dev/ttyS3 com4
ln -s /dev/ttyUSB0 com5

Those commands will map your Linux serial ports to show up as Windows serial ports by creating symbolic links. You likely will not need com3 or com4 and possibly will not need com2 but it doesn't hurt to have them. Also, com5 is pointing to the USB to serial device that I use for my USB GPSMap 60CSx. /dev/ttyUSB0 will not exist unless your GPS is currently connected but it is ok to create the symbolic link even if it is not there. Your ~/.wine/dosdevices directory should then look similar to this:


Now, run EasyGPS. Go to File -> Preferences to configure your GPS receivers.


Once you select and add your GPS, you will see a dialog to select the way the GPS is connected to your computer (which serial port or USB). This is where the problems come into play. The way EasyGPS determines your available com ports does not currently work in wine. Note: If you are able to select a com port at this point, then do that and stop reading this because the bug is fixed.

On this screen you don't have to do anything unless you are using a USB GPS. If you are using a USB connection, uncheck the USB checkbox (since we are using USB over serial, EasyGPS will see it and communicate with it as a serial port). The dialog will look like the images below as serial and USB respectively.




After adding my 2 GPS receivers, the preferences dialog looks like so:


The Work Around Part

Now we can get around to the actual work around. Even though EasyGPS can not see the com ports inside the application, it stores the configured port in the registry. All we have to do is open up regedit from your terminal.

regedit

Once regedit is up, navigate to the key HKEY_CURRENT_USER\Software\TopoGrafix\Common\GPS Receivers where you will see your configured GPS receivers. For each, you need to change the com port from -1 to the com port your GPS is connected to. Change the value by double clicking on it or right click and select Modify.

Most serial GPS receivers will be connected to com1. If you configured /dev/ttyUSB0 to go to com5 as I did above, then set your USB GPS to com5. For my setup, the serial connected eTrex Legend is connected to com1 and the USB GPSMap 60CSx is connected as com5.

(Note: I tried setting the BaudRate for the USB GPS to 115200 and 57600 but neither of those changes made transfers faster. I am confident the USB transfer could be faster because the GPS beeps indicating the transfer is complete well before all the waypoints are fully downloaded so I think the hold up is just the serial part of the translation. It isn't slow enough, yet, for me to spend any more time on it though.)

Be sure to restart EasyGPS so it will read in your com port changes and that is all there is to it! Have a blast transferring waypoints to and from EasyGPS!


11 comments:

Taollan said...

Thanks for the work around. Unfortunately, when I use regedit, There is no Common directory under KEY_CURRENT_USER\Software\TopoGrafix. Any ideas?

Forrest said...

Taollan, I tried a clean install of 2.7.5 and that registry key was not created. I think that the problem is you are installing a newer version of EasyGPS. The latest versions (2.x series) have other problems that make it unusable.

You will need to get the older 1.3.7 version which is the last release that runs on Windows 98. You can download it here: http://www.easygps.com/windows98.asp

I am working on getting newer versions to work but I am new to wine development and considering that some libraries like msxml3 still have limited implementations, it may be a while before it is usable.

Taollan said...

I was had been using 1.3.7 the whole time, but it was an installation I had put on linux about 6 months ago. With further poking around I found that I had actually installed it with crossover office and not just vanilla wine. I went back and installed it with wine 0.9.52 and everything worked great. Thanks again for the work around. Being able to simply access my GPS in linux makes me very happy.

Mike Smith said...

forrest, this has been great information! I actually now have EasyGPS and ExpertGPS working except for one thing. ExpertGPS (v1.3.7) will retrieve the map files, but won't display them. Any ideas or fancy foot work to help this function? I'll keep trying and will post to you if I find any thing.

Forrest said...

Mike, I am glad this has helped. Unfortunately I don't have a copy of ExpertGPS 1.3.7. Do you know where I could download a copy or could you get a copy to me? I would be happy to take a look at it later this week.

Mike Smith said...

forrest, I have my copy. It will run for thirty days as a trial, but I could set you up to download it. Let me know how it would be best to get the info to you.

Forrest said...

Mike, you can email it to me at forrest AT alumni DOT ncsu DOT edu or use something like dropsend.com or yousendit.com.

consta said...

Thanks a lot for this article. The only problem is that GSMAP 60CSx is not in the GPS list and, although it works fine by selecting the 60CS model, the waypoint's name is truncated to 10chars.

Bye,

Aaron said...

Sounds like the solution I need, but I cant find the older version any where. Do you have a link to the file for download?

Forrest said...

I've uploaded EasyGPS 1.3.7 for anyone who needs it to an online file sharing site. I don't know how well this site works but hopefully the file will be there.

Carl D said...

Thanks alot for this info. I got my Garmin GPSmap 76S working with Ubuntu Hardy Heron using EasyGPS 1.3.7 runnning on wine 1.0. Now, does anyone know anything about HKEY_CURRENT_USER\Software\TopoGrafix\EasyGPS\WebPublishing registry key? I'm wondering if I could add a new value here to publish waypoints to my web app! Thanks alot.