Samsung NC10

From ArchWiki
Revision as of 08:53, 17 October 2009 by Ap0 (Talk | contribs) (protip)

Jump to: navigation, search


This article aims on providing the informations on installing and setting up Arch Linux on the Samsung NC10.

A lot of the information is derived from the Arch Forum and several hints scattered around in the ArchWiki.

Common Issues

  • using KMS (as of xorg-video-intel 2.8.1), No brightness control with xbacklight. (workaround with setpci, the issue might be solved with the next intel driver 2.9)
  • On kernel 2.6.29 :
    • webccam works perfectly.
    • All fn-keys can be binded, except fn-f4
    • suspend to ram and to disk work perfectly (without any quirks)
    • rfkill controls for bluetooth and Wifi don't work (but it's possible to write a script to do it and bind it to the propper key with xbindkeys)
  • On kernel 2.6.30 :
    • webcam stopped working correctly.
    • fastboot feature (not NC10 specific)
  • On kernel 2.6.31 :
    • webcam is working again
    • rfkill interface is working.
    • suspend to ram fails ! (suspend to disk works)


Use the usb image provided at the official download locations or the iso, if you have an external optical drive. You can use unetbootin to create in a esay way a boot device. If you use an usbkey, be aware that you (maybe) must format it in FAT32.

Configure your installation


Should work out-of-the-box now. WLAN uses the ath5k module and LAN, sky2.


Initial Brightness

The brightness can be set with the following command

setpci -s 00:02.1 F4.B=FF

Where FF is the highest level of brightness. That parameter moves in the range 00..FF. Don't set it too low because your backlight will turn off!

Graphics Adapter

The Video controller is a typical Intel chipset that works with the xf86-video-intel driver.

To save some interrupts and therefore power you can disable dri in your xorg.conf. This disables 3D effects but if you don't need them this could be an option.

Section "Device"
Option "NoDRI"
Identifier "Card0"
Driver "intel"
VendorName "Intel Corporation"
BoardName "Mobile 945GME Express Integrated Graphics Controller"
BusID "PCI:0:2:0"

External VGA

External VGA works out of the box with xrandr

in order to prevent problems when switching to console or when unplugging the external monitor, make sure to specify the frequency along with the mode, for example :

xrandr --output VGA --mode 1280x1024 --rate 60

Dual head positioning works also perfectly : Xorg#Multi-monitor_setups


The audio device is an Intel HD. You will need to follow the instructions at ALSA#No_Sound_with_Onboard_Intel_Sound_Card to get output from the main speakers.

Since alsa 1.0.19 distributed in archlinux extra repository, you don't need to manually install alsa driver. Everything is working out of the box: onboard microphone and speakers, audio off on earphone plugging.

Troubleshooting :

  • If the volume is too low, or lower than in Windows run alsamixer, and set "front" to 100%.
  • If the microphone does not work, press F4 in alsamixer and play with the settings (boost to 0, digital and capture to mid-values, and input to front-mic should be a sane default).

Note that settings can be saved with "alsactl store"

  • One user reported that he had to disable every snd module in his rc.conf except for two: snd_hda_intel and snd_pcm_oss.
  • [deprecated] if the speakers don't mute when you plug in headphones, you may need to compile alsa (i use v1.0.18a ,here)

Extract the tar.bz2 and open a console on alsa source folder

1.execute this command : ./configure --with-cards=hda-intel --with-oss=yes --with-sequencer=yes
2.execute this command : make
3.execute this command : sudo make install
4.get alsa-utils with pacman
5.configure sound volume with alsamixer , reboot , and enjoy :)

Suspend and Hibernate

If you want to use Suspend to Ram using pm-utils you'll need the following command to resume properly:

pm-suspend --quirk-vbestate-restore

Note: Pm-suspend should work correctly without any quirks at the moment.

You can use this command not only to suspend from terminal but also in combination with acpid

If after closing the lid your machine doesn't wake up from suspend correctly and needs to be resumed multiple times, you can try using the following workaround. This is an excerpt from /etc/acpid/ file:

       if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then

In contrast hibernate works without "modifications" (except the ones mentioned in the pm-utils article).

If you are a kde4/kdemod user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2). Screen brightness, cpu scaling, suspend and hibernate all work flawlessly, without any hack.

Right after resume you may notice (i.e. in powertop) lost support for C2 and C4 CPU states. Don't panic. Those modes are likely to return in several minutes.

Fn Keys

You need at least kernel to get the Fn keys to work correctly.

(Volume Controls worked out of the box in kdemod 4.2)

To bind the Fn keys to action, read Extra_Keyboard_Keys#The_quick_way and also Extra Keyboard Keys in Xorg. The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys should work out of the box. Note, that suspend key is handled in /etc/acpi/ (see "power/sleep" case entry). If you use pm-utils, you should substitute the default action with the call to pm-suspend or pm-hibernate.

As an example, here is how to bind the keys for volume control :

1) install xbindkeys (and xbacklight from package xorg-server-utils for brightness control):

pacman -S xbindkeys xorg-server-utils

2) crate a config file in your home directory :

vi .xbindkeysrc

3) with the following content :

"amixer sset Master 2+ &"
    m:0x0 + c:176
"amixer sset Master 2- &"
    m:0x0 + c:174
#"amixer sset Master 0 &"
"amixer sset Master toggle &"
    m:0x0 + c:160
#"sudo pm-suspend"
#    m:0x0 + c:223
"xbacklight +10"
    m:0x0 + c:233
"xbacklight -10"
    m:0x0 + c:232

For your NC10 Fn keysums may differ. If any Fn keys don't work with the above .xbindkeysrc, you should check the keysum values with

xbindkeys -k

4) run xbindkeys :


and volume control should work within an X session !

to add aditional bindings, you can get the codes of most of the Fn-keys with

xbindkeys -k

For the keys that are not recongnized, see

dmesg |tail

to make the kernel recognize them.

(If your Screen is not bright enough, boot into Windows and set the Brightness to maximum)

(you can adjust Brightness during the boot process without returning into Windows and you need to set maximun brightness on battery only mode)

Saving Power

Make sure to read Laptop#Suggestions_for_saving_power

Here is a suggestion of things to add to /etc/rc.local to save some power, most of which are suggestions from "powertop".

# /etc/rc.nc10: various init and power saving stuff for samsung nc10.
# avoid too many power up/down of hard drive, taken over by laptop-mode-tools anyway
hdparm -B 255 /dev/sda

# saves some power
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs

#disable bluetooth
hciconfig hci0 down ; rmmod btusb

# enables on-demand cpu freq scaling (requires cpufreq modules) :
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

# autosuspend usb ****does this really work ????****
echo "auto" > /sys/bus/usb/devices/2-2/power/level
echo "auto" > /sys/bus/usb/devices/5-8/power/level
echo 1 > /sys/bus/usb/devices/2-2/power/autosuspend
echo 1 > /sys/bus/usb/devices/5-8/power/autosuspend

### turn off wifi
#       ifconfig wmaster0 down
#       echo "wifi is shut down"

## sound chip power save mode
## => disabled because it makes some high frenquency noise...
#echo 10 > /sys/module/snd_hda_intel/parameters/power_save

Use laptop-mode-tools

pacman -S laptop-mode-tools

and configure it to suit your needs in /etc/laptop-mode/laptop-mode.conf Here again some suggestions :

#turn off hard-drive after 10min on AC and 2min on battery (prevents freezes when accessing hd often)


# prevents too many parking of heads while still saving some power on battery.