Archiwum

Posty oznaczone ‘Linux’

Montowanie obrazu dysku z partycjami w linuksie

Maj 14th, 2010 1 komentarz

Są sytuacje w których chcemy zrobić pełen obraz dysku, np jako backup wszystkich danych, który łatwo da się przywrócić na inny dysk.

Jeżeli chcemy podejrzeć zawartość tak zrobionego obrazu, lub skopiować dane z niego bez wgrywania go na fizyczny dysk, niemiłym zaskoczeniem może okazać się fakt, że nie podmountujemy obrazu do katalogu za pomocą zwyczajnego mount. Jest na to jednak pewien sposób.

Aby podmontować konkretną partycję z obrazu musimy posiadać widzę w jakim obszarze dysku się ona zaczyna. Wykorzystamy do tego narzędzie parted, które znaleźć można w repozytoriach większości dystrybucji.

Zakładamy, że nasz obraz nazywa się hda.img. Wywołujemy więc parted hda.img w lokalizacji w której znajduje się obraz.

Po uruchomieniu tego polecenia pokaże nam się znak zachęty programu parted.

# parted hda.img
GNU Parted 1.9.0
Using /home/ncichy/hda.img
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted)

CLI programu jest dość intuicyjne, my jednak potrzebujemy tylko jednej jego funkcji. Na początek ustalamy jednostki, na których pracuje program na Bajty.

(parted) unit
Unit?  [B]? B
(parted)

teraz wystarczy wyświetlić tablicę partycji na dysku:

(parted) print
Model:  (file)
Disk /home/ncichy/hda.img: 8069677056B
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End          Size         Type     File system  Flags
1      32256B  8069677055B  8069644800B  primary  ext2

(parted)

Obraz na którym pracuję ma akurat jedną partycję ext2.  Nas interesuje pole start. Wartość z niego (bez jednostki B) użyjemy w poleceniu następnym:

# mount -o loop,ro,offset=32256 hda.img /mnt/

Warto zauważyć, że pierwsza partycja zawsze zaczyna się w tym obszarze dysku. W poleceniu podajemy więc jako wartość offset odczytaną z parted liczbę, następnie podajemy plik obrazu (tutaj hda.img) i miejsce montowania tego obrazu.

System na desktopie

Marzec 28th, 2010 Brak komentarzy

Kiedyś, któryś z moich znajomych komputer i system operacyjny porównał do łopaty – wtedy podchodziłem do tego nieco inaczej, dziś zgodzę się w 100%.

Arch Linux

Od dłuższego czasu na “biurku” używałem Arch Linuxa, którego bardzo lubię za pacmana, przejrzystość, szybkość działania i – uwaga, problemy, które są z nim nierozłącznie związane, a rozwiązanie ich przynosi frajdę. Jednak, jak wspominałem wcześniej, komputer stał się dla mnie przede wszystkim narzędziem pracy, dlatego moje oczekiwania się nieco zmieniły.

Arch “przegiął”, w momencie w którym pojawiły się niezrozumiałe dla mnie problemy połączenia GTK i KDE. Problem objawiał się np pustym oknem zapisywania pliku w gimpie, które po godzinnej pracy potrafiło doprowadzić do szału. Po którymś razie, pustych logach i braku pomysłu na rozwiązanie problemu postanowiłem coś z tym zrobić.

Na nowiutkim dysku postanowiłem zainstalować sobie windowsa, dlatego, że czasem się przydaje, mam na niego licencje, oraz na nowo archa, tym razem z xfce4. Podzieliłem dysk na 20gb partycje dla windowsa i resztę na linuksa.

Windows Xp

Instalacje zacząłem od windowsa. Długi czas nie robiłem tego u siebie, wiele razy dla klientów, powtarzając jaki jest on niewygodny.

Tym razem postanowiłem się źle nie nastawiać. Instalacja przebiegła zastanawiająco szybko i bez problemów. Po 3 godzinach miałem system, najważniejsze oprogramowanie i obsługę całego sprzętu – którego troszkę mam. To zachęciło mnie do zasiedzenia się na dłuższą chwilę na systemie Microsoftu.

Znalazłem bardzo dużo przeportowanych z linuksa narzędzi, bez których nie wyobrażam sobie korzystania z komputera. Bluefish (który niestety chodzi pod windowsem wyraźnie gorzej niż natywnie na linuksie), kadu a nawet sshfs. Wszystko nabrało formy znośnej do użytkowania, przy zachowaniu zastrzeżeń licencyjnych. Znośnej, jednak niezbyt wygodnej. Nie udało mi się znaleźć żadnego rozsądnego terminala do połączeń ssh. Najbardziej znany, darmowy putty, jest po prostu niewygodny, nie da się w nim otworzyć konsoli na cały monitor, ma problemy z różnymi kodowaniami, a kopiowanie i wklejanie z i do terminala jest rozwiązane po prostu idiotycznie. Wspomniana bezpłatność to chyba jego największa zaleta. Problemy zaczęły się również z kadu, po jakimś czasie zaczęło chodzić wyraźnie wolniej i czasem się zacinać. Denerwował mnie brak możliwości wklejania poprzez kliknięcie kółka myszki i normalnej konsoli, w której można szybko zbadać jakiś zewnętrzny host, użyć wgeta itp (są oczywiście cygwiny i inne, ale używanie tego to makabra).

Sam system, mimo bardzo sporadycznego wyłączania go pozostał jednak szybki i stabilny, co było dla mnie pewnego rodzaju zaskoczeniem. Być może, okres przez jaki go używałem (dwa tygodnie?) był po prostu za krótki.

Myśl o instalacji całego sprzętu (2 skanery, drukarka all-in-one, druga drukarka, karta tv, dwa monitory), na Arch’u skutecznie mnie zniechęciła do ponownej instalacji tego systemu.

Mandriva Xtreme 4

Nie lubię klikalnych linuksów. Ubuntu, w którym wszystko można wyklikać, ale gdy coś nie działa, pozostaje nam zmienić system (bo to co tworzą konfiguratory jest nie do pojęcia dla ludzkiego umysłu) i przejścia chociażby z Debianem Etch, czy starą mandrivą (wtedy to było chyba jeszcze mandrake) upewniły mnie w  tym stanowisku. Wkurzała mnie też jeszcze jedna rzecz – zamknięte licencje, a zasadzie brak dostarczonych programów strzeżonych takimi licencjami z dystrybucjami. O ile w archu dało się to dość prosto ominąć, tak duża część dystrybucji pod tym względem puszczała użytkownika w pole. Często dogranie takich rzeczy jak kodeki, czy flash (bez których system zdaje się być delikatnie bezużyteczny), rozwala kompletnie integralność systemu, powodując tym samym problemy przy wgrywaniu innych programów czy aktualizacji systemu.

Pomysł na mandrive Xtreme 4 zrodził się od Maćka, który od dawna tego systemu używa i chętnie odpowiedział mi na wszystkie nurtujące pytania.

Instalacja była banalnie prosta. To nawet za mało powiedziane, była idiotycznie prosta – chyba aż za, bo instalator praktycznie w ogóle nie zadawał pytań, nie dał mi nawet wybrać oprogramowania, które chcę zainstalować. Proces trwał dość długo – około godziny.

Po instalacji, pierwsze uruchomienie na początku przeraża a potem zachwyca. Przeraża czasem – trwa strasznie długo, a zachwyca efektem. Otrzymujemy wstępnie skonfigurowany, wyposażony w bardzo skrupulatnie dobrany zestaw programów system.

Po instalacji zabrałem się za sprzęt, którego obsługa jest dla mnie bardzo ważna. Tutaj pełne zaskoczenie. Gdy chciałem zainstalować drukarki i skanery, okazało się, że zainstalowały się one same. Pozostało mi z nich po prostu korzystać. Karta TV o której wspominałem już na tym blogu – również została przeze mnie bez problemu uruchomiona.

W jeden wieczór doinstalowałem wszystko czego potrzebuję, choć były to raczej drobiazgi, bo system zawiera naprawdę fajny zestaw tego, co na co dzień może się przydać.

System spełnił moje wymagania i najprawdopodobniej zostanę z nim na dłużej.

Karta TV Medion pod kontrolą Linuksa

Listopad 30th, 2009 Brak komentarzy

Karty medion można dostać na aukcjach po bardzo atrakcyjnych cenach, oparte są na chipsecie Philipsa i charakteryzują się niezłą jakością obrazu i dźwięku oraz problemami z użytkowaniem, czy to pod windowsem (z racji na brak oprogramowania przygotowanego przez producenta pod tę kartę), czy pod Linuksem z racji problemów z dźwiękiem.

Zanim jednak przejdziemy do zgłębiania problemów, przedstawmy głównego bohatera naszej przygody.

listing z lspci -vvv

05:00.0 Multimedia controller: Philips Semiconductors SAA7134/SAA7135HL
 Video Broadcast Decoder (rev 01)
Subsystem: Creatix Polymedia GmbH Medion 7134
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (2000ns min, 8000ns max)
Interrupt: pin A routed to IRQ 20
Region 0: Memory at ea205000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [40] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Kernel driver in use: saa7134
Kernel modules: saa7134

Jest to karta pracująca na interfejsie PCI.

O ile do uzyskania obrazu z karty wystarczy załadowany moduł sa7134, to z dźwiękiem na ogół pojawiają się problemy. Na archu ręcznie nie musimy ładować nic, do funkcjonowania tunera udev załadował następujące moduły:

saa7134_alsa           12704  1
saa7134_dvb            18472  0
lnbp21                  2428  1 saa7134_dvb
tda826x                 3328  1 saa7134_dvb
mt352                   6656  1 saa7134_dvb
zl10036                 5728  1 saa7134_dvb
tda10086               10144  1 saa7134_dvb
dvb_pll                 9320  1 saa7134_dvb
videobuf_dvb            6688  1 saa7134_dvb
tda10048               12000  1 saa7134_dvb
lgdt3305               12672  1 saa7134_dvb
dvb_core               87940  2 videobuf_dvb,lgdt3305
nxt200x                13632  1 saa7134_dvb
isl6421                 2044  1 saa7134_dvb
isl6405                 2140  1 saa7134_dvb
mt312                   8224  1 saa7134_dvb
zl10353                 7748  1 saa7134_dvb
tda1004x               16352  1 saa7134_dvb
tuner                  20676  2
tea5767                 6944  1 tuner
tda8290                13376  2 saa7134_dvb,tuner
tda18271               35780  2 saa7134_dvb,tda8290
tda827x                10592  2 saa7134_dvb,tda8290
tuner_xc2028           21968  2 saa7134_dvb,tuner
xc5000                 12356  1 tuner
tda9887                10624  1 tuner
tuner_simple           15216  2 saa7134_dvb,tuner
tuner_types            14204  1 tuner_simple
mt20xx                 12644  1 tuner
tea5761                 4928  1 tuner
saa7134               156232  2 saa7134_alsa,saa7134_dvb
ir_common              42880  1 saa7134

Wszystkie testowane przeze mnie aplikacje przeznaczone do oglądania bez problemu wyszukiwały programy i pozwalały oglądać ich obraz, jednak nie było dźwięku. Wiele osób zgłasza z tym problemy na forach czy listach dyskusyjnych, jednak najczęściej otrzymują odpowiedź, że należy podłączyć kabelkiem audio wyjście karty z CD-IN na płycie głównej – to jednak nie dało u mnie żadnego rezultatu, karta na tym wyjściu zdaje się milczeć. Rozwiązaniem okazało się wydobycie dźwięku bezpośrednio z urządzenia przez PCI, korzystając z jego adresu fizycznego. Można do tego użyć aplay’a, jednak powoduje to opóźnienia dźwięku w stosunku do obrazu i częste zacięcia. Drugim znanym mi sposobem, jest oglądanie telewizji za pośrednictwem mplayera i na ten sposób się zdecydowałem.

Testując różne rozwiązania, doszedłem do następującego polecenia wywołującego mplayera:

mplayer -tv alsa:adevice=hw.1,0:audiorate=32000:immediatemode=0:driver=v4l2:\
device=/dev/video0:width=640:height=480:norm=PAL:chanlist=europe-east:\
outfmt=i420:input=0:channels=47-TVN,33-TVP1,27-TVP2,52-TVPINFO,50-POLSAT \
-vc rawi420 -vo xv tv:// -panscan 0.6

argumenty które wymagają omówienia:

channels – tutaj podajemy listę kanałów, zaprezentowana powyżej jest słuszna dla telewizji naziemnej w Poznaniu i okolicach, ściągając sygnał z nadajników na budynku AE, Piątkowie i Śremu. Podajemy kolejno numer programu (zasadniczo symbol) a po myślniku jego nazwę, którą mplayer będzie nam pokazywał w OSD. Kolejność ułożenia programów w poleceniu jest jednocześnie kolejnością programów na liście.

panscan – “przybliżenie” obrazu, u mnie było konieczne aby wyciąć czarną ramkę która otaczała obraz.

W ten sposób uzyskujemy telewizje wraz ze dźwiękiem. Mplayer jednak programem do obsługi tv nie jest, więc ma braki takie jak brak większego osd, prawdziwej listy kanałów itp. Mnie denerwowały dziwne skróty klawiszowe do przełączania kanałów, ustawiłem sobie więc sterowanie strzałkami. Wystarczą do tego następujące wpisy w ~/.mplayer/input.conf

DOWN tv_step_channel -1
UP tv_step_channel 1
LEFT tv_step_channel -1
RIGHT tv_step_channel 1

W ten sposób strzałkami w lewo i dół cofamy się do poprzedniego programu a góra/prawo idziemy do następnego.

Oczywiście funkcjonalność rozwiązania można by jeszcze rozszerzyć, chociażby o dołożenie kilku skrótów klawiaturowych czy obsługę lirca dla sterowania pilotem, jednak moim celem było uzyskanie podstawowej funkcjonalności a tę z powodzeniem rozwiązanie spełnia.
Z ciekawostek warto dodać, że karta bez problemu pozwala odbierać pod linuksem rozwijające się w Polsce DVB-T (w okolicach Poznania można odebrać dwa multipleksy ze Śremu), jednak to już temat na inny wpis.

Kategorie:Linux Tagi:, ,

Napiprojekt na linuksa

Maj 1st, 2009 3 comments

Szukając napisów do pewnego filmu, ktoś mi przypomniał o projekcie NAPI, który szuka i automatycznie ściąga napisy do wybranego filmu. Idea projektu jest o tyle fantastyczna, że napisy w bazie identyfikowane są nie po długości filmu, wielkości czy nazwie pliku a jego sumie kontrolnej MD5. Dzięki temu, mamy pewność, że napisy, które ściągniemy, faktycznie doskonale pasują.

Na linuksa w tej chwili mamy dostępne dwie bardzo fajne implementacje tego projektu. Jest również możliwość odpalenia oryginalnego klienta poprzez wine, ale z racji istnienia bardzo dobrych natywnych rozwiązań, temat ten odpuszczam.

Wersja konsolowa

Na blogu http://hacking.apcoh.com/2008/01/napi_06.html znajdziemy bardzo prosty, ale fajny skrypcik pythonowy do ściągania napisów z projektu napi. Jest on napisany niechlujnie, a komunikaty przez niego wypluwane wg. autorów miały być żartobliwe – dla mnie są żałosne.

Do poprawnego działania skryptu potrzebujemy oczywiście pythona oraz archiwizatora 7zip (UWAGA! Skrypt poszukuje go w /usr/bin/7z, więc jeżeli w Twoim systemie znajduje się on gdzieś indziej, będziesz musiał poprawić ścieżkę w skrypcie).

Skrypt ściągamy z http://napi.py.googlepages.com/napi.py, nadajemy uprawnienia i wrzucamy do katalogu z PATH. Skrypt, ze zmienionymi komunikatami można ściągnąć również z http://indium.pl/arch/napi

wget http://indium.pl/arch/napi

mv napi /usr/bin/

chmod +x /usr/bin/napi

Używanie skryptu jest bardzo proste, jako argument podajemy po prostu ścieżkę do pliku z filmem.

napi plikzfilmem.avi

W odpowiedzi otrzymamy komunikat czy znaleziono napisy, oraz oczywiście w przypadku znalezienia, napisy, znajdą się one w katalogu w którym jest film, o takiej samej nazwie jak plik z filmem.

Wersja graficzna

Bardzo lubię konsolowe programy, ale w tym przypadku fajnym wyjściem jest użycie czegoś z interfejsem graficznym. Tutaj w ręce wpada nam qnapi.

Projekt dostępny pod adresem http://krzemin.iglu.cz/software/qnapi .

Są dostępne pakiety dla wielu dystrybucji, jeżeli jednak dla naszej nie ma lub mamy ochotę skompilować program…

wget http://downloads.sourceforge.net/qnapi/qnapi-0.1.5.tar.gz?use_mirror=osdn

tar -xzf qnapi-0.1.5.tar.gz

cd qnapi-0.1.5

qmake

make

make install

Program zainstaluje się w /usr/bin/qnapi i doda swój wpis do menu systemowego. Używanie jest bardzo proste i intuicyjne. Więcej informacji na stronie projektu.

Kategorie:Linux Tagi:, , ,

Linux on laptops – HP Compaq nc6000

Grudzień 2nd, 2008 Brak komentarzy

Sprzęt

Model: HP Compaq nc6000

Procesor: Intel Pentium M processor 1,6 GHz

HHD: FUJITSU MHT2040AH PL 40 GB

CDROM/DVD: HL-DT-STDVD-ROM GDR8082N

RAM: 1 GB

Matryca: 14,1″

Audio: Intel 82801DB

WiFi: Intel PRO/Wireless 2200BG

Grafika: Radeon 9600 M10

LAN: Broadcom gigabit

Modem: Intel 82801DB

Urządzenia wskazujące: TouchPad, TrackPoint

Czytnik kart pamięci: OZ711M3/MC3 4-in-1 MemoryCardBus

Działanie pod linuksem

Komponent Działanie
Dźwięk OK
X OK
DVD OK
PCMCIA OK
Klawisze funkcyjne OK
LAN OK
WiFi OK
Wbudowany mikrofon OK
Kontrola temperatury OK
Sterowanie chłodzeniem OK
TVOUT OK
D-SUB OK
USB OK
Serial OK
TouchPad OK
TrackPoint OK
Modem Nie testowane
Czytnik kart pamięci NIE OBSŁUGIWANY

lspci

# lspci

00:00.0 Host bridge: Intel Corporation 82855PM Processor to I/O Controller (rev 03)

00:01.0 PCI bridge: Intel Corporation 82855PM Processor to AGP Controller (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)

00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)

00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)

00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC’97 Audio Controller (rev 03)

00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC’97 Modem Controller (rev 03)

01:00.0 VGA compatible controller: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]

02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)

02:06.0 CardBus bridge: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller

02:06.1 CardBus bridge: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller

02:06.2 System peripheral: O2 Micro, Inc. OZ711Mx 4-in-1 MemoryCardBus Accelerator

02:06.3 CardBus bridge: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller

02:0e.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705M_2 Gigabit Ethernet (rev 03)

lsmod

# lsmod

Module                  Size  Used by

usbhid                 42560  0

hid
38272  1 usbhid

ff_memless              5128  1 usbhid

radeon                123040  2

drm
72340  3 radeon

ipv6                  253764  12

smsc_ircc2             15392  0

irda
117176  1 smsc_ircc2

crc_ccitt               2304  1 irda

ext2                   64008  1

mbcache                 7168  1 ext2

joydev                 10048  0

pcmcia                 33324  0

psmouse                37136  0

pcspkr                  2944  0

serio_raw               5636  0

yenta_socket           23564  3

rsrc_nonstatic         11392  1 yenta_socket

pcmcia_core            33304  3 pcmcia,yenta_socket,rsrc_nonstatic

ehci_hcd               33804  0

uhci_hcd               23312  0

shpchp                 29716  0

pci_hotplug            26272  1 shpchp

container               3840  0

video                  16016  0

output                  3200  1 video

sg
26896  0

thermal                12956  0

evdev                   9344  6

fan
3844  0

button                  6544  0

battery                10756  0

ac
4612  0

adm1031                16532  0

i2c_i801                8848  0

vboxdrv                56240  0

ipw2200               141256  0

ieee80211              30664  1 ipw2200

ieee80211_crypt         4992  1 ieee80211

fuse                   42644  0

snd_intel8×0m          14092  0

snd_intel8×0           29084  7

snd_ac97_codec         97828  2 snd_intel8×0m,snd_intel8×0

snd_seq_oss            30336  0

snd_seq_midi_event      6656  1 snd_seq_oss

snd_seq
48464  4 snd_seq_oss,snd_seq_midi_event

snd_seq_device          6796  2 snd_seq_oss,snd_seq

snd_pcm_oss            38432  0

snd_pcm
70404  6 snd_intel8×0m,snd_intel8×0,snd_ac97_codec,snd_pcm_oss

snd_timer              19588  4 snd_seq,snd_pcm

snd_page_alloc          8072  3 snd_intel8×0m,snd_intel8×0,snd_pcm

snd_mixer_oss          14848  1 snd_pcm_oss

snd
46436  20
snd_intel8×0m,snd_intel8×0,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,
snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss

soundcore               6496  1 snd

ac97_bus                2304  1 snd_ac97_codec

tg3                   110596  0

cpufreq_ondemand        7180  1

acpi_cpufreq           11292  0

freq_table
4112  2 cpufreq_ondemand,acpi_cpufreq

processor              29144  3 thermal,acpi_cpufreq

radeonfb              109120  1

fb_ddc
2432  1 radeonfb

i2c_algo_bit            6020  1 radeonfb

i2c_core
19584  5 adm1031,i2c_i801,radeonfb,fb_ddc,i2c_algo_bit

intel_agp              22164  1

agpgart                28120  2 drm,intel_agp

rtc_cmos                7712  0

rtc_core               15752  1 rtc_cmos

rtc_lib                 3072  1 rtc_core

usbcore
128620  4 usbhid,ehci_hcd,uhci_hcd

sd_mod                 22784  5

sr_mod                 15012  0

cdrom                  33824  1 sr_mod

pata_acpi               5248  0

ata_generic             5252  0

ata_piix               14724  4

libata
138352  3 pata_acpi,ata_generic,ata_piix

reiserfs              225408  2

Oprogramowanie

# uname -a

Linux laptop 2.6.24-ARCH #1 SMP PREEMPT Sun Mar 30 11:40:06 CEST 2008
i686 Intel(R) Pentium(R) M processor 1600MHz GenuineIntel GNU/Linux

# pacman -Q kernel26 xorg-server acpid xf86-video-ati synaptics

kernel26 2.6.24.4-1

xorg-server 1.4.0.90-9

acpid 1.0.6-1

xf86-video-ati 6.8.0-2

synaptics 0.14.6.99-2

Procesor

lspci

processor    : 0

vendor_id    : GenuineIntel

cpu family    : 6

model        : 9

model name    : Intel(R) Pentium(R) M processor 1600MHz

stepping    : 5

cpu MHz        : 1600.000

cache size    : 2024 KB

fdiv_bug    : no

hlt_bug        : no

f00f_bug    : no

coma_bug    : no

fpu        : yes

fpu_exception    : yes

cpuid level    : 2

wp        : yes

flags        : fpu vme de pse tsc msr mce
cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe
up bts est tm2

bogomips    : 1197.59

clflush size    : 64

Stepping

Skalowanie prędkości procesora jest obsługiwane bez problemu przez acpi-cpufreq. Aby “prędkość” procesora była automatycznie dobierana do obciążenia potrzebujemy jeszcze modułu cpufreq_ondemand.

HDD

Dysk twardy zainstalowany w moim laptopie nie jest chyba dyskiem,
który został włożony do niego fabrycznie. Nie ma żadnych problemów z
jego obsługą, również SMART jest dostępny. Przedstawiam osiągi:

# hdparm -Tt /dev/sda

/dev/sda:

Timing cached reads:   838 MB in  2.00 seconds = 418.24 MB/sec

Timing buffered disk reads:  104 MB in  3.05 seconds =  34.10 MB/sec

Audio

Dźwięk jest bardzo dobrą stroną tego laptopa. Do uruchomienia go na linuksie potrzebujemy alsy oraz załadowania kilku modułów:

ac97_bus snd-mixer-oss snd-pcm-oss snd-page-alloc snd-pcm snd-timer snd snd-ac97-codec snd-intel8×0 snd-intel8×0m

Od tej chwili możemy cieszyć się dźwiękiem w laptopie. Warto
zauważyć, że sterownik w przypadku wyciszonego kanału Master
automatycznie zapala diodę na przedniej części laptopa, informującą o
wyciszeniu dźwięku.

WiFi

Karta intela obsługiwana jest przez moduł ipw2200.
Wbudowana antena bardzo dobrze działa. Aby dioda informująca o stanie
karty zaczęła świecić musimy załadować moduł z parametrem

# cat /etc/modprobe.conf

options ipw2200 led=1

Dioda na początku wydawać może się zbyt jaskrawa, jednak po
niedługim czasie łatwo się do niej przyzwyczaić. Jest ona bardzo
praktyczna:

* ciągłe świecenie oznacza, że jesteśmy podłączeni do sieci

* Gdy dioda nie świeci, oznacza to iż karta jest wyłączona lub nie
pracuje poprawnie (włączyć ją możemy stricte hardwerowym przyciskiem u
góry laptopa)

* Powolne mruganie oznacza, że nie jesteśmy podłączeni do żadnej sieci, ale karta pracuje

* Szybkie mruganie oznacza iż właśnie następuje łączenie z siecią

LAN

W laptopie jest bardzo dobra karta Broadcoma 10/100/1000. Obsługuje ją bezproblemowo moduł tg3.

Grafika

Karta graficzna, mimo iż dość leciwa całkiem nieźle daje sobie radę
w codziennej pracy. Do wyboru mamy sterowniki otwarte lub zamknięte. Te
pierwsze pozwolą nam na obsługę composite czyli akceleracji 3D,
drugie zaś są odrobinę wydajniejsze. Ja zdecydowałem się na
sterowniki otwarte, właśnie ze względu na obsługę akceleracji 3D.

Plik xorg.conf obsługujący TV-OUT oraz zewnętrzny monitor podłączony przez D-SUB.

Od tej chwili możemy na laptopie używać compiza ;)

Klawisze funkcyjne

W nc6000 mamy 7 klawiszy funkcyjnych.

W górnym panelu, są dwa którymi zajmować się nie będziemy. Pierwszy,
największy to przycisk “POWER”, który można używać tylko sprzętowo
(czyli do włączania laptopa + ewentualnego “twardego” wyłączenia
<<przytrzymać>>) jak również zmapować w systemie aby np.
wywoływał okno zamykania systemu.

Drugi – po środku trzech przycisków służy do włączania/wyłączania
karty radiowej. Jest on typowo sprzętowy i nie ma możliwości
“przeczytania” go z poziomu systemu.

Z pozostałych, wszystkie klawisze oprócz jednego są widoczne w
systemie i będziemy mogli do nich dopisać funkcje, które chcemy. Ten,
którego nam brakuje, musimy zmapować, robimy to poleceniem (dobrze jest
dopisać to do rc.local):

setkeycodes e00a 89 e008 90

Teraz wystarczy przypisać klawiszom funkcje, ja użyłem do tego xbindkeys:

# Mute przod

“amixer sset Headphone toggle ; osd “`echo Volume; amixer sset Master
toggle | grep ‘Left: Playback ‘ | cut -d “[” -f 4 | cut -d “]” -f
1`”> /dev/null”

m:0×0 + c:160

# Ciszej przod

“amixer sset Headphone 1- ; osd_percent Volume `amixer sset Master 1- |
grep ‘Left: Playback ‘ | cut -d “[” -f 2 | cut -d “]” -f 1` >
/dev/null”

m:0×0 + c:174

# Glosniej przod

“amixer sset Headphone 1+ ; osd_percent Volume `amixer sset Master 1+ |
grep ‘Left: Playback ‘ | cut -d “[” -f 2 | cut -d “]” -f 1` >
/dev/null”

m:0×0 + c:176

# Suspend

“sudo pm-suspend”

m:0×0 + c:128

# LOCK

“xscreensaver-command -lock”

m:0×0 + c:211

Podany wyżej przykład wyświetla jeszcze informacje o dokonanej zmianie na ekranie.

Serial

Niestety ACPI dla modelów ncXXXX jest niedopracowane. Aby port COM
działał, musimy wyłączyć pewną funckję acpi dodając jako argument do
swojego bootloadera:

append=”pnpacpi=off”

Problemy

W użytkowaniu nc6000 pod linuksem możemy napotkać na dwa problemy.

Poniższy problem na kernelu 2.6.25 już nie występuje.

Pierwszym jest problem
z ACPI, który w kernelach powyżej 2.6.18-2 objawia się niecyklicznym i
bardzo rzadkim wyłączaniem się komputera bez powodu. ACPI wyrzuca na
konsolę, iż temperatura krytyczna została przekroczona i następuje
shutdown. Na całe szczęście, łatwo się połapać iż nie jest to problem
sprzętowy ponieważ wyświetla tę temperaturę i nie przekracza ona 40C (a
przypomnę, że granica krytyczna procesora to 100C). Rozwiązaniem
problemu jest downgrade do kernela 2.6.18-2. Sytuacja opisana wyżej
zdarza wyjątkowo rzadko.

Drugim problemem jest sytuacja, w której laptop nie podnosi się z
suspendu do ramu. Zdarzyło mi się to raz czy dwa, ale trzeba mieć to na
uwadze.