Help - Search - Members - Calendar
Full Version: Working Tomtom Nav On Angstrom
OESF Forums > General Forums > General Support and Discussion > General Discussion
Pages: 1, 2, 3
speculatrix
EDIT 20070502 - working on Angstrom in chroot without patching kernel, package coming sometime.

---

http://www.tomtom.com/page.php?Page=gpl

my wife bought me a TomTom GO 300, and I discovered that it runs linux when I, naturally, googled to see what hacks had been done. I was quite surprised to find it ran linux.

interestingly, TT originally used 2.4.18 but now 2.6.10.

they provide useful downloads and all the patches for the kernel, so those with a particular predilection for low-level hackery might find that page interesting or useful.... especially if it'd be possible to use TT's bluetooth hands-free system.

all we need now is to hack a GPS receiver into our Zauruses along with wifi and bluetooth, and we've got it made!

oh yeah, there's an OpenTom project too:
http://www.opentom.org/index.php/Main_Page
loc4me
That is pretty neat. I am thinking of getting one for my girlfriend who just moved out of state.

what hacks did you find? Anything worth while? Do you think that the 500 price is worth it over the 300? In the USA we only have an option of the 700 or the 300 though. What do you think of the 300 vs 700?
speculatrix
QUOTE(loc4me @ Dec 29 2005, 04:21 AM)
That is pretty neat. I am thinking of getting one for my girlfriend who just moved out of state.

what hacks did you find? Anything worth while? Do you think that the 500 price is worth it over the 300? In the USA we only have an option of the 700 or the 300 though. What do you think of the 300 vs 700?
*


so far I've not found anything detailed apart from the OpenTom in terms of hacks.

the TT500 has a faster CPU, and a microphone, and will act as a hands-free bluetooth kit for your mobile phone. The TT700 has an internal hard drive, losing the SD card slot.

the TT300 is basically, out of the box, an appliance, and isn't much of a toy - it doesn't have any trickery, it's purely for getting you from A to B.

For example, I used to have a Garmin GPS-III+ (3+), and the TT300 is a very different beast:

What I gained:
* tt300 has route planning and dynamically recalculates the route if you make a wrong turn
* tt300 does turn-by-turn directions with different voices (you can record your own)
* tt300 has city/road search
* tt300 can download information via a bluetooth conn to a mobile phone's GPRS link

What I lost:
* the garmin had track-back (breadcrumbs)
* the garmin had multiple savable routes
* garmin had much more analysis - average speed, altitude, sunrise & sunset at location or destination, fuel calculator


What I really really would like:
* NMEA over bluetooth - the TT300 won't behave like a serial device over rfcomm so I can't use it with my Zaurus SL-6000 for war driving. I have read that it will do it over USB but I haven't gotten that far.

So, I am tempted to see if I could take my TT300 back to try and upgrade it to a TT500 (the price differential plummeted in the January sales), and hope that it offered NMEA over rfcomm, and I would find the hands-free kit v useful.

Paul
loc4me
Thanks for the info. That is kinda what i have read, that the TomTom is an excelent plug and go device but it lacks some advanced features that other have.

I would like one but i think i would enjoy messing around with the advanced features. I will probably wait for a newer model. If you find any cool hacks let us know.
Mickeyl
The TomTom guys did some good things to bluez and the kernel to improve bluetooth reliability. It would be good if someone had the time to could glance over these changes and - if applicable - send some of them upstream.
speculatrix
Update.

I haven't checked it carefully yet, but the TTG300 takes a 5V 2A power supply, if it's regulated it'd be nice because it'd mean being able to use their car power adaptor to recharge the Z.

I mailed the opentom people about SD card drivers, and it looks like there's "gold in them thar downloads".

Firstly, the SD card driver in the kernel supports >1GB cards (4GB have been tested).

Secondly, the TT driver is listed as opensource, they said "strings" reveals this:
"author=Koen Martens <kmartens@sonologic.nl>, Jeroen taverne
<jeroen.taverne@tomtom.com>, Dimitry Andric <dimitry.andric@tomtom.com>
description=TomTom GO Storage Device Driver license=GPL
vermagic=2.6.10-tt1008 ARMv4 gcc-3.3"

Thirdly, The OpenTom guy's driver works very reliably but is not too quick, but they reckon to have a DMA version *soon* which should support 6+ MB/s.

And finally they're (opentom) might be interested in providing help to support porting it to the Zaurus.

Great news for the start of a new year,

Paul
loc4me
QUOTE(speculatrix @ Jan 1 2006, 08:37 AM)
Update.

And finally they're quite interested in providing help to support porting it to the Zaurus.

Great news for the start of a new year,

Paul
*


That would be great. Maybe this should be moved to a new Topic after this post. Paul, you should give the guys links to the forums so they can communicate with alll the knowledgeable people on here. I am sure there are many people on here who could aslo help with porting the SD driver to the zaurus.
speculatrix
I got this message off the opentom mailing list from Thomas Kleffel:

Hi,

ok, I think i need to clear up the SD-Card confusion a bit. There are currently 3 different SD card drivers there.

1) the early binary driver from TomTom (sd.o). Even if it is listed as GPL, it is not availabla as source. This is not TomTom's fault. TomTom signed a contract with the SD card driver association that forbids them to disclose their oh-so-secret intelectual property...

2) the early OpenTom driver. This is a hack I did about a year ago when driver #1 was only available for 2.4. I hacked SD-Card support into the MMC framework. This was only a quick hack, but however the 2.6.14-SD-Card support is somewhat based on it.

3) the new OpenTom/TomTom driver. I was paid by TomTom to develop a new open source SD card driver. It modifies the current MMC framework and is pretty stable and fast (6-8 MB/s). It is a clean implementation as I didn't sign anything with those SD-Card people. It is almost finished and will be available "really soon" ™.

So, what do those drivers do?

1) stable, a bit slow, closed source, no 2GB cards
2) stable, really slow, open source, no 2GB cards
3) stable, really fast, open source, 2GB cards - but not yet available wink.gif

I will talk to Christian about getting my hands on a Zaurus.

Best regards,

Thomas
albertr
That's great news, indeed! Good to hear that TomTom actually paid the guy to develop an open-source SD driver. Way to go, TomTom.
-albertr
albertr
speculatrix,

Just curious if it would be possible to run the navigation software from TomTom on the Zaurus? What GIU is used on TomTom GO?
-albertr
loc4me
QUOTE(albertr @ Jan 4 2006, 08:29 AM)
speculatrix,

Just curious if it would be possible to run the navigation software from TomTom on the Zaurus? What GIU is used on TomTom GO?
-albertr
*


Also what about the bluetooth connection? Can a link be established over that to the TomTom?
speculatrix
QUOTE(loc4me @ Jan 5 2006, 04:19 AM)
Also what about the bluetooth connection? Can a link be established over that to the


the BT connection, on the 300 at least, is one-way - outbound from the TT over a mobile phone.

opentom *can* allow bluetooth rfcomm to get NMEA data from the GPS - I asked specifically, and of course, you just have to write your own trivial rfcomm listener and "connect" it to the GPS receiver's tty.
speculatrix
QUOTE(albertr @ Jan 4 2006, 02:29 PM)
Just curious if it would be possible to run the navigation software from TomTom on the Zaurus? What GIU is used on TomTom GO?
*


I don't know, I haven't got anything like as deep as that as yet.

There's no evidence to suggest its QT based, but if they paid a full license to Trolltech they wouldn't have to disclose any part of that.

Agreed that it would be a very interesting proposition to run TT software on a Zaurus, it would be a massive boost if so.

The TT, when connected to the PC for updates, installing maps etc, simply presents itself as usb mass storage. As I understand it, the built-in firmware in the TT is a boot loader and simply loads all the operating software from SD - it will not operate without an SD card.
speculatrix
you can download the update image for the TomTom GO products here:
http://www.tomtom.com/support/index.php?FID=1750

note that you need windows to unpack the program (run setup.exe), you then find a file called ttsystem.

=== edit ===

d'oh, I didn't google hard enough... here's the description of the format:

http://opentom.org/index.php/Ttsystem_images

I've asked if someone's written a tool to split this into component parts, so that we can have a poke through the system software and see how it works.
speculatrix
yup... there's a program to do it:
http://svn.opentom.org/opentom/trunk/ttimg.../ttimgextract.c

download, build:
gcc -o ttimgextract ttimgextract.c

run:
./ttimgextract ttsystem

decompress:
gunzip < ttsystem.0 > ttsystem.cpio

list archive:
cpio -t -v < ../ttsystem.cpio
drwxr-xr-x 2 root root 0 Sep 19 13:48 bin
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/[ -> busybox
-r-xr-xr-x 1 root root 36540 Sep 19 13:48 bin/apnd
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/ar -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/ash -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/basename -> busybox
-r-xr-xr-x 1 root root 54276 Sep 19 13:48 bin/blueaclserver.a
-r-xr-xr-x 1 root root 14736 Sep 19 13:48 bin/blueserver.a
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/bunzip2 -> busybox
-rwxr-xr-x 1 root root 273456 Sep 19 13:48 bin/busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/bzcat -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/cat -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/chgrp -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/chmod -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/chown -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/clear -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/cp -> busybox
-rwxr-xr-x 1 root root 19456 Sep 19 13:48 bin/csrinit
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/cut -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/date -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/dd -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/df -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/dirname -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/dmesg -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/du -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/echo -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/env -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/false -> busybox
-rwxr-xr-x 1 root root 5212 Sep 19 13:48 bin/flash_erase
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/free -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/grep -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/gunzip -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/gzip -> busybox
-rwxr-xr-x 1 root root 25688 Sep 19 13:48 bin/hcitool
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/head -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/hexdump -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/kill -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/killall -> busybox
-r-xr-xr-x 1 root root 8808 Sep 19 13:48 bin/launchserver.a
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/ln -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/logger -> busybox
-rwxr-xr-x 3 root root 0 Sep 19 13:48 bin/lrx
-rwxr-xr-x 3 root root 0 Sep 19 13:48 bin/lrb
-rwxr-xr-x 3 root root 56848 Sep 19 13:48 bin/lrz
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/ls -> busybox
-rwxr-xr-x 3 root root 0 Sep 19 13:48 bin/lsx
-rwxr-xr-x 3 root root 0 Sep 19 13:48 bin/lsb
-rwxr-xr-x 3 root root 59836 Sep 19 13:48 bin/lsz
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/md5sum -> busybox
-r-xr-xr-x 1 root root 17394 Sep 19 13:48 bin/migrate_flash
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/mkdir -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/mknod -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/more -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/mount -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/mv -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/nc -> busybox
-rwxr-xr-x 1 root root 21424 Sep 19 13:48 bin/picocom
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/pidof -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/ping -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/ps -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/pwd -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/renice -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/reset -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/rm -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/rmdir -> busybox
-rwxr-xr-x 1 root root 32940 Sep 19 13:48 bin/sdptool
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/sed -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/sh -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/sleep -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/sort -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/strings -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/sync -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/tail -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/tar -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/test -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/top -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/touch -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/true -> busybox
-r-xr-xr-x 1 root root 16615 Sep 19 13:48 bin/ttcalib
-r-xr-xr-x 1 root root 2498552 Sep 19 13:48 bin/ttn
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/tty -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/umount -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/uname -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/uniq -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/uptime -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/wc -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/wget -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/which -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/whoami -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/yes -> busybox
lrwxrwxrwx 1 root root 7 Sep 19 13:48 bin/zcat -> busybox
drwxr-xr-x 5 root root 0 Sep 19 13:48 dev
crw-rw---- 1 root root 120, 0 Sep 19 13:48 dev/acc
crw-rw---- 1 root root 121, 0 Sep 19 13:48 dev/adc
crw-rw---- 1 root root 244, 0 Sep 19 13:48 dev/barc-snd
crw-rw---- 1 root root 241, 0 Sep 19 13:48 dev/battery
crw------- 1 root root 5, 1 Sep 19 13:48 dev/console
crw-rw---- 1 root root 14, 3 Sep 19 13:48 dev/dsp
crw------- 1 root root 29, 0 Sep 19 13:48 dev/fb
crw-rw---- 1 root root 245, 0 Sep 19 13:48 dev/flash
crw-rw---- 1 root root 243, 0 Sep 19 13:48 dev/gps
brw-r--r-- 1 root root 3, 0 Sep 19 13:48 dev/hda
brw-r--r-- 1 root root 3, 1 Sep 19 13:48 dev/hda1
brw-r--r-- 1 root root 3, 10 Sep 19 13:48 dev/hda10
brw-r--r-- 1 root root 3, 11 Sep 19 13:48 dev/hda11
brw-r--r-- 1 root root 3, 12 Sep 19 13:48 dev/hda12
brw-r--r-- 1 root root 3, 13 Sep 19 13:48 dev/hda13
brw-r--r-- 1 root root 3, 14 Sep 19 13:48 dev/hda14
brw-r--r-- 1 root root 3, 15 Sep 19 13:48 dev/hda15
brw-r--r-- 1 root root 3, 16 Sep 19 13:48 dev/hda16
brw-r--r-- 1 root root 3, 17 Sep 19 13:48 dev/hda17
brw-r--r-- 1 root root 3, 18 Sep 19 13:48 dev/hda18
brw-r--r-- 1 root root 3, 2 Sep 19 13:48 dev/hda2
brw-r--r-- 1 root root 3, 3 Sep 19 13:48 dev/hda3
brw-r--r-- 1 root root 3, 4 Sep 19 13:48 dev/hda4
brw-r--r-- 1 root root 3, 5 Sep 19 13:48 dev/hda5
brw-r--r-- 1 root root 3, 6 Sep 19 13:48 dev/hda6
brw-r--r-- 1 root root 3, 7 Sep 19 13:48 dev/hda7
brw-r--r-- 1 root root 3, 8 Sep 19 13:48 dev/hda8
brw-r--r-- 1 root root 3, 9 Sep 19 13:48 dev/hda9
crw-rw---- 1 root root 240, 0 Sep 19 13:48 dev/hwstatus
prw------- 1 root root 0 Sep 19 13:48 dev/initctl
drwxr-xr-x 2 root root 0 Sep 19 13:48 dev/input
crw------- 1 root root 13, 64 Sep 19 13:48 dev/input/event0
crw------- 1 root root 13, 65 Sep 19 13:48 dev/input/event1
crw------- 1 root root 13, 66 Sep 19 13:48 dev/input/event2
crw------- 1 root root 13, 67 Sep 19 13:48 dev/input/event3
crw------- 1 root root 10, 150 Sep 19 13:48 dev/input/keyboard
crw------- 1 root root 13, 63 Sep 19 13:48 dev/input/mice
crw------- 1 root root 10, 149 Sep 19 13:48 dev/input/mouse
crw------- 1 root root 13, 32 Sep 19 13:48 dev/input/mouse0
crw------- 1 root root 13, 33 Sep 19 13:48 dev/input/mouse1
crw------- 1 root root 13, 34 Sep 19 13:48 dev/input/mouse2
crw------- 1 root root 13, 35 Sep 19 13:48 dev/input/mouse3
crw-rw---- 1 root uucp 166, 0 Sep 19 13:48 dev/input/ttyACM0
crw-rw---- 1 root uucp 166, 1 Sep 19 13:48 dev/input/ttyACM1
crw-rw---- 1 root uucp 166, 2 Sep 19 13:48 dev/input/ttyACM2
crw-rw---- 1 root uucp 166, 3 Sep 19 13:48 dev/input/ttyACM3
crw-r----- 1 root kmem 1, 2 Sep 19 13:48 dev/kmem
crw-r----- 1 root kmem 1, 1 Sep 19 13:48 dev/mem
crw-r--r-- 1 root root 90, 0 Sep 19 13:48 dev/mtd0
crw-r--r-- 1 root root 90, 2 Sep 19 13:48 dev/mtd1
crw-rw-rw- 1 root root 1, 3 Sep 19 13:48 dev/null
crw------- 1 root root 108, 0 Sep 19 13:48 dev/ppp
crw-rw-r-- 1 root root 5, 2 Sep 19 13:48 dev/ptmx
drwxr-xr-x 2 root root 0 Sep 19 13:48 dev/pts
crw-rw---- 1 root root 251, 0 Sep 19 13:48 dev/pwm
brw-rw---- 1 root disk 1, 0 Sep 19 13:48 dev/ram0
brw-rw---- 1 root disk 1, 1 Sep 19 13:48 dev/ram1
brw-rw---- 1 root disk 1, 2 Sep 19 13:48 dev/ram2
brw-rw---- 1 root disk 1, 3 Sep 19 13:48 dev/ram3
crw-r--r-- 1 root root 1, 8 Sep 19 13:48 dev/random
crw-rw---- 1 root root 122, 0 Sep 19 13:48 dev/remote
crw-rw---- 1 root root 216, 0 Sep 19 13:48 dev/rfcomm0
crw-rw---- 1 root root 216, 1 Sep 19 13:48 dev/rfcomm1
crw-rw---- 1 root root 216, 2 Sep 19 13:48 dev/rfcomm2
crw-rw---- 1 root root 216, 3 Sep 19 13:48 dev/rfcomm3
crw-r--r-- 1 root root 10, 135 Sep 19 13:48 dev/rtc
brw-rw---- 1 root disk 250, 0 Sep 19 13:48 dev/sdcard0
brw-rw---- 1 root disk 250, 1 Sep 19 13:48 dev/sdcard0p1
brw-rw---- 1 root disk 250, 2 Sep 19 13:48 dev/sdcard0p2
brw-rw---- 1 root disk 250, 3 Sep 19 13:48 dev/sdcard0p3
brw-rw---- 1 root disk 250, 4 Sep 19 13:48 dev/sdcard0p4
drwxrwxrwt 2 root root 0 Sep 19 13:48 dev/shm
crw-r--r-- 1 root root 244, 0 Sep 19 13:48 dev/sound
crw-rw---- 1 root root 254, 0 Sep 19 13:48 dev/ts
crw-rw---- 1 root root 253, 0 Sep 19 13:48 dev/tsraw
crw-rw-r-- 1 root root 5, 0 Sep 19 13:48 dev/tty
crw------- 1 root tty 4, 0 Sep 19 13:48 dev/tty0
crw------- 1 root tty 4, 1 Sep 19 13:48 dev/tty1
crw------- 1 root tty 4, 2 Sep 19 13:48 dev/tty2
crw------- 1 root tty 4, 3 Sep 19 13:48 dev/tty3
crw------- 1 root tty 4, 4 Sep 19 13:48 dev/tty4
crw------- 1 root tty 4, 5 Sep 19 13:48 dev/tty5
crw------- 1 root tty 4, 6 Sep 19 13:48 dev/tty6
crw------- 1 root tty 4, 7 Sep 19 13:48 dev/tty7
crw------- 1 root tty 4, 8 Sep 19 13:48 dev/tty8
crw-rw---- 1 root uucp 57, 0 Sep 19 13:48 dev/ttyP0
crw-rw---- 1 root uucp 57, 1 Sep 19 13:48 dev/ttyP1
crw-rw---- 1 root uucp 57, 2 Sep 19 13:48 dev/ttyP2
crw-rw---- 1 root uucp 57, 3 Sep 19 13:48 dev/ttyP3
crw-rw---- 1 root tty 204, 64 Sep 19 13:48 dev/ttySAC0
crw-rw---- 1 root tty 204, 65 Sep 19 13:48 dev/ttySAC1
crw-rw---- 1 root tty 204, 66 Sep 19 13:48 dev/ttySAC2
crw-r--r-- 1 root root 1, 9 Sep 19 13:48 dev/urandom
crw-rw-r-- 1 root root 10, 250 Sep 19 13:48 dev/vhci
crw-rw---- 1 root root 10, 130 Sep 19 13:48 dev/watchdog
crw-rw-r-- 1 root root 1, 5 Sep 19 13:48 dev/zero
drwxr-xr-x 4 root root 0 Sep 19 13:48 etc
drwxrwxr-x 2 root root 0 Sep 19 13:48 etc/bluetooth
-rw-r--r-- 1 root root 1403 Sep 19 13:48 etc/bluetooth/hcid.conf.template
lrwxrwxrwx 1 root root 24 Sep 19 13:48 etc/bluetooth/link_key -> ../../mnt/flash/link_key
-rw------- 1 root root 5 Sep 19 13:48 etc/bluetooth/pin
-rw-r--r-- 1 root root 342 Sep 19 13:48 etc/bluetooth/rfcomm.conf
-rw-r--r-- 1 root root 0 Sep 19 13:48 etc/debug
-rw-r--r-- 1 root root 291 Sep 19 13:48 etc/fstab
-rw-r--r-- 1 root root 0 Sep 19 13:48 etc/group
-rw-r--r-- 1 root root 26 Sep 19 13:48 etc/host.conf
-rw-r--r-- 1 root root 20 Sep 19 13:48 etc/hosts
-rw-r--r-- 1 root root 1113 Sep 19 13:48 etc/ld.so.cache
-rw-r--r-- 1 root root 0 Sep 19 13:48 etc/ld.so.conf
-rw-r--r-- 1 root root 56 Sep 19 13:48 etc/localtime
-rw-r--r-- 1 root root 3 Sep 19 13:48 etc/modules
-rw-r--r-- 1 root root 0 Sep 19 13:48 etc/passwd
drwxr-xr-x 2 root root 0 Sep 19 13:48 etc/ppp
-rw------- 1 root root 78 Sep 19 13:48 etc/ppp/chap-secrets
-rw-r--r-- 1 root root 5 Sep 19 13:48 etc/ppp/options
-rw------- 1 root root 77 Sep 19 13:48 etc/ppp/pap-secrets
-rwxrwxrwx 1 root root 3095 Sep 19 13:48 etc/rc
-rwxr-xr-x 1 root root 1700 Sep 19 13:48 etc/rc.bluetooth
-rwxr-xr-x 1 root root 1786 Sep 19 13:48 etc/rc.fs
-rwxr-xr-x 1 root root 295 Sep 19 13:48 etc/rc.hardware
-rwxr-xr-x 1 root root 209 Sep 19 13:48 etc/rc.jas
-rwxr-xr-x 1 root root 282 Sep 19 13:48 etc/rc.launchserver
-rwxr-xr-x 1 root root 638 Sep 19 13:48 etc/rc.modules
-rwxr-xr-x 1 root root 76 Sep 19 13:48 etc/rc.resume
-rwxr-xr-x 1 root root 88 Sep 19 13:48 etc/rc.suspend
-rw-r--r-- 1 root root 0 Sep 19 13:48 etc/resolv.conf
-rw-r--r-- 1 root root 50 Sep 19 13:48 etc/sysctl.conf
-rw-r--r-- 1 root root 20 Sep 19 13:48 etc/version
lrwxrwxrwx 1 root root 6 Sep 19 13:48 init -> etc/rc
drwxr-xr-x 3 root root 0 Sep 19 13:48 lib
-rwxr-xr-x 1 root root 87820 Sep 19 13:48 lib/ld-2.3.2.so
lrwxrwxrwx 1 root root 11 Sep 19 13:48 lib/ld-linux.so.2 -> ld-2.3.2.so
lrwxrwxrwx 1 root root 22 Sep 19 13:48 lib/libbluetooth.so.1 -> libbluetooth.so.1.0.15
-rwxr-xr-x 1 root root 54188 Sep 19 13:48 lib/libbluetooth.so.1.0.15
-rwxr-xr-x 1 root root 1192844 Sep 19 13:48 lib/libc-2.3.2.so
-rwxr-xr-x 1 root root 20792 Sep 19 13:48 lib/libcrypt-2.3.2.so
lrwxrwxrwx 1 root root 17 Sep 19 13:48 lib/libcrypt.so.1 -> libcrypt-2.3.2.so
lrwxrwxrwx 1 root root 13 Sep 19 13:48 lib/libc.so.6 -> libc-2.3.2.so
-rwxr-xr-x 1 root root 9344 Sep 19 13:48 lib/libdl-2.3.2.so
lrwxrwxrwx 1 root root 14 Sep 19 13:48 lib/libdl.so.2 -> libdl-2.3.2.so
lrwxrwxrwx 1 root root 13 Sep 19 13:48 lib/libgcc_s.so -> libgcc_s.so.1
-rwxr-xr-x 1 root root 35752 Sep 19 13:48 lib/libgcc_s.so.1
-rwxr-xr-x 1 root root 686660 Sep 19 13:48 lib/libm-2.3.2.so
lrwxrwxrwx 1 root root 13 Sep 19 13:48 lib/libm.so.6 -> libm-2.3.2.so
-rwxr-xr-x 1 root root 72392 Sep 19 13:48 lib/libnsl-2.3.2.so
lrwxrwxrwx 1 root root 15 Sep 19 13:48 lib/libnsl.so.1 -> libnsl-2.3.2.so
-rwxr-xr-x 1 root root 41608 Sep 19 13:48 lib/libnss_compat-2.3.2.so
lrwxrwxrwx 1 root root 22 Sep 19 13:48 lib/libnss_compat.so.2 -> libnss_compat-2.3.2.so
-rwxr-xr-x 1 root root 13764 Sep 19 13:48 lib/libnss_dns-2.3.2.so
lrwxrwxrwx 1 root root 19 Sep 19 13:48 lib/libnss_dns.so.2 -> libnss_dns-2.3.2.so
-rwxr-xr-x 1 root root 37356 Sep 19 13:48 lib/libnss_files-2.3.2.so
lrwxrwxrwx 1 root root 21 Sep 19 13:48 lib/libnss_files.so.2 -> libnss_files-2.3.2.so
-rwxr-xr-x 1 root root 55820 Sep 19 13:48 lib/libpthread-0.10.so
lrwxrwxrwx 1 root root 18 Sep 19 13:48 lib/libpthread.so.0 -> libpthread-0.10.so
-rwxr-xr-x 1 root root 60356 Sep 19 13:48 lib/libresolv-2.3.2.so
lrwxrwxrwx 1 root root 18 Sep 19 13:48 lib/libresolv.so.2 -> libresolv-2.3.2.so
-rwxr-xr-x 1 root root 18744 Sep 19 13:48 lib/libthread_db-1.0.so
lrwxrwxrwx 1 root root 19 Sep 19 13:48 lib/libthread_db.so.1 -> libthread_db-1.0.so
drwxr-xr-x 2 root root 0 Sep 19 13:48 lib/modules
-r--r--r-- 1 root root 16924 Sep 8 08:52 lib/modules/sd.ko
drwxr-xr-x 5 root root 0 Sep 19 13:48 mnt
drwxr-xr-x 2 root root 0 Sep 19 13:48 mnt/flash
drwxr-xr-x 2 root root 0 Sep 19 13:48 mnt/initrd
drwxr-xr-x 2 root root 0 Sep 19 13:48 mnt/sdcard
drwxr-xr-x 2 root root 0 Sep 19 13:48 proc
drwxr-xr-x 2 root root 0 Sep 19 13:48 sbin
-rwxr-xr-x 1 root root 18636 Sep 19 13:48 sbin/chat
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/chroot -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/fbset -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/fdisk -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/freeramdisk -> ../bin/busybox
lrwxrwxrwx 1 root root 6 Sep 19 13:48 sbin/halt -> reboot
-rwxr-xr-x 1 root root 13616 Sep 19 13:48 sbin/hciattach
-rwxr-xr-x 1 root root 32452 Sep 19 13:48 sbin/hciconfig
-rwxr-xr-x 1 root root 31292 Sep 19 13:48 sbin/hcid
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/hwclock -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/ifconfig -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/insmod -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/klogd -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/logread -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/losetup -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/lsmod -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/pivot_root -> ../bin/busybox
lrwxrwxrwx 1 root root 6 Sep 19 13:48 sbin/poweroff -> reboot
-r-xr-xr-x 1 root root 222752 Sep 19 13:48 sbin/pppd
-rwxr-xr-x 1 root daemon 13136 Sep 19 13:48 sbin/pppstats
-rwxrwxr-x 1 root root 3868 Sep 19 13:48 sbin/reboot
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/rmmod -> ../bin/busybox
-rwxr-xr-x 1 root root 18300 Sep 19 13:48 sbin/sdpd
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/sysctl -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Sep 19 13:48 sbin/syslogd -> ../bin/busybox
drwxr-xr-x 2 root root 0 Sep 19 13:48 sys
drwxrwxrwt 2 root root 0 Sep 19 13:48 tmp
drwxr-xr-x 5 root root 0 Sep 19 13:48 var
drwxr-xr-x 2 root root 0 Sep 19 13:48 var/log
drwxr-xr-x 2 root root 0 Sep 19 13:48 var/run
drwxrwxrwt 2 root root 0 Sep 19 13:48 var/tmp
11619 blocks
speculatrix
I note that the only kernel module is the sd.ko file for 2.6.10.

hmmm. I wonder if there are any OZ people with 2.6 kernel who'd be interested.
speculatrix
QUOTE(albertr @ Jan 4 2006, 02:29 PM)
Just curious if it would be possible to run the navigation software from TomTom on the Zaurus? What GIU is used on TomTom GO?
*


in a small way there's good news... TomTom have their own custom library and write to the frame buffer - so there's no QT, X11 or anything at all! There's a "hello world" application on the opentom website. I'm going to copy the tomtom programs to my 860 and see what happens.

I tried the opentom media player image, but unfortunately it simply produces white noise, so the kernel they made must have a sound driver incompatible with the TTG300. I tried a hybrid image using the kernel from the tomtom distribution with the filesystem from the media player, and although it booted it got no further. I'd have to make a serial cable to go any further.

all in all, its an interesting challenge. unlike the Z there's little chance of bricking it, since the bootloader is in ROM, and the system is all on SD card and loaded when the device starts up. this does mean there's not much room though! The opentom people have the intention of providing a "serial" console over rfcomm, which would be quite useful.

Hopefully there will be news soon of a decent SD card driver.

I reckon the OZ people would have a head start on this, given I'm a sharp/cacko person so am stuck in the dark ages of 2.4 kernels :-)
gab74
i've a C3100 with Cacko ROM. I'm very interested in TOM TOM for Zaurus so even if i'm a system admin i can help as a tester. If you want to test contact me i'm very glad to help Tom Tom on Zaurus.
Mickeyl
QUOTE
I note that the only kernel module is the sd.ko file for 2.6.10.
hmmm. I wonder if there are any OZ people with 2.6 kernel who'd be interested.


We have SD/MMC working perfectly on 2.6.15 (all models except the collie of course).

Thanks for the pointer anyway!
speculatrix
QUOTE(Mickeyl @ Jan 23 2006, 01:06 AM)
QUOTE
I note that the only kernel module is the sd.ko file for 2.6.10.
hmmm. I wonder if there are any OZ people with 2.6 kernel who'd be interested.


We have SD/MMC working perfectly on 2.6.15 (all models except the collie of course).

Thanks for the pointer anyway!
*



Is that using the SD driver that's in the regular linux 2.6 distro? The tomtom guys already had that but they say it's not that quick, they aim to have a really high speed one.

I'm going to give the latest OZ a try-out as soon as I've got time... it seems to be getting pretty advanced these days, and hopefully will be as stable as I need!
chiark
Sorry for the daft question, but does this mean it is likely/possible that TomTom will be able to run on the Zaurus?

If so... Wow.

I currently use TomTom on my HTC Wizard, and the Z's screen would be better for in car use.

Anyone fancy starting a project to co-ordinate efforts on this? biggrin.gif
speculatrix
I had a go at getting tomtom nav to run on my 860; once I got the right libraries on it, it tried to start up but couldn't find the bluetooth server daemons it needed; I got one to start but failed with the other... and then I ran out of time.

So, I suspect it will be possible with a lot of hackery, but it will probably run in 320x240 mode!
speculatrix
I started a WIKI entry for GPS in general.

http://www.oesf.org/index.php?title=GPS

I've not had time to do much with this, as I am putting all my energy into looking for a new job, something I didn't expect to have to do :-(
chiark
Sorry to hear that sad.gif . At least there seems to be a fair bit around in the Cambridge area, particularly if you're looking for work in the embedded sector which might suit you?

Thanks for the WIKI, that's a great help. I might try to have a play, but as always I'm busy with other things: for starters, this bathroom that I've now ripped out isn't going to magically fit itself unfortunately sad.gif wink.gif

Good luck with the job hunting.
DrWowe
QUOTE(Mickeyl @ Jan 22 2006, 06:06 PM)
We have SD/MMC working perfectly on 2.6.15 (all models except the collie of course).

Does this include support for the latest SD and MMCplus cards >= 2 gigs?

I tried a fresh bitbake build (using linux-openzaurus-2.6.14+2.6.15-rc7-r2) a few weeks ago and neither worked then.
speculatrix
Life has been "interesting" as of late... but I've made the effort to get back into looking at tomtom navigator (TTN) running on zaurus.

The first step was to take the ttsystem file and split it, using the tools from opentom, and then copy the files into /home/tomtom. TTN uses busybox for many command, but uses a different libc. After briefly trying various tricks with LD_LIBRARY_PATH etc, I was unable to run the commands, so I resorted to "chroot /home/tomtom bin/sh", which gave me a working shell.

The TTN linux distro runs a command called "ttn", which does all the work; it's this program that the early OpenTom programs replaced. Incidentally, OpenTom is coming along very well, even managing to allow you to "dual boot" their media player and TT's navigation s/w, and maybe even switch from one to other. Anyway, I digress.

The first attempt to run the ttn binary caused a spew of errors, and then it killed the Z stone dead; at first I panicked as it wouldn't turn on again, but unplugging from USB and pulling the battery sorted that.

I started fixing the errors reported to console (luckily for us, TT tell us all sorts of useful things). Most of them were missing devices, so I copied them over from the Z and added links (TTN wants framebuffer device as /dev/fb for example).

I then removed reboot and other "dangerous" commands, replacing with a script to indicate they were called. Didn't stop ttn killing the Z dead!

"strings ttn" reveals some very interesting tricks to make ttn completely self-sustained - dialling scripts and all sorts.

I was able to copy a few useful Z commands to the TTN image, such as "ldd" to see what it was doing.

So far, I've gotten ttn to open the framebuffer and the touchscreen, and next I need to spoof the sdcard!
speculatrix
I should add that ttn barely opens the framebuffer and touchscreen before it crashes
speculatrix
ha! copied across tinylogin + the softlink to "su", and now when I run ttn it doesn't kill the Z. Snag is, it reports a lot of critical things not found, and I have no clue how to create replacements... I shall have to see if I get a shell into my TTG300 and then I can see what the missing devices and /proc files look like. I tried creating dummies but it doesn't like it too much!

# chroot /home/tomtom bin/sh

BusyBox v1.00 (2004.12.03-11:19+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

\[\033]2;\w\007\]\$ su - zaurus


BusyBox v1.00 (2004.12.03-11:19+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

$ cd /
$ bin/ttn
malloc_init: Never using mmap for malloc
Checking whether blueaclserver.a is running (bluetooth)
Executing [pidof 'blueaclserver.a' > /var/run/temp.txt]
#### RECEIVED SIGNAL 17 [errno 0, code 1]
#### Sent by process: pid 984, uid 500
#### Exit status: 1, user time: 1, system time: 1
#### RESUMING
Error returned: 256
succeeded in opening /var/run/temp.txt
bluetooth_available = 0
Opening in MASTER mode
The framebuffer device was opened successfully.
InitScreen: 480x640, 16bpp - portrait - fake: 640x480
The framebuffer device was mapped to 0x40255000 successfully.
Initialized touchscreen
Warning: Unable to open /dev/remote: No such file or directory
GetProcInt: Unable to read value from /proc/barcelona/sdcard
Adding signal handler for SD hot swapping
sdhotswap_Init: ERROR: /dev/sdcard could not be opened: Permission denied
GetProcInt: Unable to read value from /proc/barcelona/modelid
Error -9000
Unmounting SD Card...FAILED: Invalid argument
Unmounting flash...FAILED: Invalid argument
Powering off because the game frame couldn't be initialized
Forcefully unmounting /mnt/flash...FAILED: Invalid argument
Forcefully unmounting /mnt/sdcard...FAILED: Invalid argument
wd_set: WARNING: Attempt to set watchdog, but not opened yet!
$
tovarish
wow but you are indeed making progress. why dont you apply with tomtom in the netherlands, they are looking for people wink.gif

lack of mapping applications are the only serious drawback to me for the zaurus.
ltrm
This really is exciting! I agree with Tovarish, a good GPS application would be a killer app (for me anyway tongue.gif )

Have you thought about adding a link to your page for sponcership? I think that this is a really worth while project and would support it. Its probably fairly unlikely but you could even point out the size of the Japanese Z market to TomTom and see if they'd also sponcer you.... biggrin.gif
speculatrix
QUOTE(ltrm @ Mar 9 2006, 07:11 PM)
This really is exciting!  I agree with Tovarish, a good GPS application would be a killer app (for me anyway  tongue.gif  )

Have you thought about adding a link to your page for sponcership?  I think that this is a really worth while project and would support it.  Its probably fairly unlikely but you could even point out the size of the Japanese Z market to TomTom and see if they'd also sponcer you....  biggrin.gif
*


The snag here is that I am treading a thin line with TT's s/w rights... because I own a GO 300 I figure that I am simply seeking to allow me to run the software on an alternative device.

As I understand it, the maps and stuff are all locked to the device hardware (it tries to read a specific section of flash to get the device ID), possibly even encrypted using a key unique to the device. Now, I am created "look-alike" devices/files which will make the ttn think it's running on a GO 300, *but* it will be running on a copy of *my* device. If I then released a file system dump, it'd mean everyone would be using my license key which would be a Bad Thing.

If I get it running, I can tell people how to do it, and if they have a GO, they can use their own licenses! And if they want to donate a beer, that's fine.

If I can turn round to TT and say "look, it's really easy, why not release it for the Zaurus, it will run with very little modification", then maybe they will - if enough Z users ask! Maybe we should ask them anyway - or maybe there's no way they could lock it down? Does each Z have a unique ID somehow? From vague memory, the Picsel browser is somehow locked to the memory card they supply it on?
speculatrix
p.s. there's also the matter of time, which I am short of, and getting help from the OpenTom people as they can tell me more about the "missing" devices and /proc entries which ttn is looking for. I'm currently waiting for an answer on this.

if there's anyone out there with a TomTom GO, who is interested, join in the discussion.
ltrm
QUOTE
The snag here is that I am treading a thin line with TT's s/w rights... because I own a GO 300 I figure that I am simply seeking to allow me to run the software on an alternative device.

As I understand it, the maps and stuff are all locked to the device hardware (it tries to read a specific section of flash to get the device ID), possibly even encrypted using a key unique to the device. Now, I am created "look-alike" devices/files which will make the ttn think it's running on a GO 300, *but* it will be running on a copy of *my* device. If I then released a file system dump, it'd mean everyone would be using my license key which would be a Bad Thing.


I thought that something like this might be the case. The best scenario for me would be if the Z did have something (processor id?) that could be used as a key so that I could just buy the closed source map data from TT and use it with the open source software. I fully understand TT wanting to keep control of that.

Since they do sell software only packages for other platforms I guess there is an outside chance they might go for just selling the maps, unsupported, on SD if they could still DRM it somehow.

As for time scales, I'm not too fussy about that. Just knowing it was possible would be enough for me to start pestering TT tongue.gif

Failing getting a legal working copy on my 860, I think that I'm going to have to get a symbian phone and run GPS software on there. Seems like a shame to miss out on the Zaurus screen though.... sad.gif
speculatrix
QUOTE(speculatrix @ Mar 9 2006, 07:42 PM)
p.s. there's also the matter of time, which I am short of, and getting help from the OpenTom people as they can tell me more about the "missing" devices and /proc entries which ttn is looking for. I'm currently waiting for an answer on this.

if there's anyone out there with a TomTom GO, who is interested, join in the discussion.
*


well, only one person came back to me from the opentom lists and it was a bit vague.. perhaps noone's tried exploring the default TT linux environment.

so, after a lot of head scratching, I've been having an interesting* time with bluetooth. I now have a quick and dirty hack script which listens for an rfcomm serial connection and provides an interactive terminal on it. This will allow me to connect to the TTG and run a few commands and hopefully determine what the special devices and proc files are for. "All" I've got to do is roll my own TTG 300 boot image!

Hopefully, these special files are going to have obvious meanings (hmm, I guess I should put "od" or something into my boot image so I can make a hex dump if necessary!).

*bluetooth commands on linux have a particular nasty failure mode - they usually just ignore what you entered rather than reporting an error... try "hcitool scan" then "sdptool scan" instead of "sdptool browse" by mistake for example.
Tarquin
Before I start getting too excited about this, is there any chance of it running on an SL5500? I have been looking for a mapping system for the UK, and this seems like a great idea...
speculatrix
QUOTE(Tarquin @ Mar 24 2006, 04:31 PM)
Before I start getting too excited about this, is there any chance of it running on an SL5500?  I have been looking for a mapping system for the UK, and this seems like a great idea...
*


I would say there's a reasonable chance of running on an SL5500 - the TTG is only QVGA display, and has (IIRC) the same memory size or even less than the 5500. So long as you have a serial GPS (which appears as a /dev/ serial device) and a 128MB memory card for storing maps etc, I can't see why not.
speculatrix
BTW, there was recently a positive step on Opentom, someone started documenting the special devices in OT's /proc and /dev filesystems... I expect to have the next experimentation session soon!
Da_Blitz
At the moment i have a copy of the SD_Pysical_Spec (siplified version) and the SD_SDIO spec (siplified version) if any one is intrested, they were free to download off the sandisk website but have scince been removed

contact me if you want a copy
speculatrix
this update has been a long time coming... having spent a lot of time flying or in airports recently, I was able to apply a succession of nasty hacks to my chrooted environment, and am sad to say it's mixed news.

Luckily, TomTom's binary spits out useful info as it starts up, so I was able to incrementally fix or kludge things to get ever further: I was able to fool ttn into finding the remote control, think the right things were mounted, finding the right devices, think it was running on real tomtom hardware.

I am now officially stuck... and would welcome any guesses...

malloc_init: Never using mmap for malloc
Checking whether blueaclserver.a is running (bluetooth)
Executing [pidof 'blueaclserver.a' > /var/run/temp.txt]
#### RECEIVED SIGNAL 17 [errno 0, code 1]
#### Sent by process: pid 11193, uid 500
#### Exit status: 1, user time: 0, system time: 2
#### RESUMING
Error returned: 256
succeeded in opening /var/run/temp.txt
bluetooth_available = 0
Opening in MASTER mode
The framebuffer device was opened successfully.
InitScreen: 480x640, 16bpp - portrait - fake: 640x480
The framebuffer device was mapped to 0x40255000 successfully.
Initialized touchscreen
Initialized remote control
Error -9000
Unmounting SD Card...FAILED: Invalid argument
Unmounting flash...FAILED: Invalid argument
Powering off because the game frame couldn't be initialized
Forcefully unmounting /mnt/flash...FAILED: Invalid argument
Forcefully unmounting /mnt/sdcard...FAILED: Invalid argument
wd_set: WARNING: Attempt to set watchdog, but not opened yet!

googling for "game frame" hasn't helped at all :-(
next step is to play with strace and/or gdb to see what it was trying to do before it barfed.
Da_Blitz
I would say that perhaps it has some stuff to do with ioctl on the Frame buffer device that isnt working, game frame could only be the frame buffer in my opinion, peerhaps check the source for modification?
speculatrix
strace has worked its magic and I found that the errors I was getting were from the system shutting down... so, armed with trace I was able to fix more and more things.

it now gets a long way through - opening the maps, opening the gps devices, but then segfaults with address 0xfffffffff (dunno how many 'f's)... spitting out a simple backtrace.

Now, I created fake /dev/ and /dev/gps devices by linking to ttyS1, as was the /dev/watchdog device, and the seggy triggers just after writing null bytes to /dev/watchdog (but there is clearly a lot going on here in the ttn binary, so I am guessing that writing to devices isn't the answer).

so, I am again stalled. My next step will have to be to use a debugging to run the code and see what happened. I might post here the strace output and the normal stdout/stderr output for people to see just how far its getting.

hmm. I just wondered if perhaps the fact I am using junk values for things like device ID might cause the map data decryption routines to barf.

I really need now to create my own ttsystem file with a bluetooth login hack so I can be sure my dummy dev & proc files are "real" rather than junk.


tuned for another thrilling episode another time!

Paul
Mickeyl
Exciting stuff, thanks for keeping us posted!
scoutme
what's the actual status at this time?
speculatrix
I had to sell my 860, so I had to start again with my 6000 but it got broken during an abortive upgrade attempt. Once I've got my 6000 working again I am hoping to restart "zomtom" (the secret name I have just invented for zaurus-tomtom project). If you're wondering what I did to my 6000 just follow link in my .sig.

I guess although many people were interested, noone has a tomtom themselves and thus they don't have any "moral" right to extract data from their tomtoms and try and run it on the Z otherwise they'd have been trying to help, right?

Of course, there's nothing to stop people emailing and asking TomTom whether they would consider a native Zaurus port of their software smile.gif
koen
QUOTE(speculatrix @ Jul 5 2006, 02:40 PM)
I am hoping to restart "zomtom" (the secret name I have just invented for zaurus-tomtom project).
*


Oh goody, another 'only for zaurus and gcc 2.95.3 and qt/e from 5 years ago' project that would need a complete rewrite if you want to use it on another linux machine....
speculatrix
QUOTE(koen @ Jul 5 2006, 03:46 PM)
QUOTE(speculatrix @ Jul 5 2006, 02:40 PM)
I am hoping to restart "zomtom" (the secret name I have just invented for zaurus-tomtom project).
*


Oh goody, another 'only for zaurus and gcc 2.95.3 and qt/e from 5 years ago' project that would need a complete rewrite if you want to use it on another linux machine....
*



actually, it would run a lot better on OZ because tomtom went kernel 2.6 a while back. When I get my Tosa working again, which is OZ/GPE, it'll be a lot easier because I shouldn't need a chroot'd environment to try and get the tomtom software working on a 2.4/cacko machine!
speculatrix
QUOTE(koen @ Jul 5 2006, 03:46 PM)
QUOTE(speculatrix @ Jul 5 2006, 02:40 PM)
I am hoping to restart "zomtom" (the secret name I have just invented for zaurus-tomtom project).
*


Oh goody, another 'only for zaurus and gcc 2.95.3 and qt/e from 5 years ago' project that would need a complete rewrite if you want to use it on another linux machine....
*



p.s. there has been enough information in this thread for you to try it yourself - noone is stopping you from downloading the tomtom updates, ripping apart the ttsystem file using the opentom tools, and trying to get it running. so what's stopping you?
speculatrix
QUOTE(speculatrix @ Jul 5 2006, 03:40 PM)
Of course, there's nothing to stop people emailing and asking TomTom whether they would consider a native Zaurus port of their software smile.gif
*


I emailed tomtom about doing a port to OZ given that they are using kernel 2.6, and they eventually replied that they weren't planning to support another OS (although I *had* spelled it out to them that it was just a different flavour of linux and even the same kernel).
speculatrix
I have resumed work, now using OZ 3.5.4.1-beta-kernel-2.6 on my 6000. The good news is that I no longer need the nasty hacked chroot'd environment to handle the fact that TTG was built for kernel 2.6, causing library compatibility issues.

The first snag is that there's no longer a /dev/ts device (on kernel 2.4 there was a /dev/ts pipe). Here's the output of the ttn command (note I am not running as root which breaks the close-down process but this is good otherwise it shuts down tosa completely!):

malloc_init: Never using mmap for malloc
Checking whether blueaclserver.a is running (bluetooth)
Executing [pidof 'blueaclserver.a' > /var/run/temp.txt]
#### RECEIVED SIGNAL 17 [errno 0, code 1]
#### Sent by process: pid 4487, uid 500
#### Exit status: 1, user time: 0, system time: 2
#### RESUMING
Error returned: 256
succeeded in opening /var/run/temp.txt
bluetooth_available = 0
Opening in MASTER mode
The framebuffer device was opened successfully.
InitScreen: 480x640, 16bpp - portrait - fake: 640x480
The framebuffer device was mapped to 0x40245000 successfully.
Error: Unable to open /dev/ts: No such file or directory
Unmounting SD Card...FAILED: No such file or directory
Unmounting flash...FAILED: No such file or directory
Powering off because hardware init failed

Forcefully unmounting /mnt/flash...FAILED: No such file or directory
Forcefully unmounting /mnt/sdcard...FAILED: No such file or directory
wd_set: WARNING: Attempt to set watchdog, but not opened yet!
Mickeyl
Which protocol does the tomtom software expect on /dev/ts?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.