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

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.