Tomtom ONE IQ Routes

From YobiWiki
Jump to navigation Jump to search

Description

Tomtom ONE IQ Routes - 2GB

On version page (in French here):

 Appareil XXXXX XXXXX (sorry, confidential!)
 App 8.411 (1219/090319) OS : 301792
 64 Mo de RAM (disponible : 22.2 Mo)
 GPS v1.20, Boot 5.5128
 Carte:
 'Western_and_Central_Europe_2GB'
 v825.2157
 Langue: Français

On box, commercial ref.:

4EK0.001.01

Probably very similar to this description

Working with Linux?

Status

Well it seems latest versions of Tomtom HOME don't work yet.
You can install it under wine but it doesn't recognize that the device is plugged in so it's pretty useless.

aptitude install wine-unstable lib32nss-mdn cabextract
wget http://www.kegel.com/wine/winetricks
sh winetricks vcrun2005sp1
cd /media/INTERNAL
wine InstallTomTomHOME.exe

I also tried Maxibox:

Misc links

Beware some are probably referring to the older Tomtom One!

Mass storage

At least it appears just as a mass storage under Linux so you can backup, copy files etc.

  • Connect Tomtom to PC.
  • Turn Tomtom on
  • Choose to connect to PC.
kernel: usb 6-2: new full speed USB device using uhci_hcd and address 16
kernel: usb 6-2: New USB device found, idVendor=1390, idProduct=0001
kernel: usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 6-2: Product: ONE IQ Routes
kernel: usb 6-2: Manufacturer: TomTom
kernel: usb 6-2: SerialNumber: PSnnnnCnnnnn
kernel: usb 6-2: configuration #1 chosen from 1 choice
kernel: Initializing USB Mass Storage driver...
kernel: scsi6 : SCSI emulation for USB Mass Storage devices
kernel: usbcore: registered new interface driver usb-storage
kernel: USB Mass Storage support registered.
kernel: usb-storage: device found at 16
kernel: usb-storage: waiting for device to settle before scanning
kernel: usb-storage: device scan complete
kernel: scsi 6:0:0:0: Direct-Access     TomTom   ONE IQ Routes    6209 PQ: 0 ANSI: 2
kernel: sd 6:0:0:0: Attached scsi generic sg2 type 0
kernel: sd 6:0:0:0: [sdb] 4014080 512-byte hardware sectors: (2.05 GB/1.91 GiB)
kernel: sd 6:0:0:0: [sdb] Write Protect is off
kernel: sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
kernel: sd 6:0:0:0: [sdb] Assuming drive cache: write through
kernel: sd 6:0:0:0: [sdb] Assuming drive cache: write through
kernel:  sdb: sdb1
kernel: sd 6:0:0:0: [sdb] Attached SCSI removable disk

Output of fdisk print:

Disk /dev/sdb: 2055 MB, 2055208960 bytes
64 heads, 63 sectors/track, 995 cylinders
Units = cylinders of 4032 * 512 = 2064384 bytes
Disk identifier: 0x00000000
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         995     2005797+   6  FAT16

Disk label is apparently "INTERNAL"

Working with Windows

As we don't have choice...
If you're behind a proxy you'll experience this:
Tomtom plugged in -> Start Installer -> connection error
Download and execute manually http://download.tomtom.com/sweet/application/home2latest/TomTomHOME2winlatest.zip
It'll install and then give again an error -> ok -> Tools -> Connection -> Proxy
After the Tomtom was plugged and software was installed, Windows wanted to reboot because of a new driver installed, typical...

Misc

Software

Beware it's maybe compatible only with previous Tomtom One versions!!

Reset

  • Be sure the battery is full, leave it charging for at least 2 hours with the loading green LED turned on.
  • Push on on/off button for more than 15 secs till it starts

Backup

It's very important to make a first backup of your Tomtom as soon as possible as I got my first problem very soon, see below.
To make the backup under Linux, ideally do it as very first time even before turning it on so you'll have the very initial image (change /dev/sdb to your own device):

For the mbr: (in principle the first 512 bytes are enough, the rest is filled with zeroes)

$ dd if=/dev/sdb of=tomtom-mbr.bin bs=512 count=245

For the filesystem:
Make sure your device is connected but not mounted!!!

$ dd if=/dev/sdb of=tomtom-sdb1.bin
4011595+0 records in
4011595+0 records out
2053936640 bytes (2.1 GB) copied, 3604.15 s, 570 kB/s
$ file sdb1 
sdb1: x86 boot sector, 
      code offset 0x0, OEM-ID "        ", 
      sectors/cluster 64, 
      root entries 512, 
      Media descriptor 0xf8, 
      sectors/FAT 245, 
      heads 64, 
      hidden sectors 245, 
      sectors 4011595 (volumes > 32 MB) , 
      serial number 0x6f0ecbbd, 
      unlabeled, 
      FAT (16 bit)

I didn't do it like that, rather my device was automounted after I configured it so I copied the whole file structure manually to a ext3 partition. This was still ok to save my device when it crashed.
FYI a few files were already created/modified after the initial setup and usage:

Some files modified before the clock was set:

-rwxr-xr-x 1 phil phil    48 2000-04-09 14:02 CurrentMap.dat
-rwxr-xr-x 1 phil phil  1515 2000-04-09 14:18 ttgo.bif
-rwxr-xr-x 1 phil phil   632 2000-04-09 14:02 Western_and_Central_Europe_2GB/DeletedPoi.local
-rwxr-xr-x 1 phil phil    48 2000-04-09 14:02 Western_and_Central_Europe_2GB/MapUserPatch.dat

And after the clock was set (here we check for files modified the last 5 days):

$ find . -type f -mtime -5 -exec ls -l {} \;
-rwxr-xr-x 1 phil phil     3 2009-08-29 19:21 itn/temporary.iti
-rwxr-xr-x 1 phil phil  2848 2009-08-29 18:19 Western_and_Central_Europe_2GB/MapSettings.cfg
-rwxr-xr-x 1 phil phil   844 2009-08-29 19:21 settings.dat
-rwxr-xr-x 1 phil phil    68 2009-08-29 18:19 UserPatch.dat

Filesystem failure!!!

Well it didn't take long to have the first troubles:
I accidentally hitted the radar report (three clicks as same place on screen on the quick menu is all you need :( ) and wanted to remove it manually before connecting my Tomtom online. So I mounted the device under linux again and started a big "diff -Naur".
Then I discovered that there were strange new files in a subdirectory and when I started deleting those files I got a "read-only device" error.
After that, the Tomtom was rebooting in an endless loop :(
I solved the problem by doing the following:
I read that the device was sometimes slow and for sure the FAT16 didn't seem to be handled in a robust way so I preferred to prepare everything offline:

  • Create an empty 2Gb file
dd if=/dev/zero of=tomtom-fixed.bin bs=512 count=4011595
  • Format it (here I let the default FAT32, remember the original one was FAT16...
mkfs.vfat tomtom-fixed.bin
  • Mount it loopback
mkdir tomtom-fixed
mount -o loop tomtom-fixed.bin tomtom-fixed
  • Copy files from my backup to the loopback mounted filesystem
  • Make sure your device is connected but not mounted!!!
  • Copy the new filesystem to the device (check what's your device link)
dd if=tomtom-fixed.bin of=/dev/sdb1
  • Disconnect the device and let it reboot

Yes!!! it worked again, pfiuuuut!

Note that it's now FAT32 but I didn't change the partition table which still says FAT16:

Disk /dev/sdb: 2055 MB, 2055208960 bytes
64 heads, 63 sectors/track, 995 cylinders
Units = cylinders of 4032 * 512 = 2064384 bytes
Disk identifier: 0x00000000
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         995     2005797+   6  FAT16

Disk label is apparently empty now.

Upgrade

8.414

So I finally connected the device to a Windows box and let it upgrade whatever it wanted (you don't need to login to do that apparently).
The changelog didn't show yet what were the improvements
Now it shows (for what changed):

 App 8.414 (1239/090707) OS : 320300
 GPS v1.20, Boot 5.5130


Then back on Linux I made another backup without the big map files to get quicker, then I ran dupemap from magicrescue to keep only the files which have changed since my initial backup:

dupemap -d tomtom-fs.almost.orig.map scan tomtom-fs.almost.orig
dupemap -d tomtom-fs.almost.orig.map delete,report tomtom-fs.20090901

Then prune empty directories:
Execute several times the following until you don't have error messages:

find . -type d -empty -exec rm -r {} \;

Files

  • Favorites:
    • <map-subdir>/MapSettings.cfg
  • Map corrections by user:
    • <map-subdir>/MapUserPatch.dat
  • POI:
    • <map-subdir>/<POIname>.bmp
    • <map-subdir>/<POIname>.ov2
    • poi/<POIname>.tlv
  • Voices:
    • voices/data<NN>.bmp
    • voices/data<NN>.chk
    • voices/data<NN>.tlv
    • voices/data<NN>.vif

TODO

  • Try TTconsole & output same as here, maybe dump /mnt/flash?