TomTom Linux Hacking

Post on 24-Mar-2016

320 views 15 download

Tags:

description

I had great fun playing with my wife's TomTom when I found out that it was running Linux.

transcript

125-04-23

Embedded Linux – TomTom hacking

225-04-23

325-04-23

Agenda

• Hardware• Software

• Linux kernel• Root filesystem• TomTom application• Sounds and Graphics

• OGG, mplayer, custom voices• Framebuffer device

• Getting access• Simple – splash screen mods• Medium - Debugging via shell scripting• Hard – write your own applications

• Running a unix shell on TomTom• Remote login via Bluetooth

425-04-23

/mnt/sdcard files

525-04-23

Customizing the splash screen

Use photoshop or gimp (or similar) to edit splashw.bmp

save as 24bit png and copy to TomTom USB disk.

625-04-23

The Boot Process

725-04-23

ttconsole

Using shell script /mnt/sdcard/ttn for bypassing the boot sequence

# cat /mnt/sdcard/ttncd /mnt/sdcard/bin/TTconsole./TTconsole/bin/ttn&#UNIX end-of-line only!

825-04-23

tomplayer

• Playing music and video on TomTom# cd /mnt/sdcard/bin/tomplayer# ./tomplayergui.sh

925-04-23

Playing movies

1025-04-23

Framebuffer device

• Reading from the framebuffer (480x272 – 16 bit color)

# cat /dev/fb > fb_raw# imgconvert fb_raw img

• Writing to framebuffer# cat fb_raw > /dev/fb 5 6 5

1125-04-23

GPS device

• Starting the gps# /etc/rc.gltt start 115200

• Reading positions# cat /var/run/gpspipe

$GPGGA,100244.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*67$GPRMC,100244.58,V,,,,,,,300708,,,N*7F$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34$GPGGA,100246.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*65$GPRMC,100246.58,V,,,,,,,300708,,,N*7D$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34$GPGGA,100248.58,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*6B$GPRMC,100248.58,V,,,,,,,300708,,,N*73$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34$GPGGA,100250.55,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0130*6F$GPRMC,100250.55,V,,,,,,,300708,,,N*77$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34

1225-04-23

Touch screen device

• Reading # cat /dev/ts >> ts.log# hexdump ts.log

00000000 ff 00 07 00 04 00 00 00 ff 00 07 00 03 00 00 0000000010 00 00 07 00 03 00 00 00 ff 00 df 01 0b 01 00 0000000020 ff 00 df 01 0a 01 00 00 ff 00 df 01 0a 01 00 0000000030 ff 00 df 01 09 01 00 00 ff 00 df 01 09 01 00 0000000040 00 00 df 01 09 01 00 00 ff 00 04 00 0d 01 00 0000000050 ff 00 03 00 0d 01 00 00 ff 00 03 00 0e 01 00 0000000060 ff 00 03 00 0e 01 00 00 ff 00 02 00 0e 01 00 0000000070 ff 00 03 00 0d 01 00 00 ff 00 03 00 0d 01 00 0000000080 ff 00 03 00 0e 01 00 00 ff 00 03 00 0e 01 00 0000000090 ff 00 02 00 0d 01 00 00 ff 00 02 00 0e 01 00 00000000a0 ff 00 02 00 0e 01 00 00 ff 00 03 00 0e 01 00 00000000b0 ff 00 03 00 0e 01 00 00 ff 00 03 00 0d 01 00 00000000c0 00 00 03 00 0d 01 00 00 ff 00 f2 00 8d 00 00 00000000d0 ff 00 f3 00 8e 00 00 00 ff 00 f4 00 8e 00 00 00000000e0 ff 00 f4 00 8e 00 00 00 ff 00 f3 00 8f 00 00 00000000f0 ff 00 f3 00 8f 00 00 00 ff 00 f3 00 8f 00 00 0000000100 ff 00 f4 00 8f 00 00 00 ff 00 f4 00 8f 00 00 0000000110 00 00 f4 00 8f 00 00 00

pressure: 0xff(pressed) 0x00(off)x: x-coord. (0x07)y: y-coord. (0x04)?: (0x00)

1325-04-23

Sound device

• Don’t know much about this:# head –n 20 /dev/urandom > /dev/sound

• gives wonderful loud noise though

1425-04-23

References

TomTom sources - www.tomtom.com/page.php?Page=gplOpenTom Project - www.opentom.org” Creating Custom TomTom Voice Files”

- tomtom.graemelucas.co.uk/tomtomstep1.htmDiscussion Forum - www.mytomtom.co.uktomplayer - www.tomplayer.net/btconsole - btconsole.renevoegeli.de/ttconsole - opentom.org/TomTom_Consoleuntt – igm.univ-mlv.fr/~allali/untt.tgzNMEA format - aprs.gids.nl/nmea/