Desaparición del puerto COM serie USB: depurando re-enumeración, binding de driver, números de puerto y bridges CDC

Cómo resolver problemas de desaparición del puerto COM serie USB, cambios de número de puerto, re-enumeración, resets del bridge CDC ACM, fallos de binding de driver y aplicaciones que mantienen handles obsoletos.

usb serial com port disappears, com port missing, cdc acm, usb serial bridge, reenumeración, binding de driver, diagnóstico USB

Los dispositivos serie USB están en todos lados: "placas Arduino, controladores industriales, modems, receptores GPS, fixtures de test, sondas de debug, herramientas de PLC, dispositivos de códigos de barras y firmware CDC ACM a medida. Cuando el puerto COM desaparece, los usuarios buscan "USB serial COM port disappears", "COM port missing Device Manager", "USB serial re-enumerates", "CDC ACM device disconnects" y "COM port changes after reconnect" porque la aplicación suele decir solo que no puede abrir el puerto." Bus Scope ayuda porque un puerto COM desaparecido puede venir de capas muy distintas: "enumeración USB, problemas de descriptor, binding de driver, reset del dispositivo, handle obsoleto de la aplicación, fallo en line coding o asignación de un nuevo número COM por Windows."

El COM no es el dispositivo USB

El COM es una abstracción del sistema operativo creada tras la enumeración del dispositivo USB y el binding del driver serie. Si el dispositivo USB nunca enumera, no puede aparecer un COM. Si el dispositivo enumera pero la interfaz CDC falla, el COM puede seguir faltando.

Separa las capas:

  • ¿Se conectó el dispositivo USB?
  • ¿Se leyeron los descriptores correctamente?
  • ¿Terminó la configuración?
  • ¿Aparecieron las interfaces CDC?
  • ¿Se enlazó el driver?
  • ¿Asignó el SO un número COM?
  • ¿Abrió la aplicación el puerto correcto y actual?

La re-enumeración cambia los números de puerto

Windows puede asignar un nuevo número COM cuando aparece un dispositivo con un número de serie distinto, otro USB path, otro VID/PID o una identidad de interfaz distinta. Un dispositivo que resetea al modo bootloader puede exponer otro COM o ninguno.

Síntomas:

  • El dispositivo era COM8, ahora es COM11.
  • La aplicación recuerda el COM antiguo.
  • Enchufarlo en otro puerto USB cambia la asignación.
  • El bootloader usa otro puerto.
  • El dispositivo aparece como desconocido tras actualizar el firmware.

La traza del bus identifica si cambió la identidad del dispositivo.

Class requests de CDC ACM

Los dispositivos serie CDC suelen recibir class requests:

  • SET_LINE_CODING
  • GET_LINE_CODING
  • SET_CONTROL_LINE_STATE
  • SEND_BREAK

Si el firmware las stall o maneja mal, el puerto puede abrirse pero los datos no fluyen, o el binding de driver puede fallar.

Captura el comportamiento al abrir el puerto, no solo al enchufar. Muchos fallos pasan cuando la aplicación abre el COM y el driver manda cambios de line coding o de estado DTR/RTS.

Handles obsoletos de la aplicación

A veces el USB reenumera bien, pero la aplicación mantiene un handle antiguo o un caché de COM. El bus muestra que el dispositivo nuevo está. La aplicación falla porque no soltó o refrescó el puerto.

No es un fallo del bus USB. Es comportamiento de gestión de dispositivo o aplicación.

Checklist de depuración

Usa este flujo:

  1. Captura desde el plug-in.
  2. Confirma el device descriptor y el configuration descriptor.
  3. Inspecciona los descriptores de interfaz CDC.
  4. Captura la apertura del COM por parte de la aplicación.
  5. Inspecciona las class requests CDC.
  6. Comprueba si hay reset o desconexión tras el line coding.
  7. Compara la identidad del dispositivo antes y después de reconectar.
  8. Mira si cambió el número COM.
  9. Comprueba si la aplicación usa un nombre de puerto obsoleto.
  10. Conserva juntos la evidencia USB y las notas de asignación de puerto del SO.

Diagnóstico final

Un COM serie USB que desaparece puede ser fallo de enumeración, fallo de descriptor CDC, fallo de binding de driver, re-enumeración con una identidad nueva, fallo en line coding, reset bajo carga o estado obsoleto de la aplicación.

Bus Scope ayuda enseñando el lado USB de la historia para que los síntomas de COM se puedan atar a attach, descriptores, requests CDC, resets e identidad real del dispositivo.

<!-- bus-scope-localized-transaction-foundation-v1:start -->

Prueba del contrato USB para «Desaparición del puerto COM serie USB: depurando re-enumeración, binding de driver, números de puerto y bridges CDC»

La respuesta directa es que STALL, timeout o reset no explica por sí solo la causa. Primero demuestra que el proveedor observa el dispositivo correcto; después lee el contrato de transferencia: tipo, dirección, recipient, wValue, wIndex, longitud declarada y real, status y estado anterior y posterior. En «Desaparición del puerto COM serie USB: depurando re-enumeración, binding de driver, números de puerto y bridges CDC», relaciona la conclusión con la primera transacción que difiere de un caso bueno.

Límite Qué comparar Decisión útil
Plataforma proveedor, permiso, Root Hub o usbmon/XHC20 ¿Llegan records de la conexión correcta?
Setup bmRequestType, bRequest, wValue, wIndex, wLength ¿El host envía la petición prevista?
Data dirección, longitud y bytes retenidos ¿El payload cumple el contrato?
Status ACK, STALL, timeout o cancellation ¿Dónde termina la transacción?
Estado configuration, interface, alternate setting, endpoint halt ¿El dispositivo estaba preparado?

Empieza antes de reset y enumeración y conserva descriptors, SET_CONFIGURATION, SET_INTERFACE y el comando previo al fallo. Un filtro estrecho de endpoint puede ocultar el control transfer decisivo. Ejecuta una sola acción USB documentada por prueba y cambia solo firmware, driver, puerto, cable, comando o timing.

¿Cómo se escribe una respuesta citable?

Indica la petición observada, sus campos setup, la respuesta y el contexto anterior; propone después una prueba con un solo cambio. Bytes no retenidos por el límite de captura no prueban packet loss. La proximidad entre command y reset demuestra correlación, no causa sin repetición o transición de estado.

¿Cuándo vale una comparación?

Mantén VID/PID, firmware, speed, topología, proveedor, filtro y trigger. Compara fases USB semánticas y no frame numbers entre usbmon y USBPcap. Anota inicio, final, versión, OS, conexión y checksum. Revisa la solución de problemas de Bus Scope.

Los propietarios Semrush siguen separados: free USB analyzer en la página de producto, best USB protocol analyzer en la comparación y USB descriptor viewer en la guía de descriptors. Esta página de soporte no recibe volumen o KD inventado.

<!-- bus-scope-localized-transaction-foundation-v1:end --><!-- multilingual-blog-closeout:start -->

Respuesta directa y límite de aceptación

La respuesta breve a «Desaparición del puerto COM serie USB: depurando re-enumeración, binding de driver, números de puerto y bridges CDC» es: Cómo resolver problemas de desaparición del puerto COM serie USB, cambios de número de puerto, re-enumeración, resets del bridge CDC ACM, fallos de binding de driver y aplicaciones que mantienen handles obsoletos. Trate esa frase como un resultado que debe comprobarse, no como una promesa para cualquier entrada, dispositivo, proyecto o entorno. Un resultado completo registra estado inicial, acción exacta, salida visible y condición que demuestra que la tarea terminó en Bus Scope.

Procedimiento basado en evidencia

Empiece con un caso pequeño y repetible antes de cambiar un proyecto completo. Anote versión de la aplicación, sistema operativo, identidad de entrada o dispositivo, ajustes relevantes y resultado esperado. Ejecute una acción deliberada, conserve la primera transición inesperada y compárela con un caso conocido cuando exista. Cambiar varios controles a la vez oculta qué condición creó o corrigió el problema.

Punto de control 1: Desaparición del puerto COM serie USB: depurando re-enumeración, binding de driver, número

Compruebe «Desaparición del puerto COM serie USB: depurando re-enumeración, binding de driver, números de puerto y bridges CDC» con la entrada representativa más pequeña. Mantenga iguales los ajustes no relacionados, repita la misma acción y revise el resultado después de reabrir o reconectar. Una captura aislada es más débil que un registro con entrada, ajuste, acción, salida y hora.

Punto de control 2: Cómo resolver problemas de desaparición del puerto COM serie USB, cambios de número de pue

Si «Cómo resolver problemas de desaparición del puerto COM serie USB, cambios de número de puerto, re-enumeración, resets del bridge CDC ACM, fallos de bi» es ambiguo, compare un caso bueno y otro fallido bajo condiciones equivalentes. Marque la primera diferencia significativa en vez de enumerar todos los síntomas posteriores. Ese límite suele producir una consulta más clara y un experimento más seguro.

Punto de control 3: El COM no es el dispositivo USB

Compruebe «El COM no es el dispositivo USB» con la entrada representativa más pequeña. Mantenga iguales los ajustes no relacionados, repita la misma acción y revise el resultado después de reabrir o reconectar. Una captura aislada es más débil que un registro con entrada, ajuste, acción, salida y hora.

Punto de control 4: La re-enumeración cambia los números de puerto

Si «La re-enumeración cambia los números de puerto» es ambiguo, compare un caso bueno y otro fallido bajo condiciones equivalentes. Marque la primera diferencia significativa en vez de enumerar todos los síntomas posteriores. Ese límite suele producir una consulta más clara y un experimento más seguro.

Punto de control 5: Class requests de CDC ACM

Compruebe «Class requests de CDC ACM» con la entrada representativa más pequeña. Mantenga iguales los ajustes no relacionados, repita la misma acción y revise el resultado después de reabrir o reconectar. Una captura aislada es más débil que un registro con entrada, ajuste, acción, salida y hora.

Punto de control 6: Handles obsoletos de la aplicación

Si «Handles obsoletos de la aplicación» es ambiguo, compare un caso bueno y otro fallido bajo condiciones equivalentes. Marque la primera diferencia significativa en vez de enumerar todos los síntomas posteriores. Ese límite suele producir una consulta más clara y un experimento más seguro.

Punto de control 7: Checklist de depuración

Compruebe «Checklist de depuración» con la entrada representativa más pequeña. Mantenga iguales los ajustes no relacionados, repita la misma acción y revise el resultado después de reabrir o reconectar. Una captura aislada es más débil que un registro con entrada, ajuste, acción, salida y hora.

Punto de control 8: Diagnóstico final

Si «Diagnóstico final» es ambiguo, compare un caso bueno y otro fallido bajo condiciones equivalentes. Marque la primera diferencia significativa en vez de enumerar todos los síntomas posteriores. Ese límite suele producir una consulta más clara y un experimento más seguro.

Punto de control 9: Prueba del contrato USB para «Desaparición del puerto COM serie USB: depurando re-enumerac

Compruebe «Prueba del contrato USB para «Desaparición del puerto COM serie USB: depurando re-enumeración, binding de driver, números de puerto y bridges CDC»» con la entrada representativa más pequeña. Mantenga iguales los ajustes no relacionados, repita la misma acción y revise el resultado después de reabrir o reconectar. Una captura aislada es más débil que un registro con entrada, ajuste, acción, salida y hora.

Punto de control 10: ¿Cómo se escribe una respuesta citable?

Si «¿Cómo se escribe una respuesta citable?» es ambiguo, compare un caso bueno y otro fallido bajo condiciones equivalentes. Marque la primera diferencia significativa en vez de enumerar todos los síntomas posteriores. Ese límite suele producir una consulta más clara y un experimento más seguro.

Matriz de aceptación

Punto Evidencia que conservar Condición de aprobado
Desaparición del puerto COM serie USB: depurando re-enumeración, binding de driver, números de puerto y bridges CDC Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
Cómo resolver problemas de desaparición del puerto COM serie USB, cambios de número de puerto, re-enumeración, resets de Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
El COM no es el dispositivo USB Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
La re-enumeración cambia los números de puerto Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
Class requests de CDC ACM Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
Handles obsoletos de la aplicación Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado

Aislamiento, recuperación y entrega

Deténgase en el primer límite que falla. Conserve fuente, proyecto, sesión o captura, duplíquelo antes de una edición destructiva y cambie una variable por experimento. Repetir un flujo amplio después de varios cambios puede dar otro resultado sin explicar la causa.

Separe ausencia de evidencia de evidencia de ausencia. Una vista vacía puede indicar entrada, alcance, filtro, permiso, dispositivo, intervalo o estado equivocado. Verifique adquisición o importación antes de interpretar el decoder, editor, informe o exportación.

Antes de entregar, reabra el artefacto y revise inicio, punto de decisión y final. Registre versión, plataforma, configuración, expectativa, observación y reproducción mínima. Elimine o redacte datos sensibles y confirme que el destinatario está autorizado.

Preguntas y respuestas

¿Cuál es la forma fiable más rápida de empezar?

Use el caso representativo más pequeño, escriba el resultado esperado y cambie una variable. Confirme el recorrido básico antes de añadir filtros, efectos, ediciones, automatización o una fuente mayor.

¿Qué evidencia debe guardarse?

Conserve identidad de entrada, versión, plataforma, ajustes, acción exacta, primera transición inesperada y salida final. Cierre y reabra cualquier proyecto, sesión, informe o exportación antes de considerarlo duradero.

¿Cuándo debe repetirse el procedimiento?

Repítalo después de cambios relevantes en aplicación, sistema, driver, firmware, modelo, fuente o flujo. Preserve el caso aceptado anterior como referencia sin modificar.

¿Cuándo está listo para entregar?

Cuando otra persona autorizada identifica la entrada, repite la acción, obtiene el mismo resultado, entiende los límites restantes y abre el artefacto sin depender de estado local no documentado.

Guías relacionadas

Estas páginas en el mismo idioma cubren etapas contiguas sin cambiar el propietario canónico del tema:

<!-- multilingual-blog-closeout:end -->