L'adattatore da USB a seriale funziona una volta per ogni riavvio

7

Aggiornamento n. 2, dopo aver provato con diverse applicazioni console, penso che la conclusione sia che lo schermo GNU in arrivo con Mac OS X 10.11.4 presenta un difetto che causa questo problema. Spero che alcuni sviluppatori possano vedere questo e aiutare a diagnosticare una correzione ...

Aggiornamento n. 1, ora ho aggiornato al 10.11.4 e ho anche aggiornato il driver via cavo ... Il problema si verifica ancora ... aiuto !!!

Ho un adattatore USB-seriale per il collegamento alla porta CONSOLE dello switch / router e uso "schermo" all'interno del terminale per connetterti. Recentemente ho trovato lo "schermo /dev/cu.usbserial 9600" funziona solo una volta per ogni riavvio del sistema. Ecco i passaggi da replicare:

  1. L'output di "ls / dev / usb " mostra il dispositivo corretto.
  2. Accedi alla console del dispositivo con "schermo /dev/cu.usbserial 9600"
  3. Premi "Ctrl + A, Ctrl + K" per uscire dalla schermata
  4. (opzionale), scollegare / ricollegare l'adattatore da USB a seriale dal portatile OPPURE disconnettere / ricollegare il cavo della console dal dispositivo di destinazione.
  5. L'output di "ls / dev / usb " mostra ancora il dispositivo corretto.
  6. Prova a connetterti di nuovo alla console con "screen /dev/cu.usbserial 9600", la procedura di schermo si bloccherà. Una volta che ciò accade, il processo di schermo non può essere ucciso tramite "sudo kill -9" e può essere risolto solo con il ciclo di spegnimento completo. A proposito, il laptop si bloccherà anche durante il riavvio / spegnimento, fino a quando continuo a premere il pulsante di accensione ...
  7. Una volta che lo schermo si è bloccato, l'output di "ls / dev / usb " non mostrerebbe nulla.

Quando il laptop si riavvia, posso connettermi con lo stesso comando sullo schermo e lo stesso scenario per il passaggio 2-3 sopra ...

Ho Mac OS 10.11.3 e l'adattatore è di marca Micro Innovations (chip Prolific). Ho scaricato e installato / re-installato il driver dal sito Prolific e nessuna differenza ...

Qualche idea?

    
posta m1xed0s 17.02.2016 - 22:23
fonte

4 risposte

1

Innanzitutto, cu -l /dev/cu.usbserial -s 9600 funziona più di una volta? Se no, come fallisce?

Poiché il secondo blocco aperto non muore nemmeno con kill -9 , probabilmente è un problema di driver con la chiamata a open(2) che ottiene il blocco iniziale del dispositivo. Il dispositivo aperto potrebbe bloccarsi se il dispositivo non è in modalità locale e l'ingresso CD è basso.

Alcune versioni di questi dispositivi hanno bug di controllo del flusso hardware. È possibile provare una correzione hardware del looping RTS su CTS e collegare DTR, DSR e CD sul connettore e lasciare che RX, TX e pin di messa a terra si colleghino alla porta della console.

Un'altra possibilità è in esecuzione stty clocal < /dev/cu.usbserial . Questo dovrebbe far sì che il dispositivo ignori i segnali di controllo. Vale la pena provare da un terminale diverso mentre il secondo open sta bloccando.

Aggiornamento:

Devi eseguire cu con sudo in modo che possa scrivere un file di blocco su / var / spool / uucp. Se non si ha alcuna contesa per le porte (improbabile su un singolo utente Mac), è possibile modificare il percorso della directory di blocco utilizzando un file di configurazione. Crea una directory vuota, quindi crea un file di configurazione che imposta lockdir su quel percorso di directory. Qualcosa come:

lockdir /User/yourname/lockdir

Quindi esegui utilizzando una riga di comando come questa:

cu -I /path/to/conf/file -l /dev/cu.usbserial -s 9600
    
risposta data 23.03.2016 - 06:45
fonte
1

Ho riscontrato questo problema, esattamente come descritto con un dispositivo USB / seriale PL2303.

La soluzione che ho seguito è stata l'utilizzo del driver da link

Lo schermo ha funzionato bene dopo questo per più connessioni.

    
risposta data 18.08.2017 - 18:17
fonte
0

Vorrei menzionare, senza essere menzionato da nessun'altra parte, che ho lo stesso identico problema su un Raspberry Pi con lo stesso connettore USB-seriale.

Una domanda che rimane senza risposta è come disconnettersi: l'ho trovato nella pagina man di cu : ~.

Inoltre ho scoperto che sudo cu -l /dev/cu.usbserial -s 9600 funziona sulla riconnessione al RPi (RPi 1, Modello B); ma sudo cu -l /dev/cu.usbserial -s 115200 no; che è in contrasto con le istruzioni di Adafruit, che dicono screen /dev/cu.usbserial 115200 .

Ora sono felice di essere in grado di connettermi e disconnettermi a RPi a piacimento. Sono anche in grado di cu senza sudo . Grazie @janm.

    
risposta data 07.02.2017 - 06:30
fonte
0

Per risolvere questo problema, ho rimosso l'estensione FTDI e reinstallato la versione più recente del "driver" (v2.3) scaricato dal sito Web di FTDI.

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

Ora posso scollegare e ricollegare il cavo USB-Serial senza riavviare.

    
risposta data 07.03.2017 - 22:19
fonte

Leggi altre domande sui tag