Messages in this thread | | | From | Carlos Corbacho <> | Subject | Re: [PATCH 3/8] rfkill: handle KEY_RADIO and SW_RADIO events | Date | Sat, 12 Apr 2008 20:09:29 +0100 |
| |
On Saturday 12 April 2008 19:14:41 Ivo van Doorn wrote: > > Separate hot keys/buttons? I haven't seen it, but check commit > > 90da11514562020ea7d697982f912ac949adc317's comment. That was the commit > > which added KEY_WLAN and KEY_BLUETOOTH, back in 2.6.18-rc. Maybe ask > > Lennart Poettering about it? > > My laptop (Acer Ferrari 3200) features 2 keys, 1 for 802.11 and 1 for > Bluetooth. Both directly communicate to the hardware itself and only need > rfkill for notification purposes to userspace.
The Ferrari's are the odd-one-out of Acer's lineup - these generally tend to just work out-of-the-box for the wireless and bluetooth buttons.
Most of the other Acer laptops just have software buttons (KEY_WLAN and KEY_BLUETOOTH), and need another driver to make them do anything (acer-wmi is one example), and the wireless card has no control over it's rfkill switch (though there are a few cases where this is apparently not the case).
Although the current wireless driver implementations of rfkill/ input polling have been causing me a bit of a headache lately, with no nice solution in site, because of the following (b43 does this, but I suspect rt2x00 may also do the same, so it's a slightly more generic problem). Now, I have a patch locally to add rfkill support to acer-wmi, but still keep seeing the following:
1) acer-wmi loads 2) Press KEY_WLAN 3) rfkill-input notifies all registered KEY_WLAN rfkill drivers that KEY_WLAN has been pressed. 4) acer-wmi toggles the wireless radio state 5) b43 notices this state change because of it's polling, then sends a KEY_WLAN event (even though b43 knows it can't control the radio on my laptop) 6) Goto 3.
And this continues in a loop. Removing the offending input_report_key() lines in the wireless driver stops this.
Ideally, I think we are going to need some way of saying that platform firmware level drivers (e.g. acer-wmi, thinkpad-acpi, etc) take priority over the wireless drivers, and that the drivers should _not_ send out these KEY_WLAN events if one of acer-wmi, etc are loaded (or find some other nice way of handling this).
-Carlos -- E-Mail: carlos@strangeworlds.co.uk Web: strangeworlds.co.uk GPG Key ID: 0x23EE722D
| |