Linux - Nokia 6600

I did this couple of years before, now I don't even have that phone
Requirements:
Nokia 6600 installed with p3nfs

Procedure:


Download (and install) the needed software from bluez.sourceforge.net


a. bluez-libs-2.3
b. bluez-utils-2.2
c. bluez-bluefw-0.9
Further you need the bluez drivers which are part of any kernel >= 2.4.20.For those with older kernel, bluez-kernel-2.3 (deprecated) seems to work.
Or check whether the following utilities are installed or not

$> rpm -qa|grep bluez
bluez-bluefw-1.0-2.i386.rpm
bluez-hcidump-1.5-4.i386.rpm
bluez-libs-2.5-2.1.i386.rpm
bluez-libs-devel-2.5-2.1.i386.rpm
bluez-pan-1.1-4.i386.rpm
bluez-pin-0.23-1.i386.rpm
bluez-sdp-1.5-2.1.i386.rpm
bluez-sdp-devel-1.5-2.1.i386.rpm
bluez-utils-2.4-3.i386.rpm

Otherwise install everything



add the following lines to /etc/modules.conf


alias net-pf-31 bluez
alias bt-proto-0 l2cap
alias bt-proto-2 sco
alias bt-proto-3 rfcomm


Start bluetooth services


Get the Bluetooth device address of the phone:

e.g. with hcitool inq. Switch to bluetooth mode in nfsclient (see below on how), and remember the rfcomm port. It should be 13.



Revise your /etc/bluetooth/rfcomm.conf


rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:0e:6d:31:aa:38;
# RFCOMM channel for the connection
channel 3;
# Description of the connection
comment "Hopeless Case";
}


In your /etc/bluetooth/hcid.conf disable the following two lines by remarking with #s


auth enable;
encrypt enable;


$> killall -HUP hcid


$> hciconfig hci0 up // to detect and get your USB device up.


hci0: Type: USB
BD Address: 00:0C:76:D3:C7:06 ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:197801 acl:3082 sco:0 events:6916 errors:0
TX bytes:1354416 acl:11245 sco:0 commands:142 errors:0


$> hcitool scan


Scanning ...
00:0E:6D:31:AA:38 Becks 6600 // ok it can see the phone


** On your 6600, under Connectivity->Bluetooth->Paired-Devices select "New Paired Device"
and wait for it to detect your PC's BT. It should now ask for a PIN. After you have paired
your new device, Authorize it


Now try pinging the device to further confirm BT link-up


$> l2ping 00:0E:6D:31:AA:38
0 bytes from 00:0E:6D:31:AA:38 id 200 time 45.03ms
0 bytes from 00:0E:6D:31:AA:38 id 201 time 15.16ms
0 bytes from 00:0E:6D:31:AA:38 id 202 time 15.50ms
3 sent, 3 received, 0% loss


Check if /dev/rfcomm0 exists, if not, you'll have to make it manually


$> mknod -m 660 /dev/rfcomm0 c 216 0
$> mknod -m 660 /dev/rfcomm1 c 216 0
$> mknod -m 660 /dev/rfcomm2 c 216 0
$> chgrp uucp /dev/rfcomm*


Establish a potential bluetooth connection with rfcomm (as root)

# rfcomm bind /dev/rfcomm0 13
- You can verify the rfcomm state by calling rfcomm without arguments
- The last argument (port) must correspond to the number shown by nfsclient on the device.
Note: due to a bug in nfsclient, it was usually 3 on series60 devices and 4 on the p800 up till nfsclient version 2.6. On newer versions it should be 13 if no program occupied this rfcomm port before.


First time device connection / Bluetooth PIN

As entering the pin on the Linux side does not seem to work, I had success with the following workaround:
Change /bin/bluepin to:
#!/bin/sh
cat /etc/bluetooth/pin
and /etc/bluetooth/pin to
PIN:0000
Now you can type 0000 on the Phone as it requests the PIN.


Start nfsapp on the 6600 and switch to bluetooth

- by pressing the joystick (or 'p').


Start p3nfsd with

% p3nfsd -series60 -tty /dev/rfcomm0
or
% p3nfsd -UIQ -tty /dev/rfcomm0
There is no difference at the moment between these settings as you can verify it with:
% p3nfsd -series60 -tty /dev/rfcomm0 -h
or
% p3nfsd -UIQ -tty /dev/rfcomm0 -h