*[Bluez-users] Multiple Bluetooth connections@ 2005-03-15 18:48 Pedro Monjo Florit
2005-03-15 19:27 ` sir
2005-03-16 9:42 ` Marcel Holtmann0 siblings, 2 replies; 12+ messages in thread
From: Pedro Monjo Florit @ 2005-03-15 18:48 UTC (permalink / raw)
To: bluez-users
Hi,
In the application that I am developing, I want to send simultaneous
OBEX messages to different OBEX servers over Bluetooth. I am using
OpenOBEX for this purpose. There are two problems I am facing.
On the one hand, it seems that there is only room to establish one
Bluetooth connection at a time. If I start many OBEX pushes
simultaneously, only the first one succeeds. The others fail usually
with error "Device or resource busy" (errno=16); sometimes even with
"Software caused connection abort" (errno=103). Once the first
connection is established and while sending OBEX data, I can establish
another connection.
I just want to make clear that the problem is with the establishment of
the connection. I am fully aware that it is possible to handle various
on-going connections with no problems and I have succeeded with that. Is
there a limitation with Bluetooth or BlueZ that allows only one RFCOMM,
L2CAP or HCI connection establishment?
On the other hand, some connections die before sending the data, but it
seems that the file descriptor of this connection does not receive any
notification (I use select() on all file descriptors, with the file
descriptor in the read mask). I know that this could be due to a problem
with my program, a problem with OpenOBEX or the BlueZ version I am using
(it is not the latest). In any case, to track down the cause, I would
like to know how can I monitor the Bluetooth connections (at any level,
but preferably RFCOMM) that a process (or the whole system) has. What I
am looking for is a tool like netstat.
Thanks & regards,
Pedro Monjo
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users^permalinkrawreply [flat|nested] 12+ messages in thread

*Re: [Bluez-users] Multiple Bluetooth connections
2005-03-15 18:48 [Bluez-users] Multiple Bluetooth connections Pedro Monjo Florit
2005-03-15 19:27 ` sir@ 2005-03-16 9:42 ` Marcel Holtmann
2005-03-16 11:23 ` Pedro Monjo Florit
[not found] ` <marcel@holtmann.org>
1 sibling, 2 replies; 12+ messages in thread
From: Marcel Holtmann @ 2005-03-16 9:42 UTC (permalink / raw)
To: BlueZ Mailing List
Hi Pedro,
> In the application that I am developing, I want to send simultaneous
> OBEX messages to different OBEX servers over Bluetooth. I am using
> OpenOBEX for this purpose. There are two problems I am facing.
>
> On the one hand, it seems that there is only room to establish one
> Bluetooth connection at a time. If I start many OBEX pushes
> simultaneously, only the first one succeeds. The others fail usually
> with error "Device or resource busy" (errno=16); sometimes even with
> "Software caused connection abort" (errno=103). Once the first
> connection is established and while sending OBEX data, I can establish
> another connection.
>
> I just want to make clear that the problem is with the establishment of
> the connection. I am fully aware that it is possible to handle various
> on-going connections with no problems and I have succeeded with that. Is
> there a limitation with Bluetooth or BlueZ that allows only one RFCOMM,
> L2CAP or HCI connection establishment?
this is a hardware limit and I don't know of any chip that is capable of
establishing two connections at the same time. From what I know this
will never be possible, but you should better ask a radio/baseband
expert for a correct answer.
> On the other hand, some connections die before sending the data, but it
> seems that the file descriptor of this connection does not receive any
> notification (I use select() on all file descriptors, with the file
> descriptor in the read mask). I know that this could be due to a problem
> with my program, a problem with OpenOBEX or the BlueZ version I am using
> (it is not the latest). In any case, to track down the cause, I would
> like to know how can I monitor the Bluetooth connections (at any level,
> but preferably RFCOMM) that a process (or the whole system) has. What I
> am looking for is a tool like netstat.
Using poll() or select() is the right way. About what version of the
kernel and library/utils are we talking?
Regards
Marcel
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users^permalinkrawreply [flat|nested] 12+ messages in thread

*Re: [Bluez-users] Multiple Bluetooth connections
[not found] ` <marcel@holtmann.org>
@ 2005-03-16 10:40 ` Peter Stephenson
2018-10-30 10:24 ` [PATCH v2] Bluetooth: Support fast advertising interval Bharat Bhusan Panda
1 sibling, 0 replies; 12+ messages in thread
From: Peter Stephenson @ 2005-03-16 10:40 UTC (permalink / raw)
To: bluez-users
Marcel Holtmann wrote:
> this is a hardware limit and I don't know of any chip that is capable of
> establishing two connections at the same time. From what I know this
> will never be possible, but you should better ask a radio/baseband
> expert for a correct answer.
Below HCI, it won't work in a typical set up. The usual scan mode is "R1
page scan repetition mode" where the device scans at least (and usually
only) every 1.28 seconds, usually for 18 slots. If you try to page
two devices at once, you run the risk of switching to paging the other
device at exactly the short window you need to pick up one device,
and hence miss it altogether. You can do it when the devices are in
"R0" (continuous scan) but then connection time should be more or
less instantaneous anyway and there's no gain. So it's not supported
by HCI_Create_Connection.
Once you have an ACL connection, it should be entirely possible to
negotiate multiple channels over the top of it, depending on the
software.
pws
**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
**********************************************************************
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users^permalinkrawreply [flat|nested] 12+ messages in thread

*Re: [Bluez-users] Multiple Bluetooth connections
2005-03-16 9:42 ` Marcel Holtmann@ 2005-03-16 11:23 ` Pedro Monjo Florit
2005-03-16 11:44 ` Marcel Holtmann
[not found] ` <marcel@holtmann.org>
1 sibling, 1 reply; 12+ messages in thread
From: Pedro Monjo Florit @ 2005-03-16 11:23 UTC (permalink / raw)
To: bluez-users
[-- Attachment #1: Type: text/plain, Size: 2016 bytes --]
Hi Marcel,
>this is a hardware limit and I don't know of any chip that is capable of
>establishing two connections at the same time. From what I know this
>will never be possible, but you should better ask a radio/baseband
>expert for a correct answer.
>
Thank you for the information. Together with the post of Peter
Stephenson (thank you, Peter), it seems that this problem cannot be
circumvented as I want to connect to different devices (as I understand,
various ACL connections; is this right?). I will have to live with it. :-(
>>On the other hand, some connections die before sending the data, but it
>>seems that the file descriptor of this connection does not receive any
>>notification (I use select() on all file descriptors, with the file
>>descriptor in the read mask). I know that this could be due to a problem
>>with my program, a problem with OpenOBEX or the BlueZ version I am using
>>(it is not the latest). In any case, to track down the cause, I would
>>like to know how can I monitor the Bluetooth connections (at any level,
>>but preferably RFCOMM) that a process (or the whole system) has. What I
>>am looking for is a tool like netstat.
>>
>
>Using poll() or select() is the right way. About what version of the
>kernel and library/utils are we talking?
>
I am using SuSE 9.1 with the latest updates from SuSE: kernel
2.6.5-7.147-default, bluez-libs 2.5-43 and bluez-utils 2.4-65. I know
they are old, so it could perfectly be a problem with them; therefore I
am planning an upgrade, but I am not quite sure whether I will be able
to use the latest BlueZ upgrades. The problem with the lost established
connections does not happen always, so I still have to look exactly why
this happens. In any case, besides that, everything else works as
expected. The only thing I am missing is a tool like "netstat" for
Internet an Unix sockets. "lsof" does not give any information either.
Is there anything of the like for BlueZ?
In any, case, thanks for the help.
Pedro
[-- Attachment #2: Type: text/html, Size: 2545 bytes --]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Marcel,<br>
<blockquote cite="mid1110966130.9818.95.camel@pegasus" type="cite">
<pre wrap=""><!---->this is a hardware limit and I don't know of any chip that is capable of
establishing two connections at the same time. From what I know this
will never be possible, but you should better ask a radio/baseband
expert for a correct answer.
</pre>
</blockquote>
Thank you for the information. Together with the post of Peter
Stephenson (thank you, Peter), it seems that this problem cannot be
circumvented as I want to connect to different devices (as I
understand, various ACL connections; is this right?). I will have to
live with it. :-(<br>
<blockquote cite="mid1110966130.9818.95.camel@pegasus" type="cite">
<pre wrap=""></pre>
<blockquote type="cite">
<pre wrap="">On the other hand, some connections die before sending the data, but it
seems that the file descriptor of this connection does not receive any
notification (I use select() on all file descriptors, with the file
descriptor in the read mask). I know that this could be due to a problem
with my program, a problem with OpenOBEX or the BlueZ version I am using
(it is not the latest). In any case, to track down the cause, I would
like to know how can I monitor the Bluetooth connections (at any level,
but preferably RFCOMM) that a process (or the whole system) has. What I
am looking for is a tool like netstat.
</pre>
</blockquote>
<pre wrap=""><!---->
Using poll() or select() is the right way. About what version of the
kernel and library/utils are we talking?
</pre>
</blockquote>
I am using SuSE 9.1 with the latest updates from SuSE: kernel
2.6.5-7.147-default, bluez-libs 2.5-43 and bluez-utils 2.4-65. I know
they are old, so it could perfectly be a problem with them; therefore I
am planning an upgrade, but I am not quite sure whether I will be able
to use the latest BlueZ upgrades. The problem with the lost established
connections does not happen always, so I still have to look exactly why
this happens. In any case, besides that, everything else works as
expected. The only thing I am missing is a tool like "netstat" for
Internet an Unix sockets. "lsof" does not give any information either.
Is there anything of the like for BlueZ?<br>
<br>
In any, case, thanks for the help.<br>
<br>
Pedro<br>
</body>
</html>
^permalinkrawreply [flat|nested] 12+ messages in thread

*Re: [Bluez-users] Multiple Bluetooth connections
2005-03-16 11:23 ` Pedro Monjo Florit@ 2005-03-16 11:44 ` Marcel Holtmann0 siblings, 0 replies; 12+ messages in thread
From: Marcel Holtmann @ 2005-03-16 11:44 UTC (permalink / raw)
To: BlueZ Mailing List
Hi Pedro,
> > this is a hardware limit and I don't know of any chip that is capable of
> > establishing two connections at the same time. From what I know this
> > will never be possible, but you should better ask a radio/baseband
> > expert for a correct answer.
> >
> Thank you for the information. Together with the post of Peter
> Stephenson (thank you, Peter), it seems that this problem cannot be
> circumvented as I want to connect to different devices (as I
> understand, various ACL connections; is this right?). I will have to
> live with it. :-(
you can have multiple ACL connections. If this is a CSR chip you need at
least the HCI 16.4 firmware on it. However you can't create them at the
same time. If one is established you can create another one. Up to seven
if you keep the roles (master/slave) correct.
> > > On the other hand, some connections die before sending the data, but it
> > > seems that the file descriptor of this connection does not receive any
> > > notification (I use select() on all file descriptors, with the file
> > > descriptor in the read mask). I know that this could be due to a problem
> > > with my program, a problem with OpenOBEX or the BlueZ version I am using
> > > (it is not the latest). In any case, to track down the cause, I would
> > > like to know how can I monitor the Bluetooth connections (at any level,
> > > but preferably RFCOMM) that a process (or the whole system) has. What I
> > > am looking for is a tool like netstat.
> > >
> >
> > Using poll() or select() is the right way. About what version of the
> > kernel and library/utils are we talking?
> >
> I am using SuSE 9.1 with the latest updates from SuSE: kernel
> 2.6.5-7.147-default, bluez-libs 2.5-43 and bluez-utils 2.4-65. I know
> they are old, so it could perfectly be a problem with them; therefore
> I am planning an upgrade, but I am not quite sure whether I will be
> able to use the latest BlueZ upgrades. The problem with the lost
> established connections does not happen always, so I still have to
> look exactly why this happens. In any case, besides that, everything
> else works as expected. The only thing I am missing is a tool like
> "netstat" for Internet an Unix sockets. "lsof" does not give any
> information either. Is there anything of the like for BlueZ?
We don't have any tool like this. May you wanna check /proc/bluetooth/
and make use of hcidump.
Regards
Marcel
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users^permalinkrawreply [flat|nested] 12+ messages in thread