All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Bluetooth update for 2.4.23-pre2
       [not found] <1062432872.13729.185.camel@pegasus>
@ 2003-09-12 17:44 ` Max Krasnyansky
  2003-09-12 22:48   ` [Bluez-devel] " Marcel Holtmann
  0 siblings, 1 reply; 8+ messages in thread
From: Max Krasnyansky @ 2003-09-12 17:44 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: bluez-devel

At 09:14 AM 9/1/2003, Marcel Holtmann wrote:
>here are the outstanding Bluetooth updates for 2.4.23-pre. All of them
>are well tested in my -mh patches and I don't expect any other big
>changes for the 2.4 series.

Ok. I got problem with the following Changesets.

><marcel@holtmann.org> (03/08/21 1.1067)
>   [Bluetooth] Add notify() callback for host drivers
>   
>   This patch adds a notification callback to the hci_dev structure which
>   is used by the HCI core to tell the driver about connection creation
>   and clearing. It also notifies about changed voice setting. To assure
>   that the core always knows the correct voice setting, it is read at
>   device initialization and stored in the hci_dev structure.

--- 1.5/net/bluetooth/hci_conn.c        Fri Mar 21 04:26:29 2003
+++ 1.6/net/bluetooth/hci_conn.c        Thu Aug 21 06:11:42 2003
@@ -168,6 +168,9 @@
 
        hci_dev_hold(hdev);
 
+       if (hdev->notify)
+               hdev->notify(hdev, HCI_NOTIFY_CONN_ADD, (unsigned long) conn);
+

I believe I mentioned that before. Above patch basically means that driver has to keep 
its own counter of ACL and SCO connection (ie check conn->type and stuff). That does 
not make sense to me. Core already has that information. It's part of hci_conn_hash. 
Currently we single counter. So we probably need to split it. And if we do it that way 
there is no need for the third argument to hdev->notify().

><marcel@holtmann.org> (03/07/31 1.1019.1.7)
>   [Bluetooth] Set initial value of RFCOMM credits to zero
>   
>   The initial credits value must be zero, because this is default
>   for Bluetooth 1.0b without credit based flow control. Once the
>   other side signals us that it supports credit based flow control
>   we set the session wide credits value.

@@ -746,7 +746,7 @@
        pn->ack_timer   = 0;
        pn->max_retrans = 0;
 
-       if (d->credits) {
+       if (cr || d->credits) {
                pn->flow_ctrl = cr ? 0xf0 : 0xe0;
                pn->credits = RFCOMM_DEFAULT_CREDITS;
        } else {

We talked about this one too. With that change we're going to ask
for credits every time we send PN request even if other side already told 
us that they don't support CFC. This is not right. We need to negotiate CFC 
only once.

Max

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bluez-devel] Re: Bluetooth update for 2.4.23-pre2
  2003-09-12 17:44 ` Bluetooth update for 2.4.23-pre2 Max Krasnyansky
@ 2003-09-12 22:48   ` Marcel Holtmann
  2003-10-09  1:12     ` Max Krasnyansky
  0 siblings, 1 reply; 8+ messages in thread
From: Marcel Holtmann @ 2003-09-12 22:48 UTC (permalink / raw)
  To: Max Krasnyansky; +Cc: BlueZ Mailing List

Hi Max,

> Ok. I got problem with the following Changesets.
> 
> ><marcel@holtmann.org> (03/08/21 1.1067)
> >   [Bluetooth] Add notify() callback for host drivers
> >   
> >   This patch adds a notification callback to the hci_dev structure which
> >   is used by the HCI core to tell the driver about connection creation
> >   and clearing. It also notifies about changed voice setting. To assure
> >   that the core always knows the correct voice setting, it is read at
> >   device initialization and stored in the hci_dev structure.
> 
> --- 1.5/net/bluetooth/hci_conn.c        Fri Mar 21 04:26:29 2003
> +++ 1.6/net/bluetooth/hci_conn.c        Thu Aug 21 06:11:42 2003
> @@ -168,6 +168,9 @@
>  
>         hci_dev_hold(hdev);
>  
> +       if (hdev->notify)
> +               hdev->notify(hdev, HCI_NOTIFY_CONN_ADD, (unsigned long) conn);
> +
> 
> I believe I mentioned that before. Above patch basically means that driver has to keep 
> its own counter of ACL and SCO connection (ie check conn->type and stuff). That does 
> not make sense to me. Core already has that information. It's part of hci_conn_hash. 
> Currently we single counter. So we probably need to split it. And if we do it that way 
> there is no need for the third argument to hdev->notify().

you mention that, but I only thought of it as some kind of additional
modification so we don't have to count the number of ACL and SCO in the
driver itself.

I want to keep the the third parameter to be save in future if we need
to send other notifications down to the HCI driver for which we can use
it eventually. Bluetooth 1.2 and 2.0 will come with new stuff that may
need it.

For the CONN_ADD and CONN_DEL I think we should also send the "conn"
down to the driver so it can read from it if needed. If not, it has to
go by itself through the hash and I don't see any way that the driver
can find out the current added connection. Am I wrong?

> ><marcel@holtmann.org> (03/07/31 1.1019.1.7)
> >   [Bluetooth] Set initial value of RFCOMM credits to zero
> >   
> >   The initial credits value must be zero, because this is default
> >   for Bluetooth 1.0b without credit based flow control. Once the
> >   other side signals us that it supports credit based flow control
> >   we set the session wide credits value.
> 
> @@ -746,7 +746,7 @@
>         pn->ack_timer   = 0;
>         pn->max_retrans = 0;
>  
> -       if (d->credits) {
> +       if (cr || d->credits) {
>                 pn->flow_ctrl = cr ? 0xf0 : 0xe0;
>                 pn->credits = RFCOMM_DEFAULT_CREDITS;
>         } else {
> 
> We talked about this one too. With that change we're going to ask
> for credits every time we send PN request even if other side already told 
> us that they don't support CFC. This is not right. We need to negotiate CFC 
> only once.

Yes, you told me that. And I put a note on my TODO list that this needs
further attention. But your suggestions was to change the credits value
from uint to int and don't find the time to check if a type change may
not causes other problems. And as I also said a new flag may be a better
solution.

Anyway I took the patch in, because it fixes the problem and whithout we
have a bug with incoming 1.0b connections. The double negotiation only
takes place on the second outgoing connections to the same 1.0b device.
And how much 1.0b devices do you have or do you know of? My only 1.0b
device is a Ericsson T39m and even my old Nokia 6210 already supports
CFC. And my HBH-10 don't count, because it support only one RFCOMM
connection ;)

Regards

Marcel




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Bluetooth update for 2.4.23-pre2
  2003-09-12 22:48   ` [Bluez-devel] " Marcel Holtmann
@ 2003-10-09  1:12     ` Max Krasnyansky
  2003-10-09 16:13       ` [Bluez-devel] " Marcel Holtmann
  0 siblings, 1 reply; 8+ messages in thread
From: Max Krasnyansky @ 2003-10-09  1:12 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: BlueZ Mailing List

At 03:48 PM 9/12/2003, Marcel Holtmann wrote:
>> --- 1.5/net/bluetooth/hci_conn.c        Fri Mar 21 04:26:29 2003
>> +++ 1.6/net/bluetooth/hci_conn.c        Thu Aug 21 06:11:42 2003
>> @@ -168,6 +168,9 @@
>>  
>>         hci_dev_hold(hdev);
>>  
>> +       if (hdev->notify)
>> +               hdev->notify(hdev, HCI_NOTIFY_CONN_ADD, (unsigned long) conn);
>> +
>> 
>> I believe I mentioned that before. Above patch basically means that driver has to keep 
>> its own counter of ACL and SCO connection (ie check conn->type and stuff). That does 
>> not make sense to me. Core already has that information. It's part of hci_conn_hash. 
>> Currently we single counter. So we probably need to split it. And if we do it that way 
>> there is no need for the third argument to hdev->notify().
>
>you mention that, but I only thought of it as some kind of additional
>modification so we don't have to count the number of ACL and SCO in the
>driver itself.
>
>I want to keep the the third parameter to be save in future if we need
>to send other notifications down to the HCI driver for which we can use
>it eventually. Bluetooth 1.2 and 2.0 will come with new stuff that may
>need it.
Unlikely. In any case we can add it later of needed.

>For the CONN_ADD and CONN_DEL I think we should also send the "conn"
>down to the driver so it can read from it if needed.
But the only thing useful for the driver is the connection type. We might as 
well just pass that instead of a pointer to the whole struct. Anyway core should
count connections not the driver.

>If not, it has to go by itself through the hash and I don't see any way that the 
>driver can find out the current added connection. Am I wrong?
conn_hash has 'num' field which is total number of connections. So we just need to
keep two separate counters for ACL and SCO.
I'll try to find some time this week to implement that.

>> ><marcel@holtmann.org> (03/07/31 1.1019.1.7)
>> >   [Bluetooth] Set initial value of RFCOMM credits to zero
>> >   
>> We talked about this one too. With that change we're going to ask
>> for credits every time we send PN request even if other side already told 
>> us that they don't support CFC. This is not right. We need to negotiate CFC 
>> only once.
>
>Yes, you told me that. And I put a note on my TODO list that this needs
>further attention. But your suggestions was to change the credits value
>from uint to int and don't find the time to check if a type change may
>not causes other problems. And as I also said a new flag may be a better
>solution.
>Anyway I took the patch in, because it fixes the problem and whithout we
>have a bug with incoming 1.0b connections. The double negotiation only
>takes place on the second outgoing connections to the same 1.0b device.
>And how much 1.0b devices do you have or do you know of? My only 1.0b
>device is a Ericsson T39m and even my old Nokia 6210 already supports
>CFC. And my HBH-10 don't count, because it support only one RFCOMM
>connection ;)
What I'm saying is that we should fix the write way not just some hack that 
fixes first negotiation. It will pass certification with Ceticomm (or whatever 
the name of that company) but will fail if tester code does proper checking ie second 
connection, etc.
It should be a trivial fix. I take a look at it tonight.

Max

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bluez-devel] Re: Bluetooth update for 2.4.23-pre2
  2003-10-09  1:12     ` Max Krasnyansky
@ 2003-10-09 16:13       ` Marcel Holtmann
  2003-10-09 17:45         ` Max Krasnyansky
  0 siblings, 1 reply; 8+ messages in thread
From: Marcel Holtmann @ 2003-10-09 16:13 UTC (permalink / raw)
  To: Max Krasnyansky; +Cc: BlueZ Mailing List

Hi Max,

> >I want to keep the the third parameter to be save in future if we need
> >to send other notifications down to the HCI driver for which we can use
> >it eventually. Bluetooth 1.2 and 2.0 will come with new stuff that may
> >need it.
> Unlikely. In any case we can add it later of needed.
> 
> >For the CONN_ADD and CONN_DEL I think we should also send the "conn"
> >down to the driver so it can read from it if needed.
> But the only thing useful for the driver is the connection type. We might as 
> well just pass that instead of a pointer to the whole struct. Anyway core should
> count connections not the driver.
> 
> >If not, it has to go by itself through the hash and I don't see any way that the 
> >driver can find out the current added connection. Am I wrong?
> conn_hash has 'num' field which is total number of connections. So we just need to
> keep two separate counters for ACL and SCO.
> I'll try to find some time this week to implement that.

I see the notify() interface and the seperate counting of ACL and SCO as
two different problems and I don't wanna mix them.

However I think it is nice to send the "conn" down to the driver, if you
thing it is two much, I drop it.

> >Yes, you told me that. And I put a note on my TODO list that this needs
> >further attention. But your suggestions was to change the credits value
> >from uint to int and don't find the time to check if a type change may
> >not causes other problems. And as I also said a new flag may be a better
> >solution.
> >Anyway I took the patch in, because it fixes the problem and whithout we
> >have a bug with incoming 1.0b connections. The double negotiation only
> >takes place on the second outgoing connections to the same 1.0b device.
> >And how much 1.0b devices do you have or do you know of? My only 1.0b
> >device is a Ericsson T39m and even my old Nokia 6210 already supports
> >CFC. And my HBH-10 don't count, because it support only one RFCOMM
> >connection ;)
> What I'm saying is that we should fix the write way not just some hack that 
> fixes first negotiation. It will pass certification with Ceticomm (or whatever 
> the name of that company) but will fail if tester code does proper checking ie second 
> connection, etc.
> It should be a trivial fix. I take a look at it tonight.

I looked at your fix and it looks fine to me. Can you please rebuild my
marcel-2.4 tree on the base of your current work? I will re-push my
other patches so we can sync up with Marcelo until the end of this week.
I want to finish this as soon as possible, because I am away for the
complete next week.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bluez-devel] Re: Bluetooth update for 2.4.23-pre2
  2003-10-09 16:13       ` [Bluez-devel] " Marcel Holtmann
@ 2003-10-09 17:45         ` Max Krasnyansky
  2003-10-09 18:24           ` Marcel Holtmann
  0 siblings, 1 reply; 8+ messages in thread
From: Max Krasnyansky @ 2003-10-09 17:45 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: BlueZ Mailing List

At 09:13 AM 10/9/2003, Marcel Holtmann wrote:
>Hi Max,
>
>> >I want to keep the the third parameter to be save in future if we need
>> >to send other notifications down to the HCI driver for which we can use
>> >it eventually. Bluetooth 1.2 and 2.0 will come with new stuff that may
>> >need it.
>> Unlikely. In any case we can add it later of needed.
>> 
>> >For the CONN_ADD and CONN_DEL I think we should also send the "conn"
>> >down to the driver so it can read from it if needed.
>> But the only thing useful for the driver is the connection type. We might as 
>> well just pass that instead of a pointer to the whole struct. Anyway core should
>> count connections not the driver.
>> 
>> >If not, it has to go by itself through the hash and I don't see any way that the 
>> >driver can find out the current added connection. Am I wrong?
>> conn_hash has 'num' field which is total number of connections. So we just need to
>> keep two separate counters for ACL and SCO.
>> I'll try to find some time this week to implement that.
>
>I see the notify() interface and the seperate counting of ACL and SCO as
>two different problems and I don't wanna mix them.
>However I think it is nice to send the "conn" down to the driver, if you
>thing it is two much, I drop it.
Well, both are needed only for SCO over USB.
So in some sense they are related :).

btw How about fixing it in 2.6 and leaving 2.4 alone ?
I don't think we will ever have decent Voice support in 2.4 anyway.
For example ALSA driver will definitely go into 2.6 not 2.4.

>> What I'm saying is that we should fix the write way not just some hack that 
>> fixes first negotiation. It will pass certification with Ceticomm (or whatever 
>> the name of that company) but will fail if tester code does proper checking ie second 
>> connection, etc.
>> It should be a trivial fix. I take a look at it tonight.
>
>I looked at your fix and it looks fine to me. Can you please rebuild my
>marcel-2.4 tree on the base of your current work? I will re-push my
>other patches so we can sync up with Marcelo until the end of this week.
>I want to finish this as soon as possible, because I am away for the
>complete next week.
Ok. I'll do that. Not sure about today though. Don't worry about sync up 
with Marcelo. I'll merge both trees and send a patch.

Max

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bluez-devel] Re: Bluetooth update for 2.4.23-pre2
  2003-10-09 17:45         ` Max Krasnyansky
@ 2003-10-09 18:24           ` Marcel Holtmann
  2003-10-12 12:25             ` Jonathan Paisley
  0 siblings, 1 reply; 8+ messages in thread
From: Marcel Holtmann @ 2003-10-09 18:24 UTC (permalink / raw)
  To: Max Krasnyansky; +Cc: BlueZ Mailing List

Hi Max,

> >I see the notify() interface and the seperate counting of ACL and SCO as
> >two different problems and I don't wanna mix them.
> >However I think it is nice to send the "conn" down to the driver, if you
> >thing it is two much, I drop it.
> Well, both are needed only for SCO over USB.
> So in some sense they are related :).
> 
> btw How about fixing it in 2.6 and leaving 2.4 alone ?
> I don't think we will ever have decent Voice support in 2.4 anyway.
> For example ALSA driver will definitely go into 2.6 not 2.4.

the ALSA support is not the point, because you can use the SCO socket
for 2.4 for now and it is working fine for me. I think we should drop
this for 2.4.23 and wait until 2.4.24-pre.

> >> What I'm saying is that we should fix the write way not just some hack that 
> >> fixes first negotiation. It will pass certification with Ceticomm (or whatever 
> >> the name of that company) but will fail if tester code does proper checking ie second 
> >> connection, etc.
> >> It should be a trivial fix. I take a look at it tonight.
> >
> >I looked at your fix and it looks fine to me. Can you please rebuild my
> >marcel-2.4 tree on the base of your current work? I will re-push my
> >other patches so we can sync up with Marcelo until the end of this week.
> >I want to finish this as soon as possible, because I am away for the
> >complete next week.
> Ok. I'll do that. Not sure about today though. Don't worry about sync up 
> with Marcelo. I'll merge both trees and send a patch.

I can push my other changes within 10 minutes if I have a clean tree. So
drop me a note if you have rebuild it it and then I push them.

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bluez-devel] Re: Bluetooth update for 2.4.23-pre2
  2003-10-09 18:24           ` Marcel Holtmann
@ 2003-10-12 12:25             ` Jonathan Paisley
  2003-10-13  9:28               ` Marcel Holtmann
  0 siblings, 1 reply; 8+ messages in thread
From: Jonathan Paisley @ 2003-10-12 12:25 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: Max Krasnyansky, BlueZ Mailing List

On Thu, 9 Oct 2003 8:24pm +0200, Marcel Holtmann wrote:

> > btw How about fixing it in 2.6 and leaving 2.4 alone ?
> > I don't think we will ever have decent Voice support in 2.4 anyway.
> > For example ALSA driver will definitely go into 2.6 not 2.4.
>
> the ALSA support is not the point, because you can use the SCO socket
> for 2.4 for now and it is working fine for me. I think we should drop
> this for 2.4.23 and wait until 2.4.24-pre.

Have you had a chance to try or look at my snd-bluez-sco ALSA driver yet?
I'm interested to hear your thoughts on its design.

	http://www.dcs.gla.ac.uk/~jp/snd-bluez-sco/

Thanks.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bluez-devel] Re: Bluetooth update for 2.4.23-pre2
  2003-10-12 12:25             ` Jonathan Paisley
@ 2003-10-13  9:28               ` Marcel Holtmann
  0 siblings, 0 replies; 8+ messages in thread
From: Marcel Holtmann @ 2003-10-13  9:28 UTC (permalink / raw)
  To: Jonathan Paisley; +Cc: Max Krasnyansky, BlueZ Mailing List

Hi Jonathan,

> > the ALSA support is not the point, because you can use the SCO socket
> > for 2.4 for now and it is working fine for me. I think we should drop
> > this for 2.4.23 and wait until 2.4.24-pre.
> 
> Have you had a chance to try or look at my snd-bluez-sco ALSA driver yet?
> I'm interested to hear your thoughts on its design.
> 
> 	http://www.dcs.gla.ac.uk/~jp/snd-bluez-sco/

I have looked at your code, but never tested it. However it looks fine
and it seems that some people got success with it. What I don't like is
that it is build on top of the SCO sockets. I raised this a long time
ago and what I expect from a good Bluetooth audio integration is direct
interface to OSS and ALSA. I think of something we have done for RFCOMM,
which means that we integrate all stuff directly into the sco.o module.

	Linux 2.4	SCO socket + OSS interface
	Linux 2.6	SCO socket + OSS/ALSA interface

I am not an audio or ALSA expert, so don't expect to much from me in
this area. And the 2.6 looks like a good starting point to redesign our
SCO interface. I would say that you should go ahead and try to do it ;)

Regards

Marcel




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2003-10-13  9:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1062432872.13729.185.camel@pegasus>
2003-09-12 17:44 ` Bluetooth update for 2.4.23-pre2 Max Krasnyansky
2003-09-12 22:48   ` [Bluez-devel] " Marcel Holtmann
2003-10-09  1:12     ` Max Krasnyansky
2003-10-09 16:13       ` [Bluez-devel] " Marcel Holtmann
2003-10-09 17:45         ` Max Krasnyansky
2003-10-09 18:24           ` Marcel Holtmann
2003-10-12 12:25             ` Jonathan Paisley
2003-10-13  9:28               ` Marcel Holtmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.