Fedora 9 on the Samsung NC10 @nyNet

By Veit Wahlich, version 2008-11-21.

nc10.jpeg

This is a report on installing Fedora 9 on the Samsung NC10 @nyNet netbook. It discusses what components of the device work under Linux or how to get them working.

Kernel Glitches During Installation

I had to install Fedora 9 from Re-Spin release 20081004 which comes with a Linux 2.6.26 kernel, as the Samsung NC10 crashes after a while with the Fedora 9 stock 2.6.25 kernel like some other Intel Atom equipped netbooks do, too. I suspect some ACPI issues to cause the crashes, but I did not further investigate this as installation from Fedora 9 Re-Spin 20081004 worked just fine.

Hardware Compatibility Chart

This table applies to the Samsung NC10 @nyNet as sold in Germany in October 2008, including a 160 GB HDD instead of 120 GB, but no Bluetooth or HSDPA module.

Component Type Driver Does it work?
Graphics Intel GMA 950
i945GSE integrated shared memory IGP with 3D capabilities
intel (xorg) works out of the box
Harddisk Hitachi Travelstar 5K320 (HTS543216L9A300)
160 GB SATA disk drive with 8 MB cache at 5400 U/min
none required works out of the box
Display LVDS
1024x600 pixels 10.2" TFT with adjustable LED backlight and left-to-right RGB subpixels
XRandR extensions for backlight control, not supported by stock GNOME 2.22 but one might use xbacklight instead works but needs tweaking
see "Backlight Control" below for details
External graphics VGA connector
secondary graphics output to either extend or mirror the primary screen
configurable through XRandR extensions and corresponding tools works out of the box
Sound Intel ICH7 High Definition Audio
ICH7 integrated HDA controller
snd-hda-intel works out of the box
WiFi Atheros AR242x
IEEE 802.11abg PCIe controller
ath5k works after updating system
see "WiFi Connectivity" below for details
Wired network Marvell 88E8040
Fast Ethernet PCIe controller
sky2 works out of the box
Webcam Z-Star/Namuga 1.3M Webcam
USB video class webcam device with up to 1280x1024 pixels
uvcvideo works out of the box
Touchpad Synaptics Touchpad
touchpad with horizontal and vertical scroll bars
synaptics (xorg) works out of the box
Memory card slot Alcor Micro Multi Flash Reader
USB storage class memory card reader for SD, SDHC, MMC and MMCplus cards
usb-storage works out of the box
Keyboard Samsung full size keyboard
antibacterial ("silver nano") keyboard
none required works but needs tweaking
see "Keyboard Special Keys" below for details

Suspend to RAM (Sleep)

Suspend to RAM requires minor tweaking:

The text mode screen is blank after suspending the system. Add the parameter "acpi_sleep=s3_bios" to your kernel lines in /boot/grub/grub.conf and reboot the system to get rid of this problem.

The same result can also be archieved using HAL quirks instead.

Suspend to Disk (Hibernate)

Suspend to disk works out of the box.

Keyboard Special Keys

The keyboard has numerous special keys (or "multimedia keys"). Some work out of the box, such as audio volume control or suspend keys, but other keys' scancodes are unknown to the system.

If you want to use those keys, configure keycodes for their scancodes using the "setkeycodes" utility. You should first clear the kernel backlog using "dmesg -c" as root, then press all the special keys you want to configure. Now run "dmesg" again to see the unknown scancodes. Use the setkeycodes tool to assign keycodes to unknown scancodes and write the assignment commands to i.e. /etc/rc.d/rc.local, so they are configured at system boot.

Brightness Keys Glitch

I configured keycodes for the brightness control keys to send the default XF86MonBrightnessUp and XF86MonBrightnessDown event keycodes by running the following commands (as root):

setkeycodes e008 225
setkeycodes e009 224

Unfortunately with the current kernel the keys bounce infinitely, so I did a workaround using xbacklight. See "Binding Hotkeys for Brightness Control" below.

Backlight Control

As of this writing, backlight brightness control can only be done through the XRandR backlight extensions, which is not supported by Fedora 9's GNOME 2.22 or HAL. But can control it using the xbacklight tool, run "yum install xbacklight" to install it.

To lower brightness by 10%, run "xbacklight -dec 10", to rise brightness by 10%, run "xbacklight -inc 10" and to set it to 50%, run "xbacklight -set 50".

Binding Hotkeys for Brightness Control

As the brightness control buttons (Fn+Up/Fn+Down) do not work correctly with the current kernel, I configured the combination Control+Up/Control+Down as a work around solution instead. This also offers the ability to control brightness with only one hand. I installed xbacklight as described above and configured metacity global hotkeys through gconf.

You might run the following commands (as your desktop user!) to configure it likewise:

gconftool-2 --type string --set /apps/metacity/keybinding_commands/command_5 "xbacklight -inc 10"
gconftool-2 --type string --set /apps/metacity/keybinding_commands/command_6 "xbacklight -dec 10"
gconftool-2 --type string --set /apps/metacity/global_keybindings/run_command_5 "<Control>Up"
gconftool-2 --type string --set /apps/metacity/global_keybindings/run_command_6 "<Control>Down"

Brightness After Suspend/Hibernation

An other glitch is, that brightness is always turned to maximum on resume (from suspend to RAM) or thaw (from hibernation/suspend to disk). I wrote a suspend handler to remedy this problem, install this RPM file: pm-xbacklight-1.0-1.fc9.noarch.rpm

WiFi Connectivity

The IEEE 802.11abg WiFi card built into the device will not work right after installation as it requires the ath5k driver from kernel >= 2.6.27, which comes with the Fedora updates. Thus running "yum update" and rebooting will enable your wireless connectivity.

Using Development Drivers Instead

The ath5k module from Linux kernel 2.6.27.5 showed low signal strength and some packet loss on the air. I archieved better results after installing the development driver 2008-11-21.

If you want to install the development drivers as well, run the following commands (as root) in the directory you extracted from the source tarball. Be warned that compilation will take about 50 minutes to complete on a Atom CPU (there are many drivers and the current wireless subsystem to be compiled).

make install
make unload
make load

Shipped Software Re-Usage

The Samsung NC10 netbook comes with Windows XP SP3 ULCPC in a so called recovery edition on CD-ROM.

Fortunately the recovery volume is a real Windows XP recovery disc, not only a harddrive image like shipped by some other netbook vendors, so the disc can easily be turned into a universally installable CD-ROM/ISO image, i.e. to legally re-use it for a VirtualBox virtual machine.

Optimizing GNOME for Small Screens

Themes

On a netbook screen, space, especially vertical space, is somewhat precious. So I mangled the nice Metacity theme Gray-Flat and did a Gtk2 theme using the Nodoka Gtk2 engine optimized for small screens, fast rendering and battery saving.

The theme is called "Cru Gray Netbook", you may download a RPM file (likely installable on all RedHat-/Fedora-based GNU/Linux distributions) here: cru-netbook-theme-1.0-1.fc9.noarch.rpm

Fonts

I reduced the font size to 7pt for all text classes except for window titles, which use a 9pt font. Fonts use RGB subpixel rendering. See screenshots below.

Screenshots

f9_screenshot1.png f9_screenshot2.png

Contact and Further Information

If you have questions or comments regarding this report, feel free to contact me at cru [AT] ircnet [DOT] de.

For further information on running Linux on this device, visit the report index and the TuxMobil website.