Re: Bluetooth ICS



Hi Dan,

> > Sorry if this question has been asked before, but I got a little bit
> > lost in my researches on the Internet.
> > 
> > Is it possible to enable connection sharing via Bluetooth between two
> > _computers_ ? One has an ethernet connection and a bluetooth dongle,
> > the other only has bluetooth. Does the bluetooth spec implements such
> > a possibility ?
> 
> Not quite yet, but we've got a feature request for it in bugzilla and
> I've already spent some time thinking about it and discussing
> implementation details with relevant people (Bastien, really).
> 
> The general idea is that you'd just check a "share my internet
> connection over bluetooth" somewhere, which would poke NM to start up
> sharing over bluetooth like any normal NM ICS works.
> 
> I have no idea when this would hit, since some of it depends on other UI
> components like gnome-bluetooth or kde-bluetooth.

actually this should not involve gnome-bluetooth or any Bluetooth UI
code at all. This should be a pure feature inside NetworkManager.

So for Bluetooth it does work a little bit different than for WiFi or
other technologies, because the profiles clearly define what needs to be
done. And there are qualification tests to ensure this.

The basic code in bluetoothd is present today, but we have to update the
D-Bus API to actually match reality. I have talked with Luiz about it
last time and I have the proposal here. Just need to push it and update
the code a little bit.

General idea is the following. NetworkManager has to create a bridge
interface and provide DHCP and DNS servers on this bridge. After that it
calls into bluetoothd via D-Bus and activates PAN server. Arguments are
the bridge interface name and some authentication details. Then if
someone connects over Bluetooth, a new bnepX networking interface will
be created and added to the bridge by bluetoothd. That is basically it.

And as a side note, nothing is stopping you to also use that bridge for
WiFi or anything else. However in that cases normally the bridge in
between is not required. With Bluetooth it actually is. Even if you can
potentially start many DHCP and DNS servers and point them individually
to every bnepX interface. I doesn't really follow the specification and
you lose the capabilities of link local support between the clients. And
we will not be exposing an API to access the individual bnepX interface
manually anyway. Especially since the bnepX namespace is shared between
clients and servers. In the end it is just an Ethernet emulation.

If you look at the uevent for Bluetooth BNEP interfaces these days, you
will see that they are clearly marked with DEVTYPE=bluetooth. And this
reminds me that we might need to add some sort of UUID=nap/panu field to
it to clearly distinguish the role of it. I have to look into this.

Regards

Marcel




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