ttyUSB0シリアルポートがクラッシュしてロックされ、コンピュータのリセットが必要

ttyUSB0シリアルポートがクラッシュしてロックされ、コンピュータのリセットが必要

私はこの質問をstack Overflowに投稿しましたが、似たような質問を見つけた後、これがより良い場所であることに気づきました(そして日曜日の10時間後にヒット数は8回に過ぎませんでした)。必要に応じてこのアイテムまたは他のアイテムを削除します。


奇妙な問題が発生しましたが、同様の問題を持つ他の人が見つからないようです。私はUSB経由でZedboardやRaspberry Piなどのデバイスに接続するためにscreen(sudo screen /dev/ttyUSB0 115200)を使用しています。

接続後、任意の時点で画面が応答しなくなります。通常、デバイスをシャットダウンするとスクリーンセッションも終了しますが、画面が応答しない場合、デバイスをシャットダウンしても何もしません。静止画を削除する唯一の方法は、端末を強制的に閉じることです。

新しい端末からデバイスに再接続しようとすると、画面は静止したままになり、強制的に再び閉じる必要があります。これらの画面はscreen --listには見えませんが、screenプロセスを検索(ps ax | grep ttyUSB0)するとその画面が見つかり、再接続しようとすると複数の画面を見つけることができます。複数のプロセスがある場合は、他のプロセスを簡単に終了できますが(sudo Kill 1234)、最初の画面プロセスを終了すると、プロセスの種類がSsからDsに変わります。これは、ユーザーにシャットダウンが機能しないことを意味します。待つ必要があります。残念ながら決して閉じません。

この時点で同じコマンドを使用してデバイスに再接続しようとすると、画面上部に「Cannot open line '/dev/ttyUSB0' for R/W: open() Blocked」というエラーが連続して印刷されます。 、中断されました。」(約0.5秒)の後に「申し訳ありません。 PTYが見つかりませんでした。できることは、コンピュータを強制的にリセットすることだけでした。

minicomを試してみましたが、問題は引き続き発生します(一定の使用後は停止します)。一度停止すると、コンピュータをリセットしないと再接続できません。また、コンピュータの他のUSBポートも試してみました。

私は現在CentOS 6.5を使用していますが、今はオペレーティングシステムを切り替えることができないので、これが問題にならないことを願っています。仮想マシン(VirtualBox Ubuntu 14.04.2)を介してデバイスに接続しようとしました。

理想的には、問題を解決する方法を知りたいのですが、コンピュータの電源を切ったりオンにしたりすることなく問題を解決する方法を見つけることもできます。

答え1

一時的な解決策を見つけましたが、おそらくこれが唯一の解決策です。実際の理由が明らかになるかもしれないので、数日間は私の答えを受け入れません。しかし、その後は受け入れます。

仮想マシンを介してデバイスに接続するとクラッシュが頻繁に発生しますが、デフォルトのOSと仮想マシン間のリンクを無効にしてから再度有効にすることで、接続ボタンを強制的にオフにして無効/無効にすることができます(この場合はUSB接続をクリックして)UARTデバイス)。このソリューションは、競合が発生するたびにコンソールから切断して再接続し、「上矢印を押してEnter」を押すと問題が解決し、わずか数秒しかかかりません。これは確かにバンドルソリューションですが、より良いソリューションがあるかどうかはわかりません。

関連情報