inform.gif (70 octets) ACPI (erreurs & succès)

Il ne viendra à l'esprit de personne d'affirmer que l'ACPI fonctionne parfaitement sous Windows 98, que ce soit pour la phase d'installation que d'utilisation : Windows 98 SE est à peine meilleur, Windows 2000 en son état actuel est plus prometteur (mais un utilisateur de Win98 n'est directement concerné par le successeur de Windows NT4) et Windows Millenium s'annonce totalement orienté vers le "On Now" mais il n'existe qu'à la phase bêta (sept.1999).

Vous trouverez ci-après, entre autres, quelques notes glanées en grande partie sur les sites de Microsoft, Intel et Toshiba et qui ont le mérite, à défaut d'apporter de réelles réponses, de reconnaître ces difficultés. J'ai également ajouté quelques notes personnelles.

date

sujet

date

sujet

sept.1999 vmm32 Déc.2000 Fichiers à charger
sept.1999 Périphériques USB Juin 2000 Tests positifs
sept.1999 Erreur périphérique Février 2001 Tests positifs (bis)
sept.1999 PC Packard Bell Mai 2001 Virer l'ACPI (Asus P2B)
sept.1999 Éteindre Windows    
sept.1999 Portables et USB    
sept.1999 Passive cooling    
sept.1999 Bouton Hibernation (2)    
oct.1999 Carte ASUS P3B-F    
sept.1999 Etats ACPI    
sept.1999 Chipset BX    
sept.1999 Bouton Hibernation    
sept.1999 Carte ASUS P2B    
sept.1999 PC HP    
sept.1999 Cartes Power VR    
sept.1999 Arrêt Windows    

On parle souvent du Bug VMM32 bien qu'il ne s'agisse pas véritablement d'un bug. Seulement, étant donné que les fonctions ACPI reposent grandement sur les pilotes de vos périphériques, il ne serait pas idiot de restaurer d'abord vos pilotes originaux plutôt que d'utiliser les pilotes génériques de VMM32 (qui, je le répète, ne sont pas nécessairement mauvais). La procédure est décrite ici.

Retour au sommaire

Il y a en tout 4 états principaux de mise en veille pour l'ACPI. Vous avez d'abord l'état S1 qui place tous les composants du PC dans un sommeil rapide. L'ennui, c'est que la consommation reste assez élevée. L'avantage c'est que le réveil est très rapide. Vous avez ensuite l'état S2 sur lequel je ne trouve aucune documentation précise ! Vient ensuite l'état S3 qui offre en théorie une faible consommation d'énergie et un réveil rapide. La technique utilisée est la mise en veille sur la RAM (Suspend To RAM). Vient enfin l'état S4 qui est la technique Suspend To Disk (notamment avec une partition 0 volts par exemple). Mais puisque les informations de veille sont stockées sur le disque dur (dans un fichier ou sur une partition spécifique), la procédure de réveil est très lente, voire trop lente notamment pour les réveils provoqués par des appels téléphoniques ou réseau : plantages assurés dans le moins mauvais des cas ! Les constructeurs s'orientent en majorité vers l'état S3 (Intel et Toshiba entre autres).
Retour au sommaire

Le PC a tendance à se bloquer si, alors que vous le mettiez en veille ou en hibernation, vous avez appuyé sur les touches d'un clavier USB ou si vous avez quelque peu manipulé votre souris USB. Microsoft reconnaît ce défaut et préconise d'installer la version n°4.10.2224 d'ACPI.SYS.

Retour au sommaire

Lorsqu'une instruction commande au CPU de passer à l'état C3 (mise en veille) sur une machine équipée de l'ACPI, on peut constater soit une erreur de la mémoire soit un gel complet du PC qui a été mis en veille. C'est un constat pour les cartes mères équipées du chipset BX (voir les autres sections pour plus d'information sur les chipset Intel). L'erreur se produit lors d'une mise en veille suivie d'un réveil. Ce la peut en outre être accentué par la présence du BusMastering sur votre système (ce qui représente la quasi totalité des cas) et qu'une opération de Busmastering intervient pendant cette phase (puisque le BusMastering se résume par une technique d'accès direct à la mémoire). Le seul remède consiste à reprogrammer les instructions du Bios dont je vous passe les détails (ce qui ne relève pas du tout de mes compétences !).

Retour au sommaire

Sur des machines compatibles ACPI, le Gestionnaire de Périphériques de Windows 98 peut révéler des erreurs s'attachant à certains de ces périphériques du style :

"Ce périphérique ne fonctionne pas correctement car le Bios de votre système renvoie une allocation de ressource erronée pour ce périphérique (Code 9)

Ce périphérique n'est pas présent, fonctionne mal ou n'a pas de pilotes installés (Code 10)

Les pilotes de ces périphériques ne sont pas installés (Code 28)

Ce périphérique provoque un conflit d'allocation de ressources (Code 15.)"

Le fautif est le fichier ACPI.SYS qui a du mal à exécuter une fonction spécifique de l'ACPI appelée Global Lock. Microsoft propose comme solution d'installer le pilote ACPI.SYS n° 4.10.2000 (c'est le fichier actuel de Windows 2000) encore que cette solution n'ait pas été totalement testée et approuvée.

Retour au sommaire

Lorsque ce bouton est activé lors d'un réveil, il peut ne plus fonctionner par la suite. Microsoft propose de corriger ce défaut en installant le fichier NTKERN.VxD n°4.10.1999.

Retour au sommaire

Ces PC de la série 4350 peuvent provoquer des redémarrages intempestifs en raison de la présence d'une carte son Yamaha DS-XG qui occupe l'interruption 9 (IRQ 9) comme l'ACPI. En effet, l'ACPI occupe le plus souvent l'IRQ 9 ou 5 (dans ce cas c'est avec les cartes SoundBlaster que des problèmes peuvent surgir). Le seul moyen de résoudre le problème est de modifier l'allocation d'IRQ pour la carte son (et non pour l'ACPI).

Retour au sommaire

Ces cartes sont loin d'être rares sur la marché. Particulièrement avec Windows 98 SE, on constate un plantage au réveil du PC. Le PC refuse tout simplement de se réveiller. Ce constat est surtout vrai pour les Bios n°1008 et il est recommandé de régresser alors vers le Bios 1007 à moins qu'un nouveau bios ultérieur au 1008 corrige cette erreur. A vous de voir auprès d'ASUS.

Autre information, cette copie d'un message du support technique d'ASUS :

Dear Sir,

There has been released ACPI BIOSes for P2B. But P2B will not support all power
saving modes defind by ACPI spec.

Regards,
ASUSTeK Technical Support Division

For marketing      ->info@asus.com.tw
For web            ->webmaster@asus.com.tw
For technical info ->http://www.asus.com.tw/Company/support-news.html

voilà qui est clair.

Retour au sommaire

Particulièrement vrai avec Windows 98 SE, sauf à posséder une configuration supportant l'option pour écrans multiples, cette erreur survient lorsque votre Bios n'attribue pas d'IRQ à votre carte graphique. Pour le vérifier, il faut se fier aux messages du Bios lors de l'initialisation de la bécane (puisque les valeurs renvoyées sous Windows peuvent être modifiées du fait de la fonction d'IRQ Steering, ou du fait que Windows attribue les IRQ en fonction de la table de routage ACPI).

Dans cette hypothèse, vous n'avez pas d'autres choix que d'en attribuer une - si possible - via le Bios, ou d'attendre une mise à jour du Bios de la carte graphique (ou de virer l'ACPI !).

Retour au sommaire

Notamment lors de l'installation de Windows 98 SE si le PC est "compatible ACPI). Il faut se rendre sur le site de HP qui fournit un correctif (http://www.hp.com/cposupport/eschome.html). Lors de l'installation et de la détection matérielle, le PC a tendance à geler. S'il s'agit d'une mise à jour de Win98 vers Win98 SE, on peut tout de même réaliser la mise à jour complète avant d'installer le nouveau Bios de HP, en désactivant préalablement le contrôleur USB dans le Gestionnaire de périphériques.

Retour au sommaire

Sous Windows 98 SE, votre portable peut planter lors de la mise en veille (passage au mode S4 de l'ACPI) du fait de la présence d'un périphérique USB. Ca provient du fait que le contrleur USB est désactivé lors de ce passage et ne peut donc exécuter une requête que Windows lui aurait demander d'exécuter. Seul un correctif permet d'obvier cet obstacle : fichier USBD.SYS 4.10.2224.

6 avril 2000 : MS permet de télécharger un correctif ici : 241084up.exe.

Par ailleurs, les portables non seulement compatibles ACPI mais également Plug and Play (vous en connaissez encore qui ne le sont pas ?) provoquent de redoutables erreurs avec Win98 et 98 SE (Q239697).

Retour au sommaire

Sous Windows 98, au lancement d'une application D3D vous pourriez recevoir ce message : "SGL.DLL file cannot start". En autres causes, cela peut être résolu par le changement de l'option IRQ Steering dans le Gestionnaire de Périphériques. Il faut enlever l'option "Obtenir la table d'IRQ à partir de la table des spécification MS".

Retour au sommaire

Windows 98 ne gère pas ce mode qui est pourtant l'une des spécifications de l'ACPI. Seul le mode actif est implémenté. Ce mode actif peut notamment exiger de la machine qu'elle déclenche les ventilateurs afin d'accélérer le refroidissement mais au détriment de la consommation.

A l'inverse, le mode passif déclenche une instruction au CPU qui va alors réduire son activité (au détriment des performances mais au bénéfice de la consommation et de la chaleur dégagée par les composants). Voir la Question 189803 pour plus de détails ("réservé" aux développeurs).

Retour au sommaire

Pour Windows 98 seulement (et non pas Win98 SE qui a ses propres problèmes d'arrêt !), la machine peut geler à l'arrêt de Windows en vous affichant le sempiternel message . Si l'ACPI est déclenché, vérifiez que l'option de désactivation de l'arrêt rapide n'est pas cochée, autrement dit il faut que cette fonction soit active (Démarrer --> Exécuter --> "MSCONFIG", bouton Options avancées ou encore : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Shutdown et vérifiez que la valeur est sur "1"). Sinon, appliquez également le nouveau fichier ACPI.SYS n°4.10.2000, encore que la version 4.10.2224 serait encore mieux !

Au passage, sachez que si vous trouvez un point d'exclamation à côté de votre périphérique APM dans le Gestionnaire de périphériques, et bien il vous faudra cette fois désactiver l'arrêt rapide (mais seulement sous Win98, il n'existe pas de correction pour Win98 SE).

Sachez enfin que ceci (notamment le fait de relancer Win98 en appuyant sur SHIFT) est officiellement un bug (Q193467 : "RegReplaceKey() Fails in Windows 98").

Retour au sommaire

Dans ses plus récents articles, Microsoft précise que le bouton d'hibernation n'apparaît que sur les ordinateurs configurés pour supporter cette fonction et que pour déterminer si cette fonction est supportée par votre PC il faut vous renseignez auprès de votre constructeur ou de la documentation de votre PC !!! (Q.242207). C'est tout l'art de botter en touche.

Retour au sommaire

Dans ce tableau, vous trouverez les différents pilotes Acpi.sys en ma possession. Il s'agit de fichiers extraits des différentes versions de Windows 98, 98 SE, 2000 et Millenium. Faites des essais à vos risques et périls, mais faites-le sur une configuration de test, pas sur la configuration avec laquelle vous travaillez tous les jours. Ces fichiers sont livrés ici car bien que MS recommande parfois d'avoir recours à eux pour résoudre certains problèmes, MS ne les distribue pas.

version

origine

taille

4.10.1998 Windows 98 Gold 46ko
4.10.2152 Outil MS de test ACPI 80ko
4.10.2222 Windows 98 SE 49ko
4.90.2358 Windows Millenium US (build 2358) 48ko
5.00.2024.1 Windows 2000 bêta 3 Fr 88ko
4.90.3000 Windows Millenium Fr (build 3000) 48ko
5.00.2195 Windows 2000 Professional Fr (build 2195) 91ko

Retour au sommaire

From: Alexey Melnikov <avms@mail.ru>
Message-ID: <17716.991012@mail.ru>
To: winpower@hwdev.org
Subject: Suspend-to-RAM with PCI Cards = troubles

"Hello!

  I have ASUS P3B-F mainboard. When my system go out from STR mode - system hangs with trash on screen...

  Produced this issue when System config is:
 
  MB ASUS P3B-F (AWARD 6.0 ACPI BIOS) & ATX power supply 1A at 5VSB / 256 SDRAM
  AGP Canopus Spectra 2500 (RivaTNT 16MB) / ASUS UDMA66 controler (Promise)/ SB Live!
  5.1GB & 13GB Quantum HDDs / Windows 98SE build 2222

  Resolved when i remove all PCI cards i.e: UDMA66 Card and SB Live...
  When my system haven't PCI cards at all, the system works fine - go to STR and go out from STR...

  Seems this issue occurs with PCI bus devices...

  Help me, please!!!!!!!

Best regards,
 Alexey    avms@mail.ru

 P.S. I had problem with Suspend-to-Disk in Windows Millennium, but in
 Windows 2000 all works fine...."


Réponse :

From: Eric Somogyi <ericso@microsoft.com>
To: "'winpower@hwdev.org'" <winpower@hwdev.org>
Subject: RE: ?? : Suspend-to-RAM with PCI Cards = troubles

"Alexey,
We are aware of a driver issue with the SB Live card and not allowing(BSOD) standby. We are working on a solution with SB. What UDMA66 card are you using ?"

Eric


Retour au sommaire

J'ai recommencé les tests courant avril et mai 2000 avec Windows 98 SE sur deux cartes mères Abit VT6X4 et BF6 . Configurations de base sans carte SCSI, avec des cartes graphiques GeForce et TnT 2 (trois pilotes différents essayés), cartes son classiques du genre Fortissimo (Guillemot) ou SB Live 1024. L'ACPI fonctionne parfaitement en mode S1 et S3, ces dernières options étant disponibles via le Bios de la carte Abit VT6X4 qui est doté de chipsets VIA Apollo Pro 133A. Sur cette dernière carte, l'installation de Windows à partir d'un disque formaté (et sans le commutateur /PJ) a directement installé le mode ACPI. Il faut croire que les cartes mères fabriquées depuis 2000 intègrent mieux cette fonction.

Retour au sommaire

Nouvelle série de tests en février 2001 sur deux cartes mères avec Windows Millénium. La première est l'ASUS A7V sur laquelle était installé un CPU AMD Duron 800 Mhz et une carte graphique Voodoo 3 3000 PCI. Dans le Bios, on peut choisir l'option Suspend-to-RAM ce qui permet un "réveil" plus rapide. L'ACPI fonctionne parfaitement et la machine retrouve son état initial en une trentaine de secondes (en comptant le temps d'affichage du Bios). Un écran noir précède le chargement de l'image de Windows "Revenir à Windows". Sur la seconde carte même succès : ABIT BF6 (Celeron 700 et GeForce Mx). J'avais d'ailleurs déjà connu cette réussite avec cette carte sous Windows 98 SE (voir plus haut).

Retour au sommaire

Un sympathique correspondant, Bernard, m'a fait part de ses soucis avec comme cause principale sa carte mère ASUSTEK P2B. Souhaitant ajouter un disque dur de plus grande capacité, il a du mettre à jour le Bios de sa carte mère (versions 1011 et 1012). Or, après cette opération, il s'est aperçu que Windows était fortement ralenti. Une tâche sous Windows occupait régulièrement 40 % de ses ressources au repos. Il a tenté la même expérience sur une autre carte mère sans rencontrer le problème. De nouveau sur la même carte mère, il a permuté son gros dique dur pa un plu spetit, et là non plus pas de problème ni de ralentissement. Il s'agit donc d'un cas spécifique, à ce jour, à l'ASUS P2B équipée d'un bios antérieur au 1011. Le fait que le nouveau disque dur était d'une capacité supérieure à 32 Go ne changeait rien : repartitionner et formater un ancien disque, mais "sous" le nouveau Bios reproduisait le problème.

Après de longues recherches, Bernard a abouti à la solution suivante : il faut lancer une installation de Windows avec le commutateur /p i. Littéralement, ce commutateur oblige l'installation de Windows à ne pas tenir compte du caractère Plug and Play du Bios de la machine. Mais alors, quel est le rapport avec l'ACPI ? Et bien, la prise en charge de l'ACPI, on le sait, peut être forcé à l'installation de Windows avec le commutateur /p j. Or, ce commutateur sert aussi à inverser ce qui a été fait avec le commutateur /p i. Concrètement, ce que l'on fait avec /p j, on le défait avec /p i. Une réinstallation apparaît nécessaire car les autres méthodes préconisées pour désactiver la gestion de l'ACPI sous Windows n'avaint pas donné de résultats (modification de la base de registre).


Créé le 26 septembre 1999 / Dernière Modification : 21-05-2001