Arduino: avrdude: ser_open(): can’t open device “\\.\COM3”: Access is denied.

Como comentaba en alguno de los posts anteriorres, dedicados a esta increíble plaquita, uno de los peores errores con los que me he encontrado ha sido este:

avrdude: ser_open(): can’t open device “\\.\COM3”: Access is denied.

Bien, el síntoma era cuanto menos, estrobótico:

  • Antes de vacaciones programaba activamente en Arduino, casi a diario, para llevar a cabo algunos temas con mi proyecto NesPi
  • A la vuelta de las vacaciones, no funcionaba la placa, no podía programarla, y obtenía el mensaje de error que da nombre a esta entrada

No tenía ningún sentido, la verdad… Pero os explicaré un par de cosas que os harán ver el problema desde otro punto de vista, totalmente distinto.

  • Te obsesionas, no ves salida, no entiendes nada, no ha cambiado nada en tu pc!!!
  • De repente la placa no se conecta con el IDE de programación, y obtienes el error cada vez que intentas programarla
  • Detectas dos cosas, que a priori no les das importancia:
    • falla de manera intermitente, de modo que si intentas programar de manera continuada, a veces, lo logras…
    • ves que hay luces que parpadean en tu placa, luces que tú no has programado
    • esas luces son los led de TX, y de vez en cuando, RX
    • finalmente, detectas que la placa se reinicia continamente, cada X segundos

Así no se puede…

Vamos directamente a mis observaciones, sin mas preámbulos, porque lo que realmente quiero es haceros ver lo inusual de este problema, y que podáis detectarlo, si es que es lo mismo que os afecta a vosotros:

  • yo no estoy enviando nada a la placa por USB, por lo tanto ese parpadeo de TX no es mío!
  • yo no estoy enviando un reset a la placa, por lo tanto ese reset no es mío!
  • no puedo acceder al COM3 (o el que vosotros tengáis configurado), porque alguien lo tiene ocupado… (de ahí el “can’t open device…”, alguien ya está accediendo!!!)

Y ahora mis deducciones, prestad mucha atención a los palabros que os he puesto en negrita y cursiva en los puntos anteriores:

Alguien me está robando el canal de comunicación COM con mi Arduino, y es por el puerto USB, debido a los drivers FTDI, que también me han dado problemas

La deducción no ha sido sencilla, no os créais… No fue fácil detectar el mal comportamiento de la placa y enlazar todos los efectos… Por eso os los comento, para que seáis capaces de detectarlos rápidamente…

Y aquí está el culpable:

Culpable del COM3 access denied

Culpable del COM3 access denied

Es el driver de mi querido sai Salicru SPS One 900VA… El maravilloso software de ViewPower, que mas que un soft es un virus (os recomiendo no usarlo, y pasaros al NUTo alguno por el estilo…). Y que conste que no es problema del SAI, sino del software, que si no lo tienes conectado al USB escanea continuamente todos los COM en busca del dispositivo que debe controlar, con lo que está haciendo encuestas a todos los puertos abiertos (entre ellos nuestro COM3 del Arduino) para ver quién responde. De ahí que cada cierto tiempo se encendiera el TX del Arduino y no pudiéramos acceder al mismo, ya que el canal siempre estaba ocupado…

Por lo tanto, y para finalizar, si os ocurre esto, os recomiendo que sigáis estos pasos:

  • abrid el gestor de procesos del sistema, ya sea Windows o Linux (mirad en este caso los procesos activos en el sistema, o drivers usb…)
  • buscad candidatos a estar consumiendo conexiones al puerto usb
  • y si no lo véis claro, id parando uno por uno los servicios que véais “extraños”, como yo hice, hasta que el TX deje de parpadear…

Ahora ya funciona mi Arduino Nano, y ya puedo continuar con mis proyectos, tranquilamente…

Podéis seguir el post que abrí en el foro de Arduino, por este mismo problema: http://forum.arduino.cc/index.php?topic=270040

Espero haberos ayudado…

Suerte!!!

 

Jordi

Share Button

32 comentarios

  1. Este post ha sido de inmensa ayuda, llevaba mas de una hora tratando de solucionar el problema, dejare algunas consideraciones de mi caso por si le pasa a alguien mas:

    *El problema surgió desde que instale Windows 10
    *Me di cuenta de quien estaba usando mi puerto COM3 en el administrador de dispositivos “Intel(R) Active Management Technology -SOL”
    *Ambos dispositivos decian (COM3)
    *Los deshabilité y ahora mi arduino funciona

  2. Pues yo no he podido (WINDOWS 10 COM 4), al principio podia subir los sketchs a la placa sin problemas pero de un dia a otro ya no quiso, ya deshabilite varios arboles de procesos, todos los que pude y que me permitio el administrador de tareas, pero raramente me sube un sketch a la tabla y cuando lo trato de subir de nuevo en ese mismo instante me vuelve a salir el error, ya prove todo lo que se me ocurrio pero aun nada.
    Se agradece la ayuda.

    • Hola Alexandro. Desgraciadamente, los drivers de dispositivos “no originales” no van a funcionar en Windows 10. Ya lo han avisado y así lo etsan haciendo. Así que si no dispones de un Arduino original, con los drivers originales, no vamos a poder trabajar… Yo no puedo hacer nada en mi Windows10, porque todos mis Arduinos, excepto uno, son clónicos (ojo! que no es delito!), y los drivers de terceros no estan homologados en Widnows 10. Por lo tanto, no funcionan…

      Mi recomendación, ponerte una máquina virtual con Windows XP…

      • Que tal Jordi, mi problema se soluciono cuando baje la versión beta de Arduino que esta en la pagina web, apartir de ahí pude trabajar sin problemas subiendo a la placa mis programas con Windows 10.

    • Hola Mario, desdgraciadamente no hay ningún método eficiente. Deberás ir conectando y desconectado elementos y ver en la lista de servicios y puertos qué espacio ocupan. También podrás verlo en el listado de dispositivos… Deberás comprobar que no hay conflicto de direcciones…

        • Muy buenas, Aiden,
          Para poder comprobar qué puertos COM hay en uso, puedes dirigirte al apartado de Administrador de Dispositivos, en administración del sistema, y desplegar el listado “Puertos (COM y LPT)”. Allí podrás ver los puertos COM en uso.
          En versiones ya mas recientes del IDE de Arduino, ya existe un desplegable con un listado de puertos, con el nombre del mismo, cosa que antes no lo había. Ahí también puedes verlo.

          Espero haberte ayudado!

          Jordi

  3. Muchas gracias Jordi!
    Llevaba toda la tarde pensando que era algún problema con los drivers, instalando y desinstalando. Tuve el mismo problema que tú; ese $%!# proceso jaja
    Gracias mil veces 😀

  4. Me acabas de salvar la vida, ya estaba fastidiada de estar cazando el punto para que programara, nunca me imagine que fuera el view power el que diera problemas. En mi caso tengo instalado tambien el view power pro y con ese no presenta problemas ya que es por medio de una tarjeta SNMP.
    Te vas a ir al cielo, muchas gracias!

    • Hola Natalia, muchas gracias por tu comentario. Me alegro haber sido de ayuda, y sobre todo que hayas compartido tu experiencia.
      Para cualquier otra cosa que necesites y pueda ayudarte, por aquí estoy 🙂

      Saludos!
      Jordi

  5. Tengo Windows 10. Compre recientemente el SAI SALICRU PSP 700 ONE que también hace uso del software ViewPower. Me ha dejado bastante tiempo sin dejarme acceder a placas Arduino, y no tenía ni idea de cómo resolver el problema, así que gracias por tu post.
    En mi caso ha bastado con detener el servicio upsMonitor desde la pestaña de Servicios del Administrador de Tareas. Todo solucionado y gracias de nuevo.

  6. Buenas! cómo saber cuál es el que está fastidiando? porque yo llevo rato sin éxito… y no me atrevo a desmantelarlos todos… aunque lo que se me ocurre es tirar el portátil por la ventana….

    • Hola!
      Busca en la sección de dispositivos de tu PC y busca los puertos COM, a ver si hay alguno con un símbolo de Admiración, en amarillo. Eso significaría que tiene problemas de configuración o drivers.
      En esa misma sección, al desconectar y conectar el usb, verás que aparece o desaparece el dispositivo, y ese será el que está afectado…
      Ya me dices 😀

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.