Few words for a warm-up
Few months ago I bought myself a brand new and shiny ultrabook from Samsung. It obviously came pre-installed with Windows7. I quickly rushed to wipe the evil OS out, before I did an SSD clone, just in case I will ever need Windows7 on this laptop again.
Right, so it was time to install my favourite linux distribution – fedora! There was only fedora15 available back then, so I installed fedora15, which I am not going to talk about much, because few weeks later fedora16 was released, so I did a fresh install again.
Installation
I built a bootable USB stick with fedora16 netinstall image on it, started the installation and this is where the fun started.
UEFI and Grub2
I knew my laptop had an option for UEFI firmware support, so I turned this on, because UEFI is cool, right? Then I discovered that if one uses UEFI subsystem, fedora falls back to use grub-0.9x rather than grub2, there were some compatibility issues as far as I know, so I went for the legacy BIOS option, because I really wanted to have grub2 booting my OS.
MSDOS Instead of GPT
Another issue I ran into was that Anaconda (fedora/rhel/centos etc) GUI installer creates a GPT drive (I say drive because an SSD is not a disk) label by default, which means that either BIOS or UEFI has to be able to start a bootloader from a drive which has GPT partitition label. Obviously proper UEFI implementation supports GPT with no problem, but apparently both UEFI and BIOS implementation on this Samsung laptop are pretty bad and do not support GPT drive labels (I tried them both to start a bootloader, but unsuccessfully). Got it working? – please post a solution in the comments below.
I chose the BIOS option and the old MSDOS drive (I know disk sounds better here) label, which is kind of okay for me, I do not do anything too fancy with my partition layout anyway.
Partition alignment
This is pretty important step to do, usually anaconda does that for you, so just ensure it has. Jump into a console Ctrl+Alt+F3 or something (I cannot remember now off top of my head) and use parted align-check to check what anaconda has done with your partitions :-)
Successful Installation
The rest of the installation went really smoothly, there was a great improvement of the anaconda installed compare to the older fedora versions.
Right, install completed, rebooting the system and hope for the best – that everything works out of the box.
Post-install Fun
Like you probably experienced that yourself (otherwise it is very unlikely you’re reading this post) – not many things worked as expected.
Working Pieces
- Multitouch Touchpad/Clickpad (had to change gnome3 settings to enable tapping etc)
- Screen brightness/backlight – Fn+F2 / Fn+F3
- Display switch – Fn+F4
- Touchpad on/off toggle – Fn+F5
- Sound VolUp/VolDown/Mute
Not working Pieces
These are the most obvious things:
- keyboard backlit control – Fn+F7 / Fn+F8
- wifi on/off toggle button – Fn+F12
- Fn+F1 – not entirely sure what that does
- battery life extender – Fn+F6
- cpu fan was running pretty loud
- short battery life – approx 3 hours
The Rest
The not working bits were pretty important to me and I wanted to get it fixed asap, especially the keyboard backlit, which is a pretty cool feature to have. The funny thing was, I could not control it. I figured that if one booted into Windows7 prior fedora install and left the keyboard backlit on then it stayed always on post the fedora install and vice versa. So in short – one had to boot into windows adjust the keyboard backlit and then boot back to linux – that’s pretty cool :-)
Right, that’s not what I wanted. So I dug a lot deeper.
Solutions and Fixes
This is the most fun part for me at least. I was pretty glad that things turned out to be this way. Unfortunately I am not a developer and cannot write a C code, but I can barely read it.
SSD and File System Tuning
Since this Samsung laptop has a tiny (in physical size) 128GiB SSD drive which is built from 20nm NAND flash, it deserves to be treated well by the kernel and the file system, both to get a better performance and expand its lifetime.
Below there are few things I figured to be the best for my needs. I will not explain why I chose those options, there is a lot of material online which you can read about and see what suits you best.
- change the drive I/O scheduler to deadline
edit GRUB_CMDLINE in /etc/default/grub (I assume you use grub2) and add the following option and then run grub2-mkconfig > /boot/grub2/grub.cfg:
elevator=deadline
- enable discard support on a filesystem and few other mount options
TRIM (discard) support is very important to maintain your SSD “healhty”. These are the mount option I chose to use on my ext4 filesystems:
noatime,nodiratime,barrier=0,discard,data=writeback
Touchpad Delay
I forgot to mention, but I chose the Gnome3 aka gnome-shell desktop environment, which as you already know happens to be not very user friendly when it comes to customization and old good gnome2 menus and settings.
Anyway, my touchpad (or clickpad if you like) was working pretty well. The laptop features a pretty massive touchpad, so it is very easy to touch it while typing and it can get very frustrating, but there is an option gnome’s “Mouse and Touchpad” settings which allows you to disable the touchpad while typing, but this gets tricky – it will not allow you to specify the timeout of the delay, which is something ridiculous like 2 or 3 seconds.
Come on, seriously? Who wants to wait 2-3 seconds until you can use your touchpad after you typed something? Last time I poked into the source code that option was hardcoded – fair enough.
Not to worry, I have got a solution for that.
- Untick the box in the “Mouse and Touchpad” settings which says “Disable touchpad while typing“
- Write a simple script and place it in ~/bin/syndaemon.sh
# enables custom synaptics touchpad settings # start this with gnome-session # enable touchpad after last keyboard key press delay delay="0.5s" syndaemon -d -R -k -i $delay
- Make it executable and add it to your session startup using ‘gnome-session-properties‘
The script will start everytime your Gnome’s sessions starts and it will launch syndaemon (synaptics daemon). Feel free to poke around synclient too – it has some cool tweaks you can apply to your touchpad.
High CPU temp and Battery Life
This has something to do with a regression which was introduced with 3.0 or 3.1 linux kernel. I am not sure if I can call it a regression, because the option I am going to list below were disabled due to some buggy hardware (not necessarily Samsung laptops) AFAIK.
This laptop has Intel i5 dual core sandybridge CPU with integrated graphics chip, which is known as i915 in the linux kernel, so adding few options to the module during kernel boot time helps to solve high CPU temperature, noisy fan and obviously battery life issues.
So do what you did with the drive I/O scheduler, just add the following options to your kernel command line in /etc/default/grub and re-run grub2-mkconfig:
i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1
I noticed I get some sort of latency sometimes, especially noticeable on my gnome-terminals, where it just won’t take any input and feels like it freezes for a second or so. I am not sure if this is related to the above options, but the last time I looked at it I didn’t see any syscalls or anything else which could cause this weird freeze-latency issue, so I suspect it is that.
If you experience similar symptoms please let me know. (I have not tried to dig deeper and investigate further).
Keyboard Backlit/Backlight
Well, this is probably the most annoying issue I have experienced with my laptop, but let me tell you that I have a solution for that. It is more like a workaround for now, but I am sure this will become a proper solution.
First of all, the laptop is pretty new model and pretty pricey, so getting hold of one is so easy I guess. We all know how much Samsung laptops suck on linux support – they don’t really care, they build hardware for the masses, not for us poor linux people.
This took me a while to find a solution for. I knew there was a module called samsung-laptop in the linux kernel which is maintained by Greg K-H. But this module was not being loaded for some reason and the reason was that the module checks the DMI product name etc against the hardcoded array of known laptops in the module. So by looking in the source code of the module one can see that there is not much code which could support keyboard backlit for this laptop, so even if you force the module to load you wouldn’t get success out of it.
Fortunately there is an awesome developer called Corentin Chary who decided to contribute to samsung-laptop module and wrote a number of patches for it. By looking at the conversation on kernel mailling-list these patches are being scheduled for 3.3 kernel release, which is like months away – who wants to wait that long?
So I decided to grab the patches and compile the module against my current running kernel. So this is briefly what I did (some common sense is always welcome):
- clone Corentin’s samsung-laptop git repo - git://github.com/iksaif/samsung-laptop-dkms.git
- install current kernel headers: kernel-devel and kernel-headers packages
- obviously you will gcc and other development tools and libraries
- if the module compiles okay, load it: insmod /path/to/compiled/module/samsung-laptop.ko
- if it loads okay, copy it to /lib/modules/$(uname -r)/kernel/drivers/platform/x86/samsung-laptop.ko
- run “depmod -a“, now the module will load on the system boot
This is not it, what the module does is just adds support for various things like keyboard backlight support, wifi toggle support (didn’t have time to make this work) and others in the kernel. But on a key press the kernel will scream that it does not know what you mean by pressing the keys.
So you need to map the keycodes in the kernel so it knows about them. The easiest way to do that is through the udev subsystem. Here is what you need to do (I got it all figured for you):
- create a new udev keymaps file called /lib/udev/keymaps/samsung-90x3a with the below content:
0x96 kbdillumup # Fn+F8 - maps the scancode to a udev event 0x97 kbdillumdown # Fn+F7 - maps the scancode to a udev event 0xD5 wlan # Fn+F12 - this does not work
- edit the keymap rules file - /lib/udev/rules.d/95-keymap.rules and add the following line next before the other samsung laptop related lines (search for ‘samsung’):
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="90X3A", RUN+="keymap $name samsung-90x3a"
- load the newly created keymaps by running the following:
/lib/udev/keymap input/event4 /lib/udev/keymaps/samsung-90x3a
This loads the keymaps, so udev can instruct the kernel too. You need to restart your X session so gnome-settings-daemon can digest the changes too. But in theory you should be able to control your keyboard backlit using Fn+F7/Fn+F8, if you cannot, reboot your OS just to double check that everything works as expected.
I will send feature requests and fixes to udev developers as well as Fedora people, so hopefully this gets added to the next release.
Others
There are other function keys which don’t work, but I suspect it is related to gnome-settings-daemon not being able to act upon certain key strokes.
Things to Poke
The new samsung-laptop module opens up a number of sysfs interfaces to control your laptop. These interfaces are accessible via:
# ls -1 /sys/devices/platform/samsung/ battery_life_extender leds modalias performance_level power rfkill subsystem uevent usb_charge
They are self-explanatory, so go ahead and play with that. You can write some scripts which control for example battery_life_extender or performance_level which get executed on a certain key stroke. Custom keyboard shortcuts can be set using Gnome keyboard GUI settings.
The is another interface to control screen brightness provided via i915 module which gives us a much wider range to control our screen brightness (poke inside):
/sys/class/backlight/intel_backlight/
This also can be controlled using a simple script which can then be executed using some keyboard shortcuts.
You could set acpi_backlight=vendor on kernel command line, so gnome-settings-daemon will use the intel_backlight interface to control the screen brightness, but don’t – that will break your brightness control with Corentin’s patched module. It would work if you used samsung-laptop module which is in the mainline linux kernel.
Final Words
I guess that’s it. Initially I thought I was going to write a short blog post on how to fix the keyboard backlit control, but look what came out of my head, way too much :-)
Hope this helps some people. Please post your experience with your ultrabooks and give me a shout if you get into trouble solving your issues.
Thanks,
zooz
Hi!
Thanks for the interesting post!
Did you manage to compile the new samsung-laptop module? I tried in various ways (both standalone and as part of a kernel compilation) for various kernels (2.6.39, 3.2). I always hit into the same error (the log is below; I downloaded the sources of the driver from git://github.com/iksaif/samsung-laptop-dkms.git). Maybe you have a clue on this.
Best,
F
CC [M] drivers/platform/x86/samsung-laptop.o
drivers/platform/x86/samsung-laptop.c: In function ‘sabi_set_commandb’:
drivers/platform/x86/samsung-laptop.c:433:9: error: unknown field ‘d0’ specified in initializer
drivers/platform/x86/samsung-laptop.c:433:9: warning: missing braces around initializer
drivers/platform/x86/samsung-laptop.c:433:9: warning: (near initialization for ‘in.’)
drivers/platform/x86/samsung-laptop.c:433:9: error: unknown field ‘d1’ specified in initializer
drivers/platform/x86/samsung-laptop.c:433:9: warning: excess elements in struct initializer
drivers/platform/x86/samsung-laptop.c:433:9: warning: (near initialization for ‘in’)
drivers/platform/x86/samsung-laptop.c:433:9: error: unknown field ‘d2’ specified in initializer
drivers/platform/x86/samsung-laptop.c:433:9: warning: excess elements in struct initializer
drivers/platform/x86/samsung-laptop.c:433:9: warning: (near initialization for ‘in’)
drivers/platform/x86/samsung-laptop.c:433:9: error: unknown field ‘d3’ specified in initializer
drivers/platform/x86/samsung-laptop.c:433:9: warning: excess elements in struct initializer
drivers/platform/x86/samsung-laptop.c:433:9: warning: (near initialization for ‘in’)
make[3]: *** [drivers/platform/x86/samsung-laptop.o] Erreur 1
make[2]: *** [drivers/platform/x86] Erreur 2
make[1]: *** [drivers/platform] Erreur 2
make: *** [drivers] Erreur 2
klopp@alpha:~/tmp/linux-source-3.2.0
Hi there,
Yes, I have this module working. The module is from linux kernel 3.x tree, so that’s why you probably are getting errors while trying to compile it against 2.6.x.
As said, I also tried compiling for kernel 3.2 (rc5). But I got the same compilation errors both for 2.6.39 and 3.2 (rc 5). Could you send me your samsung-laptop.c? I’m wondering whether I have the correct file. Thanks.
I just checked and the source code of the module has not changed the last time I compiled it.
The way you do it is:
1. git clone git://github.com/iksaif/samsung-laptop-dkms.git
2. cd samsung-laptop-dkms/drivers/platform/x86/
3. make
4. insmod samsung-laptop.ko
You should not get any errors. By the way what distro do you use?
Thanks,
zooz
I contacted C. Chary who wrote the driver. He suggested it possibly was a compiler problem. So I compiled gcc-4.6 for my system and it did indeed solve the problem (gcc-4.5 and gcc-4.4 both had the same problem): I managed to compile samsung-laptop.ko.
My system is an Ubuntu Natty with a 3.2 rc5 kernel (and a brand new gcc-4.6 …).
Thanks again for your help. Best, F.
Compiled on 3.2-rc7 and this is what I get on insmod:
[ 9006.562764] Disabling lock debugging due to kernel taint
[ 9006.563971] samsung_laptop: detected SABI interface: SwSmi@
[ 9006.563978] samsung_laptop: Backlight controlled by ACPI video driver
[ 9006.582126] Registered led device: samsung::kbd_backlight
[ 9006.582822] BUG: unable to handle kernel paging request at ffff8800efc80f18
[ 9006.586470] IP: [] module_put+0×28/0×90
[ 9006.590045] PGD 1c06063 PUD 0
[ 9006.593372] Oops: 0002 [#1] SMP
[ 9006.596567] CPU 1
[ 9006.596605] Modules linked in: samsung_laptop(O) msr ip6table_filter ip6_tables ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp parport_pc dm_crypt ppdev snd_hda_codec_hdmi snd_hda_codec_realtek speedstep_lib kvm_intel kvm arc4 snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device iwlwifi snd btusb psmouse serio_raw mac80211 bluetooth soundcore snd_page_alloc cfg80211 mei(C) binfmt_misc coretemp lp parport r8169 i915 drm_kms_helper drm wmi i2c_algo_bit video [last unloaded: v4l2_compat_ioctl32]
[ 9006.612709]
[ 9006.615624] Pid: 7284, comm: insmod Tainted: G C O 3.2.0-030200rc7-generic #201112240135 SAMSUNG ELECTRONICS CO., LTD. 90X3A/90X3A
[ 9006.618756] RIP: 0010:[] [] module_put+0×28/0×90
[ 9006.621924] RSP: 0018:ffff880065ed1f28 EFLAGS: 00010282
[ 9006.625112] RAX: ffffffffa0240f14 RBX: ffffffffa02420e0 RCX: 0000000000000000
[ 9006.628380] RDX: 0000000000000000 RSI: 0000000000000282 RDI: ffffffffa02420e0
[ 9006.631652] RBP: ffff880065ed1f48 R08: 0000000000000000 R09: 0000000000000000
[ 9006.634930] R10: ffff88014ac04460 R11: 0000000000000001 R12: ffffffffa02420e0
[ 9006.638212] R13: 0000000001a5c010 R14: 0000000000008000 R15: 0000000000000003
[ 9006.641519] FS: 00007f6cb2f67720(0000) GS:ffff88014fa40000(0000) knlGS:0000000000000000
[ 9006.644856] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 9006.648347] CR2: ffff8800efc80f18 CR3: 0000000090669000 CR4: 00000000000406e0
[ 9006.651793] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 9006.655296] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 9006.658816] Process insmod (pid: 7284, threadinfo ffff880065ed0000, task ffff8801211a0000)
[ 9006.662339] Stack:
[ 9006.665883] ffff880065ed1f48 ffffffffa02420e0 0000000000000000 0000000001a5c010
[ 9006.669551] ffff880065ed1f78 ffffffff810a96a6 00007fff18af48b7 00007fff18af48b7
[ 9006.673068] 0000000001a5c010 00000000000077c3 0000000001a5c030 ffffffff8164f342
[ 9006.676316] Call Trace:
[ 9006.679571] [] sys_init_module+0×126/0×220
[ 9006.682819] [] system_call_fastpath+0×16/0x1b
[ 9006.686520] Code: 44 00 00 55 48 89 e5 48 83 ec 20 48 89 5d e8 4c 89 65 f0 4c 89 6d f8 66 66 66 66 90 48 85 ff 49 89 fc 74 20 48 8b 87 48 02 00 00 ff 40 04 8b 05 c6 ae c2 00 4c 8b 6d 08 85 c0 75 15 41 83 3c
[ 9006.696260] RIP [] module_put+0×28/0×90
[ 9006.701147] RSP
[ 9006.705590] CR2: ffff8800efc80f18
[ 9006.774039] —[ end trace 0a81d1809577e007 ]—
Hi SileNT,
Please post issues related to the samsung-laptop module to https://github.com/iksaif/samsung-laptop-dkms/issues/new
I do not maintain the module.
Thanks,
zooz
Hmm, the website requires to log in before the bug can be reported – don’t have an account there, so will just hope they’ll fix it soon… (crashes in a similar way on 3.2 stable).
Hi there. I noticed the same bug but if you try :
root@alpha:~# echo N /sys/devices/platform/samsung/leds/samsung\:\:kbd_backlight/brightness
where N is anything between 0 and 7 (0 is off and 7 is max brightness) you’ll see the driver works.
the correct command is :
root@alpha:~# echo N > /sys/devices/platform/samsung/leds/samsung\:\:kbd_backlight/brightness
Hi.
I’ve more or less come up with the same solution to the keyboard backlight for my Samsung 700z5a. I wish I’d found this page sooner, it would have saved me a lot of digging.
However, having sorted out udev and installed samsung-laptop-dkms module, the keyboard brightness keys still do nothing. I’m running Ubuntu 11.10 Oneiric though, so it could be something I still have to hook up. Any clues as to what still needs tweaked?
Cheers,
Dave.
Sir, I love you.
Hi.
I encountered an issue while trying to get keyboard backlight running. Everything went fine except the last command:
$ sudo /lib/udev/keymap input/event4 /lib/udev/keymaps/samsung-90x3a
EVIOCGKEYCODE: Invalid argument
Have no idea how to load the keymap otherwise. Probably this is different, because I’m using arch.
Is there a way to test the keyboard-backlight with a terminal command first?
Thanks a lot!
Ok.
$ sudo /lib/udev/findkeyboards
gave me:
AT keyboard: input/event0
So a
$ sudo /lib/udev/keymap input/event0 samsung-90x3a
seemed to work (crashed keyboard-input in the first place, reboot helped), but still no success changing the backlight. I’ll keep on trying.
I’ve got a problem similar to the Archilinux user’s one.
$ sudo /lib/udev/findkeyboards
gave me:
AT keyboard: no device node found
All the keys works except the keybord lights!
Hi People. Thanks for the feedback.
Please use the sysfs interface to control stuff which available through the following:
# this will set keyboard backlit to 5, I think max is 8
echo 5 > /sys/devices/platform/samsung/leds/samsung\:\:kbd_backlight/brightness
# see what the max kbd backlit is
cat /sys/devices/platform/samsung/leds/samsung\:\:kbd_backlight/max_brightness
# there are some more interesting stuff available via sysfs interface, see below:
ls -l /sys/devices/platform/samsung
total 0
-rw-r–r– 1 root root 4096 Jan 18 21:02 battery_life_extender
drwxr-xr-x 3 root root 0 Jan 18 21:01 leds
-r–r–r– 1 root root 4096 Jan 18 21:02 modalias
-rw-r–r– 1 root root 4096 Jan 18 21:02 performance_level
drwxr-xr-x 2 root root 0 Jan 18 21:02 power
drwxr-xr-x 4 root root 0 Jan 18 21:01 rfkill
lrwxrwxrwx 1 root root 0 Jan 18 21:01 subsystem -> ../../../bus/platform
-rw-r–r– 1 root root 4096 Jan 18 21:01 uevent
-rw-r–r– 1 root root 4096 Jan 18 21:02 usb_charge
Couple others I use are the battery lifetime extender echoing 1 or 0 turns that on or off respectively, also power mode, which you can control by echoing “silent” or “normal” to /sys/devices/platform/samsung/performance_level
Shout if you need more information :-) Otherwise just explore it yourself.
Thanks,
Vaidas
Thanks for all the work on this, this would’ve definitely been a lot more difficult to figure out without your blog. My B06US model just arrived.
I made a patch for 3.2.2-pf on Gentoo, it’s sitting https://gist.github.com/1694937
Couple of things I’m noticing:
* backlight does some strange flickering in I think 0-max right after I select kernel to boot in Grub2, this stops when dracut initramfs loads video modules; backlight is set to max eye-killer brightness then
* trackpad behaves kinda strange, as in I can somehow put it in a state where touching it results in totally random cursor movements. i did manage to get it out of this state one time, too, but no idea how exactly, just cliking and multitouching around. probably need to debug this with xinput or whatever it was that let you monitor what the devices send. if anyone has some good xorg configuration tips for this touchpad, thatd be great.
More notes.
Seeing this in dmesg every once in a while:
Jan 28 20:25:30 s9 kernel: [ 1391.466690] CPU1: Package power limit notification (total events = 26)
Jan 28 20:25:30 s9 kernel: [ 1391.466698] CPU3: Package power limit notification (total events = 26)
Jan 28 20:25:30 s9 kernel: [ 1391.466703] CPU2: Package power limit notification (total events = 26)
Jan 28 20:25:30 s9 kernel: [ 1391.466708] CPU0: Package power limit notification (total events = 26)
Jan 28 20:25:30 s9 kernel: [ 1391.469125] CPU1: Package power limit normal
Jan 28 20:25:30 s9 kernel: [ 1391.469128] CPU0: Package power limit normal
Jan 28 20:25:30 s9 kernel: [ 1391.469153] CPU3: Package power limit normal
Jan 28 20:25:30 s9 kernel: [ 1391.469157] CPU2: Package power limit normal
Every time I two-finger tap i.e. middle-click, this appears in dmesg:
Jan 28 20:27:17 s9 kernel: [ 1499.083016] [Hardware Error]: Machine check events logged
Those messages are generated by your hardware. You can enable mcelog for more details. What your hardware is saying is basically:
“We CPUs are cool, so not throttling our clocks.” It is harmless, just annoying.
I do not believe you that once you do two-finger tap you get “[Hardware Error]: Machine check events logged” :-) This has nothing to do with your touchpad.
You’re right. I don’t think it’s the two finger tap, at least not anymore.
leho@s9 /var/log $ sudo grep "Machine check" messages
Jan 28 17:14:55 s9 kernel: [ 899.507853] [Hardware Error]: Machine check events logged
Jan 28 18:59:56 s9 kernel: [ 7195.056701] [Hardware Error]: Machine check events logged
Jan 28 19:04:56 s9 kernel: [ 7495.813628] [Hardware Error]: Machine check events logged
Jan 28 19:56:13 s9 kernel: [ 2098.664847] [Hardware Error]: Machine check events logged
Jan 28 20:07:18 s9 kernel: [ 299.949432] [Hardware Error]: Machine check events logged
Jan 28 20:19:48 s9 kernel: [ 1049.411688] [Hardware Error]: Machine check events logged
Jan 28 20:27:17 s9 kernel: [ 1499.083016] [Hardware Error]: Machine check events logged
Jan 28 20:39:47 s9 kernel: [ 2248.551945] [Hardware Error]: Machine check events logged
Feb 1 10:25:58 s9 sudo: leho : TTY=pts/3 ; PWD=/var/log ; USER=root ; COMMAND=/bin/grep --colour=auto Machine check messages
$ LC_ALL=C date
Wed Feb 1 10:27:52 EET 2012
leho@s9 /var/log $ uptime
10:26:13 up 3 days, 16:22, 0 users, load average: 0.42, 0.69, 0.65
As you can see they did happen but only in the very beginning and have stopped ever since I actually started working on the machine. Strange. :>
Anyway, for the first three days it has behaved really nice. Quiet as a mouse when coding, whenever throttle is needed (hello still some remaining Flash web videos) fans spin up but then spin down almost immediately, which is awesome.
I’d still like to figure out what the LNXCPU ACPI events are about, one for each CPU after every once in a while:
Feb 1 10:17:56 s9 acpid: received netlink event "processor LNXCPU:03 00000080 00000000"
Either bluetooth or blueman seems to get confused after resuming from sleep. I have to “sudo rfkill block bluetooth” for blueman-applet to come back again, and then I can re-enable it from blueman tray menu item.
Hi, I try to use the fresh compiled samsung-laptop.ko on ubuntu 11.10 but nothing work with fn+F7 or F8 and when I try in command line :
$ sudo echo 5 > /sys/devices/platform/samsung/leds/samsung\:\:kbd_backlight/brightness
bash: /sys/devices/platform/samsung/leds/samsung::kbd_backlight/brightness: Permission non accordée
“Permission non accordée” (I’m french, sorry …) mean “not allowed”
ok, sorry … it works on ubuntu with :
sudo sh -c ‘echo 0 > /sys/devices/platform/samsung/leds/samsung\:\:kbd_backlight/brightness’
but with fn+F7 or fn+F8 keys it totaly freeze keyboard (but not mouse).
Hi David,
I have the same problem. I’m pretty new to all this udev stuff, but im guessing it migh have something to do with this bug
Haven’t got around to trying the udev – 175-0ubuntu1 to see if it fixes it, but I’m happy enough to have a script to turn the keyboard lights on/off in the meantime
Cheers,
Matt
Check my post about the FN keys, I posted more information on how to setup FN keys properly.
So here’s little sumtn sumtn I’m sticking into my my @hourly crontab:
#!/bin/bash
SYSPATH="/sys/devices/platform/samsung"
SUMMARY="Samsung Status"
BODY=()
BODY+=("performance_level: $(cat "$SYSPATH/performance_level")")
BODY+=("kbd_backlight: $(cat "$SYSPATH/leds/samsung::kbd_backlight/brightness") / $(cat "$SYS
PATH/leds/samsung::kbd_backlight/max_brightness")")
BODY+=("$(cat "$SYSPATH/rfkill/rfkill0/name"): $(cat "$SYSPATH/rfkill/rfkill0/state")")
BODY+=("$(cat "$SYSPATH/rfkill/rfkill1/name"): $(cat "$SYSPATH/rfkill/rfkill1/state")")
sw-notify-send "$SUMMARY" "$(for line in "${BODY[@]}"; do echo "$line"; done)"
https://gist.github.com/1745767
Pingback: Linux And Samsung Series 9 Laptop Fn Keys » vaidas jablonskis
Has anyone gotten PC speaker beep to work on the S9? I have pcspkr loaded, alsamixer has “Speaker” slider turned all the way to 11, but still no beep.
Hi,
I’m wondering, did you not have a poke at the synaptics touch pad? to enable right click and get drag and drop working, instead of tap and drag.
Hi there! I’m running Gentoo on this notebook, and cannot get the touchpad to do anything at all! I’ve just been trying to fix it for the last few hours, with no luck. The kernel doesn’t recognize it at all. Is your kernel using any specific drivers?
Thanks in advance!
Hi Michiel,
I use Fedora here. But if I recall correctly, Ubuntu people were having the same issue with the kernel not recognizing the clickpad. I think the system sees it as a psmouse, cannot remember exactly what is the fix, search ubuntu forums, I am sure you will find your answer.
The new 3.4 Linux kernel supports clickpad pretty well now. You can now click with one finger and drag with the other.
I wouldn’t call myself a Linux geek, but I got every FN key to work, although I had to add the led command in the script as well.
Thanks a lot again, amazing work you have done for us here !!!
I love this computer now even more :)
Glad you got it working!
Hi,
I’m trying to install fedora 17 on the series 9 but the fedora wont boot after installation, it sticks on GRUB screen and nothing.
What I did:
Install Gparted
Create MSDOS partion table
Create 500 MB – ext4 /boot
Create 48.83 G – ext4 /
Create 3G – swaap
Create 66.99 G – extended – ext4
Run anaconda installer – with custom partion
First problem: Fedora ask to format /
what i choose for the boot ? MSB our First section ???
reboot
our the screen gets tatally black our it shows “GRUB loading.” and nothing happens.
Please help me !!
Thnks
Hi there,
I have not had time to install fedora17 on my series9 yet, but once I did that I will let you know if there were any issues and how to overcome them. In the mean time, please go to freenode IRC at #fedora, those guys are great and will be able to help you.
What’s your guys experience with kernel 3.4 and the new PCIe ASPM code. I’m seeing this in dmesg:
[ 0.326531] \_SB_.PCI0:_OSC invalid UUID
[ 0.326533] _OSC request data:1 1f 1f
[ 0.326538] pci0000:00: Requesting ACPI _OSC control (0x1d)
[ 0.326763] \_SB_.PCI0:_OSC invalid UUID
[ 0.326765] _OSC request data:1 0 1d
[ 0.326770] pci0000:00: ACPI _OSC request failed (AE_ERROR), returned control mask: 0x1d
[ 0.326938] ACPI _OSC control for PCIe not granted, disabling ASPM
So looks like we’ll have to force it on the S9?
On a somewhat unrelated note, my S9 is now giving an audible snap when opening the lid + a crack developed near the power socket. Similar or same as this guy:
http://kurtsh.com/2012/05/25/info-repairing-my-samsung-series-9s-power-socket-issue/
I have had BIOS + GPT functioning just fine for about 1 year now, from sept 2011, on my N150
Cool. I think I was having issues with EFI + GPT. Glad you have it working.
Hello,
This might not be the right place to ask for help as this for a SAMSUNG NP700Z7C-S04,
but maybe somebody can nevertheless give me a hint or point me to a more appropriate place.
My problem is that I cannot even load the samsung-laptop.ko module (Error: could not insert module
./samsung-laptop.ko: No such device). I’m running Fedora 18 (latest kernel 3.7.4), with UEFI – secure
boot disabled. I tried to explicitly include the Laptop model in the driver Code but then I get a kernel
panic when trying to load the module.
Here are some more information of this laptop
baseboard-manufacturer: SAMSUNG ELECTRONICS CO., LTD.
baseboard-product-name: NP700Z7C-S04DE
baseboard-version : FAB1
system-manufacturer : SAMSUNG ELECTRONICS CO., LTD.
system-product-name : 700Z7C
system-version : 0.1
bios-vendor : Phoenix Technologies Ltd.
bios-version : P03ABP
bios-release-date : 09/18/2012
Any help would be highly appreciated!
Thanks.
Eberhard
Hi Eberhard,
I suggest you be careful with a combination of samsung-kernel module in the latest kernel, samsung laptop and UEFI firmware, because there is a chance you can brick your laptop. Thanks to Samsung of course, they do not know what they are saying/doing most of the time when it comes to Linux compatibility.
If you cannot load the module, then it’s most likely your laptop is not supported yet.