Package: pommed
Version: v1.38git

I'm running:

[~]$ cat /etc/issue
Ubuntu 10.10 \n \l

on kernel:

[~]$ uname -a
Linux arwyn 2.6.38-020638rc4-generic #201102081010 SMP Tue Feb 8 10:12:40
UTC 2011 x86_64 GNU/Linux

I've been having issues with pommed on my macbook pro 5,5.  The keyboard
backlight will initially come on, but after the configured keyboard idle
timeout is reached, the backlight will not come on again regardless of
activity.  This was happening with my system installed package
(1.35~maverick-mactel1).  I cloned the git repo and began to hack around to
debug a bit.  I tracked down the issue to the following snippet:

diff --git a/pommed/evdev.c b/pommed/evdev.c
index 330655a..5a9667b 100644
--- a/pommed/evdev.c
+++ b/pommed/evdev.c
@@ -106,12 +106,11 @@ evdev_process_events(int fd, uint32_t events)
       if (ev.value == 0)
  return;

+      logdebug("fd: %02d\n", fd);
+      logdebug("internal_kbd_fd: %02d\n", internal_kbd_fd);
       /* Reset keyboard backlight idle timer */
-      if (fd == internal_kbd_fd)
- {
   kbd_bck_info.idle = 0;
   kbd_backlight_inhibit_clear(KBD_INHIBIT_IDLE);
- }

       switch (ev.code)
  {
@@ -949,7 +948,7 @@ evdev_try_add(int fd)
   */
   if (test_bit(EV_LED, bit[0]) && evdev_is_internal(id))
     {
-      logdebug(" -> Internal keyboard\n");
+      logdebug(" -> Internal keyboard - fd=%02d\n", fd);

       internal_kbd_fd = fd;
     }


When testing with the added debug statement, I was finding that the "fd" was
"6", but the "internal_kbd_fd" was "5".  I don't presume to understand what
this means or why it is occurring. Removing the conditional around that
block appears to resolve my issue, as the outer conditional appears to
ensure that we are catching a keyboard event.

Here is a debug log after my changes were applied.  Look at the end to see
the keypresses (ctrl-c) and what the events are that are being seen.


[~/Documents/Projects/external/pommed/pommed]$ sudo ./pommed -d
I: pommed v1.38git Apple laptops hotkeys handler
I: Copyright (C) 2006-2011 Julien BLACHE <j...@jblache.org>
pommed configuration:
 + General settings:
    fnmode: 1
 + sysfs backlight control:
    initial level: -1
    step: 1
    on_batt: 6
 + ATI X1600 backlight control:
    initial level: -1
    step: 10
    on_batt: 80
 + Intel GMA950 backlight control:
    initial level: 0xffffffff
    step: 0xf
    on_batt: 0x40
 + nVidia GeForce 8600M GT backlight control:
    initial level: -1
    step: 1
    on_batt: 6
 + Audio volume control:
    card: default
    initial volume: -1
    step: 5%
    beep: yes
    volume element: PCM
    speaker element: Front
    headphones element: Headphone
 + Keyboard backlight control:
    default level: 100
    step: 10
    auto on threshold: 2
    auto off threshold: 5
    auto enable: yes
    idle timer: 5s
    idle level: 0
 + CD eject:
    enabled: yes
    device: /dev/dvd
 + Beep:
    enabled: no
    beepfile: /usr/share/pommed/goutte.wav
 + Apple Remote IR Receiver:
    enabled: no
DMI vendor name: [Apple Inc.]
DMI product name: [MacBookPro5,5]
I: DMI machine check: running on a MacBookPro5,5
System: Linux 2.6.38-020638rc4-generic x86_64
Failed to access brightness node: No such file or directory

Investigating evdev [Lid Switch]
 -> ACPI LID switch
evdev: no EV_KEY event type (not a keyboard)

Investigating evdev [Power Button]
Discarding evdev: bus 0x0019, vid 0x0000, pid 0x0001

Investigating evdev [Sleep Button]
Discarding evdev: bus 0x0019, vid 0x0000, pid 0x0003

Investigating evdev [Power Button]
Discarding evdev: bus 0x0019, vid 0x0000, pid 0x0001

Investigating evdev [Logitech USB Receiver]
Discarding evdev: bus 0x0003, vid 0x046d, pid 0xc52f

Investigating evdev [Logitech USB Receiver]
Discarding evdev: bus 0x0003, vid 0x046d, pid 0xc52f

Investigating evdev [Apple Inc. Apple Internal Keyboard / Trackpad]
 -> WellSpring III USB assembly
Trying /sys/module/hid_apple/parameters/fnmode
 -> WellSpring III USB assembly
Trying /sys/module/hid_apple/parameters/fnmode
 -> Internal keyboard - fd=05

Investigating evdev [bcm5974]
 -> WellSpring III USB assembly
Trying /sys/module/hid_apple/parameters/fnmode
Discarding evdev with EV_ABS event type (mouse/trackpad)

Investigating evdev [Built-in iSight]
Discarding evdev: bus 0x0003, vid 0x05ac, pid 0x8507

Investigating evdev [applesmc]
Discarding evdev: bus 0x0019, vid 0x0000, pid 0x0000

Investigating evdev [Mouseemu virtual keyboard]
 -> Mouseemu virtual keyboard

Investigating evdev [Mouseemu virtual mouse]
Discarding evdev: bus 0x0006, vid 0x001f, pid 0x001e

Found 3 devices
Trying /sys/class/leds/smc::kbd_backlight/brightness
KBD backlight value is 100
I: Found applesmc at /sys/class/hwmon/hwmon0/device
I: Dereferenced applesmc to /sys/devices/platform/applesmc.768
Ambient light: right 0, left 0
Audio init: volume NOK, speakers NOK, headphones NOK
Failed to open required mixer elements
W: Audio initialization failed, audio support disabled
DBus add watch
DBus add watch
DBus process watch
KBD: Idle 200
Ambient light: right 0, left 0
DBus ambientLight: 0 0 0 0
Ambient light lower threshold reached
Trying /sys/class/leds/smc::kbd_backlight/brightness
KBD backlight value is 100
DBus process watch
KBD: Idle 400
Ambient light: right 0, left 0
DBus ambientLight: 0 0 0 0
Ambient light lower threshold reached
Trying /sys/class/leds/smc::kbd_backlight/brightness
KBD backlight value is 100
DBus process watch
KBD: Idle 600
Ambient light: right 0, left 0
DBus ambientLight: 0 0 0 0
Ambient light lower threshold reached
Trying /sys/class/leds/smc::kbd_backlight/brightness
KBD backlight value is 100
DBus process watch
KBD: Idle 800
Ambient light: right 0, left 0
DBus ambientLight: 0 0 0 0
Ambient light lower threshold reached
Trying /sys/class/leds/smc::kbd_backlight/brightness
KBD backlight value is 100
DBus process watch
fd: 06
internal_kbd_fd: 05
KBD: inhibit clear 0x08 -> 0x00
fd: 06
internal_kbd_fd: 05
KBD: inhibit clear 0x08 -> 0x00
^CI: Exiting

If you need additional information regarding my system, please ask.  I don't
think I am on a unique system.

Reply via email to