maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   General (https://talk.maemo.org/forumdisplay.php?f=7)
-   -   Initiate BT PAN connection from N900 to another N900 (https://talk.maemo.org/showthread.php?t=82750)

bozoid 2012-03-03 16:46

Initiate BT PAN connection from N900 to another N900
 
Hi,

Anyone has any idea how I can initiate a BT (Bluetooth) PAN connection from one N900 to another N900?

Looked around quite a few N900 BT PAN topics but could not find the answer I want. At least, they're not very clear.
I've only managed to make my N900 accept BT PAN connections from my laptop & do tethering based on another thread.
It's not faster than BT DUN though.. :(

So, BT PAN connection initiation anyone?

Best regards,

bozoid

phedders 2012-03-04 21:52

Re: Initiate BT PAN connection from N900 to another N900
 
Well I dont know of a way to do it from the GUI, but you could make a script from the below and run it from QBC or launcher etc.

See the little python script in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth to get an idea. The one I use is this (I cant remember where it came from - I cant claim it as my own):

Code:

#!/usr/bin/python

import sys
import time
import dbus
from optparse import OptionParser, make_option

bus = dbus.SystemBus()

manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager")

option_list = [
                make_option("-i", "--device", action="store",
                                type="string", dest="dev_id"),
                ]
parser = OptionParser(option_list=option_list)

(options, args) = parser.parse_args()

if options.dev_id:
        adapter_path = manager.FindAdapter(options.dev_id)
else:
        adapter_path = manager.DefaultAdapter()

adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path), "org.bluez.Adapter")

if (len(args) < 1):
        print "Usage: %s <address> [service]" % (sys.argv[0])
        sys.exit(1)

address = args[0]

if (len(args) < 2):
        service = "panu"
else:
        service = args[1]

device = adapter.FindDevice(address)

network = dbus.Interface(bus.get_object("org.bluez", device), "org.bluez.Network")

iface = network.Connect(service)

print "Connected %s to %s" % (device, address)

#print "Press CTRL-C to disconnect"

try:
        time.sleep(100000000)
        print "Terminating connection"
except:
        pass

network.Disconnect()

You can run it with just one argument - the bluetooth mac of the destination device.

Works for me :)

bozoid 2012-03-05 17:48

Re: Initiate BT PAN connection from N900 to another N900
 
Thanks! Exactly what I was looking for!
Had thought I'd need some dbus magic (which only almost work).
Appreciate it lots. :)

Only thing I'd change in that script is the top line to this:

#!/usr/bin/env python

Best regards,

bozoid

ric9K 2012-06-01 14:43

Re: Initiate BT PAN connection from N900 to another N900
 
Ok, found the other device's address with hciconfig (run on the other device with bt enabled.
I have run the script with the address, no error message.

May sound stupid but...
What do we do now to connect the devices/ send files etc?

Thanks!

ric9K 2012-06-02 19:04

Re: Initiate BT PAN connection from N900 to another N900
 
rtfm but which one?


All times are GMT. The time now is 07:52.

vBulletin® Version 3.8.8