2005-08-06 03:01:19

by John Gruenenfelder

[permalink] [raw]
Subject: [Bluez-devel] Problem with link keys

My previous problems getting my headset to work were due to stale link keys.
After deleting the old one, I could make a new pairing. The problem is that
the *new* link key becomes useless as soon as I turn off the headset.

The procedure is something like this:
1) Turn on headset
2) Pair with PC
3) Enter PIN when asked
4) headset works fine
5) shut off headset
6) turn headset back on
7) hcitool commands targeted at the headset all fail with "input/output error"
now.
8) Delete existing link key
9) Go back to step 2

Why does the link key go bad as soon as I power cycle the headset? The
hcidump output from step 6 is:

> HCI Event: Connect Request (0x04) plen 10
< HCI Command: Accept Connection Request (0x01|0x0009) plen 7
> HCI Event: Command Status (0x0f) plen 4
> HCI Event: Link Key Request (0x17) plen 6
< HCI Command: Link Key Request Reply (0x01|0x000b) plen 22
> HCI Event: Role Change (0x12) plen 8
> HCI Event: Command Complete (0x0e) plen 10
> HCI Event: Connect Complete (0x03) plen 11
> HCI Event: Connect Request (0x04) plen 10
< HCI Command: Accept Connection Request (0x01|0x0009) plen 7
> HCI Event: Command Status (0x0f) plen 4
> HCI Event: Link Key Request (0x17) plen 6
< HCI Command: Link Key Request Reply (0x01|0x000b) plen 22
> HCI Event: Role Change (0x12) plen 8
> HCI Event: Command Complete (0x0e) plen 10
> HCI Event: Connect Complete (0x03) plen 11

I do not see any "reply negative" messages in any of the hcidump output yet it
doesn't work until I make a new key.

Am I doing something wrong or in the wrong order? This is with the current
bluez packages from Debian unstable (amd64 port).


--
--John Gruenenfelder Research Assistant, Steward Observatory, U of Arizona
[email protected]
Try Weasel Reader for PalmOS -- http://gutenpalm.sf.net
"This is the most fun I've had without being drenched in the blood
of my enemies!"
--Sam of Sam & Max


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel


2005-08-10 14:14:46

by Alexandros Vellis

[permalink] [raw]
Subject: Re: [Bluez-devel] Problem with link keys

John Gruenenfelder wrote:

> 2) btsco allows for creating a .btsco file with regex in it so that you can
> make it do something on a button press. How do I learn what those regex
> should be for my particular headset? Is it part of one of the packets
> dumped by hcidump?

If I'm not mistaken, you can watch what is communicated with the headset
with 'btsco -v'.




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-08-06 09:07:23

by John Gruenenfelder

[permalink] [raw]
Subject: Re: [Bluez-devel] Problem with link keys

On Sat, Aug 06, 2005 at 07:07:53AM +0200, Marcel Holtmann wrote:
>> And it is working just fine. It only seems to misbehave when I power it off.
>> Are any other people on this list using a Plantronics M2500 headset and, if
>> so, are you experiencing anything similar?
>
>I see always a authentication failure in your log. This means you never
>succeeded with your command or you send the wrong log. However the usage
>of "hcitool cc ..." doesn't qualifies for a correct headset/handsfree
>profile setup and thus your headset may forget your link key. Use tools
>like hstest of btsco and try again.
>
>Regards
>
>Marcel

Ah yes, that was it exactly. It's now working very well, even after powering
on and off.

Now that it is working reliably, I just have two more minor questions about
btsco:

1) Is there any way to have btsco started when I turn on the headset? hcid
sees this event, but I did not see anything in the hcid.conf manpage for
launching processes.

2) btsco allows for creating a .btsco file with regex in it so that you can
make it do something on a button press. How do I learn what those regex
should be for my particular headset? Is it part of one of the packets
dumped by hcidump?

Thanks again for all the help!


--
--John Gruenenfelder Research Assistant, Steward Observatory, U of Arizona
[email protected]
Try Weasel Reader for PalmOS -- http://gutenpalm.sf.net
"This is the most fun I've had without being drenched in the blood
of my enemies!"
--Sam of Sam & Max


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-08-06 05:07:53

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Problem with link keys

Hi John,

> >> I do not see any "reply negative" messages in any of the hcidump output yet it
> >> doesn't work until I make a new key.
> >
> >use "hcidump -X -V".
>
> The -V helps a lot. I have attached a short hcidump listing from when I power
> on the headset and it attempts to make a connection and fails.
>
> >> Am I doing something wrong or in the wrong order? This is with the current
> >> bluez packages from Debian unstable (amd64 port).
> >
> >Is the link key valid if you don't power cycle your headset, but
> >disconnect and then reconnect? If yes, then your headset is maybe
> >broken.
>
> Yes. I was able to do the following:
>
> hcitool cc bdaddr
> hcitool dc bdaddr
> hcitool cc bdaddr
> hcitool info bdaddr
>
> And it is working just fine. It only seems to misbehave when I power it off.
> Are any other people on this list using a Plantronics M2500 headset and, if
> so, are you experiencing anything similar?

I see always a authentication failure in your log. This means you never
succeeded with your command or you send the wrong log. However the usage
of "hcitool cc ..." doesn't qualifies for a correct headset/handsfree
profile setup and thus your headset may forget your link key. Use tools
like hstest of btsco and try again.

Regards

Marcel




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2005-08-06 05:01:45

by John Gruenenfelder

[permalink] [raw]
Subject: Re: [Bluez-devel] Problem with link keys

On Sat, Aug 06, 2005 at 06:10:55AM +0200, Marcel Holtmann wrote:
>>
>> I do not see any "reply negative" messages in any of the hcidump output yet it
>> doesn't work until I make a new key.
>
>use "hcidump -X -V".

The -V helps a lot. I have attached a short hcidump listing from when I power
on the headset and it attempts to make a connection and fails.

>> Am I doing something wrong or in the wrong order? This is with the current
>> bluez packages from Debian unstable (amd64 port).
>
>Is the link key valid if you don't power cycle your headset, but
>disconnect and then reconnect? If yes, then your headset is maybe
>broken.

Yes. I was able to do the following:

hcitool cc bdaddr
hcitool dc bdaddr
hcitool cc bdaddr
hcitool info bdaddr

And it is working just fine. It only seems to misbehave when I power it off.
Are any other people on this list using a Plantronics M2500 headset and, if
so, are you experiencing anything similar?


--
--John Gruenenfelder Research Assistant, Steward Observatory, U of Arizona
[email protected]
Try Weasel Reader for PalmOS -- http://gutenpalm.sf.net
"This is the most fun I've had without being drenched in the blood
of my enemies!"
--Sam of Sam & Max


Attachments:
(No filename) (1.21 kB)
connect_attempt.log (3.66 kB)
Download all attachments

2005-08-06 04:10:55

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Problem with link keys

Hi John,

> My previous problems getting my headset to work were due to stale link keys.
> After deleting the old one, I could make a new pairing. The problem is that
> the *new* link key becomes useless as soon as I turn off the headset.
>
> The procedure is something like this:
> 1) Turn on headset
> 2) Pair with PC
> 3) Enter PIN when asked
> 4) headset works fine
> 5) shut off headset
> 6) turn headset back on
> 7) hcitool commands targeted at the headset all fail with "input/output error"
> now.
> 8) Delete existing link key
> 9) Go back to step 2
>
> Why does the link key go bad as soon as I power cycle the headset? The
> hcidump output from step 6 is:
>
> > HCI Event: Connect Request (0x04) plen 10
> < HCI Command: Accept Connection Request (0x01|0x0009) plen 7
> > HCI Event: Command Status (0x0f) plen 4
> > HCI Event: Link Key Request (0x17) plen 6
> < HCI Command: Link Key Request Reply (0x01|0x000b) plen 22
> > HCI Event: Role Change (0x12) plen 8
> > HCI Event: Command Complete (0x0e) plen 10
> > HCI Event: Connect Complete (0x03) plen 11
> > HCI Event: Connect Request (0x04) plen 10
> < HCI Command: Accept Connection Request (0x01|0x0009) plen 7
> > HCI Event: Command Status (0x0f) plen 4
> > HCI Event: Link Key Request (0x17) plen 6
> < HCI Command: Link Key Request Reply (0x01|0x000b) plen 22
> > HCI Event: Role Change (0x12) plen 8
> > HCI Event: Command Complete (0x0e) plen 10
> > HCI Event: Connect Complete (0x03) plen 11
>
> I do not see any "reply negative" messages in any of the hcidump output yet it
> doesn't work until I make a new key.

use "hcidump -X -V".

> Am I doing something wrong or in the wrong order? This is with the current
> bluez packages from Debian unstable (amd64 port).

Is the link key valid if you don't power cycle your headset, but
disconnect and then reconnect? If yes, then your headset is maybe
broken.

Regards

Marcel




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel