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.