Re: [PATCH] Bluetooth: Add mgmt command for fast connectable mode

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

 



Hi Marcel,

On Mon, Jul 25, 2011 at 4:38 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
> Hi Dmitriy,
>
>> >> +#define MGMT_OP_SET_FAST_CONNECTABLE 0x001F
>> >> +struct mgmt_cp_set_fast_connectable {
>> >> +     __u8 enable;
>> >> +} __packed;
>> >> +
>> >
>> > so I am not 100% sure that doing it this way is the best way.
>> >
>> > What is the down side of just enabling interlaced page scan all the
>> > time? And then maybe allow tuning of the timeout via debugfs for testing
>> > purposes.
>>
>> This mode changes two parameters: page scan type and page scan
>> interval. There two downsides to have those changed all the time:
>> 1) power consumption
>> 2) re-transmissions on eSCO channel (see BT Core v4.0, Vol. 2, p. 159)
>>
>> In this configuration page scanning happening during all dedicated
>> slots and much more frequently. This is why probably it is not very
>> good idea to have it enabled all the time, but only during short time
>> interval when there are benefits out of such changes.
>
> so the expectation is that bluetoothd or some sort of its plugin keep
> changing from connectable to fast connectable multiple multiple times
> during the lifecycle and based on some specific policy.

That's correct.

> Can you give us some more background on how and when you change the
> modes here. Some simple flow-chart or so.

Fast connectable is switched on when incoming/outgoing call alerting
starts and respectively switched off when alerting stops (i.e. call is
answered/rejected/dropped) as it is implemented in telephony-maemo6
pluging.

The use case is that it enables shorter connection time when user
answers incoming call using headset when the headset is switched off
or disconnected.

>
>> > If we really wanna differentiate between connectable and fast
>> > connectable, then we need to fix up also the controller information to
>> > export this kind of detail. That will get pretty messy right now. So I
>> > would really just prefer to go with interlaced page scan by default and
>> > see what downside this gives us.
>>
>> This is the way how fast connectable implementation is done currently
>> for hci_ops. It is disabled by default and default values for page
>> scan type and page scan interval are used. If one wishes to enable it,
>> audio.conf is used for that purpose. In that case, fast connectable
>> configuration is enabled during incoming/outgoing call alerting only.
>> In this case, connection initiated from headset side can be performed
>> much faster during that specific time interval.
>>
>> Hope this clarifies the questions. What do you think? Could you
>> elaborate more on 'then we need to fix up also the controller
>> information to export this kind of detail.'? Why that is needed?
>
> I like to figure out on what is the best interface to the kernel. Is
> this something really specific or should it be more generic. So for
> example program the page scan intervals into the kernel first. And then
> just toggle. Or have the interval as part of the command to toggle.
>
> And main concern is if multiple profiles wanna make us of it. How do we
> handle that part.

It seems like Claudio's input is quite crucial on how to align it with
LE. Looks like it is quite generic.

BR,
Dmitriy
--
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