mouse battery status?

Eric Anderson anderson at centtech.com
Thu Apr 6 19:46:37 UTC 2006


Maksim Yevmenkin wrote:
> Eric,
> 
>>>> What about a simple tiny kernel module that can maintain these and 
>>>> other
>>>> tweaks related to bluetooth?  Like a btmon.ko?
>>>
>>> This seems overly complex. Can you not just add an entry in your
>>> syslog.conf to filter messages from bthidd?  I have not tried this, but
>>> syslog.conf(5) on appears to show that it is possible, eg:
>>>
>>> !bthidd
>>> *.*    |/usr/bin/batmon
>>>
>>> though I'm not so sure what the 'batmon' program would do - it can 
>>> extract
>>> the battery reports at least, but can't really do anything with them.
>>> Probably better to just feed bthidd output to a logfile and get a user
>>> program to parse it. You could add a commandline option to bthidd to 
>>> make
>>> it do special logging of the battery information, eg add
>>>
>>> if (battery_log)
>>>     syslog(LOG_LOCAL7, "%s %d", bt_ntoa(&s->bdaddr, NULL), val);
>>>
>>> to the battery report section which might make parsing easier, and use
>>> something like
>>>
>>> !bthidd
>>> user.local7        /var/log/bthidd.batlog
>>>
>>> so you dont have to worry about all the other stuff. Then, your user
>>> program will just have to open battery.log and sit in a read() loop 
>>> to get
>>
>> I suppose logging it, and having a monitoring daemon read the log is 
>> ok, but for tools that want to just probe every X minutes and report 
>> the level, it isn't as slick.
> 
> well, you could use kqueue(2) and get notification when log file is 
> changed. this way you do not have to poll the file.
> 
>> The idea of a module would be more generic, so it could monitor all 
>> kinds of bluetooth related things, and allow a simple control 
>> interface to flip knobs if needed, very much like ACPI battery status 
>> is.  I was thinking of a sysctl tree like:
>>
>> bluetooth.mouse.battery_level
>> bluetooth.keyboard.battery_level
>> etc..
> 
> perhaps i'm missing something here, but wouldn't the sysctl's have to be 
> polled as well?


Yea, I suppose I was thinking it would be easier for a small binary 
program (or several different kinds) to be able to snag the latest 
information from the sysctl, rather than having them dig through log 
files and such.  I guess in the end, I don't care how it's done, but 
digging through logs seems a little like a kludge and less robust..

Since nobody else seems to care too much, I guess I'll cobble up a perl 
script to just munge together what I want... :)

Eric



-- 
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------


More information about the freebsd-bluetooth mailing list