Hallo Norbert,
Dein Problem konnte ich mittlerweile lösen.
Man kann die C-States im BIOS dauerhaft aktivieren und diese dann unter Windows auch ohne Reboot aus- und wieder einschalten.
Das funktioniert über die Energieoptionen in der Systemsteuerung, und zwar sowohl unter XP als auch unter Windows 7.
Allerdings ist dafür ein kleiner Registry-Eingriff nötig.
Folgendermassen musst Du vorgehen:
Gehe nach Systemsteuerung -> Energieoptionen und suche Dir aus den sechs möglichen Enegieschemata
0 = Desktop
1 = Tragbar/Laptop
2 = Präsentation
3 = Dauerbetrieb
4 = Minimaler Energieverbrauch
5 = Minimale Batteriebelastung
eines heraus, welches Du für den fehlerfreien Floppy-Betrieb, d.h. mit abgeschalteten C-States, nutzen willst.
Angenommen Du wählst \"Präsentation\" (=2) dann musst Du in der Registry den folgenden Wert vom Typ REG_BINARY bearbeiten:
\"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Controls Folder\\PowerCfg\\ProcessorPolicies\\2\\Policies\"
- Ändere das Byte an Offset 24(Hex) von 02 in 01
Wenn Du Deinen Laptop/PC nicht ausschliesslich am Strommnetz sondern auch am Akku betreibst, dann noch
- das Byte an Offset 70(Hex) von 02 in 01 ändern
Jetzt die Änderungen mit OK abspeichern.
Wenn Du nun in Zukunft in den Energieoptionen das Schema \"Präsentation\" auswählst werden die C-States disabled und die Floppy funzt einwandfrei.
Nach dem Umschalten auf ein anderes Schema werden die C-States wieder enabled.
Zum Hintergrund:
Die Hex-Werte in \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Controls Folder\\PowerCfg\\ProcessorPolicies\\[0-5]\\Policies\" sind ein 1:1 Speicher-Abbild der Datenstruktur MACHINE_PROCESSOR_POWER_POLICY welche hier dokumentiert ist:
http://msdn.microsoft.com/en-us/library/aa372710%28v=vs.85%29.aspxhttp://msdn.microsoft.com/en-us/library/aa373187%28v=vs.85%29.aspxhttp://msdn.microsoft.com/en-us/library/aa373185%28v=vs.85%29.aspxDurch das Ändern des Bytes an Offset 24(Hex) wird das Flag ProcessorPolicyAc.Policy[0].AllowPromotion zurückgesetzt, was den Übergang von C-State 0 in C-State 1 im Wechselstrom-Betrieb verhindert. Durch das Ändern des Bytes an Offset 70(Hex) wird das Flag ProcessorPolicyDc.Policy[0].AllowPromotion zurückgesetzt, was den Übergang von C-State 0 in C-State 1 im Gleichstrom-Betrieb verhindert.
Ciao
Josef