07 August, 2012

Questions about laptop hardware on Linux

Dear Intarwebs,

I have a new laptop (Samsung NP900X3C) and am setting it up with Linux. Most things work fine, some don't out of the box but I managed to fix them. Some baffle me to no end...

chmod 777 doesn't seem to work on rfkill

You can set the things like brightness by echoing numbers to /sys/devices/platform/samsung/leds/samsung::kbd_backlight/brightness. To make this possible without root rights, I added "chmod 777 /sys/devices/platform/samsung/performance_level" to /etc/rc.d/boot.local to allow users to set this. Simply works.

But not everything is as fluffy bunny as it should be.
  • First, I know 'chmod 777' is a tad rude. What should be safer?
  • Second, when I do the very same thing (chmod 777) to /sys/devices/platform/samsung/rfkill/rfkill0/state (or /soft), I still get
      echo 1 > /sys/devices/platform/samsung/rfkill/rfkill0/state
      bash: echo: write error: Operation not permitted
    as user (but it works as root). Why? Now I am forced to use kdesudo in my script...

can't asign keys

I am unable to use the Fn F9 and Fn F10 keys to adjust brightness. These keys have no keycodes asigned to them but a simple 'setkeycodes e016 237' etc in boot.local takes care of that. Now, xev should be able to see these keys and I should be able to use them, right? Nope... The kernel has stopped telling me the keys have no keycodes but they still don't show up :(

Even weirder, the Fn F12 key (wlan) doesn't even show a kernel message that it has no keycode but doesn't show up in xev either.

However, while mucking around with these keys, occasionally the terminal (or any other app) gets suddenly filled with a stream of characters (often @ or ±) and the mouse sometimes stops working and I have to (re)start synaptiks to get things working.

U no Power?

The kernel doesn't notice if the laptop is on power or not, nor does it give off any indications if the laptop lid is closed. The relevant acpi files in /proc (/proc/acpi/ac_adapter/ADP1/state and /proc/acpi/button/lid/LID0) don't change anymore after booting. It's a bit of a pain, does anyone know where these are set and if there's any way I can fix it (and where to send that fix)?

Segfaults in synaptiks

Last but not least, while I'm at it - anyone know if synaptiks is supposed to segfault after resuming from suspend-to-ram?!? The app is awesome and I wouldn't be able to use a laptop with a touchpad without it. The segfaulting is a tad annoying, though.

All this on openSUSE 12.2 RC 2, btw. That runs Linux Kernel 3.4.6. Once I've set everything up and fixed these issues I'll make a post with tips, tricks and some scripts to get the most out of this laptop ;-)