Ubuntu Karmic Koala 9.10 on the Samsung NC10

Important information can be found on this website: http://www.voria.org/forum/viewtopic.php?f=3&t=296

Ubuntu Intrepid Ibex 8.10 on the Samsung NC10

Fully functional 'out of the box':

  • Video (with desktop effects)
  • Wired networking
  • USB (for mass storage devices)
  • SD Card reader
  • Webcam (test with e.g. cheese or luvcview)
  • Bluetooth
  • Suspend / resume
  • Samsung 3G USB wireless broadband modem (if present)

Fully functional after driver/kernel updates:

  • Wireless networking (out-of-box in Lucid)
  • Audio (internal speakers now turn off when headphones are in use)
  • Internal mic
  • Fn Brightness keys (also workaround available)

Not functional:

  • Fn Buttons (Monitor switching, Screen on/off toggle, Battery, Sleep)
  • Wi-Fi On / off switch
  • Multi-touch
  • Splash screen (usplash) aspect ratio wrong -- Ubuntu logo is shown elliptical rather than circular



Before you begin you will need the following:

  • A USB flash memory drive OR a USB CD/DVD drive
  • A downloaded image (iso) of the Ubuntu or Kubuntu Intrepid installation CD

(not required for UNETBOOTIN method)

Before you begin you will need to know the following:

  • How to use terminal

  • How to edit and save files e.g., by using gedit

Creating a CD-ROM installation disk

Burn the (K)Ubuntu ISO file on to an empty CD-R to create an installation CD.

Creating USB flash startup disk:

Method 1: (From an Ubuntu Intrepid computer, or computer running Ubuntu Intrepid Live CD) UBUNTU USB TOOL

Go to System -> Administration and select Create a USB startup disk. Select the Ubuntu image and the USB device, then press the Make startup disk button at the bottom of the window.

(Either of the options at the bottom of the window, regarding saving documents and settings, will work with this method, so pick your preference.)

After it is finished, install from the USB startup disk

Method 2: (From any Windows or Linux Computer) UNETBOOTIN

Download Unetbootin to your computer and plug in your USB drive. Follow the instructions at the UNetbootin website to create a USB startup disk.

When the startup disk is ready, install from the USB startup disk

Installing to NC10 from the USB startup disk (flash or CD/DVD):

Plug in your USB flash startup drive (OR your USB CD/DVD drive with the Ubuntu disk inserted), then reboot the computer. You may need to change your NC10's boot settings so that it will boot from a plugged-in USB disk; to check, press F2 when the Netbook is first turning on to enter BIOS setup.

When you have verified this, save changes and exit BIOS setup.

The computer should then boot from the USB startup disk, offering you an Ubuntu menu. Select Install Ubuntu to begin installation.

Wireless Networking - Atheros

The wireless hardware (Atheros AR2425) is detected, but a non-functional driver is loaded when Ubuntu is installed. Installing the latest Madwifi driver resolves this problem.

First, install any available Ubuntu updates by going to System->Administration->Update Manager, clicking Check and then clicking Install Updates. You will need to reboot after the updates are finished.

Then, install the driver. From a terminal:

sudo apt-get install linux-backports-modules-intrepid

After rebooting again, the driver (ath5k) should load and wireless networks should be listed in the Network Manager Applet.

If you still have no wireless service, you may need to disable the older driver as well. In a terminal, enter

sudo su
echo "blacklist ath_pci" >> /etc/modprobe.d/blacklist
echo "blacklist ath_hal" >> /etc/modprobe.d/blacklist

And reboot.

Audio - Alsa Driver

Attention With a current kernel version everything should work except the internal microphone. To get this work you should use the options in alsamixer.

-- These directions work on kernel 2.6.27-7. But several attempts on 2.6.27-9 confirm that they disable all audio and cannot be rolled back. Further testing needed.

-- Confirmed that driver for mic doesn't work with kernel 2.6.27-9. Although, other audio playback does work for me. apt-purging the 27-9 kernel and rebooting to see if I can get audio working well again.

Yes, purging back to the 27-7 kernel does let all of the audio work perfectly. I use Skype every day. You may have to jiggle the Sound Options in Skype (try Pulse Audio, or alternate between choices being sure to Test Sound often), but it works fine.

UPDATE: I had to upgrade back to 27-9 to get the wireless working as described again, but that broke my sound. Fortunately, the 1.0.19 alsa audio drivers are out, and if you install those (not hte 1.0.18 drivers!!!), everything works perfectly fine, audio, mic, skype, everything better than before with no twiddling (except maybe setting Front Mic).

-- By activating the proposed update repositories now there is kernel 2.6.27-11 provided in 8.10 where sound works better now. The internal mic is still not working but the jack sensitivity issue is now gone. Plugging in the headphone will now deactivate the speakers. This works out of the box for me using Xubuntu 8.10 with the original Alsa packages provided by ubuntu.

The Alsa audio driver needs to be recompiled since the on-board chipset is a Realtek ID 272, which is not fully supported by Ubuntu 8.10.

To compile the driver from source, you need the package build-essential. Type this in the terminal to get it:

sudo apt-get install build-essential libncurses-dev gettext xmlto xmltoman linux-headers-`uname -r`

The last Alsa Driver source can be downloaded here (tested on v. 1.0.19) Extract it on Desktop and in terminal type:

cd Desktop/alsa-driver-*
./configure --with-cards=hda-intel --with-oss=yes --with-sequencer=yes
sudo make install

Set the volume levels in alsamixer - In terminal type:


The internal mic will work for playback and capture by adjusting the Volume Control settings for the Front Mic. To support recording, the Input Source (available by selecting Preferences in the Volume Control) needs to be set to "Front Mic".

Restart the computer. Now the internal speakers should be disabled when you plug-in a headphone's jack.


Needs more work

Fn Brightness Keys - kernel patch

ATTENTION There is a bug to do with the key release which has given some problems with the keyboard hanging. See the discussion at http://bugzilla.kernel.org/show_bug.cgi?id=12021. A patch for atkbd.c to fix it was released in kernel on Feb 6 2009. See the kernel git commit. Also visit lauchpad.

The patch is here and here. Recompile a kernel including the patch to get the repeat problem solved and then read the sections below to get the key mapping working. --- Attention If you update to a current version of Intrepid this bug will not take place. The feature of changing the brightness via Fn-key will be turned of. You may will need to install the panel "Brightness Applet" or xbacklight to change the brightness of the screen. And keep in mind an installation of a different kernel version will cause several dependencies and difficulties. --- Alternatively one can use an actual 2.6.28 Ubuntu Jaunty kernel without recompiling a new one from scratch. This can be done easily with the apt-tools. To install a Jaunty kernel by the apt-tools first create an /etc/apt/preferences file with the following content:

Package: *
Pin: release o=ubuntu,a=jaunty
Pin-Priority: 60

The pin priority 60 avoids the automatic installation of Jaunty packages so Intrepid packages are still preferred..

For the apt-tools to find Jaunty packages the /etc/apt/sources.list needs some amendment or even better create a new file /etc/apt/sources.list.d/jaunty.list with the following content:

# Jaunty package repository
deb http://archive.ubuntu.com/ubuntu/ jaunty main
deb-src http://archive.ubuntu.com/ubuntu/ jaunty main
deb http://archive.ubuntu.com/ubuntu/ jaunty restricted
deb-src http://archive.ubuntu.com/ubuntu/ jaunty restricted

Create the right key mappings as stated in the next section (update the file /usr/share/hotkey-setup/samsung.hk).

After that do a

sudo apt-get update

As at February 21st the actual 2.6.28 kernel package is linux-image-2.6.28-8-generic. To install it do a

sudo apt-get install linux-image-2.6.28-8-generic

In case you need the kernel header files (e.g. you use VirtualBox and the kernel module has to be rebuilded) do a

sudo apt-get -t jaunty install linux-headers-2.6.28-8-generic

After a reboot both brightness keys should work.

In my case the following Fn keys work with a 2.6.28-8 Jaunty kernel:

Fn+ESC   suspend or hibernate
Fn+F2    battery status
Fn+F4    ** haven't checked yet **
Fn+F6    mute on/off
Fn+F10   activate/deactivate touchpad
Fn+F11   numeric key pad
Fn+Up    increase brightness
Fn+Down  decrease brightness

Key mapping

For correct mapping of the FN keys that are not recognized by default, you have to substitute the file in /usr/share/hotkey-setup/samsung.hk by these lines

setkeycodes e006 $KEY_WLAN #(238) Fn+F9 Wireless ON/OFF
setkeycodes e008 $KEY_BRIGHTNESSUP # (225) Fn+up Brightness UP
setkeycodes e009 $KEY_BRIGHTNESSDOWN # (224) fn+down Brightness DOWN
setkeycodes e002 $KEY_SWITCHVIDEOMODE # Fn+F4 Monitor Switch (LCD/CRT)
setkeycodes e003 $KEY_BATTERY # (236) Fn+F2 Battery
#need to pick suitable codes for the following
setkeycodes e004 $KEY_F20 # Fn+F5 backlight on/off
setkeycodes e031 $KEY_F21 # Fn+F7 run samsung magic doctor
setkeycodes e033 $KEY_F22 # Fn+F8 switch power mode (battery/dynamic/performance)
setkeycodes e079 $KEY_F23 # Fn+F10 touchpad off
setkeycodes e077 $KEY_F24 # Fn+F10 touchpad on

Fn+F3 (Euro symbol) is not working. (The other Euro symbol on AltGr+4 works OK.)

Fn+F12 (scroll lock) seems to send the right codes, but the LED (3rd from left) does not light.

Alternative: add ";NC10" to the list of Samsung models in /usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi


<match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains_outof="SP55S;SQ45S70S;SX60P;R59P/R60P/R61P;Q310;X05">


<match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains_outof="SP55S;SQ45S70S;SX60P;R59P/R60P/R61P;Q310;X05;NC10">

You may also want to change e002:displaytoggle to e002:switchvideomode a few lines below.

You may have to upgrade hal to get that working if you are using the kernel from Jaunty. (I personally upgraded the whole system to Jaunty).

KUBUNTU USERS With the above, KDE users will find that in /usr/share/kubuntu-default-settings/kubuntu.xmodmap codes 232 and 233 (brightness controls) strangely get remapped to XF86Stop and XF86Forward. As explained in kubuntu.xmodmap.README in the same directory, the KDE guidance-power-mangager actually responds to XF86Launch3 and XF86Launch4 so if you comment out the lines in kubuntu.xmodmap :

#comment keycode 232 = XF86Stop
#comment keycode 233 = XF86Forward
  • and put the following in samsung.hk :

setkeycodes e008 $KEY_PROG4 # (203) fn+up Brightness UP
setkeycodes e009 $KEY_PROG3 # (202) fn+down Brightness DOWN

then guidance-power-manager reacts to the keys (and shows a popup) but still doesn't actually adjust the brightness. Now can someone fix that? From the command line xbacklight (via xrandr) works.

It seems you cannot set the brighness with ACPI on the NC10 and that powermanager (powerdevil) cannot (yet) use xrandr to set brightness https://bugs.launchpad.net/ubuntu/+source/kdebase/+bug/311436

However it looks like this issue is being addressed by KDE developers -- see the KDE SVN: http://websvn.kde.org/?view=rev&revision=923414 and http://websvn.kde.org/trunk/KDE/kdebase/workspace/libs/solid/control/powermanager.cpp?r1=883887&r2=923414&pathrev=923414

So look out for KDE 4.2.1 on March 4th 2009 http://techbase.kde.org/Schedules/KDE4/4.2_Release_Schedule .

Fn Brightness Keys - Workaround

Currently it is impossible to map the FN keys. Therefore, two utilities for mapping alternative keys are needed so that screen brightness can be adjusted. From terminal:

sudo apt-get install xbacklight

Download Ubuntu Tweak from here and install it. Now open Ubuntu tweak (Application -> System tools) go to the appropriate section (Personal -> Shortcut) and set the combination that you want for example

Ctrl+UP with:

xbacklight -inc 10

and Ctrl+DOWN

xbacklight -dec 10

To increase and decrease the screen's brightness

Maximum brightness may be quite low if you don't disable the "auto" brightness feature in the BIOS (F2 at start-up).

More Fn Key Workarounds

It is possible to replace more of the non-functional Fn-* keys with Ctrl-* keys. A writeup is available here that needs testing.

Fn Key


Xorg (optional, work in progress)

Customized xorg.conf file for correctly running compiz and activation of scrolling area of the touchpad:

#Starting from xandros version a customized xorg.conf file for Samsung NC10

Section "ServerLayout"
    Identifier     "Ubuntu"
    Screen      0  "Screen1"
    InputDevice    "keyboard"
    InputDevice    "mouse"
    InputDevice    "Touchpad"  "SendCoreEvents" 

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/X11/misc"
    FontPath     "/usr/share/fonts/X11/Type1"
    FontPath     "/usr/share/fonts/X11/75dpi"
    FontPath     "/usr/X11R6/lib/X11/fonts/Type1"

Section "Module"
    Load  "glx"
    Load  "dri"
    Load  "dbe"
    Load  "extmod"
    Load  "synaptics"

Section "ServerFlags"
    Option        "AllowMouseOpenFail"
    Option      "BlankTime"        "5"
    Option      "SuspendTime"  "0"
    Option      "StandbyTime"   "0"
    Option      "OffTime"           "10"

Section "InputDevice"
    Identifier   "keyboard"
    Driver       "kbd"
    Option      "CoreKeyboard"
    Option      "XkbRules" "xorg"
    Option      "XkbLayout" "us"
    Option      "XkbVariant" ""

Section "InputDevice"
    Identifier  "mouse"
    Driver      "mouse"
    Option        "Device" "/dev/input/mice"
    Option        "Protocol" "IMPS/2"
    Option        "Emulate3Buttons" "yes"
    Option        "ZAxisMapping" "4 5"
    Option        "CorePointer"

Section "InputDevice"
    Identifier  "Touchpad"
    Driver      "synaptics"
        Option  "Device"        "/dev/psaux"
        Option  "Protocol"      "auto-dev"
        Option  "LeftEdge"      "1700"
        Option  "RightEdge"     "5300"
        Option  "TopEdge"       "1700"
        Option  "BottomEdge"    "4200"
        Option  "FingerLow"     "25"
        Option  "FingerHigh"    "30"
        Option  "MaxTapTime"    "180"
        Option  "MaxTapMove"    "220"
        Option  "VertScrollDelta" "100"
        Option  "MinSpeed"      "0.06"
        Option  "MaxSpeed"      "0.12"
        Option  "AccelFactor" "0.0010"
        Option  "SHMConfig"     "on"
        Option  "VertTwoFingerScroll"   "1"
        Option  "HorizTwoFingerScroll"  "1"


Section "Monitor"
    Identifier   "Monitor1"
    VendorName   "Samsung"
    ModelName    "NC10"
    Option       "DPMS"

Section "Monitor"
    Identifier    "TV"
    Option        "Ignore"  "True"

Section "Device"
    Identifier  "Device1"
    Driver      "intel"
    VendorName  "Intel Corporation"
    BoardName   "Mobile 915GM/GMS/910GML Express Graphics Controller"
    BusID       "PCI:0:2:0"

Section "Screen"
    Identifier "Screen1"
    Device     "Device1"
    Monitor    "Monitor1"
    DefaultDepth     24

Section "DRI"
    Mode         0666

Section "Extensions"
# You may want to enable this.
    Option        "Composite" "Enable"

Compiz (optional, work in progress)

Add this line on the bottom of your xorg.conf file if you haven't already added

Section "DRI"
    Mode         0666

Section "Extensions"
# You may want to enable this.
    Option        "Composite" "Enable"

now you can enable compiz from System->Preference->Visual Effects. You can then install the MacOsX 'like' bar Avant window navigator that can help you to save useful space on the bottom of your screen.

Touchpad (work in progress)

An easy way for correctly detect and config your touchpad is to add some lines to your xorg.conf file. Add this lines in the Inputdevice Section of the touchpad, this will enable your scrolling area.

        Option  "LeftEdge"      "1700"
        Option  "RightEdge"     "5300"
        Option  "TopEdge"       "1700"
        Option  "BottomEdge"    "4200"
        Option  "FingerLow"     "25"
        Option  "FingerHigh"    "30"
        Option  "MaxTapTime"    "180"
        Option  "MaxTapMove"    "220"
        Option  "VertScrollDelta" "100"
        Option  "MinSpeed"      "0.06"
        Option  "MaxSpeed"      "0.12"
        Option  "AccelFactor" "0.0010"
        Option  "SHMConfig"     "on"

Video Tearing

The current intel driver isn't capable of doing v-sync correctly. So, you will experience screen tearing when watching a video.

You can read more on this bug report https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/278318

I solved this by instructing mplayer to user the xv port for overlay. This is port 90 on the samsung NC10.

Here is an excerpt of my .mplayer/config file



Touchpad (work in progress)

The main problem on the Synaptics Touchpad of NC10 in Ubuntu8.10 is the sensitivity. Vertical and Horizontal sensitivity are not correctly balanced which results in waves. By doing a circle on touchpad you can check the cursor making a "egg-like" movement, because vertical sensitivity is much higher than horizontal. This guide helps to improve the Touchpad, but its not solving it.

At first start checking current Touchpad Configuration by

synclient -l

If the message says to turn SHMConfig "on" you should do this by

sudo gedit /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi

and find following section

<match key="info.product" contains="Synaptics TouchPad">
        <merge key="input.x11_driver" type="string">synaptics</merge>

Now you have to add the line which enables SHMConfig and allows you to change Touchpad Preferences "on the fly"

<match key="info.product" contains="Synaptics TouchPad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
        <merge key="input.x11_options.SHMConfig" type="string">True</merge>

As you may notice, there is already a section called <match key="info.product" contains="bcm5974"> But it doesn't matter because it does not apply to the configuration of the Touchpad.

The next step is to copy that whole configuration and put it under the SHMConfig Option. Your File now should look like this:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
    <match key="info.capabilities" contains="input.touchpad">
      <match key="info.product" contains="Synaptics TouchPad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
        <merge key="input.x11_options.SHMConfig" type="string">True</merge>
        <merge key="input.x11_options.LeftEdge" type="string">1700</merge>
        <merge key="input.x11_options.RightEdge" type="string">5300</merge>
        <merge key="input.x11_options.TopEdge" type="string">1700</merge>
        <merge key="input.x11_options.BottomEdge" type="string">4200</merge>
        <merge key="input.x11_options.MinSpeed" type="string">0.06</merge>
        <merge key="input.x11_options.MaxSpeed" type="string">0.12</merge>
        <merge key="input.x11_options.AccelFactor" type="string">0.0010</merge>
        <!-- Arbitrary options can be passed to the driver using 
             the input.x11_options property since xorg-server-1.5. -->
        <!-- EXAMPLE:
        <merge key="input.x11_options.LeftEdge" type="string">120</merge>
      <match key="info.product" contains="AlpsPS/2 ALPS">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      <match key="info.product" contains="appletouch">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      <match key="info.product" contains="bcm5974">
        <merge key="input.x11_driver" type="string">synaptics</merge>
        <!-- <merge key="input.x11_options.SHMConfig" type="string">True</merge>
        <merge key="input.x11_options.LeftEdge" type="string">1700</merge>
        <merge key="input.x11_options.RightEdge" type="string">5300</merge>
        <merge key="input.x11_options.TopEdge" type="string">1700</merge>
        <merge key="input.x11_options.BottomEdge" type="string">4200</merge>
        <merge key="input.x11_options.ClickFinger1" type="string">1</merge>
        <merge key="input.x11_options.ClickFinger2" type="string">3</merge>
        <merge key="input.x11_options.ClickFinger3" type="string">2</merge>
        <merge key="input.x11_options.HorizEdgeScroll" type="string">0</merge>
        <merge key="input.x11_options.VertEdgeScroll" type="string">0</merge>
        <merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
        <merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
        <merge key="input.x11_options.HorizScrollDelta" type="string">0</merge>
        <merge key="input.x11_options.VertScrollDelta" type="string">100</merge>
        <merge key="input.x11_options.PressureMotionMinZ" type="string">10</merge>
        <merge key="input.x11_options.FingerLow" type="string">25</merge>
        <merge key="input.x11_options.FingerHigh" type="string">30</merge>
        <merge key="input.x11_options.FingerPress" type="string">256</merge>
        <merge key="input.x11_options.PalmDetect" type="string">0</merge>
        <merge key="input.x11_options.PalmMinWidth" type="string">10</merge>
        <merge key="input.x11_options.PalmMinZ" type="string">200</merge>
        <merge key="input.x11_options.MinSpeed" type="string">0.06</merge>
        <merge key="input.x11_options.MaxSpeed" type="string">0.12</merge>
        <merge key="input.x11_options.AccelFactor" type="string">0.0010</merge>
        <merge key="input.x11_options.MaxTapMove" type="string">220</merge>
        <merge key="input.x11_options.MaxTapTime" type="string">180</merge>
        <merge key="input.x11_options.MaxDoubleTapTime" type="string">200</merge>
        <merge key="input.x11_options.TapButton1" type="string">0</merge>
        <merge key="input.x11_options.TapButton2" type="string">0</merge>
        <merge key="input.x11_options.TapButton3" type="string">0</merge>
        <merge key="input.x11_options.RTCornerButton" type="string">0</merge>
        <merge key="input.x11_options.RBCornerButton" type="string">0</merge>
        <merge key="input.x11_options.LTCornerButton" type="string">0</merge>
        <merge key="input.x11_options.LBCornerButton" type="string">0</merge> -->

As you can see the settings which improves the touchpad a little bit are already inserted.

Now you should reboot your computer or

sudo /etc/init.d/hal restart

(close all Applications before)

After restart you should see a little improvement. To check if the settings are applied use

synclient -l

Internal 3G modem

Some NC10 models are sold with built-in, internal SAMSUNG HSPA Modem. Such models are in particular available in Poland (they are sold with iPlus wireless internet service). This modem does not appear to work at all. The USB vendor:product id is unknown to google as of 3rd of December 2008. The modem is a USB device and is supported on Windows XP. It's therefore possible to sniff the USB communication and reverse-engineer the drivers for the open source community.

The USB vendor:product id is: 04e8:6773

As the text below says, the modem probably works Inspired by the mini howto I went to debug why does network manager fail to find it. It turns out that ubuntu's patches to network manager are using AT+GCAP to see what the modem supports. After changing that to ATI the modem is immediately detected.

Unfortunately I'm outside of poland ATM so I cannot check if my fixes work but it's very, very close to being 100% usable for regular users!

Modem really works

Network Manager required some changes: AT+GCAP to ATI and remove +FCLASS=0 from init string (not supported by Samsung HSPA Modem). After this changes modem is detected and can connect to gsm network from applet (patch for NetwokManager).

Modem is visible in system as cdc_acm and works with gcom

Mini howto

It's probably possible to initiate modem without gcom, I didn't try other setups becouse this one worked for me.

sudo aptitude install gcom

I've made a rule for udev to always have /dev/ttyACMx linked to /dev/modem

cd /etc/udev/rules.d

and add own rule in for example file named 99-own.rules

SUBSYSTEM=="tty", ATTRS{product}=="SAMSUNG HSPA Modem", SYMLINK+="modem"

after adding new rule you have to restart udev

sudo /etc/init.d/udev restart

make shure your user belongs to group "dip" then you'll be able to make connection without root privilages


you'll have to insert your pin code

Now you need to configure connection for pppd

cd /dev/ppp/peers
create file named iplus
Add below lines:

connect "/usr/sbin/chat -v -f /etc/chatscripts/iplus-chat"

Second file should be placed in /etc/chatscripts/ and named iplus-chat

'' ATZ
OK 'AT+cgdcont=1,"IP","www.plusgsm.pl"'
OK-AT-OK "ATDT*99***1#"

now you can try to connect

pon iplus

to disconnect use

poff iplus

Modem works fine, and I was really surprised when I've downloaded kernel source with avarage speed at 620kB/s

I'm using debian sid, but this howto will probably work on ubuntu. If you have any questions email me at lolicjusz at gmail . com


The most recent BIOS version available to date is 11CA released on 15/09/2009. You can find it here. Windows or DOS are required to use it. (Note that the link on the page is currently broken but can be fixed by changing .../support/nc0/... to .../support/nc10/...)

If you plan to use the DOS version, simply make a bootable dos usb stick or use an USB floppy and run .exe to flash. Carefull, flashing will start without any warning! Remember to keep it always at the latest available version. You can find more info about your installed BIOS firmware either by accessing your BIOS at boot (pressing F2) or simply typing this in a shell:

lshal | grep firmware

Please note that the update operation is risky and it can brick your NC10. Make sure you know what you're doing!

Splash screen

Even with the correct resolutions (default) in /etc/usplash.conf the usplash program does not display the (k)ubuntu splash screen correctly. The Ubuntu logo is shown as elliptical instead of circular. This problem has affected many computers for a long time.

Kubuntu login screen (KDM)

By default the background image does not cover the full width of the screen. Change line 26 in /usr/share/kde4/apps/kdm/themes/oxygen/oxygen.xml from

<pos anchor="c" x="50%" y="50%" width="scale" height="100%"/>


<pos anchor="c" x="50%" y="50%" width="100%" height="100%"/>

External Links

* http://nc10ubuntu.tout57.fr/ - A French blog for all tips and tricks to improve the use of Ubuntu on the Samsung NC10
* http://nc10ubuntu.wordpress.com/ - A blog that considers ways of improving the use of Ubuntu on the NC10
* http://www.netbooknews.it/ubuntu-su-nc10-parte-seconda/ - Italian blog for all netbook-related news and tricks.
* http://www.sammynetbook.com/samsung-nc10-key-information - Dedicated unofficial blog

Ubuntu Hardy Heron 8.04 on the Samsung NC10

Instead of installing Intrepid Ibex I wanted to install Hardy Heron on my Samsung. This is a reflection of my notes so far and thus a work in progress for now. It's not yet complete and needs more work. Only use it if you know what you're doing.

Installation using Alternate installer for encryption

Since this is a highly mobile netbook I want my data to be save and thus I opted for full disk encryption. In order to do so I had to tweak the install with a USB stick a bit. Otherwise the Hardy Heron Alternate Installer would complain about a cdrom drive not being present.

I installed from the Intrepid Ibex Alternate Installer with the following method. Install to usbstick one using unetbootin. Copy iso to usbstick two. Boot usbstick one. When installer complains can't find CD, alt-F2 to new terminal and mount usbstick one as /cdrom drive. Also mount usbstick two now on /mnt. Installer will proceed, install the module to find and install from an iso and it'll find your iso on usbstick two and install from it without problem.

Creating a bootable "alternate" usb stick from a running Ubuntu.

The 2 usb stick mounting thing above did not work here (nor did several other tips for mounting stuff manually), but if you use the "Create USB startup disk" under Administration on a running system (tried it on 8.10) and select the alternate iso, the mounting and using several usb sticks voodoo is not necessary: the installer detects the cdrom/usb stuff automatically.

Wireless Networking - Atheros

Make sure the wireless hardware is active. Afaik the blue light of the third led from the right should be lit. Double check your BIOS settings.

Remove the installed driver. Go to System–>Administration–>Hardware Drivers and disable by un-ticking the following option

Atheros Hardware Access Layer (Hal)

Then Reboot your system.

Go into the terminal and install the following:

sudo apt-get install build-essential subversion autoconf automake

Afther this remove any existing wifi mods afaik this should do it:

sudo modprobe -r ath_pci
sudo modprobe -r ath_hal
sudo modprobe -r wlan

To get the correct(according to this comment) madwifi driver I'm using Subversion.

On the terminal issue the following command:

svn co http://svn.madwifi-project.org/madwifi/branches/madwifi-hal- madwifi

Now enter the madwifi directory

cd madwifi 




sudo make install-modules 

Now we can install the modules into the kernel using the following

sudo modprobe ath_pci

Scan for some wireless networks

sudo iwpriv ath0 bgscan 0

You should now be able to use the wireless netwerk.

NB: I used the following from the Macbook instructions so after a resume the network card should automatically start again. Not sure if this is necessary nor that it work correct. Need some more time to test.

echo -e '#!/bin/sh\n/sbin/iwpriv ath0 bgscan 0' | sudo tee -a /etc/acpi/resume.d/99-madwifi-bgscan.sh


sudo chmod 755 /etc/acpi/resume.d/99-madwifi-bgscan.sh

External Displays

External displays work out of the box, only requiring a fix to achieve resolutions higher than 1024x768. A writeup is available here for extending the desktop and correcting the resolution problem. It is released under GFDL and can be pasted here if anyone else likes it.

Repo with fixes


Jaunty 9.04

everything works out of box except the following bugs

== EXTRA!!

[NC10] New Ubuntu repository for our favourite netbook!


Karmic 9.10

Almost everything works out of the box, but note that brightness controls require BIOS 11CA due to the new graphics system.

See this thread (especially about Xubuntu) for more information: http://ubuntuforums.org/showthread.php?p=7879995

== EXTRA!!

Dedicated repository: http://www.voria.org/forum/viewtopic.php?f=3&t=296

NC10 (last edited 2010-09-25 08:35:56 by dougierichardson)