2005-07-10 22:47:33

by Ronny L Nilsson

[permalink] [raw]
Subject: [Bluez-devel] Strange hci_get_route() result



Hi
On my system there's something fishy going on with the library function
"hci_get_route()". When I use several dongels simultaneously it returns
wrong value. I might be doing things wrong too of cource. This code
below:
str2ba("00:11:22:33:44:55", &ba);
dev_id = hci_get_route(&ba);
printf("%d\n", dev_id);

Prints "-1" as device id when I have one dongle attached and it prints
"1" when I've got two. Both are incorrect, it should be 0.

However, if I apply the patch below it works much better. I find it
very strange though if such a basic function is buggy, so what
am I doing wrong?

Regards
/Ronny




Attachments:
hci-lib.diff (529.00 B)

2005-07-11 19:36:42

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Strange hci_get_route() result

Hi Albert,

> just to make sure i understand - hci_get_route will return the first
> dev_id that doesn't have the same bluetooth address as ba?

this is correct. It is the first device we can use to connect to the
remote address ba.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-07-11 19:31:48

by Albert Huang

[permalink] [raw]
Subject: Re: [Bluez-devel] Strange hci_get_route() result

Looks like I'm wrong. =20

just to make sure i understand - hci_get_route will return the first
dev_id that doesn't have the same bluetooth address as ba?

-albert

On 7/11/05, Marcel Holtmann <[email protected]> wrote:
> Hi Albert,
>=20
> > > check the CVS. I changed the hci_get_route() lately.
> >
> > My lib is up to date with CVS so that's not the problem.
>=20
> please try again. What happens if you use NULL as address argument.
>=20
> > > And the ba is
> > > the address of the remote system.
> >
> > Really? umm, ok. The "manual" by Albert Huang
> > http://people.csail.mit.edu/albert/pubs/ashuang-sm-thesis-2005.pdf
> > states the opposite. If you happen to already know the bdaddr of a
> > *local* adapter you can look up its device id with hci_get_rotue(). I
> > guess there is no such handy utility function then?
>=20
> It is really the remote address. Otherwise this function wouldn't make
> any sense. We need to find a local adapter that can connect to the
> remote one. This is the reason why it is called *_route().
>=20
> Use hci_devid() if you wanna get the dev_id of a local adapter when you
> know its address.
>=20
> Regards
>=20
> Marcel
>=20
>=20
>


-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-07-11 19:22:01

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Strange hci_get_route() result

Hi Albert,

> > check the CVS. I changed the hci_get_route() lately.
>
> My lib is up to date with CVS so that's not the problem.

please try again. What happens if you use NULL as address argument.

> > And the ba is
> > the address of the remote system.
>
> Really? umm, ok. The "manual" by Albert Huang
> http://people.csail.mit.edu/albert/pubs/ashuang-sm-thesis-2005.pdf
> states the opposite. If you happen to already know the bdaddr of a
> *local* adapter you can look up its device id with hci_get_rotue(). I
> guess there is no such handy utility function then?

It is really the remote address. Otherwise this function wouldn't make
any sense. We need to find a local adapter that can connect to the
remote one. This is the reason why it is called *_route().

Use hci_devid() if you wanna get the dev_id of a local adapter when you
know its address.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-07-11 18:07:24

by Ronny L Nilsson

[permalink] [raw]
Subject: Re: [Bluez-devel] Strange hci_get_route() result


> > function "hci_get_route()". When I use several dongels
> > simultaneously it returns wrong value. I might be doing things
> > wrong too of cource. This code below:
> > str2ba("00:11:22:33:44:55", &ba);
> > dev_id = hci_get_route(&ba);
> > printf("%d\n", dev_id);
> >
>
> check the CVS. I changed the hci_get_route() lately.

Hi
My lib is up to date with CVS so that's not the problem.



> And the ba is
> the address of the remote system.

Really? umm, ok. The "manual" by Albert Huang
http://people.csail.mit.edu/albert/pubs/ashuang-sm-thesis-2005.pdf
states the opposite. If you happen to already know the bdaddr of a
*local* adapter you can look up its device id with hci_get_rotue(). I
guess there is no such handy utility function then?

Thanks anyway
/Ronny



-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-07-11 15:05:13

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Strange hci_get_route() result

Hi Ronny,

> On my system there's something fishy going on with the library function
> "hci_get_route()". When I use several dongels simultaneously it returns
> wrong value. I might be doing things wrong too of cource. This code
> below:
> str2ba("00:11:22:33:44:55", &ba);
> dev_id = hci_get_route(&ba);
> printf("%d\n", dev_id);
>
> Prints "-1" as device id when I have one dongle attached and it prints
> "1" when I've got two. Both are incorrect, it should be 0.
>
> However, if I apply the patch below it works much better. I find it
> very strange though if such a basic function is buggy, so what
> am I doing wrong?

check the CVS. I changed the hci_get_route() lately. And the ba is the
address of the remote system.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel