Thread: PAN & Os2008
View Single Post
Posts: 1,097 | Thanked: 650 times | Joined on Nov 2007
#42
Below are the steps as to how I setup on both devices and got BT PAN connection working on my Blackjack and Nokia N810.

On the Blackjack (with WM5)
--------------------------------------------

1) Turn on Bluetooth on your phone (Settings -> Connections -> Bluetooth
2) Goto Settings -> Connections -> Bluetooth -> My Information Setting
and note down the Device Name (as you set it up) and the Device address
(Note: these two values will go in the script that is setup on the N810 side for variables BTADDR and BTNAME)
3) Goto Applications -> File Explorer
4) Get into the \Windows directory
5) Scroll down to "Internet Sharing" program and start it
(see tips online on how to make a shortcut to it on WM5 desktop, since this has to be run each time you connect).
6) On PC Connection setting select Bluetooth PAN
On Network Connection : Select whichever setting came with your ISP (Media Net for me with AT&T)
7) Press Connect on the Blackjack menu after putting in above settings.


On Nokia N810 (with OS2008 OS)
------------------------------------------------

a) on IT get the root access by getting gainroot (install the becomeroot package).
becomeroot is available in the Eko One repository here:
http://www.gronmayer.com/it/index.ph...&system=maemo4


for all terminal commands, first get root permission by doing command

> "sudo gainroot"

b) Create a 'default' network connection from terminal with below command
> gconftool -s -t string /system/osso/connectivity/IAP/DEFAULT/type DUMMY


Note : Its is better to reboot you Nokia after this point and contiinute from there.

c) Setup Bluetooth pairing with your Bluetooth phone (by starting BT on both devices and pairing by entering the code as asked for on first time)

Edit : Just found that you also have to have Blutetooth Visible on the phone for the script top be able to connect. So Put BT ON and BT Visible YES.

d) Get the script as below and save on device as "pan_start.sh"
Replace the Lines for variables BTADDR and BTNAME with values as written down from Step 2 from Blackjack (Phone) setup.

e) Save the script on device as "pan_start.sh"

f) Make the file executable in terminal (as root - see sudo gainroot command above) as below by going to directory where file is saved

> cd <directory where file saved on device>

> chmod +x pan_start.sh

g) Now on Network connection - select the already created "DEFAULT" connection and connect

-------- At this step make sure Step 5, Step 6 and Step 7 is followed on Blackjack (phone) ----
-------- Make sure Bluetooth on Nokia N810 is started on ------

g) From terminal execute the pan_start script as below
> cd <directory where file saved on device>
> ./pan_start.sh

h) This should get you connected to the Phone over PAN on Bluetooth.

Hope this works for you all,
Allbest

pan_start.sh script follows below
--------------------------------------------

#!/bin/sh
# use gainroot to become root and relaunch itself

if [ `id -u` != 0 ] ; then
echo 'root'
#if not already root, call itself as root
exec sudo gainroot <<EOF
exec $0 $*
EOF
exit $?
else
echo 'notroot'
fi
# real script follows

BTADDR='00:12:34:AB:56:78' # replace with your BT Address of phone
BTNAME="Nil_blackjack" # user your Phone BT Name as assigned
#IP=192.168.2.2
#GW=192.168.2.1
NS=192.168.2.1
PAN_ROLE=NAP # remote PAN role, one of NAP, GN

infoprint(){
DBUS_SESSION_BUS_ADDRESS='unixath=/tmp/session_bus_socket' dbus-send --session --print-reply --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint "string:$*" &
}

dbus_method(){
local dest=$1
shift
DBUS_REPLY=$(dbus-send 2>&1 --system --type=method_call --print-reply --dest="$dest" $* )
}

dbus_result(){
echo $DBUS_REPLY | cut -d ' ' -f 7 | tr -d \"
}

find_connection(){
#find or create connection
if dbus_method org.bluez /org/bluez org.bluez.Manager.ActivateService string:network ; then
NET_BUS=$(dbus_result)
# echo destination $NET_BUS
if dbus_method "${NET_BUS}" /org/bluez/network org.bluez.network.Manager.FindConnection string:"${BTADDR}" ; then
CONN=$(dbus_result)
else
if dbus_method "${NET_BUS}" /org/bluez/network org.bluez.network.Manager.CreateConnection string:"${BTADDR}" string:"$PAN_ROLE" ; then
CONN=$(dbus_result)
fi
fi
fi
}


bnep_start(){
#find_connection
if [ "$CONN" != "" ] ; then
echo connection $CONN
if dbus_method "${NET_BUS}" ${CONN} org.bluez.network.Connection.Connect ; then
BNEPDEV=$(dbus_result)
echo connected to $BNEPDEV
#ifconfig $BNEPDEV $IP up
#if route -n | grep -q '^0.0.0.0' ; then
# echo "default gateway already set, skipping GW and DNS setting"
#else
# route add default gw $GW
# echo "nameserver $NS" >/tmp/resolv.conf.lo
#fi
udhcpc -i $BNEPDEV
[ -t 1 ] || infoprint "Connected to $BTNAME"
fi
fi
}

bnep_stop(){
#find_connection
if [ "$CONN" != "" ] ; then
echo connection $CONN
if dbus_method "${NET_BUS}" ${CONN} org.bluez.network.Connection.Disconnect ; then
echo "OK, bringing down"
echo -n '' >/tmp/resolv.conf.lo
[ -t 1 ] || infoprint "$BTNAME disconnected"
fi
fi
}

echo "Searching for $BTADDR ..."
[ -t 1 ] || infoprint "Searching for $BTADDR"
find_connection
if [ "$CONN" = "" ] ; then
echo $DBUS_REPLY
echo "Setting up connection to $BTADDR failed"
[ -t 1 ] || infoprint "Connection to $BTADDR failed"
exit
fi

COMMAND=$1
if [ "$COMMAND" = "" ] ; then
dbus_method "${NET_BUS}" ${CONN} org.bluez.network.Connection.IsConnected
if [ "$(dbus_result)" = "true" ] ; then
COMMAND=stop
else
COMMAND=start
fi
echo $COMMAND
fi

case $COMMAND in
start) bnep_start ;;
stop) bnep_stop ;;
esac

Last edited by nilchak; 2008-02-08 at 19:28.
 

The Following User Says Thank You to nilchak For This Useful Post: