Re: iwlwifi (4965) regression since 2.6.30

From: Henrique de Moraes Holschuh
Date: Thu Aug 13 2009 - 22:10:45 EST


On Thu, 13 Aug 2009, reinette chatre wrote:
> On Fri, 2009-08-07 at 14:35 -0700, Lukas Hejtmanek wrote:
> > On Thu, Aug 06, 2009 at 08:07:04PM -0300, Henrique de Moraes Holschuh wrote:
> > > On Fri, 07 Aug 2009, Lukas Hejtmanek wrote:
> > > > 0x0004 = 238 # KEY_WLAN
> > >
> > > This means any rfkill input handler (be it in kernel or userspace) will
> > > toggle your WLAN cards when fn+f5 is pressed. You can just assign a
> > > different keycode to it (use KEY_RESERVED or KEY_UNKNOWN if you don't want
> > > the key to do anything).
> >
> > Could you give me some hints how to do the mapping?
>
> On my system this key is mapped to 385 (KEY_RADIO) - so that can explain

And KEY_RADIO is the key to select the radio tuner... heh. The
bogosity never ends. At least it is unlikely that anything would care
for KEY_RADIO.

> why we are seeing different behavior. Perhaps you can try to change your
> key mapping to this if you just want bluetooth to be affected?

That would be the correct thing to do, yes.

> >From what I understand you can use input-kbd to change the key mappings.
> The map file you can provide to it is in same format as the one it
> prints for you.

You can also add a HAL fdi file. I will attach one I found on my
system, modify to your taste and find out where you should drop it on
/etc for HAL to use...

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->

<deviceinfo version="0.2">
<device>
<!-- These are buttons synthesized in the thinkpad-acpi kernel module -->
<match key="input.product" string="ThinkPad Extra Buttons">
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" prefix="IBM">
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains="600">
<append key="input.keymap.data" type="strlist">0x02:screenlock</append> <!-- Fn+F3 lock -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x07:search</append> <!-- Fn+F8 screen expand -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains="750">
<append key="input.keymap.data" type="strlist">0x02:battery</append> <!-- Fn+F3 battery -->
<append key="input.keymap.data" type="strlist">0x02:screenlock</append> <!-- Fn+F3 lock -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x07:search</append> <!-- Fn+F8 screen expand -->
<append key="input.keymap.data" type="strlist">0x0a:mode</append> <!-- Fn+F11 power mode -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains="R5">
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x04:radio</append> <!-- Fn+F5 switch wifi -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
<append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
<append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains_outof="T3;X2;R3;A2">
<append key="input.keymap.data" type="strlist">0x02:screenlock</append> <!-- Fn+F3 lock -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
<append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
<append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains="T4">
<append key="input.keymap.data" type="strlist">0x02:screenlock</append> <!-- Fn+F3 lock -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x04:radio</append> <!-- Fn+F5 switch radio -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
<append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
<append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains_outof="X3;G40">
<append key="input.keymap.data" type="strlist">0x02:screenlock</append> <!-- Fn+F3 lock -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x07:radio</append> <!-- Fn+F8 switch radio -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
<append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
<append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains="X4">
<append key="input.keymap.data" type="strlist">0x02:screenlock</append> <!-- Fn+F3 lock -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x04:radio</append> <!-- Fn+F5 switch radio -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x08:f24</append> <!-- Fn+F9 undock -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
<append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
<append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
</match>

<match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" prefix="LENOVO">
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains_outof="X6;Z6">
<append key="input.keymap.data" type="strlist">0x01:screenlock</append> <!-- Fn+F2 lock -->
<append key="input.keymap.data" type="strlist">0x02:battery</append> <!-- Fn+F3 battery -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x04:radio</append> <!-- Fn+F5 wifi -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x07:f22</append> <!-- Fn+F8 touchpadtoggle -->
<append key="input.keymap.data" type="strlist">0x08:f24</append> <!-- Fn+F9 undock -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
<append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
<append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains="T6">
<append key="input.keymap.data" type="strlist">0x01:screenlock</append> <!-- Fn+F2 lock -->
<append key="input.keymap.data" type="strlist">0x02:battery</append> <!-- Fn+F3 battery -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x04:radio</append> <!-- Fn+F5 wifi -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x07:f22</append> <!-- Fn+F8 touchpadtoggle -->
<append key="input.keymap.data" type="strlist">0x08:f24</append> <!-- Fn+F9 undock -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
<append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
<append key="input.keymap.data" type="strlist">0x11:kbdillumtoggle</append> <!-- Fn+PgUp - ThinkLight -->
<append key="input.keymap.data" type="strlist">0x14:volumeup</append> <!-- Volume Up button -->
<append key="input.keymap.data" type="strlist">0x15:volumedown</append> <!-- Volume Down button -->
<append key="input.keymap.data" type="strlist">0x16:mute</append> <!-- Mute button -->
<append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" contains="R6">
<append key="input.keymap.data" type="strlist">0x01:screenlock</append> <!-- Fn+F2 lock -->
<append key="input.keymap.data" type="strlist">0x02:battery</append> <!-- Fn+F3 battery -->
<append key="input.keymap.data" type="strlist">0x03:sleep</append> <!-- Fn+F4 suspend -->
<append key="input.keymap.data" type="strlist">0x04:radio</append> <!-- Fn+F5 wifi -->
<append key="input.keymap.data" type="strlist">0x06:switchvideomode</append> <!-- Fn+F7 switch video output device -->
<append key="input.keymap.data" type="strlist">0x07:prog1</append> <!-- Fn+F8 ultranav -->
<append key="input.keymap.data" type="strlist">0x08:ejectcd</append> <!-- Fn+F9 eject -->
<append key="input.keymap.data" type="strlist">0x0b:suspend</append> <!-- Fn+F12 hibernate -->
<append key="input.keymap.data" type="strlist">0x0f:brightnessup</append> <!-- Fn+Home -->
<append key="input.keymap.data" type="strlist">0x10:brightnessdown</append> <!-- Fn+End -->
<append key="input.keymap.data" type="strlist">0x13:zoom</append> <!-- Fn+Space -->
<append key="input.keymap.data" type="strlist">0x17:vendor</append> <!-- ThinkPad/ThinkVantage button -->
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
</match>
</match>
</device>
</deviceinfo>