samsung new series 9, not all function keys working

7,898

In order to get the fn keys working i first had to update the BIOS ( install windows, update bios, install ubuntu again -> a lot of fun! ) because ubuntu couldn't read the dmi data it requires to load vendor specific configurations and modules. You may check if the dmi data is accessible using the "dmidecode" tool which should return a lot of data ( see other answer ):

$ sudo dmidecode

I updated the kernel to version 3.5.3 since it has some required samsung modules compiled in to it.

I also created two keymap files and added two udev rules as described on the blog Linux And Samsung Series 9 Laptop Fn Keys. You have to replace some module specific strings ( 90X3A > 900X3C*, 90x3a > 900x3c ) as described below.

# /lib/udev/keymaps/samsung-900x3c

0x96 kbdillumup         # Fn+F8 keyboard backlit up
0x97 kbdillumdown       # Fn+F7 keyboard backlit down
0xD5 wlan               # Fn+F12 wifi on/off
0xCE prog1              # Fn+F1 performance mode (?)
0x8D prog2              # Fn+F6 battery life extender

#/lib/udev/keymaps/force-release/samsung-900x3c

# forces key release
0xCE # Fn+F8 keyboard backlit up
0x8D # Fn+F7 keyboard backlit down
0x97 # Fn+F12 wifi on/off
0x96 # Fn+F1 performance mode (?)
0xD5 # Fn+F6 battery life extender

add this line below the other samsung related lines

# /lib/udev/rules.d/95-keymap.rules
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keymap $name samsung-900x3c"

add this line below the other samsung related lines

# /lib/udev/rules.d/95-keyboard-force-release.rules
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keyboard-force-release.sh $devpath samsung-900x3c"

The fn keys for the keyboard backlit and the screen brightness work now. The wifi and performance mode keys still don't work. You have probably to follow the instructions in the blog mentioned above.

Share:
7,898

Related videos on Youtube

Michael van der Weg
Author by

Michael van der Weg

Updated on September 18, 2022

Comments

  • Michael van der Weg
    Michael van der Weg over 1 year

    i bought the samsung new series 9 ultrabook ( NP900X3C ). i installed ubuntu 12.04 and the mainline 3.5 kernel. almost everything works perfectly, except some important function keys don't work.

    the keys for the screen brightness and the keyboard backlit don't work which is very annoying. i added manually a new keymap required for this notebook model ( guide: http://jablonskis.org/2012/linux-and-samsung-series-laptop-9-fn-keys/ ) but the system doesn't load them.

    i added the following lines to the udev rules:

    # /lib/udev/rules.d/95-keymap.rules
    ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*900X3*", RUN+="keymap $name samsung-900x3c"
    
    # /lib/udev/rules.d/95-keyboard-force-release.rules
    ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*900X3*", RUN+="keyboard-force-release.sh $devpath samsung-900x3c"
    

    the system is unable to load the dmi info which is required ( is it? ) to select the correct keymap. the tool dmidecode returns the folling info:

    # dmidecode 2.11
    # SMBIOS entry point at 0xdac66000
    SMBIOS 2.7 present.
    64 structures occupying 2917 bytes.
    Table at 0x000E0840.
    
    Invalid entry length (0). DMI table is broken! Stop.
    

    does anyone know how i can fix the dmi problem ( if this is a problem ) or how i can force udev to load my custom keymaps?

  • Michael van der Weg
    Michael van der Weg almost 12 years
    thanks, but i cant get the dmi data with any kernel version :(
  • woXrooX
    woXrooX almost 12 years
    have you tried with another live distribution ? (fedora for example)
  • Michael van der Weg
    Michael van der Weg almost 12 years
    nope. i will checkout that later. for the moment i added the rules a the top of the rule files without the dmi conditions in front of them, this works and some function keys are working now ( keyboard backlit still doesn't work, but this is not a problem of the not working function keys ). since the device tends to hang randomly on boot i think there may be some sort of hardware problem.
  • Jernej Jerin
    Jernej Jerin over 10 years
    I had to add it to samsung-other. Previously I had it only defined in samsung-900x4c (my model) but it did not work and now it works super.