私実際のRNGUSBベースのハードウェアRNGで、Mac OS X 10.9.2で出力を読み取ろうとしています。一方的なコミュニケーションが必要なだけです。
デバイスでは「CDC仮想シリアルポート」と表示されるというが実際には/dev/tty.usbmodem1411
。
私はそのようなことをしたことがありませんcat /dev/tty.usbmodem1411
。これによりまったく結果が得られません。しかし、私はそれを使用minicom
したりpicocom
読むことができます。を使用するとオプションpicocom
とも機能します。--noinit --noreset
しなければならないcat
デバイスに接続できます。
私の質問/質問は次のとおりです。
- なぜこのデバイスを使用できないのです
cat
か? minicom
と一緒に動作しますが、picocom
最初のセッションでのみ機能します。これらのプログラムのいずれかを閉じて再度開くと、約300バイトを読み、永久にブロックされます。閉じてもう一度開くと再び、彼らは何も読むことができません。ただし、USBデバイスを取り外して再接続すると、最初の試みで永久に読み取られます。なぜこれが起こるのですか?これはTrueRNGドキュメントの参照に関連していますか? 「仮想シリアルポートのDTRフラグをクリアするとデータフローが停止します。DTRが設定されるとデータフローが再開されます。」- 任意のデータを16進数で見たいです。だから私は次のコマンドを試してみます:
picocom /dev/tty.usbmodem1411 | xxd -p
。しかし、出力は改行文字を尊重しないようです。行の先頭に戻らずに次の行に移動します。私はそれが永続的であることを望みます。
以下はいくつかの診断です。
% 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;
答え1
/dev/cu.usbmodem1234
代わりに使用する必要があるようですdev/tty.usbmodem1234
。ありがとうございます。解決策デバイスを製造する会社です。