LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Thinkpad edge sound and brightness keys stopped working (http://www.linuxquestions.org/questions/slackware-14/thinkpad-edge-sound-and-brightness-keys-stopped-working-4175432312/)

geoslack 10-15-2012 11:15 AM

Thinkpad edge sound and brightness keys stopped working
 
Hi Slackers,
Something strange happened to my system recently. I am running a newish install of Slackware 13.37 on a thinkpad edge, kernel version 3.0.42.

The problem is that the extra keys along the top edge of the keyboard which control volume, screen brightness, etc. worked from the start, but then suddenly stopped working. They are keys that double as F1-F12 (by default you need to use the "fn" key to get them to function as F1-F12) and those are still working. The strange thing is that "xev" as well as "showkey" give no response whatsoever anymore when those keys are pressed. This seems to have happened after I loaded KDE as my wm (I normally use fluxbox but wanted to see how KDE ran). Or at least that was when I first noticed it, so that may or may not be the cause.

I've googled quite a bit on this issue, and looked around at think-wiki as well as here for clues, but have not come up with much. I have read this thread, which mentions reflashing the BIOS, which is something I've never done and seems a bit risky, especially since I wiped out all traces of windows from this machine as soon as I got it so the original BIOS update capabilities are gone. I checked out the BIOS settings and reset them to defaults in case some program or other may have changed the settings. Nada.

This is not a hugely important issue, but it was nice to be able to dim the screen and also to adjust volume with those keys.

In case it is useful here is the output of "lsmod" and "lspci":

Code:

[1153][george@here:~]$ lsmod
Module                  Size  Used by
snd_seq_dummy          1119  0
snd_seq_oss            25228  0
snd_seq_midi_event      4600  1 snd_seq_oss
snd_seq                41688  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device          4313  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            33850  0
snd_mixer_oss          12997  1 snd_pcm_oss
ipv6                  239894  22
cpufreq_ondemand        5289  4
speedstep_lib          2631  0
acpi_cpufreq            5073  1
freq_table              2039  2 cpufreq_ondemand,acpi_cpufreq
mperf                    923  1 acpi_cpufreq
lp                      7009  0
ppdev                  4805  0
parport_pc            17930  0
parport                24659  3 lp,ppdev,parport_pc
fuse                  58763  1
uvcvideo              56340  0
videodev              67101  1 uvcvideo
usb_storage            34803  0
uas                    6434  0
i915                  443905  7
drm_kms_helper        22024  1 i915
drm                  148237  3 i915,drm_kms_helper
rtl8192ce              68024  0
rtl8192c_common        53890  1 rtl8192ce
thinkpad_acpi          54857  0
i2c_i801                6986  0
i2c_algo_bit            4520  1 i915
intel_agp              8808  1 i915
intel_gtt              11513  3 i915,intel_agp
processor              21973  1 acpi_cpufreq
rtlwifi                84677  1 rtl8192ce
ehci_hcd              35030  0
psmouse                41735  0
i2c_core              16390  6 videodev,i915,drm_kms_helper,drm,i2c_i801,i2c_algo_bit
nvram                  4725  1 thinkpad_acpi
video                  9899  1 i915
thermal                6654  0
battery                8923  0
agpgart                21674  3 drm,intel_agp,intel_gtt
thermal_sys            11565  3 processor,video,thermal
intel_ips              10057  0
r8169                  36323  0
ac                      2529  0
button                  3626  1 i915
serio_raw              3350  0
snd_hda_codec_hdmi    19927  1
snd_hda_codec_realtek  219173  1
evdev                  7304  15
sg                    20807  0
mii                    3335  1 r8169
snd_hda_intel          18443  1
snd_hda_codec          62780  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
mac80211              192373  3 rtl8192ce,rtl8192c_common,rtlwifi
cfg80211              137378  2 rtlwifi,mac80211
snd_hwdep              4676  1 snd_hda_codec
snd_pcm                58970  4 snd_pcm_oss,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer              15079  2 snd_seq,snd_pcm
snd                    42715  15 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,thinkpad_acpi,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
soundcore              4577  1 snd
snd_page_alloc          5765  2 snd_hda_intel,snd_pcm
hwmon                  1065  2 thinkpad_acpi,thermal_sys
rfkill                12550  2 thinkpad_acpi,cfg80211

Code:

[1155][george@here:~]$ lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)


Any help would be appreciated!

Please note: even though I've been using Slackware since version 9.0, and have messed around a bit with new kernels and such, I am not an IT person, so go easy on me. ;)

-g

mdlinuxwolf 10-15-2012 11:45 PM

That's weird.

First try downloading a few different images from different distros. See if any other distros get those keys working.

I'd try Mint and Mepis first. They're pretty good supporting hardware.

If something else works better with your hardware, I'd suggest switching.

If nothing else gets it working, there is a hardware malfunction.

geoslack 10-16-2012 05:27 AM

Thanks for the response. I hesitate to install another distro since I know and love slackware so much! Perhaps a live CD distro may help diagnose the issue at least, and if it solves the problem I'll consider using it instead of slackware. Those keys were all working from the get go though, and only suddenly stopped working.

Another detail I did not mention. In the BIOS setup you can change the default behavior of those keys. The default settings are that pressing the key alone, say the "mute/F1" key, mutes the sound and to get F1, you need to do Fn+key. You can change the default so that F1 is the result of pressing the key alone and "mute" requires Fn+key. I did that and the F1 worked when pressed alone, while the Fn+key did nothing. Now, back to default settings, it's the opposite: Fn+key registers as F1, while pressing the key alone does nothing. That leads me to think it is not a hardware problem, or not just a hardware problem.

-g

bogzab 10-16-2012 06:30 AM

Not sure if I understood correctly - problem appeared when you used KDE in place of fluxbox, but does it go away if you reverse this change?

I have a Thinkpad Edge which has Slackware 13.37 and KDE (4.6.5) and those keys seem to work just fine. IIRC the screen brightness keys (Fn-F7 and Fn-F8) have always worked right out of the box and I have assumed that they are hard-wired to the LCD display. The volume and mute keys required a bit of encouragement for which I used Xmodmap with an .Xmodmap file containing lines like

Quote:

keycode 121 = XF86AudioMute
keycode 123 = XF86RaiseVolume
etc

If however you see no events with xev when you press these keys you seem to have a more fundamental problem. I think I changed my BIOS settings so that the keys return normal Function Key (F1-F12) codes unless the Fn key is also depressed when they generate the hardware-control codes.

geoslack 10-16-2012 10:44 AM

bogzab,
the problem is that everything worked just fine out of the box and then suddenly stopped working for no apparent reason. I get no response whatsoever in xev, no key codes at all, matter what wm I use. It's as if the keys do not exist. The connection to KDE may be circumstantial. Even when I exit xwindows altogether and go to the command line nothing happens when I press those keys while running "showkey," which is the cli equivalent of xev.

with BIOS defaults:
Fn+key gives me the keycodes for the F1-F12 keys just fine
key alone: nothing

switching the BIOS settings as you mention reverses things:
key alone gives me the keycodes for F1-F12 just fine
Fn+key: nothing

This is why I suspect it is firmware related not software or hardware related. If I didn't need this laptop on a regular basis I'd wade into the murky waters of reflashing the BIOS to see if it fixes things, but I'd really rather not if I can avoid it.


-g

bogzab 10-16-2012 12:09 PM

Can you boot with a live CD distro - one that uses another kernel ?

If it's just the same, I guess you go back to the BIOS flashing option.

geoslack 10-16-2012 01:21 PM

Hi bogzab,
I was worried that you'd say that! Just yesterday I compiled a fresh kernel (3.4.14) and it did not help the issue when I booted into it. But I can try another distro too. I am wondering now whether this problem can be due to the thinkpad_acpi driver which, as I understand it controls the extra buttons on thinkpads. It does seem odd that the BIOS could be affected by something that happened while I was running Linux. Then again, that level of computer operations is one of which I can claim almost complete ignorance. I appreciate your help on this, but will honestly probably not try flashing the BIOS until I have a long period of time where I am not dependent on having a functioning computer.
-g

bogzab 10-16-2012 01:37 PM

New kernel does not help - perhaps going back to an older one (stock huge kernel distributed with Slack 13.37?) might help?

geoslack 10-16-2012 07:31 PM

It is worth a try, although other issues, like a flaky wireless card driver, I ran into on the stock kernel were the reason for the upgrade in the first place. Perhaps I'll try upgrading to Slackware 14.0, which if I remember correctly has an older kernel than the one I upgraded to, but a later one than 13.37. I still don't get what might have happened to muck things up. Maybe it's because I bought a cheapo laptop. I have always had good results in the past with thinkpads as they seem to do well with slackware.
-g

geoslack 10-16-2012 08:32 PM

Well, suddenly things are fixed! And it is apparently KDE related.

Here's the story: another, I thought, unrelated issue I was having was with seemingly random crashes while using KDE apps in xfce or fluxbox, like Kile. I'd be working away when suddenly xorg would crash and I would get dropped down to the cli with a message about a segfault. Very frustrating. So after poking around here looking to fix THAT problem after giving up on the hotkey issue, I upgraded to newer versions of libdrm and mesa from /testing and lo and behold, those daggone volume keys are working again. Haven't gotten KDE apps to crash again, but we'll see on that.

Does this make any sense to anyone who knows what's going on under the hood?

-g

mdlinuxwolf 10-16-2012 10:19 PM

Yes, it might make sense. One glitch can cause multiple problems. If a package that is a dependancy for several different things is corrupt, you'll have multiple issues.

You can also look into scanning your hard drive and fixing bad sectors.

Many updates are bug fixes.

geoslack 10-17-2012 08:33 AM

md, thanks for the response. That does make sense.

Unfortunately, the problem has now reappeared. Things worked well last night, but then on rebooting the system this morning, those keys are unresponsive once again.... No response at all in xev or showkey either.


-g

D1ver 10-17-2012 05:32 PM

Quote:

Originally Posted by geoslack (Post 4807718)
Well, suddenly things are fixed! And it is apparently KDE related.

Here's the story: another, I thought, unrelated issue I was having was with seemingly random crashes while using KDE apps in xfce or fluxbox, like Kile. I'd be working away when suddenly xorg would crash and I would get dropped down to the cli with a message about a segfault. Very frustrating. So after poking around here looking to fix THAT problem after giving up on the hotkey issue, I upgraded to newer versions of libdrm and mesa from /testing and lo and behold, those daggone volume keys are working again. Haven't gotten KDE apps to crash again, but we'll see on that.

Does this make any sense to anyone who knows what's going on under the hood?

-g

This is all very familiar to me (you even linked to my thread heh).. I had the same crashes, fixed by upgrading mesa/libdrm. Hotkeys randomly stopping working and then the issue just seemed to stop.

It's been stable for months now and everything seems pretty happy. Suspend will still crap out on me and the wireless occasionally stops working.. I've been put off lenovos for a while I think..

Good luck :)

geoslack 10-17-2012 07:54 PM

D1ver,
I didn't realize that you had the same xorg crashing issues as well. Did you start another thread on that? Maybe I read it last night without making the connection. Anyway, I'm back to square one on the hotkey question, although now that I have upgraded libdrm and mesa KDE apps no longer cause xorg to crash -- so far at least, knock on wood! But those elusive hotkeys remain a mystery, as they are no longer responsive after working for a little bit last night. I wonder if upgrading to slack 14 might help. Otherwise I've downloaded a couple of live OS options -- Mint and Slax to see what they do. I'll report back.

Though I also now wonder whether this whole thing might be related to the thinkpad_acpi driver which controls the hotkeys, right?

cheers!
-g

geoslack 10-17-2012 09:52 PM

D1ver,
Just came across this thread at a Lenovo forum. Don't know if you've seen it. Seems like it might remain a problem that Lenovo still has not fixed given that the last post in that thread was from March of this year. Perhaps we should ask for our money back.

-g


All times are GMT -5. The time now is 07:38 AM.