
Kismet is a linux wifi scanning program that doesn't seem to run on windows without jumping through a lot of hoops. TomTom is an excellent sat nav program for Windows Mobile. How can we combine the two?
This guide assumes you're using a USB gps receiver that is automatically detected in Fedora Core 5 and mapped to a virtual com port with the device name of /dev/ttyUSB0. Mine looks something like this: link
Add your username to the group uucp in /etc/group to save yourself having to chmod the ttyUSB0 after every single boot or disconnect/connect.
Now install gpsd and start it up in debug mode:
gpsd -N -D 2 /dev/ttyUSB0
You should be able to start kismet now. Double check that it can see the gps data.
Optional: Edit /etc/services and at the bottom add:
gpsgate 20175/tcp
Install xinetd and create a file:
/etc/xinetd.d/gpsgate
Write the following into it:
# default: On
# description: Something that Franson GPSGate should be able to connect \
# to from a VMWare Guest OS
service gpsgate
{
disable = no
port = 20175
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/gpspipe
server_args = -r
# bind = 127.0.0.1
}
Verify that gps data is coming in by running:
sudo service xinetd restart telnet localhost 20175
Now install VMWare workstation and install Windows 2000/XP as a guest operating system.
Once installed confirm that you can connect over the network to your linux machine. You can do this either by setting everything up manually with bridged networking or simply choose NAT when asked for which networking option you want to use.
In this example I told VMWare to use the network 192.168.17.0 with netmask 255.255.255.0 for host only networking and it automatically chose an ip for the host and takes care of dhcp requests by the guest so there's no need to configure the networking inside windows. Perform the following command in a windows cmd session to find out the 'default gateway', but it doesn't really matter as VMWare sets up an ip automatically and runs an internal dhcp server.
telnet ip.of.your.linuxmachine 20175
It should connect to the gpsgate port we just configured in xinetd and you should see the gps data.
Now install Franson GPSGate 2.0 or later. Set it to source the gps data from ip.of.your.linuxmachine:20175 and let it replicate on COM3 for example.
Now install Eltima Serial Splitter. We need this as Windows Mobile Emulator cannot see com ports created by GPSGate. Create a new bundle and add the output of GPSGate (COM3 in the example) and let it output to yet another port, COM5 for example. This is the one we'll be using for TomTom.
(Disclaimer: Most of the following info came from: http://www.mp3car.com/vbulletin/gps/77148-tomtom-how-pocketpc-emulator.html)
Now get and install the following:
'Microsoft Virtual Machine Network Driver'. link
'Microsoft Device Emulator 2.0 Beta - Community Technology Preview' link (2.0 Preview seems to work ok, don't know about 1.0).
Register the device emulator first through it's start menu entry.
Now get and install:
'efp.msi from Standalone Device Emulator 1.0 with Windows Mobile OS Images' link
Now we have to configure an initial image to install TomTom on. First create a folder called C:\StorageCard. This will contain the image we're going to build and will double as the removable card that Windows Mobile will see.
Create a batch file named 'Initialize WinMobile Image.bat' and copy into it as one big line:
"C:\Program Files\Microsoft\Device Emulator 2.0 Preview\DeviceEmulator.exe" "C:\Program Files\Microsoft Windows Mobile 5.0 MSFP Emulator Images\pocketpc.nb0" /s "C:\StorageCard\tomtom.dess" /p /vmname TomTom /video 640x480x16 /memsize 256
Start the batch file and let it do its thing for a minute. Once the device has booted you'll see the windows interface. Now close the emulator and when it asks to save the state, click 'yes'.
Now we need to create a second batch file to start up the image we just saved. Call it 'Start TomTom.bat' and copy into it:
"C:\Program Files\Microsoft\Device Emulator 2.0 Preview\DeviceEmulator.exe" /s "C:\StorageCard\tomtom.dess" /nosecurityprompt
There are two ways of installing TomTom. The first and easiest way is to get an installation that can be installed from storage card. This would involve copying the set of files to C:\StorageCard and then starting the batch file we just made and the windows mobile emulator should pop up within a few seconds. Now go to the settings dialog of the emulator and under peripherals, choose to map the first com port to COM5, which is being provided by Eltima Serial Splitter which we configured above. Click OK and you should see a small window popping up saying 'Connecting...'. You can now navigate using Explorer to your virtual storage card and install TomTom from there.
The second way is via ActiveSync which is a bit cumbersome, you can read the page that I linked above at the disclaimer for some details if you want to follow that route.
Now the important bits: Once it is installed, verify that it can read the GPS data. Once you're done setting it all up, close TomTom. Now go to the emulator settings again and disable the COM5 port we previously enabled. Now close the emulator and say 'Yes' to saving the state of the device. Why we had to do this is explained in the list of snags listed below.
When this whole setup is fully started you can then tweak the windows screen resolution, then enable 'zoom display 2x' in the emulator settings and click 'Quick Switch' on VMWare (or fullscreen if you're brave) to get a fullscreen laptop TomTom experience :)
List of snags/todos/wishes: