これは以下に関連しています。前のスレッド一ヶ月前に書いたが、返事が来た。
今日、私はBelkin F5U409 USBシリアルアダプタを使用してUbunutu 20を実行しているラップトップでシリアルコンソールログインプロンプトを設定してみました。私は同じ問題に直面しました。大きなテキスト出力が最終的に間違ったテキストに分解されました。ただし、この時間設定はstty ixon
問題を解決しません。下記の質問のサンプル出力をご覧ください。
コンテキストでRS232を介してUbuntuノートブックに接続するために使用されるコンピュータはEPSON PX-8です。 PX-8では、TEL.COMという端末エミュレーションソフトウェアを使用しています。以下のPX-8で設定した端末パラメータを参照してください。
USB0でコンソールを有効にするためにsystemdを使用しています。 systemdを使用してフロー制御を設定する必要がありますか? sttyに加えて、ttyUSB0のパラメータを設定する必要がある他の場所はありますか?systemctl start [email protected]
Debian 10を実行している別のラップトップで設定しようとしましたが、同じ動作が発生しました。
PX-8のTEL.COM設定:
Baud: 9600, Char Bits: 8, Parity: NONE, Stop Bits: 2, RTS: ON, Flow Control: ON
コマンド履歴を出力しようとすると、この問題の例は次のとおりです。
albert@t450:/$ history
1 sudo rasp-config
2 sudo raspi-config
3 sudo nano /boot/cmdline.txt
4 tail /boot/cmdline.txt
5 sudo shutdown -r now
6 sudo vim ~/boot/cmdline.txt
7 cd /./boot
8 dir
9 sudo vim cmdline.txt
10 sudo vim config.txt
11 sudo shutdown -r now
12 dfgdf
13 vim
14 sudo vim cmdline.txt
15 cd /./boot
16 sudo vim cmdline.txt
17 sudo shutdown -r now
18 cd /./boot
19 sudo vim cmdline.txt
20 sudo shutdown -r now
21 ping 8.8.8.8
2 xprt TEM=Vvj9s9ds9j3oin so nat1 machine
x Rom =vos cngas-2goses9g3
-xtiet n n5
-s oiy
y
Ubuntuシステムのstty構成:
albert@t450:/$ stty -a
speed 9600 baud; rows 40; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^?;
kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1;
time = 0; -parenb -parodd -cmspar cs8 -hupcl cstopb cread -clocal -crtscts -ignbrk
-brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff -iuclc -ixany
-imaxbel iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0
bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop
-echoprt echoctl echoke -flusho -extproc
これらのパラメータはすべてsttyに設定されています。
ixon
ixoff
stop = ^S
start = ^Q;
cs8
cstopb
-parenb
ベストアンサー1
ベルキン F5U109 かなり古いデザインの機器らしいので、おそらくF5Uではないかと思います。409同じUSBを使うサプライヤー:機器IDも似ています。この場合、IDによって選択されたLinuxドライバはmct_u232.c。私たちはできる.h ファイル~のためフロー制御:
DTR/RTS 設定以外は、フロー制御関連の要求は実装されません。フロー制御がない場合は両方の信号が削除されますが、ハードウェアまたはソフトウェアのフロー制御を使用すると両方の信号が検証されます。
したがって、このドライバにはXON / XOFFソフトウェアフロー制御が実装されていないようで、Windows 98で実行されたUSBコマンドをスニッフィングして得られたものです。おそらく、ハードウェア自体がこの機能を提供していない可能性があります。
ユーザーレベルでフロー制御を実装しようとすることができますが、入出力に先入れ先出しがある可能性があるため、これだけでは不十分です。したがって、XOFFがユーザーレベルに達すると、まだ文字が多すぎるfifoがある可能性があります。キャンセルします。おそらく、PX-8はデータをパッケージ化するために使用できる他のプロトコルを提供しますか?
追加のモデムラインRTSとCTS(9ピンDB9の場合はピン7と8、DB25の場合はピン4と5)を接続して、ハードウェアフロー制御を引き続き使用できます。 PX-8を端末以外のコンピュータに接続している場合は、交換する必要があります。がstty crtscts
必要な場合があります-clocal
。
さらに、Linuxは、メーカーの適切なドキュメントのおかげで、広く使用されているFTDIシリーズなどの他のシリアルUSBデバイスをよりよくサポートできます。 FTDIドライバには次のようです。パスワードデバイスでXONおよびXOFF文字を設定すると、文字が到着してカーネルで認識されるのを待たずに、ハードウェアがXOFF文字の受信にすばやく応答できます。 FTDIチップの違法コピーが存在するため、完全な互換性を確保するために評判の良いブランドから購入することをお勧めします。