Re: [PATCH 2/4 v4] doc/mgmt-api: Add support for Set Phy Configuration command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lukasz, Luiz,


On Mon, Feb 19, 2018 at 4:37 PM, Łukasz Rymanowski
<lukasz.rymanowski@xxxxxxxxxxx> wrote:
> Hi Luiz, Jaganath
>
> On 19 February 2018 at 11:31, Luiz Augusto von Dentz
> <luiz.dentz@xxxxxxxxx> wrote:
>> Hi Jaganath,
>>
>> On Mon, Feb 19, 2018 at 12:09 PM, Jaganath K <jaganath.k.os@xxxxxxxxx> wrote:
>>> Hi Lukasz,
>>>
>>> On Mon, Feb 19, 2018 at 3:28 PM, Łukasz Rymanowski
>>> <lukasz.rymanowski@xxxxxxxxxxx> wrote:
>>>> Hi Jaganath,
>>>>
>>>> On 19 February 2018 at 10:25, Jaganath K <jaganath.k.os@xxxxxxxxx> wrote:
>>>>> Hi Luiz,
>>>>>
>>>>>
>>>>> On Mon, Feb 19, 2018 at 2:17 PM, Luiz Augusto von Dentz
>>>>> <luiz.dentz@xxxxxxxxx> wrote:
>>>>>> Hi Jaganath,
>>>>>>
>>>>>> On Fri, Feb 16, 2018 at 5:40 AM, Jaganath K <jaganath.k.os@xxxxxxxxx> wrote:
>>>>>>> Hi Marcel,
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Nov 29, 2017 at 12:22 PM, Jaganath Kanakkassery
>>>>>>> <jaganath.k.os@xxxxxxxxx> wrote:
>>>>>>>> This also adds PHY Configuration Changed Event.
>>>>>>>> ---
>>>>>>>>  doc/mgmt-api.txt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>>>>>  1 file changed, 52 insertions(+)
>>>>>>>>
>>>>>>>> diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt
>>>>>>>> index c07c48c..628ff18 100644
>>>>>>>> --- a/doc/mgmt-api.txt
>>>>>>>> +++ b/doc/mgmt-api.txt
>>>>>>>> @@ -2940,9 +2940,46 @@ Get PHY Configuration Command
>>>>>>>>         LE 1M TX and LE 1M RX would be supported by default.
>>>>>>>>
>>>>>>>>         This command is only available for LE capable controllers.
>>>>>>>> +        It will return Not Supported otherwise.
>>>>>>>> +
>>>>>>>> +        Possible errors:        Not Supported
>>>>>>>> +                               Invalid Index
>>>>>>>> +
>>>>>>>> +Set PHY Configuration Command
>>>>>>>> +=============================
>>>>>>>> +
>>>>>>>> +       Command Code:           0x0044
>>>>>>>> +       Controller Index:       <controller id>
>>>>>>>> +       Command Parameters:     Default_phys (2 Octet)
>>>>>>>> +       Return Parameters:
>>>>>>>> +
>>>>>>>> +       This command is used to set the default phy to the controller.
>>>>>>>> +
>>>>>>>> +       This will be stored and used for all the subsequent scanning
>>>>>>>> +       and connection initiation.
>>>>>>>> +
>>>>>>>> +       The list of supported PHYs can be retrieved via the
>>>>>>>> +       Get PHY Configuration command. Selecting unsupported PHYs will
>>>>>>>> +       result in an Invalid Parameters error.
>>>>>>>> +
>>>>>>>> +       This can be called at any point to change the preferred PHYs.
>>>>>>>> +
>>>>>>>> +       Default_phy is a bitmask with the following bits.
>>>>>>>> +               0       LE 1M TX
>>>>>>>> +               1       LE 1M RX
>>>>>>>> +               2       LE 2M TX
>>>>>>>> +               3       LE 2M RX
>>>>>>>> +               4       LE CODED TX
>>>>>>>> +               5       LE CODED RX
>>>>>>>> +
>>>>>>>> +       This command generates a Command Complete event on success
>>>>>>>> +       or a Command Status event on failure.
>>>>>>>> +
>>>>>>>> +       This command is only available for LE capable controllers.
>>>>>>>>         It will return Not Supported otherwise.
>>>>>>>>
>>>>>>>>         Possible errors:        Not Supported
>>>>>>>> +                               Invalid Parameters
>>>>>>>>                                 Invalid Index
>>>>>>>>
>>>>>>>
>>>>>>> I think there is a limitation with current API proposal, user cannot do extended
>>>>>>> scanning in only 1M (to scan secondary channel in 1M) since with 1M we will
>>>>>>> switch to legacy scanning.
>>>>>>
>>>>>> Why do we have to switch to legacy scanning for 1M? It seems it would
>>>>>> be possible to use extended scanning whenever it is supported
>>>>>> regardless of the PHY, or perhaps the spec imposes limitations to
>>>>>> certain PHYs? Coded perhaps?
>>>>>>
>>>>>
>>>>> The idea is to enable application to use legacy scanning even if
>>>>> controller supports
>>>>> extended. (ie if application dont want extended features to be used)
>>>>> and unlike advertising
>>>>> legacy scanning can not be emulated using extended scanning.
>>>>
>>>> Bluetooth controller which is doing extended scanning will report legacy
>>>> advertisings as well. It will just use Extended Advertising Report
>>>> Event for this purpose and Linux Kernel should handle it.
>>>>
>>>
>>> Yes, but the idea here is more on perspective of power savings
>>> where in application dont want to scan on secondary channels itself and
>>> API should support it.
>
> Then maybe there should not be dependence between this command and scan/connect.
> Actually I do not understand why we have it, need to check previous
> conversation.
>
>>
>> I would agree if this affects passive scanning, but in that case we
>> can probably program the scan type when adding a device or only really
>> scan on primary channel since the purpose is to connect it doesn't
>> really matter what is on the secondary channels, for active scanning I
>> don't think we would be saving that much power since that should be
>> short-lived so Im not sure we should bother with it.
>
> In extended advertising there is no such thing as connectable and
> scannable at the same time
> When device is connectable, then address and optionally advertising
> data is in the aux ptr (secondary channel)
>
> Please also remember that it is up to controller to connect / scan on
> secondary PHY based on primary PHY provided by host.
> Meaning, host controls primary channel only, which can be 1M or Coded.
> Rest is up to controller and data in AUX_PTR of ADV_EXT_IND
>

I would wait for Marcel's comments here.

Thanks,
Jaganath
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux