- La suspensión selectiva USB permite apagar puertos inactivos para ahorrar energía, pero puede causar fallos en ciertos dispositivos.
- Windows gestiona esta función mediante IRP de inactividad y cambios de estado de energía D0–D3 en la pila de controladores USB.
- Es posible desactivar la suspensión selectiva USB desde las opciones avanzadas de energía, el Administrador de dispositivos o comandos.
- En sobremesa suele ser seguro deshabilitarla, mientras que en portátiles conviene valorar el impacto en la batería y actualizar controladores.

Si tus memorias USB, discos externos o periféricos USB dejan de responder al cabo de un rato, se desconectan solos o solo vuelven a la vida cuando los quitas y los vuelves a enchufar, es muy posible que el responsable sea una opción de Windows llamada “suspensión selectiva de USB”. Es una función pensada para ahorrar energía, pero en algunos equipos puede dar más guerra que beneficios.
En las siguientes líneas vas a encontrar una explicación completa, pero contada en cristiano, de qué es exactamente la suspensión selectiva USB, cómo funciona por dentro en Windows, cuándo conviene dejarla activada y cuándo no, y por supuesto cómo desactivarla paso a paso en Windows 10 y Windows 11. También veremos qué ocurre a nivel de controladores y por qué Microsoft insiste tanto en que, en la medida de lo posible, no se deshabilite.
Qué es la suspensión selectiva de USB y cómo funciona realmente

La suspensión selectiva USB es una capacidad del sistema por la cual el controlador del concentrador (hub) USB puede “apagar” individualmente un puerto sin tocar el resto. Es decir, Windows puede dejar sin alimentación efectiva un dispositivo concreto que está inactivo mientras mantiene funcionando con normalidad los demás puertos conectados al mismo hub.
Esta idea tiene todo el sentido en portátiles y dispositivos que funcionan con batería: muchos periféricos USB, como lectores biométricos, escáneres de huellas, algunos escáneres de documentos, adaptadores o incluso pendrives, no necesitan estar activos al 100 % todo el tiempo. Si el sistema detecta que llevan un rato sin usarse, los pone en un estado de baja energía para recortar consumo.
Además del ahorro puro y duro de batería, hay otro punto técnico importante: un dispositivo USB que no entra nunca en suspensión puede impedir que el controlador de host USB desactive su programación de transferencias, que reside en la memoria del sistema. Mientras el host siga preparado para transferencias DMA (acceso directo a memoria) con ese dispositivo, puede bloquear que el procesador entre en estados de reposo profundos (como C3), lo cual afecta al consumo global del equipo.
Por todo eso, en Windows la suspensión selectiva viene activada por defecto y Microsoft recomienda expresamente no deshabilitarla salvo que haya problemas claros con dispositivos concretos. Desde la perspectiva de diseño de energía del sistema operativo, forma parte del puzle que permite combinar rendimiento con eficiencia.
Visión sencilla: qué significa para el usuario de a pie
Traducido a un lenguaje más del día a día, la suspensión selectiva es simplemente un modo “ahorro” para los puertos USB. Cuando Windows detecta que un dispositivo USB no está haciendo nada (no transfiere datos, no lo estás usando activamente, etc.), le corta la energía o lo lleva a un estado de bajo consumo, y cuando lo vuelves a usar, en teoría debería despertarse solo y sin que notes nada.
En muchos equipos esto funciona perfectamente, pero en otros aparecen los dolores de cabeza: memorias que dejan de detectarse tras un rato, lectores que desaparecen del sistema, periféricos que “mueren” hasta que los vuelves a conectar, etc. En estos casos, la causa casi siempre está en que el dispositivo o su controlador no se llevan demasiado bien con el mecanismo de suspensión selectiva.
Hay que tener en cuenta que esta función solo afecta a dispositivos conectados por USB. No toca discos internos, ni la red cableada del propio equipo, ni otras piezas; su objetivo son los dispositivos a través de los puertos USB del sistema.
Cómo implementa Windows la suspensión selectiva a nivel de controladores
Detrás de esta aparente sencillez hay bastante ingeniería. En Windows, la suspensión selectiva USB se gestiona a través de la pila de controladores USB y de los controladores de dispositivo (los llamados controladores cliente), que son los que hablan directamente con cada periférico.
Cuando un dispositivo entra en inactividad, el controlador cliente avisa al controlador de bus USB enviando un IRP (I/O Request Packet) de “solicitud inactiva”, con el código interno IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION. Ese IRP incluye, entre otras cosas, una estructura (USB_IDLE_CALLBACK_INFO) con una rutina de devolución de llamada que el bus llamará cuando sea seguro apagar el dispositivo.
Una vez que la pila de USB decide que puede llevar el dispositivo a un estado de baja energía, realiza esa llamada a la función de callback indicada por el controlador cliente. En esa rutina, el controlador debe cancelar todas las operaciones de E/S pendientes, esperar a que se completen los IRP activos y, a continuación, solicitar el cambio del estado de alimentación del dispositivo (por ejemplo, a D2) mediante un IRP de energía del tipo IRP_MN_SET_POWER.
Durante todo este proceso, el IRP de solicitud inactiva no se completa inmediatamente: permanece pendiente hasta que ocurre alguno de estos eventos: el sistema recibe un IRP de retirada o retirada inesperada del dispositivo (IRP_MN_REMOVE_DEVICE o IRP_MN_SURPRISE_REMOVAL) o alguien pide expresamente volver a poner el dispositivo en estado de trabajo (D0). En este último caso, el IRP de inactividad se completa con STATUS_SUCCESS.
Mecanismos para suspender selectivamente: dispositivos compuestos y no compuestos
En la arquitectura de Windows se distingue entre dispositivos USB compuestos (aquellos que exponen varias interfaces, como por ejemplo un hub integrado con lector de tarjetas y funcionalidad adicional) y no compuestos (un solo tipo de función). Según el caso, se usa un mecanismo u otro para aplicar la suspensión selectiva.
Los controladores cliente asociados a una interfaz dentro de un dispositivo compuesto que, además, habilitan la reactivación remota usando IRP_MN_WAIT_WAKE, están obligados a utilizar el mecanismo basado en IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION para indicar el estado de inactividad y permitir la suspensión selectiva.
Para otros dispositivos no compuestos, la suspensión puede apoyarse más en los IRP de energía IRP_MN_SET_POWER, combinando las transiciones de estado de energía del dispositivo (D0, D1, D2, D3) con las políticas de energía que decide la propia pila USB y el gestor de energía de Windows.
Cancelación de la solicitud de inactividad USB
Hay situaciones en las que el controlador del dispositivo necesita anular una solicitud inactiva que ya ha enviado al bus: por ejemplo, si el dispositivo se retira, si vuelve a tener actividad justo cuando iba a entrar en reposo, o si el sistema está cambiando de estado de energía global.
Para ello se utiliza IoCancelIrp, que cancela el IRP inactivo. Según el momento exacto en que se produzca esa cancelación, la pila USB y el controlador cliente tienen que actuar de forma distinta:
- Si se cancela el IRP inactivo y la rutina de callback de notificación todavía no ha sido llamada, la pila USB completa el IRP con STATUS_CANCELLED y el dispositivo sigue en D0, sin cambios en su estado de energía.
- Si se cancela el IRP tras haberse invocado la rutina de devolución de llamada, pero esta aún no ha terminado, puede ocurrir que dicha rutina se ejecute igualmente. En ese caso, el controlador sigue siendo responsable de llevar el dispositivo a estado de baja energía de forma síncrona. Posteriormente puede pedir el retorno a D0 o esperar a que la pila complete el IRP en reposo y entonces solicitar el cambio.
- Si el dispositivo ya se encontraba en un estado de baja potencia cuando se decide cancelar, el controlador cliente puede directamente enviar un IRP de energía a D0, o bien cancelar primero el IRP inactivo, esperar a su finalización y a continuación lanzar el IRP D0.
Hay que tener cuidado con las condiciones de error: si la rutina de devolución de llamada no puede poner el dispositivo en baja potencia (por ejemplo, por falta de memoria al crear un IRP de energía) debe cancelar el IRP inactivo y salir sin bloquearse, ya que el IRP inactivo no se completa hasta que esa rutina termina, y un bloqueo ahí podría dejar colgado el sistema de energía del dispositivo.
Rutina de finalización del IRP de solicitud inactiva
En muchos escenarios, el controlador de bus USB necesita que se ejecute la rutina de finalización (completion routine) asociada al IRP de solicitud inactiva. Esa rutina debe inspeccionar el código de estado devuelto y actuar en consecuencia.
Si el estado no es STATUS_POWER_STATE_INVALID, el controlador cliente debe asegurarse de que el dispositivo vuelva a D0 si no se encuentra ya en ese estado. Si tras volver a D0 el dispositivo sigue sin actividad, el controlador puede decidir enviar un nuevo IRP de solicitud inactiva para que la suspensión selectiva vuelva a entrar en juego más adelante.
Entre los códigos de estado más habituales que se pueden encontrar en esta rutina destacan:
- STATUS_SUCCESS: indica que ya no procede que el dispositivo se mantenga suspendido; el controlador debe comprobar que el dispositivo está en D0.
- STATUS_CANCELLED: puede deberse a que el propio controlador canceló el IRP, o bien a que el sistema requiere un cambio de estado de energía global.
- STATUS_POWER_STATE_INVALID: señala que se ha solicitado un estado D3 para el dispositivo; al producirse esto, el controlador de bus completa todos los IRP inactivos pendientes con este código.
- STATUS_DEVICE_BUSY: el bus ya tiene un IRP de inactividad pendiente para ese dispositivo; solo se permite uno a la vez, de modo que enviar más de uno es un error de la lógica de energía del controlador.
Tras gestionar estos estados, el controlador suele liberar recursos asociados (como la estructura USB_IDLE_CALLBACK_INFO y el propio IRP asignado con IoAllocateIrp), marcar en su extensión de dispositivo que ya no hay un IRP de inactividad pendiente y, en muchos casos, devolver STATUS_MORE_PROCESSING_REQUIRED para indicar al sistema que no siga procesando ese IRP porque el controlador ya se ha hecho cargo de su limpieza.
Rutina de devolución de llamada de notificación de inactividad USB
La rutina de notificación de inactividad (definida tipicamente con el prototipo USB_IDLE_CALLBACK) es la función que el controlador de bus llama cuando considera que es seguro suspender el dispositivo. Se invoca siempre con el sistema en estado S0 (equipo encendido) y el dispositivo en D0.
Dentro de esta rutina, el controlador del dispositivo debe realizar varias tareas clave: solicitar, si procede, un IRP_MN_WAIT_WAKE para que el dispositivo pueda “despertar” al sistema desde estados de reposo, cancelar cualquier operación de E/S pendiente y preparar el hardware para pasar a un estado de menor consumo.
El siguiente paso es iniciar la transición real de energía llamando a PoRequestPowerIrp con el estado objetivo, normalmente PowerDeviceD2 (aunque depende del dispositivo y sus capacidades). Es importante respetar las restricciones que impone Windows a esta rutina: solo se permite una transición de D0 a D2 en este punto y no está admitido intentar volver a D0 desde dentro del propio callback ni solicitar más de un IRP de energía.
La llamada se realiza siempre a nivel de IRQL = PASSIVE_LEVEL, por lo que la rutina puede bloquearse mientras espera la finalización del IRP de energía, algo necesario en determinados diseños de controlador donde se requiere confirmar que el cambio de estado se ha producido correctamente antes de continuar.
Suspensión global de USB frente a suspensión selectiva
La especificación USB 2.0 describe también un mecanismo de suspensión global, que consiste en detener todo el tráfico USB detrás de un controlador de host, incluyendo los paquetes de inicio de trama, de manera que los dispositivos “aguas abajo” detectan el estado inactivo en su puerto ascendente y entran ellos mismos en suspensión.
Sin embargo, Windows no implementa la suspensión global exactamente de esa forma. En su lugar, el sistema operativo realiza siempre primero una suspensión selectiva de cada dispositivo USB que cuelga de un controlador de host. Solo cuando todos los concentradores USB implicados han pasado a un estado de suspensión selectiva y todos los dispositivos conectados están en estados de baja energía (D1, D2 o D3), la pila de controladores considera que el bus ha entrado en una especie de “modo global de reposo”.
En este contexto, Windows trata un dispositivo como inactivo siempre que su estado de potencia WDM sea D1, D2 o D3, y actúa en consecuencia a la hora de decidir si mantiene tráfico en el bus o puede recortarlo todavía más.
¿Conviene activar o desactivar la suspensión selectiva de USB?
Desde el punto de vista puramente técnico y de eficiencia, a Microsoft le interesa que la suspensión selectiva esté siempre activada. Ayuda a reducir consumo, permite entrar en estados de reposo más profundos y, en general, no debería causar problemas en dispositivos bien diseñados.
Ahora bien, en el mundo real hay muchos dispositivos y controladores que no gestionan del todo bien estos cambios de estado. De ahí que, en foros y experiencias de usuarios, se recomiende a menudo desactivar la suspensión selectiva cuando se tienen fallos de desconexión aleatoria de pendrives, discos externos, lectores biométricos, etc.
Como regla práctica se puede decir que en ordenadores de sobremesa, donde el ahorro de batería no es una prioridad (porque suelen estar enchufados siempre), no pasa nada por desactivar la suspensión selectiva USB para evitar quebraderos de cabeza con dispositivos quisquillosos.
En cambio, si usas un portátil o convertible y te preocupa estirar al máximo la batería, conviene valorar si los problemas que estás sufriendo con tus dispositivos USB compensan la posible pérdida de autonomía al desactivar esta función. En muchos casos, un enfoque intermedio es dejarla activa y únicamente deshabilitar el ahorro de energía en dispositivos concretos que den guerra, ajustando sus propiedades en el Administrador de dispositivos.
Caso típico: USB deja de responder y solo vuelve al reconectar
Una de las quejas más frecuentes de usuarios es la siguiente: “mi memoria USB o mi disco externo funciona bien al principio, pero después de un rato deja de ser reconocido; cuando la desconecto y la vuelvo a enchufar, vuelve a funcionar”. Esto suele ser síntoma de que el dispositivo entra en suspensión selectiva, pero luego su controlador no es capaz de reanudar la comunicación de forma limpia.
También se ha visto que ciertos dispositivos no aislados, especialmente los conectados en entornos con diferencias de potencial de tierra o mucho ruido eléctrico, pueden experimentar problemas adicionales: transitorios o interferencias que rompen la comunicación USB y dejan al sistema “pensando” que el dispositivo está caído. En estos casos, desactivar la suspensión selectiva puede aliviar el problema, pero a veces también hay que revisar el cableado y seguir recomendaciones de diseño de campo para señales analógicas y de baja tensión.
En cualquier caso, cuando te encuentras con un dispositivo USB que no responde, tiene desconexiones aleatorias o se queda “congelado”, una de las primeras pruebas recomendadas es deshabilitar temporalmente la suspensión selectiva USB. Si tras hacerlo el problema desaparece, ya tienes identificado al sospechoso.
Cómo desactivar la suspensión selectiva de USB en Windows 10 y Windows 11
Si ya has decidido que, al menos para probar, quieres desactivar la suspensión selectiva, puedes hacerlo desde varios sitios en Windows. La forma más directa para la mayoría de usuarios es mediante las Opciones de energía del Panel de control, pero también puedes apoyarte en el Administrador de dispositivos o incluso en comandos desde el símbolo del sistema.
En Windows 10 y Windows 11, el camino clásico es: abrir Panel de control > Hardware y sonido > Opciones de energía, seleccionar el plan de energía que estés usando (Equilibrado, Alto rendimiento, Economizador, o el que tengas personalizado) y hacer clic en “Cambiar la configuración del plan”. Desde ahí accedes a “Cambiar la configuración avanzada de energía”.
En la ventana emergente de configuración avanzada, despliega el apartado “Configuración USB” y dentro de él verás la entrada “Configuración de suspensión selectiva de USB”. Ahí puedes elegir entre habilitarla o deshabilitarla tanto para batería como para corriente alterna (enchufado). Si quieres evitar por completo que se aplique, ajusta ambas opciones a “Deshabilitado” y guarda los cambios.
Otros métodos: Administrador de dispositivos y símbolo del sistema
Además del Panel de control, tienes otros caminos para controlar el comportamiento de energía de los puertos y dispositivos USB. Uno de los más utilizados es el Administrador de dispositivos, muy útil cuando solo quieres evitar el ahorro de energía en un dispositivo concreto (por ejemplo, en un adaptador USB que pierde la conexión).
Desde el Administrador de dispositivos, puedes localizar tus controladores de bus serie universal (USB), los hubs USB y los dispositivos específicos, entrar en sus propiedades y, en la pestaña de Administración de energía, desmarcar la casilla que permite al sistema apagar el dispositivo para ahorrar energía. Esto no es exactamente lo mismo que desactivar la suspensión selectiva a nivel global, pero en la práctica impide que Windows corte la energía a ese componente en concreto.
Otra opción para usuarios avanzados es utilizar el Símbolo del sistema con privilegios de administrador para modificar la configuración de energía del sistema mediante comandos. Desde el menú Inicio, buscas “Símbolo del sistema”, eliges “Ejecutar como administrador” y lanzas los comandos apropiados para tu plan de energía activo, ajustando la política de suspensión selectiva. De esta forma, puedes automatizar cambios o aplicarlos por script en varios equipos.
Independientemente del método, tras desactivar la suspensión selectiva es buena idea reiniciar el equipo y comprobar durante un tiempo si los problemas con tus dispositivos USB desaparecen. Si no ves cambios, quizá el origen del fallo esté en otra parte (controladores desactualizados, hardware defectuoso, problemas eléctricos, etc.).
Suspensión selectiva de USB en Windows 11: importancia y matices
Con la llegada de Windows 11, la gestión de energía de los dispositivos ha cobrado todavía más relevancia. El sistema está muy orientado a optimizar el uso de recursos y reducir consumo incluso en equipos potentes, y la suspensión selectiva USB forma parte de esa estrategia, especialmente en portátiles modernos con modos de reposo avanzados.
En este entorno, la función se utiliza para equilibrar rendimiento y eficiencia: cuando un dispositivo USB no se está utilizando de manera activa, Windows 11 lo manda al banquillo energético para que el resto del sistema pueda gastar menos. Esto puede tener efectos sutiles en la sensación de rapidez del equipo, ya que algunos procesos pueden tardar un poco más en reaccionar si el dispositivo tiene que “despertar”, pero a cambio se gana autonomía.
Sin embargo, hay ocasiones en las que esta política choca con las necesidades reales del usuario. Por ejemplo, en entornos profesionales donde se requiere que ciertos periféricos USB estén siempre disponibles y con respuesta inmediata (lectores biométricos en control de acceso, equipos de medición, interfaces de audio, etc.), puede ser preferible sacrificar algo de eficiencia para evitar desconexiones o retardos.
Windows 11 ofrece, igual que Windows 10, varias vías para deshabilitar la suspensión selectiva: desde el Panel de control clásico, pasando por el Administrador de dispositivos, hasta comandos. El procedimiento es esencialmente el mismo: localizar la política de suspensión selectiva del USB y establecerla en “Deshabilitado” para las condiciones de energía que te interesen.
Actualización de controladores y otros escenarios habituales
Si después de desactivar la suspensión selectiva sigues teniendo problemas de detección o desconexión de dispositivos USB, es importante tener en cuenta que el origen del fallo puede estar en controladores desactualizados o mal escritos. En estos casos toca pasar por el Administrador de dispositivos, identificar el periférico conflictivo y buscar nuevas versiones del driver en la web del fabricante o a través de Windows Update.
También hay situaciones en las que la combinación de ahorro de energía de los planes de Windows (por ejemplo, un modo de “Ahorro de energía” muy agresivo) y la suspensión selectiva agrava los problemas. Cambiar el plan a “Alto rendimiento” o personalizarlo para ser menos agresivo con el apagado de dispositivos puede reducir los cortes de alimentación inesperados en los puertos USB.
En cualquier caso, antes de dar por muerto un pendrive o un disco externo porque “deja de funcionar”, merece la pena revisar la suspensión selectiva y las políticas de energía. Muchas veces el dispositivo está en perfecto estado y el problema es simplemente que el sistema está siendo demasiado celoso a la hora de ahorrar energía.
Con todo lo visto, se entiende mejor por qué la suspensión selectiva USB es a la vez una aliada y una potencial fuente de problemas: ahorra batería, reduce consumo y mejora la eficiencia, pero depende de que los dispositivos y sus controladores jueguen bien con las reglas de Windows; si no lo hacen, deshabilitarla o ajustarla de forma granular puede ser la clave para que tus memorias USB, discos externos y periféricos vuelvan a comportarse como es debido sin tener que cambiar de hardware ni volverte loco buscando errores misteriosos.