Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp3469167ybg; Fri, 25 Oct 2019 04:43:00 -0700 (PDT) X-Google-Smtp-Source: APXvYqzOGUwKsyNs22sNfgR++Vuz0EJAcsNjgqgjPMV+7zaMTDyanlC6rNapHIbduoX5cK7S8b9/ X-Received: by 2002:aa7:dd92:: with SMTP id g18mr3435095edv.88.1572003779964; Fri, 25 Oct 2019 04:42:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572003779; cv=none; d=google.com; s=arc-20160816; b=CYaBCcpdoD+awVoIBUs4fignrhbpXGmoWaRt64nhVjmJXWuuAYqWILxNuv+g4gLPwT h9IZ77l1J8U1NOAiVzUY3aHLHvP2QklKY5ZSGrnYlcBpmyDvkpQNERuM4aX11ezBRIOa C7cs2AnVw5ywAwFBAmJ9K43p6c5YMunVHNOVdSFmQJzkd0HMXg8MS2UgxbY54TpiT2YL xMYN/Y0TG7Ee7YOmSaX0DQHWFdlIzNCr0881M9KhoPj3IqIV71Bggog+p7t/xK0V1Xw1 SfHpoZeqlue7a1XYMgLmYy9WiUx8LG/eBqUbuI/d3e0YYRYvKI7NCt9TXgZuRPRP9TkA wPSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version; bh=eb+sybAeo88NTYiMYUNP1QG8F79DLM6C2bgbtqqEUG8=; b=uLXELaC2FX47lCMAg2WvVEaLptHaM/hlnUkXPoADbeCPoeAHjTYl2ThGG1oCnf6hKV Yu2JXql7lgCuWTMwyp+ZtTjJATaP8xrN2kRKyzlg+RGEw0Pb3PkQPwY/tX+z6NLnTM1X hGeTAOS4lP5nnDrpmy0YSN3On2SPvoBf5sn3pXVyGbms4fA65hKUhBR4TyYqc65EJGyV KDLDN5811HOzzff/WNeVx//8s5GYL2o76V36fKep5GKGEudb75yUPOl3cRSc51nUgSsG hM+48r6quZLaxGoW4JBKJZ//esX+n4CXDvjVs9jLI1Vxfa3t4mc6inVCVije1H9Jlilg iBZA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 9si1005183ejw.272.2019.10.25.04.42.28; Fri, 25 Oct 2019 04:42:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2502255AbfJXNBR convert rfc822-to-8bit (ORCPT + 99 others); Thu, 24 Oct 2019 09:01:17 -0400 Received: from coyote.holtmann.net ([212.227.132.17]:49947 "EHLO mail.holtmann.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2502258AbfJXNBQ (ORCPT ); Thu, 24 Oct 2019 09:01:16 -0400 Received: from marcel-macpro.fritz.box (p4FEFC197.dip0.t-ipconnect.de [79.239.193.151]) by mail.holtmann.org (Postfix) with ESMTPSA id 21FE7CECEF; Thu, 24 Oct 2019 15:10:15 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3594.4.19\)) Subject: Re: [PATCH] Bluetooth: Always set scannable for Adv instance 0 From: Marcel Holtmann In-Reply-To: <1571913139-6477-1-git-send-email-jaganath.kanakkassery@intel.com> Date: Thu, 24 Oct 2019 15:01:13 +0200 Cc: linux-bluetooth@vger.kernel.org, Jaganath Kanakkassery Content-Transfer-Encoding: 8BIT Message-Id: <585F2A10-B16E-46BD-8EF6-4FD904A485AC@holtmann.org> References: <1571913139-6477-1-git-send-email-jaganath.kanakkassery@intel.com> To: Jaganath Kanakkassery X-Mailer: Apple Mail (2.3594.4.19) Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Hi Jaganath, > By default for instance 0, local name will be added for scan rsp > data, but currently the property is set as non scannable and hence > Set Adv parameter fails with Invalid parameter. can you be a bit more specific why this is the correct behavior. We must have documented in mgmt-api.txt somewhere, right? Or is this something that used to be correct, but we broke it with adding extended advertising? > < HCI Command: LE Set Extended Advertising Parameters (0x08|0x0036) plen 25 > Handle: 0x00 > Properties: 0x0010 > Use legacy advertising PDUs: ADV_NONCONN_IND > Min advertising interval: 1280.000 msec (0x0800) > Max advertising interval: 1280.000 msec (0x0800) > Channel map: 37, 38, 39 (0x07) > Own address type: Random (0x01) > Peer address type: Public (0x00) > Peer address: 00:00:00:00:00:00 (OUI 00-00-00) > Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00) > TX power: 127 dbm (0x7f) > Primary PHY: LE 1M (0x01) > Secondary max skip: 0x00 > Secondary PHY: LE 1M (0x01) > SID: 0x00 > Scan request notifications: Disabled (0x00) >> HCI Event: Command Complete (0x0e) plen 5 > LE Set Extended Advertising Parameters (0x08|0x0036) ncmd 1 > Status: Success (0x00) > TX power (selected): 7 dbm (0x07) > > < HCI Command: LE Set Extended Scan Response Data (0x08|0x0038) plen 35 > Handle: 0x00 > Operation: Complete scan response data (0x03) > Fragment preference: Minimize fragmentation (0x01) > Data length: 0x0d > Name (short): localhost. >> HCI Event: Command Complete (0x0e) plen 4 > LE Set Extended Scan Response Data (0x08|0x0038) ncmd 1 > Status: Invalid HCI Command Parameters (0x12) > > This patch makes the instance 0 scannable by default. > > < HCI Command: LE Set Extended Advertising Parameters (0x08|0x0036) plen 25 > Handle: 0x00 > Properties: 0x0012 > Scannable > Use legacy advertising PDUs: ADV_SCAN_IND > Min advertising interval: 1280.000 msec (0x0800) > Max advertising interval: 1280.000 msec (0x0800) > Channel map: 37, 38, 39 (0x07) > Own address type: Random (0x01) > Peer address type: Public (0x00) > Peer address: 00:00:00:00:00:00 (OUI 00-00-00) > Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00) > TX power: 127 dbm (0x7f) > Primary PHY: LE 1M (0x01) > Secondary max skip: 0x00 > Secondary PHY: LE 1M (0x01) > SID: 0x00 > Scan request notifications: Disabled (0x00) >> HCI Event: Command Complete (0x0e) plen 5 > LE Set Extended Advertising Parameters (0x08|0x0036) ncmd 1 > Status: Success (0x00) > TX power (selected): 7 dbm (0x07) > > < HCI Command: LE Set Extended Scan Response Data (0x08|0x0038) plen 35 > Handle: 0x00 > Operation: Complete scan response data (0x03) > Fragment preference: Minimize fragmentation (0x01) > Data length: 0x0d > Name (short): localhost. >> HCI Event: Command Complete (0x0e) plen 4 > LE Set Extended Scan Response Data (0x08|0x0038) ncmd 1 > Status: Success (0x00) > > Signed-off-by: Jaganath Kanakkassery > --- > net/bluetooth/hci_request.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c > index 7f6a581..362b1ca 100644 > --- a/net/bluetooth/hci_request.c > +++ b/net/bluetooth/hci_request.c > @@ -1601,7 +1601,12 @@ int __hci_req_setup_ext_adv_instance(struct hci_request *req, u8 instance) > cp.evt_properties = cpu_to_le16(LE_EXT_ADV_CONN_IND); > else > cp.evt_properties = cpu_to_le16(LE_LEGACY_ADV_IND); > - } else if (get_adv_instance_scan_rsp_len(hdev, instance)) { > + } else if (!instance || get_adv_instance_scan_rsp_len(hdev, instance)) { > + /* Always set scannable for instance 0, as scan rsp data will > + * be set by default with local name. For other instances set > + * scannable based on whether scan rsp data is there for the > + * respective instance > + */ > if (secondary_adv) > cp.evt_properties = cpu_to_le16(LE_EXT_ADV_SCAN_IND); So this comment is at a wrong location. And I am not convinced that we would actually depend on if scan_rsp data is present. We might want to set scannable all the time if that is what we decided for instance 0. Regards Marcel