Hardwareinfos /ACPI/APIC/Powermanagement

Aus Linupedia.org
Wechseln zu: Navigation, Suche

Autor: misiu

Dieses Howto behandelt hardwarenahe Probleme, wie:

Hardwareinformationen auslesen und interpretieren

Grundsätzlich können unter Linux fast alle Hardwareinformationen problemlos ausgelesen werden, dabei gibt es grafische Werkzeuge, wie auch Textkonsolen-Werkzeuge. Im allgemeinen sind es die Befehlssätze, auf die die grafische Oberfläche (Frontend) aufgesetzt wird.

Grafische Werkzeuge [G]

Konsolen / Shell Werkzeuge [K]

Bei manchen Konsolen-Befehlen muss zuerst der root-Status (Administrator) erreicht werden:

su + rootPasswort

Möglicherweise sind auch bestimmte Programme nicht vorhanden, dann müssen entsprechende Pakete nachinstalliert werden, entweder von dem Installationsmedium oder nach RPM-Paketen für die Distribution suchen:

Folgende Werkzeuge können dafür verwendet werden:

  • Infozentrum (KDE bei KDE-Standard-Installation dabei) [G]
  • hal-device-manager (GNOME / Paket hal-gnome) [G]
  • usbview (nur USB / Paket usbview) [G]

Textkonsole / Shell [K]: ( Anmerkung: Zeichen "|" sog. pipe wird mit "AltGr+<" erzeugt )


Auflistung der Hardware (Opensuse ab 11.1):

hwinfo

oder kurz

hwinfo --short


Auflistung des PCI-Buses mit angeschlossenen Geräten:

lspci -v

oder

lspci | grep -i controller

Auflistung des USB-Buses mit angeschlossenen Geräten:

lsusb

oder

cat /proc/bus/usb/devices

CPU-Info:

cat /proc/cpuinfo

Systemmeldungen:

dmesg
( letzte 30 Zeilen : dmesg | tail -n 30 )

HAL-Systemmeldungen:

lshal
( Umleitung in eine Textdatei: lshal > /home/benutzer/lshal.txt )

mit :

lshal -m

kann Monitoring zugeschaltet werden, somit werden alle HAL-Aktionen live angezeigt

IDE-Geräte abfragen:

hdparm /dev/hdx
( x wird durch a,b,c,d ersetzt; Paket "hdparm" installieren! )

SCSI-Geräte abfragen:

lsscsi (l, wie linux)

oder

scsiinfo -i /dev/sda (Infos über die erste SCSI/USB-Festplatte)

Festplattentemperatur:

"hddtemp" mit YaST nachinstallieren

oder:

http://www.guzu.net/linux/hddtemp.php

Festplattenmonitoring:

Paket "smartmontools" nachinstallieren, sonst:

http://smartmontools.sourceforge.net/

Temperaturüberwachung

Temperaturüberwachung / Lüfterdrehzahl:

http://www.lm-sensors.org/wiki/Download

Pakete sensors und ksensors nachinstallieren.

SuSE:

/usr/sbin/sensors-detect

ausführen die /etc/sensors.conf anpassen Benötigten Module in boot.local oder in modprobe.conf eintragen (Nur , wenn es nach Neustart nicht funktioniert !). Sobald die Sensoren eingerichtet sind , so dass Lüfterdrehzahlen angezeigt werden, kann bei modernen Motherboards die Lüfterdrehzahl gesteuert werden. Dazu wird das Programm "fancontrol" durch den Aufruf von

/usr/sbin/pwmconfig

eingerichtet.

Athlon / AthlonXP / Duron / Teilabschaltung mit Temperaturregelung:

/usr/sbin/fvcool

Bei Packman oder:

http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html

Powertweak, CPU / PCI-Geräte auf Hardwareebene beeinflussen: SuSE Pakete "powertweak" und "powertweak-extra" ( Mit YaST [G] steuerbar )

CPU-Frequenz/Speed Programme: cpufrequtils - Tools to determine and set CPUfreq settings. cpuspeed - Control CPU Clock Speed on some Mobile CPUs ( SuSE mit YaST nachinstallierbar) cpufreqd- CPU und Nvidia-Geräte kontrolle:

http://www.linux.it/~malattia/wiki/index.php/Cpufreqd

Stromsparfunktionen und Prozessor-Taktung

Wichtige Informationen zum Einsatz der Stromspartechniken in aktuellen Linux-Distributionen:

Prozessortaktung in der Ubuntu-Wiki

Energieverwaltung mit KDE4 und Opensuse

Suspend_to_RAM mit Opensuse


Seit SuSE 9.1 gibts das Programm "powersave", dass folgendes regeln kann:

  • -> Suspend/Standby (Schlafmodi)
  • -> CPUFreq modes (CPU-Taktung)
  • -> Batteriezustand / Displayhelligkeit

Vorraussetzung sind entsprechende Kernelmodule / Zusatzprogramme.

Um Cool 'n' Quiet bei AMD-Prozessoren zu nutzen, bitte auf folgendes achten:

  • BIOS muß C'n'Q-Funktion haben und diese muß enabled sein
  • Prozessor muß C'n'Q-Funktion unterstützen
  • Betriebssystem benötigt AMD Prozessor-Treiber
  • In den "Eigenschaften der Energieoptionen" ist der neue Eintrag unter der Einstellung "Minimaler Stromverbrauch" zu finden.

Was ist "Cool'n'Quiet"? Wikipedia sagt: http://de.wikipedia.org/wiki/Cool'n'Quiet

Wenn diese Voraussetzungen erfüllt und alle Einstellungen und Installationen getätigt sind, sollte Cool 'n' Quiet funktionieren.

AMD bietet auch selbst einen Treiber für Linux an: Zitat

   "AMD Athlon™ 64 Cool'n'Quiet Driver Version for Linux - AMD Athlon 64 Cool'n'Quiet Driver Version 1.50.03 
    for Linux 2.6 series kernels. Provides support for AMD Cool'n'Quiet technology for Linux systems. 
    Adds support for 2.6.10 and later kernels. Requires cpufreq-1.20, cpuspeed-1.20.1, or powersaved-0.8.19 
    or later to support SMP and dual-core systems."

Neuere Linux-Distributionen (SuSE 10/10.1), bringen die Funktionalität mit sich und muss nicht separat nachgerüstet werden.


Ein Artikel "Athlon 64 mit Cool'n'Quiet Immer einen kühlen Kopf bewahren":

http://www.computerbase.de/artikel/hardware/prozessoren/2004/anleitung_athlon_64_coolnquiet/1/#abschnitt_einleitung

Ofiziell AMD:

http://www.amd.com/de-de/Processors/ProductInformation/0,,30_118_9485_9487%5E10272,00.html

und vom tecchannel:

http://www.tecchannel.de/news/themen/business/417033/

Aus einer englischen Anleitung:

Powermanagement-Module Prozessor:

  • -> powernow-k6 AMD mobile K6-2,K6-3
  • -> powernow-k7 AMD mobile Athlon/Duron
  • -> powernow-k8 AMD Opteron/Athlon 64
  • -> speedstep-centrino Intel Centrino
  • -> speedstep-ich Intel P3 with ICH South Bridge chipset
  • -> speedstep-smi Intel P3 with 440 BX/ZX/MX South Bridge chipset
modprobe -v cpufreq-userspace     (already part of the ProMepis beta 02 kernel).
modprobe -v speedstep-ich replacing speedstep-ich with your CPU module from above.
You can use lsmod to verify the modules are loaded.

Kontrolliert mit powernowd in KDE System Guard sichtbar.


CPU - Frequenzregulierung / Cool&Quiet:

cpudyn (CPU Dynamic Frecuency Control)

http://mnm.uib.es/gallir/cpudyn/

Für Intel SpeedStep, Pentium 4 Mobile, PowerPC, AMD and Transmeta LongRun

k8powernow : powernow-k8 cpufreq driver (CONFIG_X86_POWERNOW_K8)

KPowersave

/etc/sysconfig/powersave
powersafe -A


Installation/kompilieren des Moduls powernow-kX (x ist 6,7,8 je nach AMD-Prozessor)

(Von HansBauer)

  • 1.) Du installierst die kernel-sources mit YaST.
  • 2.) Du gehst in die Konsole und wirst root mittels "su".
  • 3.) Du tippst

Code:

cd /usr/src/linux
  • 4.) Du tippst

Code:

make cloneconfig
  • 5.) Du tippst

Code:

make xconfig
  • 6.) Du hangelst dich durch an die Stelle "Power management options (ACPI, APM) => CPU Frequency scaling => AMD Mobile Athlon/Duron PowerNow! und tippst "M".
  • 7.) Du speicherst diese Konfiguration durch einen Klick auf die Diskette oben links und verlässt das Konfigurationsprogramm.
  • 8.) Du tippst wieder in der Konsole

Code:

make
  • 9.) Viele Minuten später ist das abgeschlossen und du tippst

Code:

make modules_install
  • 10.) Du tippst

Code:

cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.13-8-default

oder 2.6.13-15-default (je nachdem, ob du schon ein Online-Update hinter dir hast oder nicht. Was du tippen musst wird dir unmittelbar vor Schritt 10 angezeigt.)

  • 11.) Du tippst

Code:

cp ./System.map /boot/System.map-2.6.13-8-default

Auch hier gilt obige Bemerkung.

  • 12.) Du tippst

Code:

cd /boot
mkinitrd -k vmlinz-2.6.13-8-default -i initrd-2.6.13-8-default
  • 13.) Du startest den Rechner neu.

Um Hardwareprobleme zu vermeiden, muss immer öfter eine neue Bios-Version eingespielt werden, meistens sieht das so aus: ( Allgemeine Bios-Infos: http://www.bios-info.de/ )

ASUS-Bios updaten ( vom willi1969 ):

To do:

  • 1. Von ASUS das Flashtool und das neue BIOS - Image downloaden,

'ne DOS - Bootdiskette erzeugen ( ich hatte gottlob noch eine Win98 - Diskette ), AUTOEXEC.BAT und CONFIG.SYS entfernen, Flashtool und BIOS-Image darauf kopieren

  • 2. Rechner neu starten und das BIOS - Setup starten, ggf. Einstellungen notieren ( für unerfahrene User ein guter Tipp!! ), auf LOAD BIOS DEFAULTS stellen, speichern und neu starten ( Empfehlung von ASUS )
  • 3. Rechner mit dieser Diskette booten
  • 4. NACH dem DOS - Prompt das Flashtool mit dem Verweis auf das neue BIOS - Image starten ( siehe Handbuch bzw. Hinweise auf Homepage ), nun werkelte das Ding los, löschte das alte und installierte das neue BIOS ( AMI_1009 auf AMI_1011 )
  • 5. Rechner wiederum neu starten und mittels BIOS - Setup alle vorherigen Einstellungen wieder herstellen

ACPI/APIC und Powermanagement

ACPI / APIC / Powermanagement / Kerneloptionen:

Was ist APIC?

APIC

http://de.wikipedia.org/wiki/Advanced_Programmable_Interrupt_Controller

soll zusammen mit ACPI:

http://de.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface

bereits vor dem Start des Betriebsystems den Computer mittels im BIOS gespeicherten Informationen, auf das Verhalten von Hardwareerkennung und Power/Temperaturmanagement einfluss nehmen.

Leider gibts da bei dem Zusammenspiel von ACPI/APIC/BIOS und dem Betriebsystem (Linux) manchmal Probleme.


Dem SuSE-Portal entnommen:

http://old-de.opensuse.org/SDB:Kernelparameter_f%C3%BCr_ACPI/APIC

Diese Parameter werden beim Booten in der Bootmanager Options-Zeile vorgegeben.

ACPI Kernel Parameter:

acpi=off    Dieser Parameter schaltet das komplette ACPI-System ab.
pci=noacpi  PCI-Bussystem wird von ACPI nicht beeinflusst.
acpi=noirq  Diese Parameter schalten das PCI IRQ-Routing vom neuen ACPI-System aus.

acpi_irq_balance Erlaubt ACPI/APIC Interrupts zu benutzen um gemeinsame Benutzung von IRQs zu minimieren.

acpi=ht     Schaltet das ACPI-System fast komplett aus, und nur die Teile, die für Hyper Threading nötig sind, werden verwendet.

APIC Kernel Parameter

noapic    Dieser Parameter sagt dem Kernel das er das APIC System nicht benutzen soll.

Bei Problemen mit Dual-Core Prozessoren:

notsc   Disable the time stamp counter

oder

clock=pmtmr

Parameter "clock" kann auf verschiedene Weisen gesteuert werden:

* tsc (default): Taktangaben des Hardware-Interupts werden auf möglichst genaue Zeitangaben verrechnet.
* pit (Programmable Interrupt Timer): Taktangaben des Hardware-Interupts werden direkt gezählt.
* pmtmr (PowerManager): Es wird die Uhr des PowerManager's / BIOS ausgelesen.
     Es ist unabhängig von der CPU-Geschwindigkeit, beeinflusst aber die Genauigkeit der System-Zeit.

weiter: Timer-Quelle angeben

clocksource=[hpet|pit|tsc|acpi_pm|cyclone|scx200_hrt]

Notebooks starten oft erst mit:

acpi=noirq

oder

noapic nolapic pci=nomsi

(pci=nomsi hilft bei "AHCI Install freeze" / dabei wird MSI für den PCI-Bus abgeschaltet)

oft helfen noch:

nohz=off     Schaltet dynamisches Takten der CPU aus

oder

hpet=disable      Schaltet HPET aus

bei einigen muss für die Installation USB-System abgeschaltet werden (nach Installation wieder rausnehmen):

nousb

evtl.:

barrier=off

und

irqpoll
Setzt sich aus 2 Worten zusammen IRQ und Polling.
IRQs sind im Rechner knapp (normaler PC 16 IRQs) und müssen eventuell shared
(mehere Hardware teilen sich einen gemeinsamen IRQ) werden, diese Bootoption hilft 
manchmal irgendwelche Hardware in Betrieb zu nehmen.
IRQ Andere Bezeichnung für Interrupt Leitung .
Unterbrechungsanforderung per Leitung an den Prozessor ( Interrupt ).
Um den Prozessor während der Abarbeitung eines Programms für Nachrichten von außen
zugänglich zu halten (z.B. wenn eine Eingabe über die   Tastatur erfolgt), werden
externen Geräten sog. Interrupt-Leitungen zugewiesen. Diese Leitungen werden
von einem speziellen Controller  daraufhin abgefragt, ob eine Unterbrechungsanforderung,
ein IRQ, vorliegt. Je nach der Zahl der angeschlossenen Peripheriegeräte kann die Zahl  der Leitungen knapp werden.
Polling
Verfahren zur Steuerung des Zugriffs auf Peripheriegeräte, bei dem der Rechner
in festgelegten zeitlichen Abständen die Schnittstellen abfragt.
Danke für die Erklärung an robi :-)

Bei Problemen mit Sensors und Kernel 2.6.31 hilft:

acpi_enforce_resources=lax

Bei Problemen mit der Bildschirmdarstellung, Maus-Rücklern (bei Nvidia), PAT abschalten:

nopat  

Weitere KERNELPARAMETER (Bootparameter):

/usr/src/linux/Documentation/kernel-parameters.txt

Achtung! Die Kernelquellen müssen installiert sein

( Paket "kernel-source" - Die Quellen des Linux-Kernels )

Mein Rechner "hängt" , was jetzt?

Nicht verzweifeln, sehe:

http://de.wikipedia.org/wiki/Magische_S-Abf-Taste

Kurz gesagt, nacheinander ausführen:

ALT + Druck + R   erreichst du wieder die Kontrolle über die Tastatur
ALT + Druck + S   Synchronisieren der Daten
ALT + Druck + E   Beenden von unnötigen Prozessen
ALT + Druck + I   Abtöten von Prozessen, die sich verweigern
ALT + Druck + U   Schalten auf "nur lesbar" (umount)
ALT + Druck + B   Runter fahren

Somit wird der Rechner runter gefahren ohne Daten zu korrumpieren.



Zurück zu Hardware