HowTo: Install Garmin Mobile PC in linux using wine.
Due to the lack of fully functional, accurate and stable GPS navigation software in linux, many linux users look for Windows software they can run using wine. I have done so myself, and found nothing that truly works well in wine. Virtual machines can also be used, which is fine on a sufficiently powerful laptop with a good sized display, but with the plethora of relatively underpowered MIDs (mobile internet devices- netbooks) and the typical car computer touchscreen sizes of 7 to 8 inch, a virtual machine is usually unacceptable: too slow, fonts too small and more.
Which brought me to the point of doing a lot of research to find an application suitable for navigation by street address that WOULD run using wine on a linux computer. I tried many titles and eventually settled on Garmin's Mobile PC as the best bet. (note that Mobile PC does NOT have it own on-screen keyboard. A real keyboard or virtual one must be used. I use xvkbd.)
At this point, I have installed a test copy (trial) on a desktop (2.2Ghz AMD) to work out the problems, and on an HP Mini 1010nr netbook (Intel Atom 1.6Ghz) and both work fine, although the single core Atom system is pretty slow. Hopefully the dual core Atom in my car will perform better.
On to the How To!
Requirements:
Linux based operating system with recent kernel (I used Mepis 8)
Globalsat-BU-353 GPS sensor (others may work- this is what I have)
Garmin Mobile PC
Working internet connection
The steps are outlined below, with further notes afterwards.
1) Install wine, preferably 1.1.15 or later (
http://www.winehq.org/)
2) Get winetricks-
http://wiki.winehq.org/winetricks - and install the following:
dotnet11
dotnet20
fakeie6
wininet
3) install and configure gpsd (
http://gpsd.berlios.de/)
4) Create wine dosdevice symlink to gps device
5) Add serial ports to .wine/system.reg
6) Install Mobile PC
7) Update Mobile PC (
http://www8.garmin.com/support/downl...ls.jsp?id=4049)
8) Navigate!
Notes:
I recommend using packages tailored for your distribution where possible- it just makes things easier.
*Step 1: wine
Install wine and I suggest running winecfg before moving to step 2- this will create the required wine environment and provide the structure necessary for the rest of the process. Using winecfg, I clear the "Graphics"->"Allow the window manager to decorate the windows" so the app uses less screen real estate.
*Step 2: winetricks
The are some windows dependencies to be met and the easiest way is with Winetricks. Download the script and run it, install dotnet11, dotnet20, fakeie6 and wininet. .Net is required, my experience is that fakeie6 works best for things that SAY IE is needed, and wininet is required for the interent connection. An error about "dotnetfx.exe" will pop up but can be ignored. More can be added, but those four at least.
*Step 3: gpsd
GPSD is required for communication between the GPS sensor and nav software.
Automated package systems may not completely configure gpsd-
Verify the device created for the GPS sensor by looking in /dev for the device created when you plug in the sensor. It is likely to be /dev/ttyUSB0.
For a Debian-based distro, complete the configuration by opening a terminal/console session as root and type "dpkg-reconfigure gpsd". Set the device as /dev/ttyUSB0 (or whatever yours is) and set gpsd to start at boot. (You can test gpsd be typing "cat /dev/ttyUSB0" in a terminal- you should get lines of scrolling data.)
*Step 4: Create wine com port
You should now have wine installed and gpsd configured, but wine can not read directly from gpsd- you need to create a wine "dosdevice" serial port. To do this, open a new temrinal session and type "ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com3" . This creates a symlink to the sensor that windows applications will see as com3. (You can test this with "cat" like above, except using ~/.wine/dosdevices/com3 as the device to check: "cat ~/.wine/dosdevices/com3".
*Step 5: Edit the wine registry
Some wine applications just need a dosdevice, some need more. For Mobile PC you must at least check to see if there are serial ports listed and if not, add them.
Open ~/.wine/system.reg and look for "COM".
If you have a com3 port listed, you should be set.
If not, add the following:
[Hardware\\Devicemap\\Serialcomm] 1231984861 @=""
"Serial0"="COM1"
"Serial1"="COM2"
"Serial2"="COM3"
"Serial3"="COM4"
"Serial4"="COM5"
"Serial5"="COM6"
"Serial6"="COM7"
"Serial7"="COM8"
"Serial8"="COM9"
*Step 6: Install Mobile PC
Now we finally get down to actually installing the application!
I have only tested this with an actual cdrom drive, but it may be possible to use a network share or removable drive.
In a terminal session, navigate to where the installer files are (if using a cd, possibly /media/cdrom) and make sure "Setup.exe" is there, then type "wine Setup.exe".
From here on in, the installation should be the same as Windows.
After the installation is done, it may be wise to check to make sure it works: to run the program, navigate to the installation folder by typing "cd ~/.wine/drive_c/"Program Files"/Garmin/GarminMobilePC" in a terminal, then type "wine Que.exe"
MobilePC should start and ask if you bought it with a Garmin GPS sensor or not. I suggest selecting "Begin Trial" to make sure networking is correct, but ff you did get a Garmin sensor you should be done. If you have a third party gps sensor you will need to enter your Product Key to activate the software and this REQUIRES that the windows networking functions work.
Once the product is activated (trial or by using key) you can mess with it but a third party sensor will probably NOT work, though it should be found.
*Step 7: Update Mobile PC
Mobile PC will probably need to be updated with at least version 5.00.6.0 for thrid party gps sensors- get the update, open a terminal seesion and go to the location of the update file, then type "wine filename" (substitue the real name of the file for "filename" of course).
This will update Mobile PC and should get the sensor working, finally!
*Step 8:
Navigate to your hearts content,
This HowTo was tested on a homebuilt desktop system with an AMD A64 X2 cpu, internal cdrom, 2GB of ram and using the previously mentioned Globalsat BU-353 gps sensor.
It also works on an HP Mini 1010nr using an external cdrom, even with the .wine directory on an SDHC card due to lack of storage, though Mobile PC runs quite slowly.
The linux distribution used was Mepis 8, which is based on Debian Lenny. All software except for Mobile PC was installed using Synaptic from the repositories for Mepis and Debian.
If this distribution you use will not successfully install Mobile PC when you follow this HowTo, I suggest installing the latest versions of wine and gpsd from source.
Good luck, and safe navigating!