BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Bloqueo absoluto del PC: ¿Es ACPI el causante de todo ello?

negora

Hola majetes:

Como he comentado en otros tantos hilos, usando Windows 2000 / XP, yo y otras tantas personas sufrimos esporádicamente un error que provoca un bloqueo absoluto del sistema, no sólo a nivel de software, sino también de hardware.

Parece que por fin he dado con la razón real de todo este asunto. Durante meses barajé cientos de posibilidades y ninguna de ellas parece ser que fuera cierta, ya que he seguido sufriendo el problema de igual modo tras haberlo "solucionado", con mayor o menor frecuencia.

En estos mismos foros encontré que la denominación de este error es "Infinite Loop". A raiz de ello busqué información pero, sin embargo, no me fue útil para resolver el problema. Algunos artículos se referían a problemas con los controladores de las tarjetas Nvidia (y éso que usando Ati también se puede producir dicho error) y otros simplemente lo dejaban como un caso de origen desconocido.

Curiosamente, y por accidente, antesdeayer encontré un artículo con algún tiempo que habla sobre este problema y que parece bastante sensato. Es de cuando apareció Windows XP en el mercado. En él, se indica que Windows 2000 y XP emplean ACPI, un sistema de control de consumo de energía que, para su funcionamiento, redirige las IRQ de todo periférico conectado vía PCI a dicho ACPI. ¿Y qué sucede entonces? Pues que da conflictos con cierto hardware, especialmente con ciertas tarjetas de red. ¿Parece ser una razón de peso, no?

Pues bien, quisiera saber si alguien tiene conocimientos acerca del funcionamiento del sistema ACPI y si puede confirmarme ésto y, si es posible, alguna posible solución. Muchas gracias :) .

ACTUALIZACIÓN: También he comprobado que ese mismo sistema ACPI también puede presentar problemas con otros dispositivos Plug & Play no PCI. Por éso, en las propiedades de administración de los puertos USB he desactivado el apagado de dispositivos. A ver si ésto también está causando el problema...

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
Frankie2004

Cuidado con las siglas ... hay 2 cosas diferentes que se parecen:

ACPI = Advanced Control and Power Interface
APIC = Advanced Programmable Interrupt Controller

En el primer caso, se refiere a la gestión de la energía y configuración del PC dentro del sistema operativo. Interpone una capa virtual entre el hardware y el sistema, accesible mediante un pseudocódigo estandarizado, en el que se define una estructura jerárquica en forma de árbol para controlar diversos objetos de datos, métodos de control, buses y dispositivos. Es la evolución de la antigua interfaz APM.

En el segundo caso, se refiere a un nuevo controlador programable de interrupciones destinado a soporte multiprocesador. Incorpora una distribución simétrica de las interrupciones entre todos los procesadores y tiene disponibles más líneas de interrupción que un PIC estándar. Solo Windows XP y Windows Server 2003 soportan este nuevo modo de funcionamiento, activo también en procesadores con Hyper Threading. Aumenta las IRQs hasta 24, y por ejemplo hace que interfaces clásicas como el IDE ya no tengan que estar sujetas a las IRQ 14 y 15.

No sé a cuál de los dos servicios te refieres, pero el "Infinite Loop" solo le pasaba a los Athlon, ¿no?

🗨️ 3
negora

Hola Frankie:

Vaya, al final te voy a tener que firmar contrato, je je je. Muchas gracias por responder (como siempre ;) )

Pues, por lo que veo, la página web que encontré debe de tener algún error de conceptos, porque mezcla lo que es el ACPI con la asignación de puertos IRQ. Tras leer la ayuda de Windows (siempre lo hago antes de preguntar nada) ya me extrañaba que algo referido con la energía interfiriese en los IRQ. Pero como tampoco conozco el funcionamiento de ese sistema, pues yo calladito ^_^. Ésto es lo que dice la página, a ver qué opinas:

Por último pudimos comprobar como el Windows XP usa un sistema de ACPI control avanzado de energía muy similar al del Windows 2000. Este sistema se ha hecho famoso por redireccionar la IRQ de todos los dispositivos PCI a la del ACPI para así controlarlos. Si todo funciona bien, perfecto, pero si no es así por culpa de alguna incompatibilidad del hardware, despídete de este sistema, ya que te producirá cuelgues aleatorios del equipo no de los programas o el SO, sino del equipo completo a nivel de Hardware. En Windows 2000 tenía este problema y lo solucioné quitando el Acpci, mientras que en el XP todo ha ido un poco mejor. Encontramos leves síntomas de este problema al colgarse la tarjeta de red a veces al iniciar la sesión, pero finalmente los solucionamos cambiando el ratón del puerto USB al PS2 y desactivando el control de energía de la tarjeta en el panel de propiedades en el administrador de Hardware. No es un problema grave para un entendido, pero a más de un usuario novato esto le va a traer de cabeza...

Sobre el Infinite Loop, pues quizá no se trate exactamente del mismo error, pero las consecuencias son las mismas: congelación pura y absoluta del sistema. Mi PC es un Pentium 4 y sé de más gente a la que le sucede algo semejante a lo que me pasa a mí.

Este problema sólo me sucede con Windows XP (no he usado 2000 en este equipo), ya que con Windows 98 y distros de Linux jamás se queda colgado así. Es por éso que entiendo que es algún problema de compatibilidad. El problema es averiguar cuál es éste. Y tras leer ese artículo, se me habían abierto los ojos, ya que recordando situaciones, ésto de quedárseme colgado, antes de tener la tarjeta Ethernet, jamás pasaba.

Muchas gracias por tomarte la molestia. Un saludo.

🗨️ 2
Frankie2004

Pues la explicación no parece ir tan desencaminada, porque todo el mundo puede ver cómo se le acumulan un montón de dispositivos en la IRQ 9 (¿a que sí?) y no hay conflictos. Pero a mí me pasa en ambos sistemas operativos (tengo un ordenador con cada uno) y en el Windows 2000 desde el que siempre escribo, ahora mismo tengo:

(ISA) 0 - Cronómetro del Sistema
(ISA) 1 - Teclado estándar de 101/102 teclas o Microsoft Natural PS/2 Keyboard
(ISA) 3 - Puerto de comunicaciones (COM2)
(ISA) 4 - Puerto de comunicaciones (COM1)
(ISA) 6 - Controlador estándar de disquetes
(ISA) 8 - Sistema CMOS/reloj en tiempo real
(ISA) 9 - Sistema Microsoft compatible con ACPI
(ISA) 12 - Mouse compatible PS/2
(ISA) 13 - Procesador de datos numéricos
(ISA) 14 - Canal IDE principal
(ISA) 15 - Canal IDE secundario
(PCI) 9 - Adaptador Realtek RTL8139(A) PCI Fast Ethernet
(PCI) 9 - Creative SB Live! Básico (WDM)
(PCI) 9 - RADEON 9000 SERIES
(PCI) 10 - Intel(R) 82801BA/BAM SMBus Controller - 2443

En el PC grande, que tenía apagado y he encendido solo para mirártelo, lo tengo con APIC:

(ISA) 0 - Cronómetro del Sistema
(ISA) 1 - Teclado estándar de 101/102 teclas o Microsoft Natural PS/2 Keyboard
(ISA) 4 - Puerto de comunicaciones (COM2)
(ISA) 4 - Puerto de comunicaciones (COM1)
(ISA) 6 - Controlador estándar de disquetes
(ISA) 8 - Sistema CMOS/reloj en tiempo real
(ISA) 12 - Mouse compatible PS/2
(ISA) 13 - Procesador de datos numéricos
(ISA) 14 - Canal IDE principal
(ISA) 15 - Canal IDE secundario
(ISA) 20 - Sistema Microsoft compatible con ACPI
(PCI) 10 - Intel(R) 82801EB SMBus Controller - 24D3
(PCI) 16 - Intel(R) 82801EB USB Universal Host Controller - 24D2
(PCI) 16 - Intel(R) 82801EB USB Universal Host Controller - 24DE
(PCI) 16 - RADEON 9100 SERIES
(PCI) 17 - SoundMAX Integrated Digital Audio
(PCI) 18 - Intel(R) 82801EB USB Universal Host Controller - 24D7
(PCI) 18 - Intel(R) 82801ER SATA RAID Controller
(PCI) 18 - Intel(R) PRO/1000 CT Network Connection
(PCI) 19 - Intel(R) 82801EB USB Universal Host Controller - 24D4
(PCI) 21 - Controladora de host VIA OHCI compatible con IEEE 1394
(PCI) 23 - Intel(R) 82801EB USB2 Enhanced Host Controller - 24DD

¿Problemas? Nunca ninguno. Supongo que será lo normal a la mayoría de los usuarios. Y si hay algún cuelgue relacionado con ACPI, yo creo que tal vez la culpa sería de la BIOS antes que del sistema operativo. Pero es lanzar las campanas al vuelo, no tengo argumentos.

En mi caso, no creo que la tarjeta de video o de sonido estén relacionadas con control de energía. En la de red sí aparece, pero en la pestaña "Energía" de las propiedades de la Ethernet, tengo deshabilidadas ambas opciones. ¿Y tú?

Un saludo.

🗨️ 1
negora

Sí, esa maldita IRQ9 muchas veces se le asigna a múltiples periféricos :S . Mi lista es la siguiente:

IRQ 0 - Cronómetro del sistema
IRQ 1 - Teclado estándar de 101/102 teclas o Microsoft Natural PS/2 Keyboard
IRQ 3 - Puerto de comunicaciones (COM2)
IRQ 4 - Puerto de comunicaciones (COM1)
IRQ 6 - Controlador estándar de disquetes
IRQ 8 - Sistema CMOS/reloj en tiempo real
IRQ 9 - Sistema Microsoft compatible con ACPI
IRQ 9 - Conexant's BtPCI WDM Audio Capture
IRQ 10 - Dispositivo MIDI compatible con MPU-401
IRQ 11 - Controladora de SMBus 82801BA/BAM de Intel(r) - 2433
IRQ 12 - Mouse compatible PS/2
IRQ 13 - Procesador de datos numéricos
IRQ 14 - Primary IDE Channel
IRQ 15 - Secondary IDE Channel
IRQ 16 - NVIDIA GeForce2 MX/MX 400
IRQ 17 - Controlador de audio de Intel(r) 82801BA/BAM AC'97
IRQ 18 - Conexant's BtPCI WDM Video Capture
IRQ 19 - Controladora de host universal USB Intel(R) 82801BA/BAM - 2442
IRQ 21 - Adaptador Ethernet PCI Realtek RTL8029(AS)
IRQ 23 - Controladora de host universal USB Intel (R) 82801BA/BAM - 2444

Lo más sorprendente es que esta misma lista la miré hace un par de días y puedo dar fe de que había muchísimos más IRQs compartidas, como el IRQ11. Desconozco qué pautas sigue Windows (excluyendo las que aplica la propia BIOS), para asignar cada IRQ.

Por otro lado, mirando los conflictos / recursos compartidos, obtengo lo siguiente:

Puerto E/S 0x00000000-0x00000CF7 - Bus PCI
Puerto E/S 0x00000000-0x00000CF7 - Controladora de acceso directo a memoria
-
Puerto E/S 0x000003C0-0x000003DF - Intel(R) 82845 Processor to AGP Controller - 1A31
Puerto E/S 0x000003C0-0x000003DF - NVIDIA GeForce2 MX/MX 400
-
IRQ 9 - Sistema Microsoft compatible con ACPI
IRQ 9 - Conexant's BtPCI WDM Audio Capture
-
Dirección de memoria 0xD0000000-0xD7FFFFFF - Intel(R) 82845 Processor to AGP Controller - 1A31
Dirección de memoria 0xD0000000-0xD7FFFFFF - NVIDIA GeForce2 MX/MX 400
-
Puerto E/S 0x00005000-0x0000FFFF - Bus PCI
Puerto E/S 0x00005000-0x0000FFFF - Controladora de SMBus 82801BA/BAM de Intel(r) - 2433
-
Dirección de memoria 0xA0000-0xBFFFF - Bus PCI
Dirección de memoria 0xA0000-0xBFFFF - Intel(R) 82845 Processor to AGP Controller - 1A31
Dirección de memoria 0xA0000-0xBFFFF - NVIDIA GeForce2 MX/MX 400
-
Puerto E/S 0x000003B0-0x000003BB - Intel(R) 82845 Processor to AGP Controller - 1A31
Puerto E/S 0x000003B0-0x000003BB - NVIDIA GeForce2 MX/MX 400
-
Dirección de memoria 0xDC000000-0xDDFFFFFF - Intel(R) 82845 Processor to AGP Controller - 1A31
Dirección de memoria 0xDC000000-0xDDFFFFFF - NVIDIA GeForce2 MX/MX 400