FN Keys for camera, wireless and Bluetooth do not work, others OK

Greetings,

I am running Tumbleweed with kernel version 3.10.6-22.gbd99dce-desktop. In the past all the function keys worked, and I am not 100% sure when they stopped working. I am on a System76 Gazelle Professional. (Oddly, I have more problems with this laptop than my old HP!)

When I run XEV from the terminal, the keys seem to be inactive, i.e. there is n indication the X servers is receiving anything from the keyboard. The other FN keys work fine, and I see output from XEV.

I am guessing this is a driver issue, but I am not sure how to proceed. It is possible I need a new kernel driver, but I am not sure.

Apparently the keyboard driver is more intelligent than I first thought.

For instance, the screen brightness keys work, but the “increase” brightness key (FN+F9) does not send any codes if the brightness is maximized, and the decrease brightness key (FN+F8) does not send any codes when the brightness is minimized. So the keyboard driver is aware of the state of the device it attempts to control and does not send unnecessary key codes.

So I am wondering if there is an isue with something besides the keyboard driver. Still wondering how to proceed. I would like to 'test" the key code for the camera/radio/bluetooth so I can eliminate the keyboard from consideration.

BTW, no key codes with showkey even with X stopped.

On 08/19/2013 07:56 AM, Thiudans wrote:
>
> Apparently the keyboard driver is more intelligent than I first thought.
>
> For instance, the screen brightness keys work, but the “increase”
> brightness key (FN+F9) does not send any codes if the brightness is
> maximized, and the decrease brightness key (FN+F8) does not send any
> codes when the brightness is minimized. So the keyboard driver is aware
> of the state of the device it attempts to control and does not send
> unnecessary key codes.
>
> So I am wondering if there is an isue with something besides the
> keyboard driver. Still wondering how to proceed. I would like to 'test"
> the key code for the camera/radio/bluetooth so I can eliminate the
> keyboard from consideration.
>
> BTW, no key codes with showkey even with X stopped.

On many laptops (perhaps even most), the Fn keys do not send a keycode, but are
interpreted within the context of something called the Windows Managment
Interface (WMI). The pieces of kernel code that handle them are the xx-wmi or
wmi-yy modules. Keeping up with the vendors regarding these routines is not
easy, and there are bugs and/or missing implementations. As I have no idea what
a “System76 Gazelle Professional” is, I cannot even suggest what wmi routine you
need. Do you know who makes the motherboard?

This is from hwinfo:

Board Info: #2
Manufacturer: “System76, Inc.”
Product: “Gazelle Professional”
Version: “gazp8”
Serial: “Not Applicable”
Asset Tag: “Tag 12345”
Type: 0x0a (Motherboard)
Features: 0x09
Hosting Board
Replaceable
Location: “Not Applicable”

It doesn’t seem useful :slight_smile:

System76 makes laptops for Ubuntu. I chose to install openSUSE–and I am quite happy with my choice. The Gazelle Professional is their “power user” laptop. I am looking for more information, and I will post it here when I find it. :wink:

On 08/19/2013 01:06 PM, Thiudans wrote:
>
> This is from hwinfo:
>
> Board Info: #2
> Manufacturer: “System76, Inc.”
> Product: “Gazelle Professional”
> Version: “gazp8”
> Serial: “Not Applicable”
> Asset Tag: “Tag 12345”
> Type: 0x0a (Motherboard)
> Features: 0x09
> Hosting Board
> Replaceable
> Location: “Not Applicable”
>
> It doesn’t seem useful :slight_smile:
>
> System76 makes laptops for Ubuntu. I chose to install openSUSE–and I
> am quite happy with my choice. The Gazelle Professional is their “power
> user” laptop. I am looking for more information, and I will post it here
> when I find it. :wink:

Some things to think about: Did the Fn switches work with Ubuntu? If so, what
kernel version was running there? If newer than 3.7, the wmi routine may have
been fixed already. It is also possible that a working wmi routine is supplied
by System 76 with the Ubuntu kernel, but that code has not been submitted to the
standard kernel code.

They actually worked with a previous kernel version of openSUSE. I am just not sure if it was 3.8.x or 3.9.x. The latest drivers from System76 are from April, where would I look for WMI paths?

So it appears than something in WMI was changed. I just have to figure out what.

On 08/19/2013 02:26 PM, Thiudans wrote:
>
> They actually worked with a previous kernel version of openSUSE. I am
> just not sure if it was 3.8.x or 3.9.x. The latest drivers from System76
> are from April, where would I look for WMI paths?
>
> So it appears than something in WMI was changed. I just have to figure
> out what.

The wmi drivers are in drivers/platform/x86/.

You should narrow the version in which the Fn keys stopped working and report
the regression to the openSUSE bugzilla, and perhaps the kernel bugzilla as well.

Thiudans wrote:
> So it appears than something in WMI was changed. I just have to figure
> out what.

I haven’t really followed this thread, but have you asked System76 about
your problem?

I did. And they more or less said that the FN keys for the radio and the bluetooth are actually hardware switches–the OS will never see the key strokes. That explains a lot of the behavior IMO.