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.
Not sure if this will help too much, but I've found that if you go through the system testing program (I think that's what it's called, anyways it has a thumbnail of a monitor with a green image, just search for it under installed programs) it will sometimes fix things like that. If you want you can just skip all the tests except for the media key tests, but I find that the other tests are still helpful. You can also try googling for changing fn key values, I know a lot of keyboards have the option to reverse the F keys and the funtion buttons, so that for F1 you would need to press Fn + F1 for example, and the media key that would normally require Fn would do it without it. Hope I helped you a little bit at least.
Best Answer
there are two main problems, i had too and i fixed this way:
1) you have to force release of the keys (search internet) Pratically you have to add your exaxct pc model name to the file /lib/udev/rules.d/95-keyboard-force-release.rules
to take exact name of the pc run:
Then add the model like this on the file:
2) Install voria's samsung-backlight module:
http://ubuntuforums.org/showthread.php?t=1673864
Hope is useful.
Andrea.