Samsung N220

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Offizielle Infos und Support von Samsung

Für Backup und Restore des Windows-Krams:

Spezifikation

Testberichte und Infos

Foren und Wikis


Windows Auslieferungszustand

Partitionstabelle nach Einrichtung:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x9d97ba08

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1959    15728640   27  Unknown
/dev/sda2   *        1959        1972      102400    7  HPFS/NTFS
/dev/sda3            1972        7193    41943040    7  HPFS/NTFS
/dev/sda4            7193       30402   186422272    f  W95 Ext'd (LBA)
/dev/sda5            7193       29829   181820416    7  HPFS/NTFS
/dev/sda6           29829       30401     4598464+  49  Unknown
  • sda1: Wiederherstellungspartition (Samsung Recovery Solution)
  • sda2: SYSTEM-Partition (daraus wird Windows gebootet)
  • sda3: C-Laufwerk
  • sda4: Extended
  • sda5: D-Laufwerk
  • sda6: - (nicht benutzt)

Firmware (nach Update): 08JI

Linux/openSUSE Unterstützung

Kernel-Modul mit N220-Support ggf. geplant, siehe samsung-laptop.ko

GMA 3150 Grafik:

  • unterstützt seit xf86-video-intel 2.10.0 release (Jan 2010)
  • enthalten ab openSUSE 11.3 (Milestone Releases), Xorg 7.5
  • kernel mode-setting (KMS) mandatory, ab Kernel 2.6.32

Probleme:

  • Handbuch nur im Flash-Format und zudem nur als exe-Datei
  • BIOS-Update nur als exe-Datei

Installation und Konfiguration unter openSUSE 11.3 Milestone 5

Die meisten Tipps und Vorschläge wurden übernommen von der Seite Samsung N150 auf archlinux.org.

Installation

Die Installation von openSUSE 11.3 Milestone 5 musste im Textmodus erfolgen mit dem Kernel-Bootparameter "acpi=off", da Maus und Tastatur in Yast im Grafikmodus nicht funktionierten. Nach der Installation trat dieses Problem nicht mehr auf.

Partitionierung

Für Windows 7 wurde erstmal eine 40GB Partition behalten (sda1-sda3), um z.B. BIOS-Updates machen zu können. Der Rest wurde für Linux partitioniert, wobei eine normale Partition für /boot (sda5) eingerichtet wurde und der Rest für Verwendung mittels LVM (sda6).

fdisk -l /dev/sda:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9d97ba08

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1959    15728640   27  Unknown
/dev/sda2            1959        1972      102400    7  HPFS/NTFS
/dev/sda3            1972        7193    41943040    7  HPFS/NTFS
/dev/sda4   *        7194       30401   186418260    f  W95 Ext'd (LBA)
/dev/sda5            7194        7218      200781   83  Linux
/dev/sda6            7219       30401   186217416   8e  Linux LVM

cat /etc/fstab:

/dev/vgsystem/root   /                    ext4       acl,user_xattr        1 1
/dev/mapper/cr_data  /data                ext4       acl,user_xattr,nofail 0 0
/dev/vgsystem/swap   swap                 swap       defaults              0 0
/dev/disk/by-id/ata-SAMSUNG_HM250HI_S20TJ9BZ216055-part5 /boot                ext4       acl,user_xattr        1 2
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

pvdisplay:

  --- Physical volume ---
  PV Name               /dev/sda6
  VG Name               vgsystem
  PV Size               177.59 GiB / not usable 968.00 KiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              45463
  Free PE               2
  Allocated PE          45461
  PV UUID               acjsI7-OsNy-3NFW-816J-n53o-tBqp-DAZV0Q

vgdisplay:

  --- Volume group ---
  VG Name               vgsystem
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               177.59 GiB
  PE Size               4.00 MiB
  Total PE              45463
  Alloc PE / Size       45461 / 177.58 GiB
  Free  PE / Size       2 / 8.00 MiB
  VG UUID               RZWnh9-r41m-dIpo-2d5z-bZoE-oOvu-fTnKIk

lvdisplay:

  --- Logical volume ---
  LV Name                /dev/vgsystem/data
  VG Name                vgsystem
  LV UUID                xMbY2e-m1rm-ej2h-raVC-Eoey-DDZB-eMDavx
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                143.58 GiB
  Current LE             36757
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Name                /dev/vgsystem/root
  VG Name                vgsystem
  LV UUID                5wPLgI-oiLp-OsE8-NFsM-tZvl-kA1s-fCLqZg
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                30.00 GiB
  Current LE             7680
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   
  --- Logical volume ---
  LV Name                /dev/vgsystem/swap
  VG Name                vgsystem
  LV UUID                Rge7xU-Ilzm-EOuV-ef8D-ONoO-M1Oi-SFLUHB
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

Ethernet

Das 10/100 MBit/s Interface wird direkt erkannt. Kernel-Modul ist sky2.

WLAN

WLAN funktioniert ohne Anpassung. Kernel-Modul ist athk9.

Zum Aktivieren von WLAN muss zunächst einmal der "Hardware-Schalter" im BIOS eingeschaltet sein. Dann kann man mit dem folgenden Script, ähnlich wie unter archlinux.org beschrieben, WLAN aus- und einschalten:

cat /usr/local/sbin/rftoggle:

#!/bin/bash
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'
DELAY=2

blocked=`/usr/sbin/rfkill list wlan | grep "Soft blocked: yes"`

if [ -z "$blocked" ]; then
   sudo /usr/sbin/rfkill block wlan
   kdialog --passivepopup "WLAN disabled" 3
   osd_cat -A center -p middle -f $FONT -d $DELAY << EOF
   WLAN disabled
EOF
else
   sudo /usr/sbin/rfkill unblock wlan
   kdialog --passivepopup "WLAN enabled" 3
   osd_cat -A center -p middle -f $FONT -d $DELAY << EOF
   WLAN enabled
EOF
fi

Dabei wird mit dem rfkill-Kommando gearbeitet, welches man auch für die Abfrage des Status verwenden kann:

rfkill list

Zuordnung zu Fn-F9-Tastenkombination siehe unten.

Bluetooth

Ein- und Ausschalten des Bluetooth-Devices geht unabhängig von WLAN mit dem folgenden Script, inkl. Anzeige in X11.

cat /usr/local/sbin/rftoggle

#!/bin/bash
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'
DELAY=2

blocked=`/usr/sbin/rfkill list bluetooth | grep "Soft blocked: yes"`

if [ -z "$blocked" ]; then
   sudo /usr/sbin/rfkill block bluetooth
   kdialog --passivepopup "Bluetooth disabled" 3
   osd_cat -A center -p middle -f $FONT -d $DELAY << EOF
   Bluetooth disabled
EOF
else
   sudo /usr/sbin/rfkill unblock bluetooth
   kdialog --passivepopup "Bluetooth enabled" 3
   osd_cat -A center -p middle -f $FONT -d $DELAY << EOF
   Bluetooth enabled
EOF
fi

Zuordnung zu Fn-F8-Tastenkombination siehe unten.

Audio

Kein Problem, wird automatisch erkannt und unterstützt. Kernel-Module snd_hda_codec_realtek und snd_hda_intel.

Grafik und Display

Die Xorg Version 7.5 arbeitet sehr gut zusammen mit dem Grafik-Chip, ohne Erstellung einer /etc/X11/xorg.conf.

Umschaltung der Grafik-Ausgabe

Externes Display mit 1920x1080 ansteuern (was entgegen der Spec funktioniert):

xrandr --output VGA1 --mode 1920x1080

Internes Display ausschalten:

xrandr --output LVDS1 --off

Wieder das interne Display initialisieren/einschalten:

xrandr --output LVDS1 --mode 1024x600

Externes Display ausschalten:

xrandr --output VGA1 --off

Das Script kann genutzt werden und auf Fn-F4 gelegt werden, um das Display umzuschalten.

Helligkeit des interne Displays

Siehe Script archlinux.org. Das Script /usr/local/sbin/backlight funktioniert auch auf dem N220:

#!/bin/bash
# increase/decrease/set/get the backlight brightness (range 0-255)
#

# PCI device on which to operate
DEVICE=00:02.0

# Amount to raise/lower the backlight when called with "up" or "down"
AMOUNT=8

# Minimum backlight value reachable via "down"
MIN=1

# Default backlight level when toggling on
DEFAULT=6c

#get current brightness in hex and convert to decimal
var1=`setpci -s $DEVICE F4.B`
var1d=$((0x$var1))
case "$1" in
       up)
               #calculate new brightness
               var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT);if (a<255) print a else print 255" | bc`
               echo "$0: increasing brightness from 0x$var1 to 0x$var2"
               setpci -s $DEVICE F4.B=$var2
               ;;
       down)
               #calculate new brightness
               var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`
               echo "$0: decreasing brightness from 0x$var1 to 0x$var2"
               setpci -s $DEVICE F4.B=$var2
               ;;
       set)
               #n.b. this does allow "set 0" i.e. backlight off
               echo "$0: setting brightness to 0x$2"
               setpci -s $DEVICE F4.B=$2
               ;;
       get)
               echo "$0: current brightness is 0x$var1"
               ;;
       toggle)
               if [ $var1d -eq 0 ] ; then
                       echo "toggling up"
                       setpci -s $DEVICE F4.B=$DEFAULT
               else
                       echo "toggling down"
                       setpci -s $DEVICE F4.B=0
               fi
               ;;
       *)
               echo "usage: $0 {up|down|set <val>|get|toggle}"
               ;;
esac
exit 0

Suspend to RAM

Kein Problem.

Touchpad

Ein- und Ausschalten geht ohne Anpassung mittels Fn-F10. Siehe Script unter http://wiki.archlinux.org/index.php/Samsung_N150#Touchpad für das Prüfen, ob das Touchpad eingeschaltet ist. Für Aktivierung von Multitouch gibt es dort auch ein HAL-Eintrag, welcher unter /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi abgelegt ist.

CPU Frequenz umschalten

Siehe http://wiki.archlinux.org/index.php/Samsung_N150#CPU_frequency_scaling. Die dort genannten Module werden bereits automatisch gestartet. Das Script /usr/local/sbin/cpufreq_toggle siehe wie folgt aus:

<source lang="bash">

  1. !/bin/bash

current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor` future=unknown

if [ "$current" == "performance" ]; then

  future="ondemand"

elif [ "$current" == "ondemand" ]; then

  future="powersave"

else

  future="performance"

fi

echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

echo "$future"

Fn-Tasten

Viele Fn-Tasten werden vom System nicht erkannt. Die zugehörigen Keycodes müssen erstmal bekannt gemacht werden. Eintrag in /etc/init.d/boot.local:

setkeycodes e002 227   # Fn+F4 maps to switchvidmode
setkeycodes e003 236   # Fn+F2 maps to battery
setkeycodes e004 148   # Fn+F5 maps to prog1
setkeycodes e006 238   # Fn+F9 maps to wlan
setkeycodes e008 225   # Fn+Up maps to brightnessup
setkeycodes e009 224   # Fn+Dn maps to brightnessdown
setkeycodes e031 149   # Fn+F7 maps to prog2
setkeycodes e033 202   # Fn+F8 maps to prog3
setkeycodes e077 191   # Fn+F10 maps to F21 whenever the touchpad is enabled
setkeycodes e079 192   # Fn+F10 maps to F22 whenever the touchpad is disabled

# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release

Dann kann man die Fn-Tasten in KDE4 unter "Systemeinstellungen -> Systemverwaltung -> Tastenkombinationen" einem Befehl bzw. Script zugeordnen. Die Einstellungen landen dann unter ~/.kde4/share/config/khotkeysrc.

Folgende Fn-Tasten wurden dort konfiguriert:

  • Display-Helligkeit erhöhen - Fn-Pfeil-hoch - sudo /usr/local/sbin/backlight up
  • Display-Helligkeit verringern - Fn-Pfeil-runter - sudo /usr/local/sbin/backlight down
  • Display an/aus - Fn-F5 - sudo /usr/local/sbin/backlight toggle
  • WLAN an/aus - Fn-F9 - /usr/local/sbin/rftoggle
  • Bluetooth an/aus - Fn-F8 - /usr/local/sbin/bttoggle
  • CPU-Powermodus umschalen - Fn-F7 - /usr/local/bin/cpufreq_toggle_osd
  • Akku-Status anzeigen - Fn-F2 - /usr/local/bin/report_battery
  • Display ext - Fn-F4 - xrandr --output VGA1 --mode 1280x1024

Konfiguration visudo:

Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/bttoggle, /usr/local/sbin/cpufreq_toggle, /usr/sbin/rfkill
%users  ALL=(ALL) NOPASSWD: NETBOOK_CMDS

Für HAL existieren Einträge für Samsung-Notebooks. Dort kann man den N220 ergänzen, was allerdings keinen Einfluss auf nötige setkeycodes-Kommandos hat.

cat /usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi

 <match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains_outof="NC10;SP55S;SQ45S70S;SX60P;SX30S;SX22S;R59P/R60P/R61P;Q210;Q310;X05;P560;R560;N150/N210/N220">
...
          <append key="input.keymap.data" type="strlist">e077:f21</append> <!-- Fn+F10 Touchpad on -->
          <append key="input.keymap.data" type="strlist">e079:f22</append> <!-- Fn+F10 Touchpad off -->
...

Webcam

Die Webcam funktioniert ohne Anpassungen mit Skype und anderen Webcam-Applikationen (wxcam, cheese). Kernel-Modul ist uvcvideo.

Offene Punkte

  • Magic Sysrequests aktivieren
  • LED für "WLAN an/aus" leuchet ständig
  • Doppelklick Touchpad

Anwendungen und Dienste

  • initrd: dm_mod und ext4 hinzugefügt in /etc/sysconfig/kernel
  • Postfix
  • NTP
  • knetworkmanager
  • Webcam Apps, Skype