sintomas revisarse rechazo radiografia precio mirena kyleena jaydess encarnado diu consecuencias colocado bien windows embedded serial-port mouse plug-and-play
como un ejemplo de WDK

windows - revisarse - radiografia de diu bien colocado



Dispositivo mal detectado como ratón serial (8)

En mi entorno de desarrollo, simplemente deshabilité Microsoft Serial Mouse desde el Administrador de dispositivos.

Esto parece resolver el culpable de mi problema. Antes de hacerlo, el chip CH340G que he usado en mi diseño solía bajar el DTR cinco veces antes de iniciar la conexión, reiniciando efectivamente mi placa basada en Arduino y haciéndola inútil.

Estoy trabajando en un dispositivo que se comunica con una PC a través de un puerto serie (virtual). El problema es que los datos que enviamos de vez en cuando se identifican incorrectamente por Windows como un mouse de bus, después de lo cual se carga el controlador "Microsoft Serial Ballpoint" y el puntero del ratón comienza a saltar por la pantalla y hace clic al azar en las cosas.

Un poco de Google revela que es un problema antiguo y bien conocido con los dispositivos serie, donde la solución habitual es un poco de piratería de registro para deshabilitar el controlador infractor. Sin embargo, eso es mucho para exigir a nuestros usuarios y prefiero no tener nuestra aplicación jugando con el registro del usuario. Especialmente no cuando la solución depende de la versión de Windows y el usuario puede estar usando un mouse de bus.

En su lugar, me gustaría evitar el problema cambiando nuestro protocolo para no enviar ningún dato que pueda identificarnos erróneamente como mouse. El único problema es que no estoy seguro de qué patrones evitar. Aparentemente, el protocolo Mouse de Microsoft consiste en paquetes de cuatro bytes en los que se establece el MSB del primero y el de los últimos tres está claro.

¿Sería suficiente enviar solo ASCII de 7 bits? ¿Hay algún otro dispositivo que deba preocuparme por ser detectado?


Me he encontrado con este error de Windows a mí mismo. Aquí está mi propia investigación sobre el tema:

Microsoft reconoce este error: http://support.microsoft.com/kb/819036 Comience con la descarga de su herramienta y vea si resuelve el problema.

  • Descarga e instala su programa.
  • Ejecútelo desde el símbolo del sistema desde C: / program / Microsoft comdisable /
  • Escriba comdisable /list al ejecutar el programa.
  • Se mostrarán todos los puertos de la computadora.
  • Escriba comdisable /disable COMx donde x es el número de puerto.
  • Haga esto para todos los puertos en la computadora.
  • Reiniciar.

Esto debería funcionar como una solución universal.

Alternativamente, puede piratear en boot.ini pero no creo que esto funcione en Vista / Win 7. Tengo una nota de aplicación de los sistemas de Cisco que describe cómo hacer esto. Si lo anterior no resuelve su problema, hágamelo saber.


Resulta que la detección del mouse en Windows normalmente es manejada por el serenum.sys filtro serenum.sys . Este controlador implementa la compatibilidad con los ratones serie heredados junto con el plug-and-play serie . Microsoft incluso ha proporcionado el código fuente como un ejemplo de WDK .

Durante la detección, los puertos cambian al modo 1200-7-N-1 al tiempo que establecen DTR + RTS a los que se espera una respuesta dentro de 200 ms, con un par de reintentos en caso de falla. Desafortunadamente para un ratón heredado, un solo carácter M o B suficiente como identificación.

En nuestro caso, el protocolo se modificó para evitar estos caracteres y ahora parece que ya no se puede identificar erróneamente.

Sin embargo, estábamos usando un puerto serie USB virtual y para un puerto serie tradicional, este enfoque puede ser algo difícil, ya que cualquier cosa enviada a una velocidad de transmisión diferente puede parecer un ruido de línea. En este caso, supongo que la solución más sencilla es probablemente, como ya se ha sugerido, evitar realizar transmisiones no solicitadas.

Alternativamente, con las señales de control en serie realmente conectadas o interceptadas por un dispositivo CDC USB, procesando las señales DTR o RTS y deteniendo la salida. En realidad, implementar el protocolo plug-and-play sería una opción aún más inteligente. Supuestamente, hay cables RS232 baratos sin un complemento completo de señales de control, por lo que este enfoque podría fallar.


Si tiene un puerto serie "verdadero", o un dispositivo USB (RS-232, RS-485, no importa), este problema puede solucionarse abriendo primero el puerto serie en cuestión con un terminal, o cualquier otra aplicación. desee monitorearlo con, y solo luego enchufar el dispositivo. Por su propio bien, también debe prestar atención para quitar el dispositivo antes de terminar la conexión.

Con los chips FTDI soldados en el propio dispositivo, estás atrapado. Me tomó algunas rondas explicar la administración de que un dispositivo que se comunica solo con un chip FTDI soldado en la PCB que se encuentra en una computadora Windows probablemente no pase por ser amigable para el usuario, sin importar qué tan resbaladizo pueda parecer un conector USB en el gabinete ... (Afortunadamente, todas estas condiciones que se juntan son bastante raras e inusuales)


Tal vez esto ayude: tuvimos el mismo problema con FTDI FT232RL. Descubrimos que se trataba de un problema de hardware de nuestra PCB.

La hoja de datos FTDI dice acerca de # RESET-Pin: Pin activo de restablecimiento bajo. Esto puede ser utilizado por un dispositivo externo para restablecer el FT232R. Si no es necesario, se puede dejar desconectado o ser conectado a VCC.

RESET-Pin no era necesario en nuestra aplicación, por lo que lo conectamos a Vcc a través de 1k Pull-Up. Parecía que el pull-up de # RESET-Pin causó un inicio indefinido del FT232RL, al menos cada segundo convertidor, nos conectamos a una toma USB causando un punto de bola serial en el administrador de Devive. Eliminamos la resistencia de pull-up en # RESET-Pin, con lo cual el # RESET-Pin está desconectado. Desde entonces, todas las interfaces funcionaron correctamente y ya no crearon puntos de bola en serie en el administrador de dispositivos de Windows.



Tuve este problema desde 2010 con cabezales de escala serie conectados a la PC. Usb al convertidor de serie o no ... Utilizo solo el dispositivo CP2102 de SILABS o similar. Lo resolví simplemente permitiendo que el controlador se instale y luego busque en el administrador de dispositivos el controlador de bolígrafo con el mouse / HIDA y luego DESACTIVAR el controlador. , NO DESINSTALARLO simplemente deshabilítelo. Luego, cuando reinicia, incluso con el controlador instalado, parece que Windows ignora el comportamiento como un mouse serie y usa los datos de la entrada. También encontrará que si el controlador de bolígrafo está activo, entonces COMport está en uso y, a veces, devuelve un COM PORT no accesible ... espero que esto ayude a alguien por ahí :) Tx Ben


Acabo de encontrar este problema en Windows 7 Professional x64 , y una solución que funcionó para mí fue ingresar al registro y editar el siguiente valor:

Location: HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/sermouse Key: Start Value: 3

Cambie el Value a 4 y detendrá este problema.

Aquí hay una lista de todos los valores de inicio válidos :

0 Boot (loaded by kernel loader). Components of the driver stack for the boot (startup) volume must be loaded by the kernel loader. 1 System (loaded by I/O subsystem). Specifies that the driver is loaded at kernel initialization. 2 Automatic (loaded by Service Control Manager). Specifies that the service is loaded or started automatically. 3 Manual. Specifies that the service does not start until the user starts it manually, such as by using Device Manager. 4 Disabled. Specifies that the service should not be started.

Un comando de edición reg sería el siguiente:

REG ADD "HKLM/SYSTEM/CurrentControlSet/Services/sermouse" /V Start /T REG_DWORD /F /D 4

A continuación, debe reiniciar la computadora, que ahora debería iniciarse correctamente y no intentar descubrir un mouse serie.

buena suerte.