Netbook Samsung NC10 i jego kompatybilność z linuksem
Ostatnia zmiana: 2013-11-26 18:43

Zmiany:
+ 2009-05-05 Aktualizacja informacji nt. instalacji systemu
+ 2009-03-12 Aktualizacja systemu do wersji 10.04
+ 2009-03-24 Aktualizacja systemu do wersji 9.04
+ 2009-03-15 W repo voRia pojawiał się pakiet nc10-scripts dodający kilka funkcjonalnych skryptów dla NC10. A dzięki mnie wyświetlają się komunikaty w naszym języku :)
+ 2009-03-15 Dodatkowe skrypty zwiększające funkcjonalność NC10 dostępne są na forum Linux On My Samsung
+ 2009-03-14 Ukryta zakładka w biosie (działa dla biosów 03Cd/04CD/05CD): wejdź do biosu (F2), włącz numlock (Fn+F11), włącz scrolllock (Fn+F12), wyłącz capslock. Pojawi się zakładka Intel z szerokimi możliwościami konfiguracji sprzętu!
+ 2009-03-13 voRia dodał łatkę do Network Managera do obsługi modemu HSPA
+ 2009-03-12 Dostępny jest nowy bios na stronie Samsunga - wprowadza możliwość ustawienia trybu pracy wentylatora a także statusu karty WLAN przy starcie systemu (włączona/wyłączona/ostatni stan)
+ 2009-03-11 Dodano informacje o repozytorium z aktualnymi wersjami paczek dla NC10 dla Ubuntu
+ 2009-02-20 Dodano informacje o aktualizacji pakietu hal-info
+ 2009-02-11 http://marc.info/?l=linux-wireless&m=122665779201442&w=2 - łatka do ath5k (wifi) umożliwiająca włączenie trybu AP - czyli możliwość zamiany NC10 w mobilnego hotspota
+ 2009-02-11 [ubuntu] hal-info w interpid-proposed zawiera informacje o mapowaniach klawiszy w NC10
+ 2009-02-11 http://www.mail-archive.com/ath5k-devel@lists.ath5k.org/msg01649.html - łatki do ath5k (wifi) do obsługi rfkill czyli możliwość programowego wyłączenia wifi
+ 2009-02-10 W sprzedaży będzie możliwe nabycie 9 komorowej baterii w cenie 99 dolarów. Pozwoli to na 12-15 godzin pracy netbooka
+ 2009-02-07 Kernel 2.6.28.4 wprowadza odpowiednią łatkę do obsługi klawiszy w NC10
+ 2008-12-31 Kompletny patch dla NetworkManagera obsługujący poprawnie modem 3G
+ 2008-12-24 Metody rozwiązania problemów z klawiszami jasności
+ 2008-12-22 Wyjaśnienie problemów z klawiszami jasności
+ 2008-12-20 Modernizacja skryptów do łączenia iPlus
+ 2008-12-18 Start

Informacje ogólne

Typ: NP-NC10-KAP1PL

Procesor: Intel Atom N270 1600 1.6GHz
Wyświetlacz: 10.2"; TFT (1024x600, panorama 16:9, matowa)
Karta graficzna: Intel Graphics Media Accelerator (GMA) 950, pamięć współdzielona
Pamięć: jedne slot DDR2, aktualnie: Samsung 1GB 667MHz DDR2
Dysk: HDD 2.5"; 160GB Hitachi HTS543216L9A300

Chipset: i945GME
Interfejsy:
                3x port USB 2.0
                1x port VGA (D-SUB)
                1x wyjście Audio Out
                1x wejście Audio In
                1x port RJ-45 LAN 100
                Kensington lock support
                Czytnik kart SD
Audio:
                Wbudowana karta dźwiękowa Intel HD Audio Controller
                2 głośniki
Komunikacja (wbudowana):
                karta sieciowa Ethernet 10/100 Mbps (Marvell Technology Group Ltd. 88E8040)
                wbudowana kamera Z-Star/Namuga 1,3Mpix (usb)
                mikrofon
                wbudowany Samsung HSPA Modem (dl 7,2Mb/s, up 2Mb/s) - w slocie miniPCIe
                Wifi Atheros AR242x 802.11abg Wireless PCI Express Adapter - w slocie miniPCIe
                Bluetooth 2.0 + EDR (Broadcom) (usb)
                Czytnik kart multimedialnych 3-in-1 (SD/SDHC/MMC - sub)

Zasilanie: Bateria Li-Ion 11.1V 5200mAh (6-cell)

Brak:
                FDD
                Napęd optyczny
                IrDA
                DVI/HDMI/s-video
                e-sata
                Porty: PS/2 (klawiatury/myszy), RS232C (szeregowy), LPT (równoległy)

Prezentowane rozwiązana zostały wykonane na Ubuntu 10.04.
Jednym z genialnych rozwiązań jest dobra matryca podświetlana LED oraz bateria pozwalająca na pracę do 6-7 godzin. Procesor doskonale się sprawdza w normalnej pracy, nie da się natomiast oglądać filmów HD (rwie straszliwie).

Budowa

lspci



    00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
    00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
    00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
    00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
    00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
    00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
    00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
    00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
    00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
    00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
    00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
    00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
    00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
    00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
    02:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
    03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller (rev 13)

lsusb



    Bus 005 Device 004: ID 0ac8:c326 Z-Star Microelectronics Corp. (kamera)
    Bus 005 Device 003: ID 04e8:6773 Samsung Electronics Co., Ltd (modem HSPA)
    Bus 002 Device 002: ID 0a5c:2101 Broadcom Corp. A-Link BlueUsbA2 Bluetooth (Bluetooth)

Instalacja

Z powodu braku napędu optycznego instalacja możliwa jest na kilka innych sposobów:

  • podłączyć zewnętrzny napęd CD/DVD
  • zainstalować z dysku/pendrive USB
Polecam ten drugi sposób, wykorzystując program Unetbootin. Instalacja przebiega standardowo, nie ma tu większych problemów.

Można zainstalować normalne wydanie desktop lub netbook. Polecam to drugie, jest dość ładnie przygotowane do pracy na ekranie o małej rozdzielczości.

Konfiguracja

Po instalacji systemu należy wykonać parę rzeczy.

Update systemu

Należy wybrać System -> Update Manager i zaktualizować wszystkie dostępne pakiety.

Instalacja samsung-tools

Należy dodać nowe repozytorium (System -> Administration -> Software Sources / Third-Party Software -> Add)
(System -> Administracja -> Źródła oprogramowania / Inne oprogramowanie -> Dodaj)


    ppa:voria/ppa

a następnie na konsoli wykonać polecenia:


    $ sudo apt-get update
    $ sudo apt-get upgrade
    $ sudo apt-get install samsung-tools samsung-backlight

Ten drugi pakiet jest niezbędny jeżeli nie mamy aktualnego biosu (11C0).

samsung-tools (dawniej: nc10-scripts oraz samsung-scripts) dodaje kilka predefiniowanych skrótów klawiszowych
Fn+F3: Włączenie/wyłączenie kamery
Fn+F5: Włączenie/wyłączenie podświetlania ekranu
Fn+F7: Włączenie/wyłączenie bluetooth
Fn+F8: Temperatura CPU oraz zarządzanie prędkością CPU
Fn+F9: Włączenie/wyłączenie WiFi

Ew. konfigurację pakietu wykonuje się z System -> Preferencje -> Ustawienia narzędzi Samsung

Samsung HSPA Modem

Niektóre modele wyposażone są w wewnętrzny modem na miniPCIe typ GT-Y3100. Producentem modemu jest Samsung, jest on bez simlocka, więc działa z kartą SIM dowolnego operatora. Prawie standardowy modem, dostępny jako urządzenie usb, obsługiwany przez sterownik CDC-ACM. Wspiera GPRS, EDGE, UMTS oraz HSDPA/HSUPA (7,2/2 Mb/s).

Informacje o modemie (ATI):


    Manufacturer: SAMSUNG ELECTRONICS CORPORATION
    Model: GT-Y3100
    Revision: Y3100XXHJ3
    FTA SW VERSION: Y3100.006
    FTA HW VERSION: REV0.1
    IMEI: xxxxxxxxxxxxxxx
    +GCAP: +CGSM,+DS,+ES

(numer Revision zmienia się po wykonaniu aktualizacji firmware). Ten modem nie obsługuje niektórych poleceń AT: AT+GCAP, AT+FCLASS=0.

PIN
Jeżeli karta SIM posiada pin trzeba go podać przed pierwszym uruchomieniem połączenia. Można to wykonać na klika sposobów:

  • podać w konfiguracji połączenia w Network Managerze
  • zainstalować pakiet gcom


    $ sudo aptitude install gcom

a następnie uruchomić go przy każdym starcie systemu (gcom -d /dev/ttyACM0). Program będzie wymagał podania pinu jeżeli wymaga tego modem.

  • ręczne podać pin przez terminal
Należy zainstalować dowolny pakiet terminala (np. picocom)


    $ sudo aptitude install picocom

A po uruchomieniu programu


    $ sudo picocom -b 115200 /dev/ttyACM0

podać pin poleceniem


    AT+CPIN=0000

gdzie 0000 należy zastąpić oczywiście odpowiednim pinem do karty.

  • w skryptach startowych połączenia
Polecenie AT+CPIN=... można podać w skryptach startowych - można jednak taki skrypt wykonać tylko raz, bo przy następnym uruchomieniu modem odpowie komunikatem błędu

  • wyłączyć pin
Przy użyciu programu Samsunga w środowisku Windows lub po przełożeniu karty do dowolnego telefonu GSM.

Skrypty do połączeń
Dla operatora Plus, sprawdzone, działające. Zawartość należy umieścić w odpowiednich plikach w katalogu /etc.
Uruchomienie połączenia to wydanie polecenia:


    $ pon iplus

Rozłączenie połączenia:


    $ poff iplus


/etc/ppp/peers/iplus


    noauth
    connect "/usr/sbin/chat -f /etc/chatscripts/iplus-connect"
    disconnect "/usr/sbin/chat -f /etc/chatscripts/iplus-disconnect"
    /dev/ttyACM0
    crtscts
    lock
    local
    921600
    defaultroute
    usepeerdns
    lcp-echo-failure 4
    lcp-echo-interval 65535
    updetach


/etc/chatscripts/iplus-connect


    ABORT BUSY
    ABORT ERROR
    ABORT 'NO ANSWER'
    ABORT 'NO CARRIER'
    '' ATZ
    OK AT+CPIN?
    OK AT+CGDCONT=1,"IP","www.plusgsm.pl","",0,0
    OK ATE1
    OK ATDT*99***1#
    CONNECT


/etc/chatscripts/iplus-disconnect


    '' "\K"
    '' '+++ATH0'

Takie ustawienia pozwalają osiągnąć nawet do 820KiB/s (rzeczywisty pomiar tranferu!)

Ogólne uwagi

Netbook oczywiście działa i nie ma nic do zarzucenia. Jednakże z powodu rozmiaru ekranu (10,2") i rozdzielczości (1024x600) niektóre aplikacje źle wyglądają i wymagają delikatnego tuningu. Oczywiście to rzecz osobista, ale oto niektóre z nich:
- zastosowanie odpowiedniego motywu środowiska graficznego (szczególnie dotyczy to odpowiedniego tematu dla window managera - górna belka nie powinna być za duża)
- odpowiednie ustawienie wielkości liter (na ile oczy pozwalają)
- odpowiednie ustawienie różnych aplikacji (np. dla firefoxa - dodatek Tiny Menu)
- wyłączyć dolny panel
- ze względu na transmisje danych - wyłączenie automatycznej aktualizacji, sprawdzania pakietów, sprawdzania wersji i dostępności dodatków w Firefox, automatycznej aktualizacji filtrów AdBlock.
- zainstalować ubuntu-netbook-remix

Multitouch

Dotyczący touchpada nie ekranu. Z jakiegoś powodu nie jest to domyślnie włączone, a można to zrobić. Wystarczy w konsoli wpisać:


    $ synclient EmulateTwoFingerMinZ=0
    $ synclient EmulateTwoFingerMinW=6
    $ synclient VertTwoFingerScroll=1
    $ synclient HorizTwoFingerScroll=1

I już możliwe jest przewijanie ekranu dwoma palcami w poziomie i pionie (polecam wypróbowanie w przeglądarce www). Można także zainstalować pakiet gpointing-device-settings (bardziej zaawansowany pakiet do obsługi myszy) w którym można to po prostu wyklikać.

Stare znane problemy

Poniżej dla celów ewidencji opisano problemy które kiedyś występowały. W wersji 10.04 są one już naprawione.

Aktualizacja pakietów rozwiązuje to następujące problemy:

  • wsparcie dla klawiszy FN
  • problem z zerowym poziomem jasności w gnome-power-manager oraz FN-F5 (wyłączenie podświetlania)
UWAGA: jeżeli wcześniej były wykonywane ręcznie przypisana klawiszy należy usunąć pliki


    /home/<user name>/.gconf/apps/metacity/keybinding_commands/%gconf.xml
    /home/<user name>/.gconf/apps/metacity/global_keybindings/%gconf.xml


  • możliwość włączenia/wyłączenia karty wifi (RFKILL)
  • naprawiono problem z nadwrażliwością touchpada
  • zlikwidowano problem z nadmiernym Load Cycling dysku HDD
Ustawienia dysków są dość agresywne. Można to lekko zmodyfikować w pliku /etc/laptop-mode/laptop-mode.conf zamieniając


    LM_AC_HD_IDLE_TIMEOUT_SECONDS=60
    LM_BATT_HD_IDLE_TIMEOUT_SECONDS=60
    BATT_HD_POWERMGMT=1

na


    LM_AC_HD_IDLE_TIMEOUT_SECONDS=300
    LM_BATT_HD_IDLE_TIMEOUT_SECONDS=300
    BATT_HD_POWERMGMT=192


  • zaktualizowano drivery ALSA dla poprawnej obsługi dźwięku
  • dodano łatkę naprawiającą obsługę modemu HSPA przez Network Managera
Dla Ubuntu 9.04/9.10 pakiety z powyższego repozytorium likwidują wszystkie niedogodności w używaniu NC10. Jeżeli ktoś chce pobawić się ręcznie lub używa innej dystrybucji oto rozwiązania w/w problemów.

Hotkey

Generalnie ze starszymi wersjami jądra nie działają niektóre skróty klawiszowe. Należy używać kernela w wersji co najmniej 2.6.28.4 lub własnoręcznie przekompilować jądro używając tej łatki: patch for atkbd to fix key repeat issue on NC10 (take 2)

Jeżeli mamy właściwy kernel to już tylko należy zmapować przyciski do odpowiednich akcji. Obecnie stan przycisków jest następujący:

Fn+Esc - suspend, działa
Fn+F2 - status baterii, działa
Fn+F3 - euro, działa, można przypisać powolną akcję
Fn+F4 - przełączenie wyjścia wideo, działa
Fn+F5 - wyłączenie podświetlania ekranu, działa
Fn+F6 - mute, działa
Fn+F7 - toolbox, działa, włączenie/wyłączenie bluetooth
Fn+F8 - speed, działa, Temperatura CPU oraz zarządzanie prędkością CPU
Fn+F9 - wifi toogle, działa
Fn+F10 - touchpad toogle, działa
Fn+F11 - numlock, działa
Fn+F12 - scrolllock, działa
Fn+Ins - Pause, działa
Fn+Up/Down/Left/Right - działa

Jeżeli nie mamy kernela w odpowiedniej wersji to największym problemem są klawisze jasności. Można to obejść mapując odpowiednio skróty Ctrl-Up i Ctrl-Down (będą wykorzystywane zamiast Fn-Up/Fn-Down).
Należy zainstalować program xbacklight


    sudo aptitude install xbacklight

a następnie, wykorzystując Ubuntu Tweak zmapować następujące polecenia:
Ctrl-Up: xbacklight -inc 10
Ctrl-Down: xbacklight -dec 10

Inna metoda - wykonanie w terminalu następujących poleceń (z poziomu użytkownika!):


    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"

Uwaga: aby uzyskać większy zakres regulacji podświetlania, podczas wyboru systemu startowego w grubie należy kilka razy nacisnąć Fn+UP.

W Ubuntu 8.10 do aktualizacji dostępna jest paczka hal-info zawierająca wpisy dla notebooków samsunga. Niestety z powodu problemów z aktualnym kernelem w Ubuntu, wpis dotyczący NC10 został usunięty. Jeżeli posiadamy własną kompilację jądra to można przewrócić wpisy dla klawiszy dodatkowych: w pliku /usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi należy zamienić linię


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

na


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


Dodatkowe skrypty zwiększające funkcjonalność dostępne są na forum Linux On My Samsung

Wifi

Domyślnie instalowane są sterowniki madwifi, które nie obsługują chipu karty Atheros w NC10. Należy doinstalować odpowiedni pakiet


    sudo aptitude install linux-backports-modules-jaunty

a następnie aktywować moduł ath5k i wyłączyć stare sterowniki


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

Po restarcie wifi powinno normalnie działać.

Audio

W starszych wersjach jądra domyślnie nie działa mikrofon. Należy skompilować i zainstalować nowszą wersję sterowników ALSA. Należy pobrać najnowszą wersję (z http://www.alsa-project.org/main/index.php/Download), np. 1.0.18a, następnie skompilować i zainstalować:


    sudo su
    aptitude install patch libncurses-dev gettext linux-headers-`uname -r`
    cd Desktop/alsa-driver-*
    ./configure --with-cards=hda-intel --with-oss=yes --with-sequencer=yes
    make
    make install

lub oczywiście używać odpowiednio aktualnej wersji kernela.

Podsumowanie

Działa "od ręki":

  • wideo (z efektami graficznymi - compiz)
  • połączenie kablowe ethernet
  • USB
  • SD Card reader
  • webcam
  • bluetooth
  • suspend / resume
  • Samsung HSPA Modem
  • skalowanie częstotliwości procesora
W pełni działające po aktualizacji sterowników:

  • połączenie bezprzewodowe wifi
  • audio
  • wbudowany mikrofon
  • Wszystkie hotkeye
Sterowniki:
Sterowanie częstotliwości procesora: apci_cpufreq
Audio: snd-hda-intel
Wifi: ath5k
Ethernet: sky2
Czytnik SD: usb-storage
Modem 3G: cdc-acm
Kamera: uvc-video
Bluetooth: btusb
USB: ehci_usb/uhci_usb

Przydatne linki:

  • Narzędzie do wykonania bootowalnego pendrive Unetbootin