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


8

Aggiornamento n. 2, dopo aver testato con diverse applicazioni console, penso che la conclusione sia che la schermata 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 soluzione ...

Aggiornamento n. 1, ora ho eseguito l'aggiornamento alla versione 10.11.4 e anche aggiornato il driver del cavo ... Il problema si verifica ancora ... aiuto !!!

Ho un adattatore da USB a seriale per il collegamento alla porta CONSOLE dello switch / router e utilizzo lo "schermo" all'interno del terminale per connettermi. Recentemente ho scoperto che "screen /dev/cu.usbserial 9600" funziona una sola volta per ogni riavvio del sistema. Ecco i passaggi per replicare:

  1. L'output di "ls / dev / usb " mostra il dispositivo corretto.
  2. Accedi alla console del dispositivo con "screen /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 laptop OPPURE scollegare / 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", il processo dello schermo si bloccherà. Una volta che ciò accade, il processo dello schermo non può essere ucciso tramite "sudo kill -9" e risolto solo con il ciclo di accensione 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 bloccato lo schermo, l'output di "ls / dev / usb " non mostrerebbe nulla.

Una volta riavviato il laptop, posso collegarmi con lo stesso comando su schermo e lo stesso scenario per il passaggio 2-3 sopra ...

Ho Mac OS 10.11.3 e l'adattatore è marchiato Micro Innovations (chip prolifico). Ho scaricato e installato / reinstallato il driver dal sito Prolific e nessuna differenza ...

Qualche idea?


Qualcuno potrebbe aiutare? O sono l'unico a riscontrare il problema?
m1xed0s,

Ora ho aggiornato alla versione 10.11.4 e anche aggiornato il driver del cavo ... Il problema si verifica ancora ... aiuto !!!
m1xed0s

Innanzitutto, non vorrei utilizzare lo schermo per connettermi alle console seriali. minicom è lo strumento che desideri, può essere installato tramite MacPorts. In secondo luogo, il chip Prolific è problematico, in particolare con l'hardware Cisco. L'unico seriale USB affidabile che ho usato è il Keyspan USA-19HS.
medbot

@medbot, quello che ho è fornito dalla compagnia ... quindi più economico dal mio punto di vista. In realtà non ho avuto problemi con la connessione a diversi dispositivi del fornitore tramite screen, solo di recente ho iniziato a causarmi problemi su Mac.
m1xed0s

Risposte:


2

In primo luogo, cu -l /dev/cu.usbserial -s 9600funziona più di una volta? In caso contrario, come fallisce?

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

Alcune versioni di tali dispositivi presentano bug di controllo del flusso hardware. È possibile provare una correzione hardware del looping da RTS a CTS e la connessione di DTR, DSR e CD sul connettore e lasciare che RX, TX e pin di 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 altro terminale mentre la seconda apertura sta bloccando.

Aggiornare:

È necessario eseguire cucon in sudomodo che possa scrivere un file di blocco in / var / spool / uucp. Se non si dispone di contesa per le porte (improbabile su un singolo utente Mac), è possibile modificare il percorso della directory di blocco utilizzando un file di configurazione. Creare una directory vuota, quindi creare un'impostazione del file di configurazione lockdirper quel percorso di directory. Qualcosa di simile a:

lockdir /User/yourname/lockdir

Quindi eseguire utilizzando una riga di comando come questa:

cu -I /path/to/conf/file -l /dev/cu.usbserial -s 9600

cu -l /dev/cu.usbserial -s 9600funziona più di una volta. Penso che tu sia proprio all'aperto (2) ... Ho anche provato, stty clocal < /dev/cu.usbserialma dopo quello schermo si blocca ancora sulla seconda connessione ...
m1xed0s

Per risparmiare sforzo di hacking sull'adattatore e denaro per acquistare un altro adattatore, dovrei semplicemente usare cuinvece di screenquando devo collegarmi alla console?
m1xed0s

@ m1xed0s Sì, dovresti usare cuinvece di screen. Se hai bisogno della funzionalità di distacco, puoi farlo screen cu -l /dev/cu.usbserial -s 9600. Il problema è probabilmente quello di screencambiare la gestione del segnale RS-232 sulla porta e culasciarla sola.
Jan

@ m1xed0s Con il stty clocal < /dev/cu.usbserialcomando, l'hai provato mentre screenera sospeso? Provandolo prima del secondo comando e durante il secondo comando prova cose diverse; vale la pena provare entrambi.
Jan

Non ho bisogno di staccare la funzione di screenma l'unico inconveniente cuè che devo correre con sudo... Controllerò di sttynuovo e
riferirò

1

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

La soluzione che ho scelto è stata quella di utilizzare il driver da https://www.mac-usb-serial.com/

Lo schermo ha funzionato bene dopo questo per connessioni multiple.


0

Vorrei menzionare, non essendo menzionato altrove, che ho lo stesso identico problema su un Raspberry Pi con lo stesso connettore da USB a seriale.

Una domanda che rimane senza risposta è come disconnettersi: l'ho scoperto nella cupagina man:~.

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

Sono felice ora di essere in grado di connettermi e disconnettermi a RPi a piacimento. Sono anche in grado di farlo cusenza sudo. Grazie @janm.


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 disconnettere e riconnettere il cavo da USB a seriale senza riavviare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.