anysense
2019年12月9日 10時09分
Armadillo G3L にてシリアルUSBコンバータを使い機器との通信を行っています。
先日、突然ftdi ドライバのカーネルエラーが発生し、シリアル通信が行えなくなりました。
再起動を行った結果、正常にシリアル通信ができるようになりました。
この事象の原因や対処方法がありましたらご教示頂けますでしょうか。
・シリアル通信失敗時のログ
5秒おきに以下のログが出力されていました。
2019-12-06 15:40:23 kern err kernel: ftdi_sio ttyUSB0: failed to get modem status: -110
2019-12-06 15:40:28 kern err kernel: ftdi_sio ttyUSB0: failed to get modem status: -110
2019-12-06 15:40:33 kern err kernel: ftdi_sio ttyUSB0: failed to get modem status: -110
2019-12-06 15:40:38 kern err kernel: ftdi_sio ttyUSB0: failed to get modem status: -110
・lsusb
Bus 002 Device 002: ID 1e2d:00a0
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
コメント
anysense
at_syunya.ohshio
anysense
at_syunya.ohshio
大塩です。
> ご連絡ありがとうございます。
>
> >
> > 確認なのですが、お使いの「Ltd FT232」で発生したシリアル通信失敗は一時的なもので、
> > 再起動後は正常に使用出来ているとの認識でよろしいでしょうか。
>
> はい、再起動後は特に問題なく使用できています。
>
> > また、問題の発生頻度もお教えいただけると幸いです。
>
> 現在以下の日時に発生しております。
> 2019-12-06 15:40
> 2019-12-11 23:22
>
> 1度目の発生から5日と7時間42分0秒後に再発生しています。
>
> 以上、よろしくお願いします。
情報ありがとうございます。
いただいた情報を基に調査しております。
申し訳ありませんが、調査のためさらに質問させてください。
・お使いのArmadilloを設置している環境は、電波などのノイズが発生しやすい環境でしょうか。
また、「ftdi_sio ttyUSB0: failed to get modem status: -110」のエラーログ前後の情報があると助かりますので、
差し支えなければエラーが記載されたsyslogを送付いただけますでしょうか。
anysense
ご連絡ありがとうございます。
>情報ありがとうございます。
>いただいた情報を基に調査しております。
>申し訳ありませんが、調査のためさらに質問させてください。
>
>・お使いのArmadilloを設置している環境は、電波などのノイズが発生しやすい環境でしょうか。
モバイル通信の電波強度は発生当時も現在も高く問題はありません。
>
>また、「ftdi_sio ttyUSB0: failed to get modem status: -110」のエラーログ前後の情報があると助かりますので、
>差し支えなければエラーが記載されたsyslogを送付いただけますでしょうか。
syslogを添付しましたのでご確認ください。
ファイル | ファイルの説明 |
---|---|
syslog.log |
at_syunya.ohshio
大塩です。
ご返信ありがとうございます。
原因,問題の切り分け,対策について回答いたします。
■syslogからの原因推測
お送りいただいたsyslogから、以下が原因ではないかと推測しています。
・USBデバイス側が動作していない
・USBホスト(Armadillo)側が動作していない
表示されているエラーが-110(タイムアウト)のみでホスト側が停止しているようなエラーが見られなかったことから、
USBデバイス側の問題である可能性が高いです。
■問題の切り分け方法
問題の発生頻度が低いとのことなので、原因の特定まで時間を要するかと思われますが、
以下の方法で問題の切り分けが可能です。
・問題発生時、シリアルUSBコンバータの抜き挿しを行う。
→この方法で再認識した場合、シリアルUSBコンバータ側に問題があると思われます。
・別のシリアルUSBコンバータを用意し、再現性を確認する。
→現在ご利用のシリアルUSBコンバータに問題があるかを確認可能です。
・カーネルのバージョンをご利用の3.14から4.9にアップデートする。
→カーネルが3.14から4.9にバージョンアップするとき、ftdi についての修正が行われています。
原因がホスト側であるかを確認可能です。
■暫定的な対策
問題再発を防ぐ暫定的な対策として、以下の方法をご提案します。
・シリアルUSBコンバータを別のものに取り換える
→シリアルUSBコンバータに問題がある場合の解決策
・カーネルのバージョンアップ
→USBホスト(Armadillo)側に問題がある場合の解決策
・問題発生時のreboot処理をシステムに組み込む:
→上記どちらも実行不可である場合の対処
USBデバイス側の問題である可能性が高いため、
シリアルUSBコンバータ抜き挿しと入れ替えからお試しいただくのはどうでしょうか。
以上です。
anysense
at_syunya.ohshio
anysense
at_syunya.ohshio
2019年12月10日 18時40分
大塩です。
> Armadillo G3L にてシリアルUSBコンバータを使い機器との通信を行っています。
> 先日、突然ftdi ドライバのカーネルエラーが発生し、シリアル通信が行えなくなりました。
> 再起動を行った結果、正常にシリアル通信ができるようになりました。
>
> この事象の原因や対処方法がありましたらご教示頂けますでしょうか。
>
>
> ・シリアル通信失敗時のログ
> 5秒おきに以下のログが出力されていました。
> 2019-12-06 15:40:23 kern err kernel: ftdi_sio ttyUSB0: failed to get modem status: -110
> 2019-12-06 15:40:28 kern err kernel: ftdi_sio ttyUSB0: failed to get modem status: -110
> 2019-12-06 15:40:33 kern err kernel: ftdi_sio ttyUSB0: failed to get modem status: -110
> 2019-12-06 15:40:38 kern err kernel: ftdi_sio ttyUSB0: failed to get modem status: -110
>
>
> ・lsusb
> Bus 002 Device 002: ID 1e2d:00a0
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 001 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>
上記問題についての調査のため、
現在ご利用のG3Lにインストールされているカーネルバージョンをお教えいただけますでしょうか。
よろしくお願いします。