public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 3.19-rc1 refuse connection from bluetooth headset
@ 2014-12-24 17:15 Pali Rohár
  2014-12-24 17:36 ` Johan Hedberg
  0 siblings, 1 reply; 6+ messages in thread
From: Pali Rohár @ 2014-12-24 17:15 UTC (permalink / raw)
  To: Marcel Holtmann, Gustavo Padovan, Johan Hedberg, linux-bluetooth,
	linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1909 bytes --]

Hello,

now I installed 3.19-rc1 kernel and my bluetooth headset was refused to connect automatically. I need to start 
connection manually from laptop (and then it working). Before when I started bluetooth headset it automatically 
connected and I did not have to do anything. Now with 3.19-rc1 kernel I need to do connection manually and I see 
error messages in hcidump:

 $ sudo hcidump 
 HCI sniffer - Bluetooth packet analyzer ver 2.2
 device: hci0 snap_len: 1028 filter: 0xffffffffffffffff
 > HCI Event: Connect Request (0x04) plen 10
     bdaddr <HEADSET_ADDRESS> class 0x240404 type ACL
 < HCI Command: Reject Connection Request (0x01|0x000a) plen 7
     bdaddr <HEADSET_ADDRESS> reason 0x0f
     Reason: Connection Rejected due to Unacceptable BD_ADDR
 > HCI Event: Command Status (0x0f) plen 4
     Reject Connection Request (0x01|0x000a) status 0x00 ncmd 1
 > HCI Event: Connect Complete (0x03) plen 11
     status 0x0f handle 34 bdaddr <HEADSET_ADDRESS> type ACL encrypt 0x00
     Error: Connection Rejected due to Unacceptable BD_ADDR
 > HCI Event: Connect Request (0x04) plen 10
     bdaddr <HEADSET_ADDRESS> class 0x240404 type ACL
 < HCI Command: Reject Connection Request (0x01|0x000a) plen 7
     bdaddr <HEADSET_ADDRESS> reason 0x0f
     Reason: Connection Rejected due to Unacceptable BD_ADDR
 > HCI Event: Command Status (0x0f) plen 4
     Reject Connection Request (0x01|0x000a) status 0x00 ncmd 1
 > HCI Event: Connect Complete (0x03) plen 11
    status 0x0f handle 35 bdaddr <HEADSET_ADDRESS> type ACL encrypt 0x00
    Error: Connection Rejected due to Unacceptable BD_ADDR

(real address of my bluetooth headset was replaced by <HEADSET_ADDRESS>)

Can you inspect why new kernel refuse connection from my bluetooth headset?

I'm still using bluez 4.98 (which is in Ubuntu 12.04), I did not do any update.

-- 
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

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

* Re: 3.19-rc1 refuse connection from bluetooth headset
  2014-12-24 17:15 3.19-rc1 refuse connection from bluetooth headset Pali Rohár
@ 2014-12-24 17:36 ` Johan Hedberg
  2014-12-24 18:32   ` Pali Rohár
  0 siblings, 1 reply; 6+ messages in thread
From: Johan Hedberg @ 2014-12-24 17:36 UTC (permalink / raw)
  To: Pali Rohár
  Cc: Marcel Holtmann, Gustavo Padovan, linux-bluetooth, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2159 bytes --]

Hi Pali,

On Wed, Dec 24, 2014, Pali Rohár wrote:
> now I installed 3.19-rc1 kernel and my bluetooth headset was refused
> to connect automatically. I need to start connection manually from
> laptop (and then it working). Before when I started bluetooth headset
> it automatically connected and I did not have to do anything. Now with
> 3.19-rc1 kernel I need to do connection manually and I see error
> messages in hcidump:
> 
>  $ sudo hcidump 
>  HCI sniffer - Bluetooth packet analyzer ver 2.2
>  device: hci0 snap_len: 1028 filter: 0xffffffffffffffff
>  > HCI Event: Connect Request (0x04) plen 10
>      bdaddr <HEADSET_ADDRESS> class 0x240404 type ACL
>  < HCI Command: Reject Connection Request (0x01|0x000a) plen 7
>      bdaddr <HEADSET_ADDRESS> reason 0x0f
>      Reason: Connection Rejected due to Unacceptable BD_ADDR
>  > HCI Event: Command Status (0x0f) plen 4
>      Reject Connection Request (0x01|0x000a) status 0x00 ncmd 1
>  > HCI Event: Connect Complete (0x03) plen 11
>      status 0x0f handle 34 bdaddr <HEADSET_ADDRESS> type ACL encrypt 0x00
>      Error: Connection Rejected due to Unacceptable BD_ADDR
>  > HCI Event: Connect Request (0x04) plen 10
>      bdaddr <HEADSET_ADDRESS> class 0x240404 type ACL
>  < HCI Command: Reject Connection Request (0x01|0x000a) plen 7
>      bdaddr <HEADSET_ADDRESS> reason 0x0f
>      Reason: Connection Rejected due to Unacceptable BD_ADDR
>  > HCI Event: Command Status (0x0f) plen 4
>      Reject Connection Request (0x01|0x000a) status 0x00 ncmd 1
>  > HCI Event: Connect Complete (0x03) plen 11
>     status 0x0f handle 35 bdaddr <HEADSET_ADDRESS> type ACL encrypt 0x00
>     Error: Connection Rejected due to Unacceptable BD_ADDR
> 
> (real address of my bluetooth headset was replaced by <HEADSET_ADDRESS>)
> 
> Can you inspect why new kernel refuse connection from my bluetooth headset?
> 
> I'm still using bluez 4.98 (which is in Ubuntu 12.04), I did not do any update.

Could you try the attached patch? I think the reason might be the
dependence on the HCI_CONNECTABLE flag that's only set if the page scan
was enabled through mgmt (which wouldn't be the case with BlueZ 4.98).

Johan

[-- Attachment #2: conn-reject.patch --]
[-- Type: text/plain, Size: 570 bytes --]

diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index c03d4b09caa3..898dfd7ceeee 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -2197,7 +2197,8 @@ static void hci_conn_request_evt(struct hci_dev *hdev, struct sk_buff *skb)
 		return;
 	}
 
-	if (!test_bit(HCI_CONNECTABLE, &hdev->dev_flags) &&
+	if (test_bit(HCI_MGMT, &hdev->dev_flags) &&
+	    !test_bit(HCI_CONNECTABLE, &hdev->dev_flags) &&
 	    !hci_bdaddr_list_lookup(&hdev->whitelist, &ev->bdaddr,
 				    BDADDR_BREDR)) {
 		    hci_reject_conn(hdev, &ev->bdaddr);

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

* Re: 3.19-rc1 refuse connection from bluetooth headset
  2014-12-24 17:36 ` Johan Hedberg
@ 2014-12-24 18:32   ` Pali Rohár
  2014-12-24 18:37     ` Johan Hedberg
  0 siblings, 1 reply; 6+ messages in thread
From: Pali Rohár @ 2014-12-24 18:32 UTC (permalink / raw)
  To: Johan Hedberg
  Cc: Marcel Holtmann, Gustavo Padovan, linux-bluetooth, linux-kernel

[-- Attachment #1: Type: Text/Plain, Size: 2784 bytes --]

On Wednesday 24 December 2014 18:36:52 Johan Hedberg wrote:
> Hi Pali,
> 
> On Wed, Dec 24, 2014, Pali Rohár wrote:
> > now I installed 3.19-rc1 kernel and my bluetooth headset was
> > refused to connect automatically. I need to start
> > connection manually from laptop (and then it working).
> > Before when I started bluetooth headset it automatically
> > connected and I did not have to do anything. Now with
> > 3.19-rc1 kernel I need to do connection manually and I see
> > error
> > 
> > messages in hcidump:
> >  $ sudo hcidump
> >  HCI sniffer - Bluetooth packet analyzer ver 2.2
> >  device: hci0 snap_len: 1028 filter: 0xffffffffffffffff
> >  
> >  > HCI Event: Connect Request (0x04) plen 10
> >  > 
> >      bdaddr <HEADSET_ADDRESS> class 0x240404 type ACL
> >  
> >  < HCI Command: Reject Connection Request (0x01|0x000a) plen
> >  7
> >  
> >      bdaddr <HEADSET_ADDRESS> reason 0x0f
> >      Reason: Connection Rejected due to Unacceptable BD_ADDR
> >  > 
> >  > HCI Event: Command Status (0x0f) plen 4
> >  > 
> >      Reject Connection Request (0x01|0x000a) status 0x00
> >      ncmd 1
> >  > 
> >  > HCI Event: Connect Complete (0x03) plen 11
> >  > 
> >      status 0x0f handle 34 bdaddr <HEADSET_ADDRESS> type ACL
> >      encrypt 0x00 Error: Connection Rejected due to
> >      Unacceptable BD_ADDR
> >  > 
> >  > HCI Event: Connect Request (0x04) plen 10
> >  > 
> >      bdaddr <HEADSET_ADDRESS> class 0x240404 type ACL
> >  
> >  < HCI Command: Reject Connection Request (0x01|0x000a) plen
> >  7
> >  
> >      bdaddr <HEADSET_ADDRESS> reason 0x0f
> >      Reason: Connection Rejected due to Unacceptable BD_ADDR
> >  > 
> >  > HCI Event: Command Status (0x0f) plen 4
> >  > 
> >      Reject Connection Request (0x01|0x000a) status 0x00
> >      ncmd 1
> >  > 
> >  > HCI Event: Connect Complete (0x03) plen 11
> >  > 
> >     status 0x0f handle 35 bdaddr <HEADSET_ADDRESS> type ACL
> >     encrypt 0x00 Error: Connection Rejected due to
> >     Unacceptable BD_ADDR
> > 
> > (real address of my bluetooth headset was replaced by
> > <HEADSET_ADDRESS>)
> > 
> > Can you inspect why new kernel refuse connection from my
> > bluetooth headset?
> > 
> > I'm still using bluez 4.98 (which is in Ubuntu 12.04), I did
> > not do any update.
> 
> Could you try the attached patch? I think the reason might be
> the dependence on the HCI_CONNECTABLE flag that's only set if
> the page scan was enabled through mgmt (which wouldn't be the
> case with BlueZ 4.98).
> 
> Johan

Hi Johan! Thanks for quick reply. Your patch fixes my problem and 
auto-connection of my bluetooth headset is working again. Will 
you forward patch to mainline kernel?

-- 
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

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

* Re: 3.19-rc1 refuse connection from bluetooth headset
  2014-12-24 18:32   ` Pali Rohár
@ 2014-12-24 18:37     ` Johan Hedberg
  2014-12-24 18:41       ` Pali Rohár
  0 siblings, 1 reply; 6+ messages in thread
From: Johan Hedberg @ 2014-12-24 18:37 UTC (permalink / raw)
  To: Pali Rohár
  Cc: Marcel Holtmann, Gustavo Padovan, linux-bluetooth, linux-kernel

Hi Pali,

On Wed, Dec 24, 2014, Pali Rohár wrote:
> > Could you try the attached patch? I think the reason might be
> > the dependence on the HCI_CONNECTABLE flag that's only set if
> > the page scan was enabled through mgmt (which wouldn't be the
> > case with BlueZ 4.98).
> > 
> > Johan
> 
> Hi Johan! Thanks for quick reply. Your patch fixes my problem and 
> auto-connection of my bluetooth headset is working again. Will 
> you forward patch to mainline kernel?

Yes, we'll tag it from 3.17.x onwards where this was introduced.

Johan

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

* Re: 3.19-rc1 refuse connection from bluetooth headset
  2014-12-24 18:37     ` Johan Hedberg
@ 2014-12-24 18:41       ` Pali Rohár
       [not found]         ` <CAAAJ3CKFJ38pZF6WSD495W8JQmxBs1NcBDnag1q4qWhUE2_5qQ@mail.gmail.com>
  0 siblings, 1 reply; 6+ messages in thread
From: Pali Rohár @ 2014-12-24 18:41 UTC (permalink / raw)
  To: Johan Hedberg
  Cc: Marcel Holtmann, Gustavo Padovan, linux-bluetooth, linux-kernel

[-- Attachment #1: Type: Text/Plain, Size: 744 bytes --]

On Wednesday 24 December 2014 19:37:37 Johan Hedberg wrote:
> Hi Pali,
> 
> On Wed, Dec 24, 2014, Pali Rohár wrote:
> > > Could you try the attached patch? I think the reason might
> > > be the dependence on the HCI_CONNECTABLE flag that's only
> > > set if the page scan was enabled through mgmt (which
> > > wouldn't be the case with BlueZ 4.98).
> > > 
> > > Johan
> > 
> > Hi Johan! Thanks for quick reply. Your patch fixes my
> > problem and auto-connection of my bluetooth headset is
> > working again. Will you forward patch to mainline kernel?
> 
> Yes, we'll tag it from 3.17.x onwards where this was
> introduced.
> 
> Johan

Ok, you can add my Tested-by line to patch.

-- 
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

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

* Re: 3.19-rc1 refuse connection from bluetooth headset
       [not found]         ` <CAAAJ3CKFJ38pZF6WSD495W8JQmxBs1NcBDnag1q4qWhUE2_5qQ@mail.gmail.com>
@ 2015-02-12 11:34           ` Johan Hedberg
  0 siblings, 0 replies; 6+ messages in thread
From: Johan Hedberg @ 2015-02-12 11:34 UTC (permalink / raw)
  To: Ethan
  Cc: Pali Rohár, Marcel Holtmann, Gustavo Padovan,
	linux-bluetooth, linux-kernel

Hi Ethan,

On Thu, Feb 12, 2015, Ethan wrote:
> I met similar issue in kernel 3.10 for Chromebook smart lock feature, I
> have merged your patch but issue still happened.

The whole feature of checking the whitelist when HCI_CONNECTABLE is not
set was introduced only in kernel version 3.18. So it makes no sense to
try to backport my patch to 3.10. If you have issues with 3.10 without
my patch then it's something else that's going on and that deserves a
separate email thread.

Johan

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

end of thread, other threads:[~2015-02-12 11:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-24 17:15 3.19-rc1 refuse connection from bluetooth headset Pali Rohár
2014-12-24 17:36 ` Johan Hedberg
2014-12-24 18:32   ` Pali Rohár
2014-12-24 18:37     ` Johan Hedberg
2014-12-24 18:41       ` Pali Rohár
     [not found]         ` <CAAAJ3CKFJ38pZF6WSD495W8JQmxBs1NcBDnag1q4qWhUE2_5qQ@mail.gmail.com>
2015-02-12 11:34           ` Johan Hedberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox