Aparentemente, eu precisava usar /dev/cu.usbmodem1234
em vez de dev/tty.usbmodem1234
. Obrigado pela solução para a empresa que fabrica este dispositivo .
Eu tenho um RNG de hardware baseado em USB TrueRNG e estou tentando ler sua saída no Mac OS X 10.9.2. Eu preciso apenas de comunicação unidirecional.
O dispositivo diz que ele aparece como "Porta Serial Virtual do CDC" e, na verdade, eu o vejo como /dev/tty.usbmodem1411
.
Eu nunca consegui cat /dev/tty.usbmodem1411
; quando eu faço, não recebo nenhuma saída. No entanto, posso usar minicom
ou picocom
para ler a partir dele. Com picocom
, funciona mesmo com --noinit --noreset
opções, sugerindo que devo ser capaz de cat
desse dispositivo.
Então, meus problemas / perguntas:
cat
desse dispositivo? minicom
e picocom
, ele funciona apenas na primeira sessão: se eu fechar um desses programas, reabri-los, eles lerão cerca de 300 bytes e bloquearão para sempre. Se eu fechar e reabrir novamente , eles não poderão ler nada. Quando eu desconectar e reconectar o dispositivo USB, porém, é novamente legível para sempre na primeira tentativa. Por que isso seria, e isso tem a ver com essa citação da documentação do TrueRNG? "Ao limpar o sinalizador DTR na porta serial virtual, o fluxo de dados será interrompido. O fluxo de dados será retomado quando o DTR for definido." picocom /dev/tty.usbmodem1411 | xxd -p
. A saída, no entanto, não parece respeitar o caractere de nova linha; apenas o retorno do carro. Ele se move para a próxima linha sem voltar ao início da linha. Eu preferiria que fosse contínuo. Veja alguns diagnósticos:
% stty -a -f /dev/tty.usbmodem1411
speed 9600 baud; 0 rows; 0 columns;
lflags: -icanon -isig -iexten -echo -echoe -echok -echoke -echonl
-echoctl -echoprt -altwerase -noflsh -tostop -flusho -pendin
-nokerninfo -extproc
iflags: -istrip -icrnl -inlcr -igncr -ixon -ixoff -ixany -imaxbel -iutf8
-ignbrk -brkint -inpck -ignpar -parmrk
oflags: -opost -onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb crtscts -dsrflow
-dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
Aparentemente, eu precisava usar /dev/cu.usbmodem1234
em vez de dev/tty.usbmodem1234
. Obrigado pela solução para a empresa que fabrica este dispositivo .
Tags serial-port