Re: Bluetooth PAN support



On Wed, 2007-10-03 at 11:35 +0100, Bastien Nocera wrote:
> On Tue, 2007-10-02 at 23:53 -0400, Justin Haygood wrote:
> > I was just interested and seeing what people thought about adding
> > support for Bluetooth PAN (Personal Area Network) to NetworkManager? If
> > noone objects, I might try to play around with it, I don't see it being
> > to complicated, thought I could use some UI suggestions :).
> > 
> > I believe its as simple as hooking up the UI to bluez to let you connect
> > to the Bluetooth PAN network, and having the backend service initialize
> > the connection, and it'd be extremely useful for us users whose phones
> > support PAN. 
> 
> There's already a patch to do that at:
> http://bugzilla.gnome.org/show_bug.cgi?id=432774
> 
> I haven't tested it myself...

The problem with this patch is that it did most of the stuff in the
applet, not NM.  NM needs to know about these things.  So at a minimum,
what needs to happen is to:

1) Define a new Bluetooth device class, perhaps NMDeviceBluetooth

2) Define a connection settings object for NMDeviceBluetooth here:
    http://live.gnome.org/NetworkManagerConfigurationSpecification

3) Define a connection settings object for BT PAN

Basically, NM should keep an internal list of BT adapters (just like a
wireless card).  Your Phone or other BT device would be just like a
wireless network is currently displayed in the menu.  So if I turn my
phone on, and enable Bluetooth, if I have paired with my phone before NM
should notice the phone and add it to that BT devices' internal list.  I
should be able to have an NMConnection describing the BT PAN (or DUN)
connection, and I should be able to click that connection from the
applet and have NM tell bluez to activate that connection, just like I
can click wireless networks now.

NM should be discovering adapaters with the org.bluez.Manager interface.
NM should be discovering remote devices using the org.bluez.Adapter
interface using the DiscoverDevices() method, or starting periodic
discovery instead, or ListRemoteDevices().  When a device appears, NM
should inspect that devices profiles.  If a profile that the device
supports (DUN, PAN, etc) matches up with one of the user-configured
NMConnection objects, NM should allow that NMConnection to be activated
on that remote device.

Dan






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]