These notes assume you have bluetooth already present and operational as was the case with my Ubuntu 7.10 system.
Install bluetooth support and confirm you can see your Bluetooth device.
# hcitool dev
Devices:
hci0 00:02:5B:01:0D:CB
Confirm you can see your TomTom
# hcitool scan
Scanning ...
00:13:6C:9C:A0:5A TomTom ONE XL
Change your bluetooth device's class to report itself as a mobile phone offering Telephony services and confirm settings.
# hciconfig hci0 class 0x500204 (I borrowed this class from my Nokia phone)
# hciconfig hci0 class
hci0: Type: USB
BD Address: 00:02:5B:01:0D:CB ACL MTU: 384:8 SCO MTU: 64:8
Class: 0x500204
Service Classes: Telephony
Device Class: Phone, Cellular
To have the device class retained as the default HCI configuration edit the file '/etc/bluetooth/hcid.conf'
Write this file into '/etc/ppp/tomtom.sh' and ensure it has execute permissions.
#!/bin/sh
/usr/sbin/chat -e -f /etc/ppp/tomtom.chat
Write this file into '/etc/ppp/peers/tomtom'
noauth # Don't require authentication
local # This is needed because it's not a real serial line
noipdefault # Don't use the local hostname to determine the local IP used
proxyarp # Proxy ARP connections
nodefaultroute # Don't use the default route
noipx # Don't use the IPX protocol
idle 0 # Set an unlimited disconnect timeout
# Change the next three lines for your setup
#
#The first ip needs to be your computer, the second ip needs to be a non-used ip in your network
192.168.10.204:192.168.10.214
# ms-dns
# this needs to be a real dns server, look in /etc/resolv.conf
ms-dns 192.231.203.132
# netmask
netmask 255.255.255.0
Write this file into '/etc/ppp/tomtom.chat'
ATZ OK
ATD CONNECT
Write/Edit the file '/etc/bluetooth/rfcomm.conf'
#
# RFCOMM configuration file.
#
rfcomm0 {
# Automatically bind the device at startup
bind no;
# Bluetooth address of the device
# This is the address of my TomTom, put your own here!
device 00:13:6C:9C:A0:5A;
# RFCOMM channel for the connection
# This is appears to be the channel used for DUN
channel 2;
# Description of the connection
comment "Example Bluetooth device";
}
Start the Dial-Up Networking daemon. I found I needed to add the channel option.
# dund --dialup --listen --channel 2 call tomtom connect /etc/ppp/tomtom.sh
Register Dial-Up Networking service with bluetooth.
# sdptool add dun
Dial-Up Networking service registered
You can use '# sdptool records local' to see all local bluetooth services now registered.
You will need to add these commands to turn your PC into a router for the connection.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Now you are ready to connect with your TomTom, this is the tedious part as it has to be done manually.
Manage Phones -> Yes (search for phones) -> (select you linux machine) -> Continue -> Yes
Select your phone model: -> Other
Select your country: -> Other
Do you want to set up your wireless data connection manually? -> YES
Access point name: -> OK
Username: -> OK
Password: -> OK
Do you want to obtain your IP address automatically (DHCP) or do you want to set up your IP address manually? -> Automatic
Do you want to obtain your DNS server address automatically or do you want to set up your DNS server address manually? -> Automatic
Dial: -> OK
Login script: -> OK
Yes to all ensuing prompts and you are done!!!!