El adaptador USB a serie funciona una vez por cada reinicio

7

Actualización # 2, después de probar con diferentes aplicaciones de consola, creo que la conclusión es que la pantalla GNU que viene con Mac OS X 10.11.4 tiene un defecto que causa este problema. Espero que algunos desarrolladores puedan ver esto y ayudar a diagnosticar una solución ...

Actualización # 1, ahora actualicé a la versión 10.11.4 y también actualicé el controlador de cable ... ¡El problema aún ocurre ... ¡ayuda!

Tengo un adaptador USB a serie para conectar al puerto CONSOLE del conmutador / enrutador y uso la "pantalla" dentro de la Terminal para conectar. Recientemente encontré que "screen /dev/cu.usbserial 9600" funciona solo una vez por cada reinicio del sistema. Aquí están los pasos para replicar:

  1. La salida de "ls / dev / usb " muestra el dispositivo correcto.
  2. Inicie sesión en la consola del dispositivo con "screen /dev/cu.usbserial 9600"
  3. Presiona "Ctrl + A, Ctrl + K" para salir de la pantalla
  4. (opcional), desconecte / vuelva a conectar el usb al adaptador en serie de la computadora portátil O desconecte / vuelva a conectar el cable de la consola del dispositivo de destino.
  5. La salida de "ls / dev / usb " aún muestra el dispositivo correcto.
  6. Intente conectarse a la consola nuevamente con "screen /dev/cu.usbserial 9600", el proceso de la pantalla se bloqueará. Una vez que esto sucede, el proceso de la pantalla no puede eliminarse a través de "sudo kill -9" y solo se puede resolver con un ciclo de alimentación completo. Por cierto, la computadora portátil también se bloqueará durante el reinicio / apagado, hasta que siga presionando el botón de encendido ...
  7. Una vez que la pantalla se bloquea, la salida de "ls / dev / usb " no mostrará nada.

Una vez que la computadora portátil se reinicie, puedo conectarme con el mismo comando de pantalla y el mismo escenario para el paso 2-3 anterior ...

Tengo Mac OS 10.11.3 y el adaptador es de marca Micro Innovations (Prolific chip). Descargué e instalé / reinstalé el controlador del sitio Prolific y no hay diferencia ...

¿Alguna idea?

    
pregunta m1xed0s 17.02.2016 - 22:23

4 respuestas

1

En primer lugar, ¿ cu -l /dev/cu.usbserial -s 9600 funciona más de una vez? Si no, ¿cómo falla?

Debido a que el segundo bloque se abre y no muere, incluso con kill -9 , es probable que se trate de un problema del controlador con la llamada a open(2) para que se bloquee el controlador inicial del dispositivo. El dispositivo abierto podría bloquearse si el dispositivo no está en modo local y la entrada del CD es baja.

Algunas versiones de esos dispositivos tienen errores de control de flujo de hardware. Puede probar una corrección de hardware de RTS en bucle a CTS y conectar DTR, DSR y CD en el conector y simplemente dejar que los RX, TX y los pines de tierra se conecten al puerto de la consola.

Otra posibilidad es ejecutar stty clocal < /dev/cu.usbserial . Esto debería hacer que el dispositivo ignore las señales de control. Vale la pena intentarlo desde un terminal diferente, mientras que el segundo abierto está bloqueando.

Actualización:

Debe ejecutar cu con sudo para que pueda escribir un archivo de bloqueo en / var / spool / uucp. Si no tiene una disputa por los puertos (poco probable en un solo usuario de Mac), puede cambiar la ruta del directorio de bloqueo usando un archivo de configuración. Cree un directorio vacío, luego cree una configuración de archivo de configuración lockdir a esa ruta de directorio. Algo como:

lockdir /User/yourname/lockdir

Luego ejecute utilizando una línea de comando como esta:

cu -I /path/to/conf/file -l /dev/cu.usbserial -s 9600
    
respondido por el janm 23.03.2016 - 06:45
1

También tuve este problema, exactamente como se describe con un dispositivo USB / serie PL2303.

La solución con la que fui fue usar el controlador de enlace

La pantalla funcionó bien después de esto para múltiples conexiones.

    
respondido por el Jonah Braun 18.08.2017 - 18:17
0

Me gustaría mencionar, no siendo mencionado en ninguna otra parte, que tengo el mismo problema en una Raspberry Pi con el mismo conector USB a serie.

Una pregunta que sigue sin respuesta es cómo desconectarse: descubrí eso en la página de manual cu : ~.

También descubrí que sudo cu -l /dev/cu.usbserial -s 9600 funciona en la reconexión al RPi (RPi 1, Modelo B); pero sudo cu -l /dev/cu.usbserial -s 115200 no lo hace; que está en desacuerdo con las instrucciones de Adafruit, que dicen screen /dev/cu.usbserial 115200 .

Ahora estoy feliz de poder conectarme y desconectarme a la RPi a voluntad. También puedo cu sin sudo . Gracias @janm.

    
respondido por el Sam Habiel 07.02.2017 - 06:30
0

Para resolver esto, eliminé la extensión FTDI y reinstalé la versión más actual del 'controlador' (v2.3) descargado del sitio web de FTDI.

rm /Library/Extensions/FTDIUSBSerialDriver.kext
Install new version
Restart

Ahora puedo desconectar y volver a conectar el cable USB a Serial sin reiniciar.

    
respondido por el Andy 07.03.2017 - 22:19

Lea otras preguntas en las etiquetas