2007-04-29 12:34:38

by Klaus

[permalink] [raw]
Subject: Re: [Bluez-devel] Unable to set number of SCO buffers : please upgrade your Kernel !

Marc Haber <mh+bluez-devel <at> zugschlus.de> writes:
[...]
> I still have the same problem. Only that
> the "Unable to set number of SCO buffers" error message now has
> pcm_sco.c:277 as line number.

I have the same problem on 2.6.21 with the patch applied.

I looked a little into the problem and it appears that everything is actually
working as it is intended - but that doesn't help us much.

In plugz/../pcm_sco.c: sco_headset_hw_params(),
setsockopt(...,SOL_SCO,...) is called, but it fails with ENOPROTOOPT
"Protocol not available".

setsockopt() for protocol level SOL_SCO is implemented in the kernel in
net/bluetooth/sco.c: sco_sock_setsockopt(), but this function only does one
thing - it returns ENOPROTOOPT:

...
switch (optname) {
default:
err = -ENOPROTOOPT;
break;
}
...

I am a bit curious - how can this work for anybody?

BR, Klaus






-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel


2007-04-29 16:18:27

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] Unable to set number of SCO buffers : please upgrade your Kernel !

Klaus

> In plugz/../pcm_sco.c: sco_headset_hw_params(),
> setsockopt(...,SOL_SCO,...) is called, but it fails with ENOPROTOOPT
> "Protocol not available".
>
> setsockopt() for protocol level SOL_SCO is implemented in the kernel in
> net/bluetooth/sco.c: sco_sock_setsockopt(), but this function only does one
> thing - it returns ENOPROTOOPT:
>
> ...
> switch (optname) {
> default:
> err = -ENOPROTOOPT;
> break;
> }
> ...
>
> I am a bit curious - how can this work for anybody?

you're looking at the upatched sco.c or maybe one hunk failed.
sco-flowcontrol-v4.2.diff has changes for setsockopt() around line 550.

we did actually change the constants for the setsockopt call, but if you
have a recently updated plugz it should actually try both the old and
new constants.

brad

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel