Portál AbcLinuxu, 2. května 2025 07:23

HP Compaq nx6310 (EY588ES)

Podpora: kompletní
Ovladač: v jádře
Adresa ovladače: http://h20000.www2.hp.com/bizsupport/TechSupport..

Technické parametry

Identifikace pod Linuxem

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 01)
02:06.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
02:06.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
02:0e.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
08:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)

Postup zprovoznění pod Linuxem

Použil jsem distribuci Debian Lenny. Jádro mám 2.6.23.1 s patchi "hrtimers" a "Active Link Power Management". Mám zapnuty volby CONFIG_NO_HZ a CONFIG_HIGH_RES_TIMERS (viz článek Snížení spotřeby počítače v Linuxu). Verzi BIOSu mám F.0D.

LAN

Podpora přímo v jádře, ovladač b44.

WLAN

Přes ndiswrapper, ovladač pro Windows stažený ze stránek HP. Jaderný ovladač bcm43xx také funguje (ndiswrapper se mi ale zatím osvědčil lépe, jaderný ovladač je ještě dost "vývojový").

Od jádra 2.6.23 navíc ovladač b43, který se zatím tváří funkčně. Postup zprovoznění zde. (Podpora je v jádře, ale je třeba "vypreparovat" firmware. Používejte verzi firmware 4, varování fwcutteru se nebojte.)

Touchpad

Běžný synaptics. Používám v podstatě tenhle konfigurák, jen místo
Option         "Protocol"              "auto-dev"
používám
Option         "Protocol"              "psaux"
Po probuzení z disku se totiž změní zařízení, odkud xorg čte eventy touchpadu. Touchpad přestane částečně fungovat (scrolování, ...), dokud se nepřepnete do textové konzole a zpět. S protokolem "psaux" tento problém nemám.

Zvuk

Podpora přímo v jádře, ovladač snd-hda-intel.

Firewire

Podpora přímo v jádře, ovladač ohci1394.

PCMCIA slot

Podpora přímo v jádře, ovladač yenta_socket.

Modem

Obstarává také alsa driver snd-hda-intel. Je potřeba mít ještě balíček sl-modem-daemon a v /etc/default/sl-modem-daemon nastavit:
SLMODEMD_DEVICE=hw:0,6
SLMODEMD_COUNTRY=CZECH_REPUBLIC

Grafika

V xorg je to ovladač i810. Pro výstup na monitor a zároveň na externí VGA je nutné přidat do sekce "Device" něco jako
Option          "MonitorLayout" "NONE,LFP+CRT"
Option          "CheckLid"      "off"
Pro textovou konzoli se mi zatím nepodařilo zprovoznit ovladač intelfb, tak používám klasický vesa framebuffer. Volby předané jádru:
vga=791 video=vesafb:mtrr:1

IDE řadič

Přes IDE rozhraní je připojena DVD mechanika. Klasický IDE ovladač je piix. Místo něj je možné používat libata ovladač ata_piix. DVD mechanika se pak hlásí jako /dev/sdc0 místo /dev/hda.

S ovladačem ata_piix jsem měl ale problémy s vypalováním, tak jsem se vrátil zpět k piix. U jádra 2.6.19 se ata_piix použije jako výchozí, takže je potřeba přidat piix do souboru /etc/initramfs-tools/modules (v Debianu) a znovu vygenerovat initrd.img (v Debianu třeba příkazem dpkg-reconfigure linux-image-VERZE).

S jádrem 2.6.22 jsem ata_piix ještě nezkoušel.

SATA řadič

Přes SATA rozhraní je připojen pevný disk. Používá se libata ovladač ahci.

Uspání do RAM, na disk

Uspání do RAM funguje s uswsusp i suspend2. Po probuzení je ale nutné spustit příkaz vbetool post (nebo v případě uswsusp uspávat příkazem s2ram -f -p).

Pokud máte v jádře zapnutu volbu CONFIG_NO_HZ, kompletní probuzení počítače trvá několik minut (od oka tak 5). Během té doby je nejspíš část zařízení aktivní, ale display je vypnutý a stejně tak síť. Po probuzení nedojde k aktualizaci času. Řešením je nepoužívat jako clocksource výchozí "tsc", ale "hpet" nebo "acpi_pm" (viz cat /sys/devices/system/clocksource/clocksource0/available_clocksource). Stačí přidat jádru parametr clocksource=hpet (nebo spustit příkaz echo hpet > /sys/devices/system/clocksource/clocksource0/current_clocksource). U jádra 2.6.22 se ale problém s probouzením občas objeví i po změně clocksource. Stane se tak pokud byl počítač uspán, zatímco se nacházel v nějakém nižším C stavu (powermanagement procesoru). Většinou pomůže spustit např. příkaz openssl speed před uspáním počítače (jako workaround). V jádře 2.6.23 je tento problém s C stavy vyřešen, ale stejně se počítač z nějakého důvodu správně neprobouzí. Projevy jsou pořád stejné (probuzení trvá dlouho a hodiny jsou po probuzení o 5 min pozadu). Pomůže bootovat s parametrem jádra nolapic_timer. S jádrem 2.6.23 a parametrem nolapic_timer už funguje probouzení spolehlivě.

Jak je zmíněno výše, tyto popsané problémy platí jen při zapnuté volbě CONFIG_NO_HZ. Bez této volby funguje uspání do RAM bez problému.

Uspání na disk funguje s uswsusp i suspend2. Při použití jádra verze 2.6.22 a nižší se ale po probuzení neupdatuje hodnota TZ0 (odpovídá teplotě CPU) a to je dost podstatný problém. Na základě této hodnoty jsou totiž regulovány otáčky větráčku. Jediný "workaround" který u mě funguje je uspat počítač do RAM a probudit :( V jádře 2.6.23 jsem zatím na tento problém nenarazil.

CPU frequency scaling a throttling

Celeron M nepodporuje speedstep, ale frequency scaling umí. Podrobnosti viz článek tady na abclinuxu. Modul p4-clockmod se mi podařilo zavést až od jádra 2.6.20.

Procesor podporuje také CPU throttling. Ten je možné nastavit zapsáním hodnoty 0 až 7 do souboru /proc/acpi/processor/CPU0/throttling.

"Thermal Zones"

Podle HP fóra je význam jednotlivých "thermal zones" (/proc/acpi/thermal_zone/TZ[0-4]/) následující: Rychlost větráčku je kontrolována jen přes TZ0 a (možná) TZ2. Aktuální stav TZ0 je možné zjistit ze souboru /proc/acpi/thermal_zone/TZ0/state a hodnoty teplot odpovídající jednotlivým stavům TZ0 ze souboru /proc/acpi/thermal_zone/TZ0/trip_points.

Výchozí rychlost větráčku je 20% a odpovídá stavu "ok" u TZ0. Rychlost při "active[3]" je 40%, při "active[2]" 60%, při "active[1]" 75% a při "active[0]" 100%.

Aktuální stav větráčku je možné zjistit ze souborů v adresáři /proc/acpi/fan a odpovídá aktuálnímu stavu TZ0. Stav "on" v souboru C325/state odpovídá stavu "active[0]" (tj. větráček se točí na 100%) atd. Větráček se spouští na 40% už při teplotě 45 stupňů u TZ0 (stav active[3]"), to je IMHO dost málo a občas to ruší. Změnit to sice jde, třeba příkazem echo "105:100:100:78:70:60:55" > /proc/acpi/thermal_zone/TZ0/trip_points, ale změněné hodnoty jsou za chvíli automaticky přepsány zpět :( Nezbývá než vypnout nejnižší rychlost větráčku ručně (viz další odstavec).

Rychlost větráčku je možné měnit i "ručně". Např. zapnout větráček na 100% je možné přikazem echo 0 > /proc/acpi/fan/C325/state a vypnout tuto rychlost (100%) příkazem echo 3 > /proc/acpi/fan/C325/state. To samé platí i pro ostatní "rychlosti".

Zlepšení při použití jádra 2.6.23 místo 2.6.22

I při zapnuté volbě CONFIG_NO_HZ funguje probouzení z RAM spolehlivě (ale jen při bootování s paramentrem nolapic_timer). Po probuzení z disku se updatuje hodnota TZ0 (odpovídá teplotě CPU).

Poznámka

Zatím jsem s notebookem spokojen, i když vyřešit uspávání s jádrem 2.6.19 dalo docela zabrat (tímto děkuji Martinovi Tůmovi za nahlášení problému do bugzilly).

Fedora Core 6

Ve Fedoře 6 nefunguje dobře probouzení ze suspend to RAM - klávesnice a touchpad přestanou reagovat - existuje na to workaround, kdy se před uspáním vyjmou moduly pro touchpad a po probuzení se opět zavedou.

Fedora 7

Ve Fedoře 7 vše závisí na verzi jádra. Postup pro zprovoznění b43 ovladače:

yum install b43-fwcutter (z repozitáře "updates")

...dále pak pokračujte podle této stránky, potřebujete version 4 firmware.

Obrázky

HP Compaq nx6310 (EY588ES), obrázek 1

Dokument vytvořil: martink, 26.1.2007 19:50 | Poslední úprava: xvasek, 27.2.2011 15:09 | Další přispěvatelé: martink, xvasek | Historie změn | Zobrazeno: 3577×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.