Re: [RFC 7/7] Update Management API documentation

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

 



Hi,

On Thu, Jun 16, 2011 at 4:45 PM, Gustavo F. Padovan
<padovan@xxxxxxxxxxxxxx> wrote:
> * Claudio Takahasi <claudio.takahasi@xxxxxxxxxxxxx> [2011-06-16 12:12:53 -0300]:
>
>> Hi Marcel,
>>
>> On Thu, Jun 16, 2011 at 11:47 AM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
>> > Hi Claudio,
>> >
>> >> >>> if TX power is only read once than the kernel should just do it once
>> >> >>> and
>> >> >>> be done with it.
>> >> >>>
>> >> >>> And for RSSI, it would be better if the kernel read this periodically
>> >> >>> based on current sniff mode etc. Userspace can not trigger this with
>> >> >>> proper timing anyway. And it will potentially at some point start
>> >> >>> blocking the controller. Only the kernel really knows when it is
>> >> >>> acceptable to read the RSSI value.
>> >> >>
>> >> >> Reading the RSSI by the kernel, will force a certain limitation on the
>> >> >> current and future Profiles. I believe setting the timing should be done
>> >> >> by the profile itself, not the bluez user space code or the kernel. It
>> >> >> is the responsibility of the profile to periodically poll the RSSI Level.
>> >> >> For some cases, polling it every 5 seconds would be ok, and for some
>> >> >> Others, it may be better to read it every second. I believe we must not
>> >> >> impose any limitation here.
>> >> >
>> >> > You probably forgot that besides bluetoothd there should be no other
>> >> > application holding the mgmt socket, so not you can't really do it in
>> >> > poll in the application side and doing it over D-Bus is overkill. Also
>> >> > I notice that from some parties, you include, there is some tendency
>> >> > to have the profiles split from the bluetoothd, IMO this will only add
>> >> > fragmentation with each and every platform using BlueZ having their
>> >> > own implementation of each profile and not sharing much, making the
>> >> > IOP a complete mess.
>> >> >
>> >>
>> >> Some additional comments...
>> >>
>> >> Health plugin will need a similar approach to read the clock. It will
>> >> be good to implement the same approach.
>> >> In our suggested implementation the adapter controls when to send the
>> >> command to read the RSSI, keeping the same logic for both: hciops and
>> >> mgmtops. If the adapter is managing when to send the commands,
>> >> repeated commands can be avoided, multiple callbacks can be registered
>> >> by the profiles, but only one command to read the RSSI will be sent.
>> >> The cover letter of the userspace patches contains more details how we
>> >> implemented it.
>> >>
>> >> Reading the RSSI directly by the kernel will break hciops. These are
>> >> the arguments that I have to support our decision.
>> >
>> > what I am hearing is that we want the kernel to poll for certain
>> > information if userspace needs them. And either it is a one-shot poll or
>> > it is on a regular interval.
>>
>> If everybody agree we can do it. Our objective is to have the patches upstream.
>> To keep the Proximity Monitor functional on both adapter_ops plugins
>> we can move part of the logic from the adapter.c to the hciops. The
>> polling to read the RSSI can be moved to hciops, in the management the
>> polling will be in the kernel. The remaining code to register the
>> callbacks doesn't need to be changed.
>
> Do we have a really good reason to implement this both for hciops and mgmtops?
> We wrote mgmt interface to solve our problems. So why do we still care about
> put new stuff on hciops? And then we maintain two pieces of code instead
> of one.
>
>        Gustavo
>

Ok, we could implement it just for mgmtops. But, I need some opinions
before start coding. We was thinking about the architecture needed
into the kernel and we have some ideas:

- Add a new Management command called MGMT_ADD_LISTENER or something
like that, which has two arguments at least: command op code and timer
interval.
- A callback called by the expired timer for each monitored command
will be responsible to send the result (e.g.: Read RSSI or Read
Clock), to the userspace.

As you could notice, we should have one timer for each command. What
do you think about this approach?

Regards,

Anderson Briglia


-- 
INdT - Instituto Nokia de tecnologia
+55 2126 1122
--
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