2008-09-18 09:42:19

by Reto Bachmann

[permalink] [raw]
Subject: [Bluez-devel] What happens with bluetooth when connection is interrupted

Hi to all,

I have a little question. I have to develop an Application where it can
happen that the connection interrupts. I poll the adapter every second to
see if I am still connected to the specific device. Now I have to know if
there is a possibility that the bluez-function "isConnected(string address)"
(D-Bus-Function) returns false but the connection itself is recovered by the
BT-Stack so the connection would still exist.

Kind regards,
Reto


Attachments:
(No filename) (452.00 B)
(No filename) (503.00 B)
(No filename) (363.00 B)
(No filename) (164.00 B)
Download all attachments

2008-09-22 06:08:34

by Reto Bachmann

[permalink] [raw]
Subject: Re: [Bluez-devel] What happens with bluetooth when connection is interrupted

Hi Patryk,

i see the problems and I will change it. I now made some tests and i found
out that the library waits for a specific time until it sends the signal. I
suppose that in this time it tries to repair the connection.

Is it possible to manage this time period with compiling flags or something?

Thanks,
Reto

2008/9/19 Patryk Zawadzki <[email protected]>

> On Fri, Sep 19, 2008 at 8:56 AM, Reto Bachmann <[email protected]>
> wrote:
> > So I need to connect the D-Bus signal RemoteDeviceDisconnected to find
> out
> > that I am not connected anymore?
> >
> > Why shouldn't I poll for a status? Is it just because a signal is sent
> > either way or is the status i ask for not the true status?
>
> Because polling is the worst strategy both CPU- and power-wise. It
> causes frequent wakeups that waste power and prevent CPUs from
> entering a deep idle state. They also generate unnecessary traffic for
> the IPC mechanism so if every program decided to poll for something
> once a second, services like DBus would likely get hosed.
>
> --
> Patryk Zawadzki
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Bluez-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
>


Attachments:
(No filename) (1.59 kB)
(No filename) (2.36 kB)
(No filename) (363.00 B)
(No filename) (164.00 B)
Download all attachments

2008-09-19 08:18:55

by Patryk Zawadzki

[permalink] [raw]
Subject: Re: [Bluez-devel] What happens with bluetooth when connection is interrupted

On Fri, Sep 19, 2008 at 8:56 AM, Reto Bachmann <[email protected]> wrote:
> So I need to connect the D-Bus signal RemoteDeviceDisconnected to find out
> that I am not connected anymore?
>
> Why shouldn't I poll for a status? Is it just because a signal is sent
> either way or is the status i ask for not the true status?

Because polling is the worst strategy both CPU- and power-wise. It
causes frequent wakeups that waste power and prevent CPUs from
entering a deep idle state. They also generate unnecessary traffic for
the IPC mechanism so if every program decided to poll for something
once a second, services like DBus would likely get hosed.

--
Patryk Zawadzki

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2008-09-19 06:56:05

by Reto Bachmann

[permalink] [raw]
Subject: Re: [Bluez-devel] What happens with bluetooth when connection is interrupted

Hi Marcel,


whatever you do don't poll for a status. You will get a D-Bus signal if
> you are connected or paired etc. Check how bluez-gnome is doing it.


So I need to connect the D-Bus signal RemoteDeviceDisconnected to find out
that I am not connected anymore?

Why shouldn't I poll for a status? Is it just because a signal is sent
either way or is the status i ask for not the true status?

Regards,

Reto


>
>
> Regards
>
> Marcel
>
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Bluez-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
>


Attachments:
(No filename) (997.00 B)
(No filename) (1.74 kB)
(No filename) (363.00 B)
(No filename) (164.00 B)
Download all attachments

2008-09-18 17:11:50

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] What happens with bluetooth when connection is interrupted

Hi Reto,

> I have a little question. I have to develop an Application where it
> can happen that the connection interrupts. I poll the adapter every
> second to see if I am still connected to the specific device. Now I
> have to know if there is a possibility that the bluez-function
> "isConnected(string address)" (D-Bus-Function) returns false but the
> connection itself is recovered by the BT-Stack so the connection would
> still exist.

whatever you do don't poll for a status. You will get a D-Bus signal if
you are connected or paired etc. Check how bluez-gnome is doing it.

Regards

Marcel



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2008-09-18 12:08:37

by rakesh agarwal

[permalink] [raw]
Subject: Re: [Bluez-devel] What happens with bluetooth when connection is interrupted

Hi to all,

Can anyone post a sample program for bonding with bluetooth device in C
language.

Regards,
Rakesh


On Thu, Sep 18, 2008 at 3:12 PM, Reto Bachmann <[email protected]>wrote:

> Hi to all,
>
> I have a little question. I have to develop an Application where it can
> happen that the connection interrupts. I poll the adapter every second to
> see if I am still connected to the specific device. Now I have to know if
> there is a possibility that the bluez-function "isConnected(string address)"
> (D-Bus-Function) returns false but the connection itself is recovered by the
> BT-Stack so the connection would still exist.
>
> Kind regards,
> Reto
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Bluez-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
>
>


Attachments:
(No filename) (1.19 kB)
(No filename) (1.77 kB)
(No filename) (363.00 B)
(No filename) (164.00 B)
Download all attachments