Hacking the MyGuide 3000 GO
(or fixing some annoying bugs to make it worth
buying)I have wanted a GPS for quite awhile now,
and when I saw the MyGuide 3000 GO on sale at Fry's it was hard to pass up.
It was even more tempting when there was a return unit for another $50 off
the discount price. Yes the OS is a bit aged (Windows CE 4.2) and
there is no USB port, but it does have a 400Mhz ARM processor, 64MB of
memory and 32MB FLASH (which I figured would be all dedicated to ROM
anyways.
After playing with the system for a little while after
getting it home I came across a few rather annoying bugs that wouldn't seem
to go away:
 | Every time the unit is powered up it would ask you to
pick a language. |
 | Every time the unit is powered up it would ask you to
set the date. |
 | Every time the unit is powered up it would ask you to
set the time. |
 | In the main menu (after going through the 3 previous
menus) Multimedia is spelled "Mutimedia" |
 | The navigation software would not remember ANY of my
settings after powering the unit off and back on. |
 | After the GPS locked and then set the time
automatically a window pops up (in German) stating that daylight savings
time is active and telling me to verify that the time settings are
correct. |
 | The unit only comes with a cigarette lighter plug unit.
The AC 12V adaptor is an "accessory." |
The positive elements that made me want to work on these
problems rather than just take it back:
 | The navigation software is easy to use and
full-featured. It also appears to be recently updated (claims August
2006 and I've purchased it in October 2006). |
 | Maps are very detailed and easy to navigate. |
 | The unit is rather responsive. It responds
quickly to button presses. Route recalculation occurs in about a
second, voice is clear and pronounced. |
 | GPS hardware (SIRF-III) seems be a reliable popular
choice from looking around online. |
 | Comparable units with as many features are in the
$500-700 range. I paid less than half that. |
Disclaimer: Before you try changing anything
on you GPS, remember that anything you do could possibly render the device
useless, especially if you are not careful about READING these directions
and then FOLLOWING THEM in the correct order. The details mentioned
here have worked for me but may have very different results for you.
Whether you do or not follow these directions I will not be held responsible
for any damage you cause to your own system.
Digging Around
I started with looking at the contents of the SD card
which contains all the maps. It also contains a few other folders
which contain things that make hacking the unit a little easier. Via
my PocketPC I copied the entire SD card to my local computer so I could view
and edit any of the files on it:

You see a text file here named ADDONS.TXT.
Opening this reviews a rather simple menu structure which controls what is
displayed on the menu when the card is inserted:
[modules]
Games = "icons/games.bmp", "", 0
Navigate = "", "\\Flash Disk\\myguide\\myguide.exe"
[Games]
Solitaire= "", "\\Storage Card\\games\\solitaire\\solitaire.exe"
Flux= "", "\\Storage Card\\games\\flux\\flux.exe"
Asia = "", "\\Storage Card\\games\\asia\\asia.exe"
Arvale = "", "\\Storage Card\\games\\arvale\\arvale.exe" |
Now we're getting somewhere. For
those unfamiliar with PocketPC directories, a folder named Storage Card
contains the contents of the SD card. The games are loaded from the
Games folder on the card. Now the Flash Disk folder gets a bit more
complicated. There appears to be a folder named Flash Disk on the SD
Card, but this is not where this directory actually points to. The
one on the SD card would be accessed via \\Storage Card\\Flash Disk\\, not
\\Flash Disk directly. So there must be another drive (probably part
of the FLASH ROM) mounted by the OS internally. Later we will see
the flash disk folder somewhat mirrors the contents of the internal flash
drive.
Flash Disk Folder (on the SD Card)
Taking a peek in the flash disk folder:
A couple applications, some fonts, and zip file and another
text file. The IGOPATH.TXT file:
[pre_init]
LangSyncOn = "\\flash disk\\langsync.exe"
[pre_quit]
LangSyncOff = "\\flash disk\\langsync.exe"
[modules]
Settings = "icons/settings.bmp", "settings", 1
Mutimedia = "icons/media.bmp", "Mutimedia", 0
[Mutimedia]
Picture= "", "\\Flash DIsk\\XImage\\XImage.exe"
Movie= "", "\\Flash DIsk\\XMovie\\XMovie.exe"
Music= "", "\\Flash DIsk\\XMp3\\XMp3.exe" |
Well it looks like that is where the "Mutimedia" typo is
coming from, but that doesn't make any sense since it still appears when the
SD Card isn't inserted in the device. As an experiment I went ahead
and fixed the typo, overwrote the file on the SD Card and rebooted with it
inserted. Guess what? Nothing happened (as expected). So
the flash disk folder doesn't do much (as I said earlier).
The DATA.ZIP file is really a zip file which contains a
bunch of graphics and files for the menu system. Nothing
super-exciting there.
We'll peek in the MyGuide folder later.
Seeing what's on the internal system
Note: You can skip this step, especially if you don't have a PocketPC and
use the included Windows Explorer. Click here to
skip down to the next section.
Now knowing that we have a way to add and remove items
from the menu that appears at startup and knowing the underlying system is a
PocketPC already, all we need to do is find a file explorer that operates in
this environment, add it to ANOTHER SD Card, and edit the menu file
appropriately to give us the ability to start this program. A Google
search for "PocketPC file explorer" yields many results. I decided on
a program called Pocket
Explorer since it promised a Windows-like interface and is compiled for
ARM. I installed this on my regular PocketPC via the installer and
then copied the executable to a 64MB SD Card (whether you can get the
executable in another way without installing on a real PocketPC I'm not
sure. It's probably not hard to do though). I also created a
ADDONS.TXT file that I copied to the root of the SD Card:
[modules]
Games = "icons/games.bmp", "", 0
Explore = "", "\\Storage Card\\PocketExplorer.exe"
[Games]
Solitaire= "", "\\Storage Card\\games\\solitaire\\solitaire.exe"
Flux= "", "\\Storage Card\\games\\flux\\flux.exe"
Asia = "", "\\Storage Card\\games\\asia\\asia.exe"
Arvale = "", "\\Storage Card\\games\\arvale\\arvale.exe" |
Putting this card in the GPS I was pleasantly greeted with
my new menu (this screenshot was taken after I fixed the Multimedia option):

Choosing my Explore application I am
presented with the internal filesystem:

You can now see the internal Flash Disk
folder from which the menu and navigation system is booting from.
Notice many items are in German. If you don't know German (I don't
either) you should proceed with EXTREME CAUTION.
Babelfish is your friend in
this case. If you don't know what something says, use Babelfish to
figure it out first.
What I've figured out:
Eigenschaften = Properties
Ausschneiden = Cut
Kopieren = Copy
Einfugen = Paste
Loschen = Delete! DO NOT FORGET THIS ONE! Normally you won't want to click
on this!
Scrolling down and exploring the Windows
folder reveals the Explorer.exe is still available:

Skipping the Pocket
Explorer step (if you don't have a PocketPC)
This is probably the better way to go anyways. Since you
know the directory to Windows Explorer, you can instead create a new
ADDONS.TXT file pointing directly to this application:
[modules]
Games = "icons/games.bmp", "", 0
Explore = "", "\\Windows\\Explorer.exe"
[Games]
Solitaire= "", "\\Storage Card\\games\\solitaire\\solitaire.exe"
Flux= "", "\\Storage Card\\games\\flux\\flux.exe"
Asia = "", "\\Storage Card\\games\\asia\\asia.exe"
Arvale = "", "\\Storage Card\\games\\arvale\\arvale.exe" |
This brings up the standard Windows file
explorer. The last menu item should be the control panel link:

Some things are useful here and some aren't.
You need to understand that some (most) PocketPC settings are stored
typically in the RAM of the device which is erased when the device loses
full battery power. The way this GPS is assembled it seems that the
on/off button either by accident or by poor engineering actually doesn't
keep power available to the RAM while the device is powered off. Thus
any settings the OS puts in the RAM are lost when you power it off.
The most annoying of these is the time and date since we are bothered with
this every time the unit turns on.
The control panel:

Most useful here is Datum/Uh... = Date and
Time Zone. You can set a Date and Time which the system will forget
the next time it is powered off, but at least for me it stopped hounding me
for a date and time when I turned the unit on after I did this.
Possibly also due to setting a language in
Landereins... has caused the language menu to stop appearing all the time
(or this may be due to freeing some room on the full flash disk as I explain
later).
Fixing the Multimedia Typo
Shown here is the Flash Disk folder:

The IGOPATH.TXT file is the same menu file
that we messed with on the SD Card in the flash disk folder. To be
safe I copied this file to my SD Card and then to my PC. I edited it
to look like this:
[pre_init]
LangSyncOn = "\\flash disk\\langsync.exe"
[pre_quit]
LangSyncOff = "\\flash disk\\langsync.exe"
[modules]
Settings = "icons/settings.bmp", "settings", 1
Multimedia = "icons/media.bmp", "Multimedia", 0
[Multimedia]
Picture= "", "\\Flash DIsk\\XImage\\XImage.exe"
Movie= "", "\\Flash DIsk\\XMovie\\XMovie.exe"
Music= "", "\\Flash DIsk\\XMp3\\XMp3.exe" |
I then put it back on the SD Card, used the
file explorer to again get to the Windows file explorer (I've had more luck
copying files using the Windows Explorer instead of Pocket Explorer). I
made a backup of the original IGOPATH.TXT elsewhere on my SD Card, then
copied the changed file over. Now when I boot I don't have to look at
Mutimedia anymore.
You should also have a SettingsBackup.ini
file in this folder as shown above (SettingsBa...). If not then your
Flash Disk is probably out of free space, and is probably really why your
system keeps asking you for a language and time set every time it boots.
I'll show you what you can safely remove next to make a bit of breathing
room.
Making some room on the Flash Disk
I'll add more details later, but you can
safely remove the demo mp3 file, video, and image file that each of the
multimedia viewers use. They are found in:
//Flash Disk//XImage//
//Flash Disk//XMovie//
//Flash Disk//XMP3//
Unfortunately I don't remember each file's
name since I deleted them and didn't make a backup. It is pretty
obvious which file they are in each folder though (I believe they were named
demo or example or something of that sort).
After all three of these files are removed
that should free about 700KB or so, which gives some breathing room for
settings files that both the menu system and MyGuide want to store on the
flash disk. Data backups in MyGuide were also failing prior to doing
this, now they work fine.
Technically if you don't plan on ever using
the Multimedia features you could remove the applications completely (maybe
after making a backup via a SD Card copy) and removing the Multimedia
section from the menu. This would give you a couple MB free (what you
need it for I'm not sure).
FAQ
I'll add responses to emails I get here as I have
time.
Q: I don't have a PocketPC and I can't get
a copy of Pocket Explorer to put on my SD card. Can you supply one to
me?
A: Pocket Explorer is listed as freeware, but if you visit the author's
website (http://www.citadeldevelopment.com/)
you find that the license does not allow it to be redistributed in this way.
Fortunately you don't really need this step anyways as you can use Windows
Explorer by creating a link to it directly in your ADDONS.TXT file.
The location is "\\Windows\\Explorer.exe". I have also added this
information to the tutorial above.
Q: I want maps for somewhere other than
the US. Where do I get these and how do I make them work?
A: I don't have maps for anywhere other than those provided, and I don't
know how difficult it is to get get maps for other countries. If you
do obtain them I don't know what is needed to make them work. From
what I've read elsewhere the application looks for the specific SD card that
is provided (probably by a manufacturer's ID or some unique tag in the SD
Card's registers) to verify the software. The underlying application
is called I-GO (http://www.i-go.com/en/)
where you may be able to purchase a SD card for the country you are looking
for. Since you do have the option of using any PDA-based navigation
software you could also find another application that suits your needs and
install that on another SD card.
|