# ACPI verhindert Bootvorgang bei eingesteckter PCI-Karte

## glasfaserauge

Hallo,

Problem siehe Überschrift  :Wink: 

Letzte Meldung beim booten:

```
ACPI: setting ELCR  to 0200
```

Wenn ich ACPI im Kernel deaktiviere klappt alles wunderbar. 

Nur beim shutdown bleiben der Netzteillüfter und der CPU-Lüfter an, der Rest geht aus. 

APM ist doch auch so ein Stromsparmodul, oder? Worin liegt der Unterschied zu ACPI?

----------

## Hungry Hugo

Hi glasfaserauge,

 *glasfaserauge wrote:*   

> Wenn ich ACPI im Kernel deaktiviere klappt alles wunderbar. 
> 
> Nur beim shutdown bleiben der Netzteillüfter und der CPU-Lüfter an, der Rest geht aus. 
> 
> APM ist doch auch so ein Stromsparmodul, oder? Worin liegt der Unterschied zu ACPI?

 

Hier mal ein kleine Einführung ACPI & APM (Quelle)

Das Advanced Configuration and Power Management Interface zur Steuerung der Hardware-Ressourcen ermöglicht fortschrittliche und komfortablere Energiespar-Modi wie den Zustand Suspend-to-RAM (STR, ACPI S3) oder Suspend-to-Disk (STD, ACPI S4), aus denen sich ein PC schneller wieder in den arbeitsbereiten Zustand versetzen lässt als durch einen gewöhnlichen Boot-Vorgang. Intel sieht ACPI daher auch als einen Teil der seit Jahren laufenden Initiative für den "Instantly Available PC" IAPC (IA steht auch oft für "Intel Architecture").

Damit ACPI funktioniert, benötigt man außer voll ACPI-tauglicher Hardware (Mainboard, ATX-Netzteil mit genügend Standby-Leistung und AGP- und PCI-Erweiterungskarten sowie USB-Geräte) ein ACPI-taugliches Betriebssystem sowie dazu passende, ACPI-taugliche Treiber. Wenn nur ein einziges Gerät oder dessen Treiber sich querstellt, funktioniert beispielsweise der S3-Modus nicht. Das kann sich bestenfalls derart äußern, dass der PC gar nicht erst in den S3-Zustand schaltet, sondern nur den S1-Modus wählt, in dem je nach BIOS sogar der CPU-Lüfter, immer aber der Netzteillüfter weiterläuft (weil das Netzteil eben eingeschaltet bleibt). Fehlerhafte BIOSse und schlechte Treiber führen häufig auch dazu, dass das System zwar in den S3-Modus geht, aber nicht mehr daraus erwacht. Auch kommt es vor, dass der PC nach dem Wiederaufwachen aus STR langsamer arbeitet als vorher. 

Viele Probleme rühren daher, dass die ACPI-Spezifikation sehr umfangreich und kompliziert ist. Die Hardware-Hersteller und Treiber-Programmierer tun sich sehr schwer mit der korrekten Implementierung aller ACPI-Funktionen. Intel selbst beklagt in einer FAQ, dass es mit ACPI noch häufig Ärger gibt, weil es oft schon im BIOS falsch umgesetzt wurde.

ACPI, BIOS und APM

Schon das BIOS älterer Mainboards beherrschte gewisse Steuerungsfunktionen für die PC-Komponenten. Dazu konnte es per Advanced Power Management (APM) beispielsweise nach einer gewissen Zeit der Inaktivität die Festplatten und das Monitorsignal abschalten, den CPU-Takt drosseln (Throtteling, per STPCLK#-Signal wird der interne CPU-Takt moduliert) oder den PC komplett Ein- und Ausschalten. Die APM-Spezifikation beschreibt nicht nur die nötigen Hardware-Funktionen, sondern auch die Interaktion zwischen Betriebssystem und BIOS. Über genau definierte BIOS-Befehlsaufrufe ist das Betriebssystem in der Lage, zum Beispiel den PC nach dem Herunterfahren automatisch abzuschalten.

Ein grundlegendes Problem von APM liegt in der schlechten Zusammenarbeit zwischen Betriebssystem und BIOS.

Ein ACPI-Computer unterscheidet sich hinsichtlich der Hardware-Konfiguration und -Steuerung grundsätzlich von einem "gewöhnlichen" Legacy-PC (Legacy: Eigentlich "Erbe". Legacy-Geräte sind beispielsweise ISA-Bus und-Steckkarten, PS/2-Maus und -Tastatur, serielle und parallele Schnittstellen). Ein ACPI-Betriebssystem übernimmt zu einem großen Teil Aufgaben, die sonst das BIOS erledigt. 

Ein ACPI-BIOS verwaltet komplizierte Tabellen, anhand derer das Betriebssystem die Geräte im System konfiguriert.

Die ACPI-Steuerung geht aber noch sehr viel weiter, das Betriebssystem entscheidet anhand der Treiber darüber, welchen "Power Mode" ein im oder am PC angeschlossenes Gerät einnimmt. Das Betriebssystem verwaltet ein virtuelles ACPI--Steuerungsgerät mit eigenem Interrupt -- dieser ist zwar teilbar (shareable), doch steht damit noch ein IRQ weniger für nicht-sharing-fähige PCI-Karten zur Verfügung.

bla bla bla 

Gruß Hungry Hugo

----------

## glasfaserauge

Danke für die Lektüre  :Smile: 

Kann ich darauf schließen, dass der Computer an sich ACPI unterstützt aber die betreffende PCI-Karte nicht, wenn ACPI ohne PCI-Karte ging?

----------

## Hungry Hugo

Hi glasfaserauge,

 *glasfaserauge wrote:*   

> [...]Kann ich darauf schließen, dass der Computer an sich ACPI unterstützt aber die betreffende PCI-Karte nicht, wenn ACPI ohne PCI-Karte ging?

 

ja so kann man das sehen   :Wink:  .

Was ist das denn für eine PCI Karte (Art, Hersteller, Typ)??

Gruß Hungry Hugo

----------

## glasfaserauge

Ein PCI-Cardbus (also PCMCIA-PCI-Adapter) von Reichelt mit RICOH-Chipsatz.

Was wäre denn für ein Energiespardingens zu empfehlen, dass die Lüfter auch mit ausgehen nach dem Power Off? Achja, ich habe festgestellt, dass die Grafikkarte auch anbleibt... dann wohl auch der Prozessor. Nur die Festplatten schalten sich ab.

----------

## Hungry Hugo

Hi,

hier mal der Abschnitt für ACPI / APM meiner Kernel (2.6.12-r6) Konfig. 

```
#

# Power management options (ACPI, APM)

#

CONFIG_PM=y

# CONFIG_PM_DEBUG is not set

CONFIG_SOFTWARE_SUSPEND=y

CONFIG_PM_STD_PARTITION=""

#

# ACPI (Advanced Configuration and Power Interface) Support

#

CONFIG_ACPI=y

CONFIG_ACPI_BOOT=y

CONFIG_ACPI_INTERPRETER=y

CONFIG_ACPI_SLEEP=y

CONFIG_ACPI_SLEEP_PROC_FS=y

CONFIG_ACPI_AC=y

CONFIG_ACPI_BATTERY=y

CONFIG_ACPI_BUTTON=y

CONFIG_ACPI_VIDEO=m

CONFIG_ACPI_FAN=y

CONFIG_ACPI_PROCESSOR=y

CONFIG_ACPI_THERMAL=y

# CONFIG_ACPI_ASUS is not set

# CONFIG_ACPI_IBM is not set

# CONFIG_ACPI_TOSHIBA is not set

CONFIG_ACPI_BLACKLIST_YEAR=0

# CONFIG_ACPI_DEBUG is not set

CONFIG_ACPI_BUS=y

CONFIG_ACPI_EC=y

CONFIG_ACPI_POWER=y

CONFIG_ACPI_PCI=y

CONFIG_ACPI_SYSTEM=y

CONFIG_X86_PM_TIMER=y

# CONFIG_ACPI_CONTAINER is not set

#

# APM (Advanced Power Management) BIOS Support

#

# CONFIG_APM is not set

#

# Protocols

#

CONFIG_PNPACPI=y
```

schau mal bei dir nach was du in deiner drin stehen hast und poste sie mal. Was hast du für ein Gerät Notebook (Hersteller,Typ) oder Desktop?

Gruß Hungry Hugo

----------

## glasfaserauge

Frage eines lernenden  :Smile:  :

Wie bekomme ich so eine schöne Liste?

Gerät ist ein Desktop, Fujitsu Siemens, Bj. 2000, Mainboard von VIA

----------

## Hungry Hugo

 *glasfaserauge wrote:*   

> Frage eines lernenden  :
> 
> Wie bekomme ich so eine schöne Liste?
> 
> Gerät ist ein Desktop, Fujitsu Siemens, Bj. 2000, Mainboard von VIA

 

ganz einfach geh mal unter /usr/src/linux/ da findest du eine .config das ist die Kernel Konfig 

```
# cd /usr/src/linux

# nano -w .config
```

aber nichts dort heraus löschen!!! 

Gruß Hungry Hugo

----------

## glasfaserauge

```
# Power management options (ACPI, APM)

#

CONFIG_PM=y

# CONFIG_PM_DEBUG is not set

# CONFIG_SOFTWARE_SUSPEND is not set

#

# ACPI (Advanced Configuration and Power Interface) Support

#

# CONFIG_ACPI is not set

#

# APM (Advanced Power Management) BIOS Support

#

CONFIG_APM=y

# CONFIG_APM_IGNORE_USER_SUSPEND is not set

CONFIG_APM_DO_ENABLE=y

# CONFIG_APM_CPU_IDLE is not set

# CONFIG_APM_DISPLAY_BLANK is not set

# CONFIG_APM_RTC_IS_GMT is not set

# CONFIG_APM_ALLOW_INTS is not set

# CONFIG_APM_REAL_MODE_POWER_OFF is not set

#

# CPU Frequency scaling

#

# CONFIG_CPU_FREQ is not set
```

Jetzt ist eben alles aus damit es geht. Was könnte man denn wieder versuchsweise einschalten, so dass Strom gespart wird, der Shutdown und das Booten funktioniert? Ich habs heute nochmal getestet. Sämtliche Lüfter (Netzteil, Prozessor) bleiben an und auf dem Monitor bleiben die Meldungen vom Shutdown stehen. Also ist ja auch noch die Grafikkarte und der Prozessor an, richtig?

----------

## glasfaserauge

*schieb*

Weiß denn keiner eine Antwort oder hab ich zu schlecht erklart?  :Question: 

----------

## Hungry Hugo

 *glasfaserauge wrote:*   

> *schieb*
> 
> Weiß denn keiner eine Antwort oder hab ich zu schlecht erklart? 

 

ja ne  :Very Happy:  ich denke es liegt am APM Support den du noch im Kernel hast. Als ich verwende nur ACPI im Kernel und habe keine Probleme.

Das sich dein Rechner nicht ausschaltet ist normal wenn du ACPI deaktiviert hast ist wie bei Windows wenn dann kommt "Sie können Ihren Computer jetzt ausschalten".

Sollte dann so aussehen...

```
# 

# Power management options (ACPI, APM) 

# 

CONFIG_PM=y 

# CONFIG_PM_DEBUG is not set 

CONFIG_SOFTWARE_SUSPEND=y 

CONFIG_PM_STD_PARTITION="" 

# 

# ACPI (Advanced Configuration and Power Interface) Support 

# 

CONFIG_ACPI=y 

CONFIG_ACPI_BOOT=y 

CONFIG_ACPI_INTERPRETER=y 

CONFIG_ACPI_SLEEP=y 

CONFIG_ACPI_SLEEP_PROC_FS=y 

CONFIG_ACPI_AC=y 

CONFIG_ACPI_BATTERY=y 

CONFIG_ACPI_BUTTON=y 

CONFIG_ACPI_VIDEO=m 

CONFIG_ACPI_FAN=y 

CONFIG_ACPI_PROCESSOR=y 

CONFIG_ACPI_THERMAL=y 

# CONFIG_ACPI_ASUS is not set 

# CONFIG_ACPI_IBM is not set 

# CONFIG_ACPI_TOSHIBA is not set 

CONFIG_ACPI_BLACKLIST_YEAR=0 

# CONFIG_ACPI_DEBUG is not set 

CONFIG_ACPI_BUS=y 

CONFIG_ACPI_EC=y 

CONFIG_ACPI_POWER=y 

CONFIG_ACPI_PCI is not set 

CONFIG_ACPI_SYSTEM=y 

CONFIG_X86_PM_TIMER=y 

# CONFIG_ACPI_CONTAINER is not set 

# 

# APM (Advanced Power Management) BIOS Support 

# 

# CONFIG_APM is not set
```

Gruß Hungry Hugo

----------

## glasfaserauge

Das Problem ist nur, dass mit eingeschaltetem ACPI nicht gebootet wird wegen der PCI-Karte. Aber APM rausschmeißen probier ich mal.

----------

## Hungry Hugo

Ja das war klar deswegen sollst du ja die Option 

```
CONFIG_ACPI_PCI
```

 deaktivieren dann macht er kein ACPI mehr für PCI Karten  :Very Happy:  .

Gruß Hungry Hugo

----------

## glasfaserauge

n00b-style-Frage  :Very Happy:  : Kann ich das direkt in der config-Datei ändern? Muss ich dann wieder neu kompilieren?

----------

## Hungry Hugo

Ne ne du das mußt du schon noch machen  :Very Happy:  außerdem geht es doch fix es wird doch nur die Änderung gemacht und nicht der "ganze" Kernel neu gebaut (sei denn du hast ne neuere Version)  :Cool: 

```
1. "cd /usr/src/linux" 

2. "make menuconfig" 

Zum bauen des Kernels dann: 

3. "make && make modules_install" 

4. Kernel nach "/boot" kopieren

5. evtl. grub.conf anpassen (Kernelname)
```

Gruß Hungry Hugo

----------

## glasfaserauge

Och ich habs befürchtet  :Smile: 

Naja Übung macht den Meister  :Wink: 

----------

## glasfaserauge

Also APM ausschalten hat nichts gebracht und

```
CONFIG_ACPI_PCI
```

deaktivieren geht im Kernelmenü nicht, weil kein entsprechender Eintrag vorhanden ist.

----------

## Hungry Hugo

hmm...

 *glasfaserauge wrote:*   

> Also APM ausschalten hat nichts gebracht und
> 
> ```
> CONFIG_ACPI_PCI
> ```
> ...

 

so langsam ist mein Latein auch am Ende hast du dir das und das mal angeschaut?

Gruß Hungry Hugo

----------

