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.
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_CODINGGET_LINE_CODINGSET_CONTROL_LINE_STATESEND_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:
- Captura desde el plug-in.
- Confirma el device descriptor y el configuration descriptor.
- Inspecciona los descriptores de interfaz CDC.
- Captura la apertura del COM por parte de la aplicación.
- Inspecciona las class requests CDC.
- Comprueba si hay reset o desconexión tras el line coding.
- Compara la identidad del dispositivo antes y después de reconectar.
- Mira si cambió el número COM.
- Comprueba si la aplicación usa un nombre de puerto obsoleto.
- 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 -->