2006-12-08 08:45:08

by Tianlei Zhao

[permalink] [raw]
Subject: [Bluez-users] How to setup a reliable RFCOMM connection

How to setup a reliable RFCOMM connection, that is, a connection with
infinite flush timeout. I find the RFCOMM_LM_RELIABLE option in the
example program l2test.c. It compiles, but at runtime setsockopt with
RFCOMM_LM give me an error. I'm using kernel-2.4.21 patched by
patch-2.4.21-mh10. So what's the problem. Doesn't kernel-2.4.21-mh10
support RFCOMM_LM? If so, how can I setup a reliable RFCOMM connection?

--
AWAKE! FEAR! FIRE! FOES! AWAKE!
FEAR! FIRE! FOES!
AWAKE! AWAKE!
-- J. R. R. Tolkien

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users


2006-12-10 14:18:53

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] [Bluez-users] How to setup a reliable RFCOMM connection

Hi,

> > > > > How to setup a reliable RFCOMM connection, that is, a connection with
> > > > > infinite flush timeout. I find the RFCOMM_LM_RELIABLE option in the
> > > > > example program l2test.c. It compiles, but at runtime setsockopt with
> > > > > RFCOMM_LM give me an error. I'm using kernel-2.4.21 patched by
> > > > > patch-2.4.21-mh10. So what's the problem. Doesn't kernel-2.4.21-mh10
> > > > > support RFCOMM_LM? If so, how can I setup a reliable RFCOMM connection?
> > > >
> > > > the RFCOMM channels are always reliable. No need for any other options.
> > > >
> > > Does that mean that the Automatic Flush Timeout Timer for the L2CAP
> > > connection underlying the RFCOMM connection is set to 0xFFFF by
> > > default? And when does the RFCOMM_LM option introduced?
> >
> > this won't fly. The underlaying L2CAP connection must be reliable and so
> > we are not using an automatic flush timeout at all for that channel.
> > Please check the specification for details.
> In my understanding of the specification, the Automatic Flush Timeout
> is applied on a connection handle which corresponds to the ACL link.
> So does that mean once a RFCOMM connection is established, the
> automatic flush timeout would be disabled(to ensure link reliability)?
> Or that bluez doesn't use automatic flush timeout at all for all
> connections?

we should use automatic flush timeout, but we actually don't. It
currently makes no sense for use to use it, because all upper layers
assume that the lower layers are reliable. With Bluetooth 2.1 this will
change and you can mark L2CAP channels as flushable. This is needed for
the A2DP audio channels were it doesn't matter if you loose a packet.

Regards

Marcel



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-12-10 14:10:30

by Tianlei Zhao

[permalink] [raw]
Subject: Re: [Bluez-users] [Bluez-devel] How to setup a reliable RFCOMM connection

On Sun, Dec 10, 2006 at 01:39:32PM +0100, Marcel Holtmann wrote:
> Hi,
>
> > > > How to setup a reliable RFCOMM connection, that is, a connection with
> > > > infinite flush timeout. I find the RFCOMM_LM_RELIABLE option in the
> > > > example program l2test.c. It compiles, but at runtime setsockopt with
> > > > RFCOMM_LM give me an error. I'm using kernel-2.4.21 patched by
> > > > patch-2.4.21-mh10. So what's the problem. Doesn't kernel-2.4.21-mh10
> > > > support RFCOMM_LM? If so, how can I setup a reliable RFCOMM connection?
> > >
> > > the RFCOMM channels are always reliable. No need for any other options.
> > >
> > Does that mean that the Automatic Flush Timeout Timer for the L2CAP
> > connection underlying the RFCOMM connection is set to 0xFFFF by
> > default? And when does the RFCOMM_LM option introduced?
>
> this won't fly. The underlaying L2CAP connection must be reliable and so
> we are not using an automatic flush timeout at all for that channel.
> Please check the specification for details.
In my understanding of the specification, the Automatic Flush Timeout
is applied on a connection handle which corresponds to the ACL link.
So does that mean once a RFCOMM connection is established, the
automatic flush timeout would be disabled(to ensure link reliability)?
Or that bluez doesn't use automatic flush timeout at all for all
connections?

--
He that is giddy thinks the world turns round.
-- William Shakespeare, "The Taming of the Shrew"

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2006-12-10 12:39:32

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-users] [Bluez-devel] How to setup a reliable RFCOMM connection

Hi,

> > > How to setup a reliable RFCOMM connection, that is, a connection with
> > > infinite flush timeout. I find the RFCOMM_LM_RELIABLE option in the
> > > example program l2test.c. It compiles, but at runtime setsockopt with
> > > RFCOMM_LM give me an error. I'm using kernel-2.4.21 patched by
> > > patch-2.4.21-mh10. So what's the problem. Doesn't kernel-2.4.21-mh10
> > > support RFCOMM_LM? If so, how can I setup a reliable RFCOMM connection?
> >
> > the RFCOMM channels are always reliable. No need for any other options.
> >
> Does that mean that the Automatic Flush Timeout Timer for the L2CAP
> connection underlying the RFCOMM connection is set to 0xFFFF by
> default? And when does the RFCOMM_LM option introduced?

this won't fly. The underlaying L2CAP connection must be reliable and so
we are not using an automatic flush timeout at all for that channel.
Please check the specification for details.

Regards

Marcel



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2006-12-09 01:50:00

by Tianlei Zhao

[permalink] [raw]
Subject: Re: [Bluez-devel] [Bluez-users] How to setup a reliable RFCOMM connection

On Fri, Dec 08, 2006 at 11:24:31AM +0100, Marcel Holtmann wrote:
> Hi,
>
> > How to setup a reliable RFCOMM connection, that is, a connection with
> > infinite flush timeout. I find the RFCOMM_LM_RELIABLE option in the
> > example program l2test.c. It compiles, but at runtime setsockopt with
> > RFCOMM_LM give me an error. I'm using kernel-2.4.21 patched by
> > patch-2.4.21-mh10. So what's the problem. Doesn't kernel-2.4.21-mh10
> > support RFCOMM_LM? If so, how can I setup a reliable RFCOMM connection?
>
> the RFCOMM channels are always reliable. No need for any other options.
>
Does that mean that the Automatic Flush Timeout Timer for the L2CAP
connection underlying the RFCOMM connection is set to 0xFFFF by
default? And when does the RFCOMM_LM option introduced?



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-12-08 10:24:31

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] [Bluez-users] How to setup a reliable RFCOMM connection

Hi,

> How to setup a reliable RFCOMM connection, that is, a connection with
> infinite flush timeout. I find the RFCOMM_LM_RELIABLE option in the
> example program l2test.c. It compiles, but at runtime setsockopt with
> RFCOMM_LM give me an error. I'm using kernel-2.4.21 patched by
> patch-2.4.21-mh10. So what's the problem. Doesn't kernel-2.4.21-mh10
> support RFCOMM_LM? If so, how can I setup a reliable RFCOMM connection?

the RFCOMM channels are always reliable. No need for any other options.

Regards

Marcel



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel