Connecting Nokia 6600 and Linux over Bluetooth HOWTO

Version 0.1h (09.01.05) (brain-dump,added gnubox-Link,update on Modules,received some success stories, kdebluetooth,sx1 notes)

Work on the Linux-Side

Disable kdebluetooth (kbluetoothd) for now. It conflicts with the channels we use. I will try to find settings which do not conflict.

You will need
ppp-support in the kernel (modules loaded, if compiled as modules)

<M> PPP (point-to-point protocol) support
[ ]   PPP multilink support (EXPERIMENTAL)
[*]   PPP filtering
<M>   PPP support for async serial ports
<M>   PPP support for sync tty ports
<M>   PPP Deflate compression
<M>   PPP BSD-Compress compression
<M>   PPP over Ethernet (EXPERIMENTAL)

Sure, not all are needed. As I have compiled everyting statically, I can't easily test which ones are needed.

bluez-support in the kernel:
<M>   L2CAP protocol support
<M>   SCO links support
<M>   RFCOMM protocol support
[*]     RFCOMM TTY support
<M>   BNEP protocol support
[*]     Multicast filter support
[*]     Protocol filter support

NAT/Masquerading in the kernel (except if you only want to access nodes on the lan)
ipforwarding activated (except if you only want to access the local machine itself)

pppd installed  (use version supplied by your distributor)
dund installed (bluez-utuls)
rfcomm installed (bluez-utils)
sdptool installed (bluez-utils)

If your distributor ships your distribution with bluetooth support, all tools should be available.

My hcid.conf

# HCI daemon configuration file.

options {
        autoinit yes;
        security user;
        pairing multi;
        pin_helper /etc/bluetooth/pin;
device {         name "BlueZ (%d)";         class 0x100;         iscan enable; pscan enable;         lm accept;         lp hold,sniff,park; }
My /etc/bluetooth/pin contains (remember to chmod u+x /etc/bluetooth/pin)
echo "PIN:1234"

/etc/bluetooth/rfcomm.conf contains perhaps some sample-configuration. Be aware, rfcomm0 may not work as expected

If bluetooth is installed properly on your machine, hcid and sdpd should be running.
Also /dev/rfcomm0, /dev/rfcomm1, ... and so on should exist.

hciconfig should print something like this:
hci0:   Type: USB
        BD Address: 00:20:E0:4A:73:F3 ACL MTU: 192:8  SCO MTU: 64:8
        RX bytes:107 acl:0 sco:0 events:14 errors:0
        TX bytes:300 acl:0 sco:0 commands:13 errors:0

hcitool scan should print something like this.
Scanning ...
        00:0E:6D:0E:63:53       Poldy2
So we now have the bt-id of your phone.  We will need it later.

Work to do on the phone

Setting up the AccesPoint

Verbindungsname = Bt
Datenträger = Datenanruf
Anwahlnummer = (some number, not important)
Benutzername = (none)
Passwort abfragen ) = Nein
Passwort = (none)
Authentifizierung = Normal
Homepage = (none)
Typ des Datenanrufs = Analog
Max. Datengeschw. = Automatisch

Options -> Erweiterte Einstell.
Telefon-IP-Adresse = Automatisch
Primärer DNS = (
Sekundärer DNS = (
Proxyserver-Adr. = (kein)
Proxy-Portnummer = (0)
Rückruf verwenden = nein
Rückruftyp = (Servernummer)
Rückrufnummer = (kein)
PPP-Komprimierung = Ja
Login-Skript verw. = Nein
Login-Script = (Kein)
Modem-Initialisierung = (Kein)

Running gnubox

Install gnubox on the phnoe gnubox6600.SIS
Note: You dont have to use the version provided here, but be sure to use a version compatible with Nokia 6600. You could compare the two binaries if you  want to be shure to install the correct version, but dont want to install the one provided here.

Optionen -> 2box Direct  -> Bluetooth

Important: "DefaultTelNum:" on the main-screen must show not the telephone-number you have prevously entered when setting up the Access-Point

Gnubox has only to be rerunned, when the access-point settings of "Bt" whre accidently edited and saved (i.e. entered a new telephonenumber).

You could check if gnubox worked properly by looking (dont save, use Optionen->Schließen) into the Access-Point-settings. The prevously entered telephonenumber should not be there any more. It should show "definition nötig" or something like this. Quit by using Optionen->Schließen

Not every version of gnubox works - you have to use the one for our phone.  You can find it on the link above or elsewhere.

Adding the glue

The first run

So, its time for the challenge!

execute in the shell:
sdptool add --channel=3 SP
dund -n --listen --channel 3 --msdun noauth crtscts 115200 ms-dns lock

where is the IP-Adress of your linux-machine (in my case its its address on the lan) and will be the adress of the phone. is the address of  the dns-server.

execute in another shell (replace the bt-id, since your phone will have another than mine):

rfcomm bind 3 00:0E:6D:0E:63:53  2
echo x > /dev/rfcomm3
This will memorize the bt-id

You should now be able to point Opera on a local installed webserver. Remember to set "Bt" as Access-Point in Opera, otherwise no connection over Bt is made.

If you have successfully installed, please let me know your firmware-version (*#0000#). Also if there is something missing here, let me also know. My Emailadress: n6600 (a-t) penzer dot de (will add a gif  or form later).

This Howto is based upon the documentation found under

This Howto is known to work with gentoo and FW-Version V / 03-11-03 / NHL-10 and V 5.27.0 / 28-06-04 / NHL-10 (just got an firmware-upgrade)

Firmwares known to be working
V / 03-11-03 / NHL-10
V 3.49.1 / 05-12-03 / NHL-10
V 3.42.1 / 16-10-03 / NHL-10
V 4.09.1 / 26-02-04 / NHL-10
V 3.49.2 / 20-01-04 / NHL-10
V 5.27.0 / 28-06-04 / NHL-10

Note:  Yet, there is no report, that there are versions that are proven not to be able to work with this howto (or provide the desired functionality)

Anmerkungen zum SX1 die ich per Email erhalten habe

0.1: Initial Version
0.1a: Added link to gnubox, more informations about needed modules
0.1b: Added new FW-Version
0.1c: Added warning about kbluetoothd and gnubox issues
0.1d: New Firmware known to be working
0.1e: New Firmware known to be working
0.1f: New Firmware known to be working
0.1g: SX1 notes