Candy network show 時のI/O Errorについて


#1

お世話になります。

USB 接続でcandy-lite service version 6.5.0を使用しております。

candy network show でネットワークの状態を監視しているのですが、

何らかの原因で一度3G/LTEの接続が切れて、オレンジ色のLEDが消えた後、
自動接続されて、再びオレンジ色のLEDが点灯し始めたのを確認して

candy netwrok show を実行してみたところ、

I/O Error: File “/usr/local/lib/python2.7/dist-packages/candy_board_qws/init.py”, line 159, in write: os.write(self.fd, str): OSError: [Errno 5] Input/output error

というエラーが帰ってきました。
candy service stop
candy service restart

をすることでcandy netwrok show で再びネットワークの状態を表示できるようになりましが、
上記のエラーは何が原因なのでしょうか。

よろしくお願いいたします。


#2

ご質問ありがとうございます。
モジュール内で何らかの状態矛盾が発生したと思われます。接続方法はGPIOでしょうか、USBでしょうか?
こちらで調査の上対処を行いますので、接続方法について教えていただけますでしょうか。
よろしくお願いいたします。


#3

ありがとうございます。

USB 接続でcandy-lite service version 6.5.0を使用しております。


#4

ちなみに、USBケーブルが抜けかかったりするとI/Oエラーになる模様です。


#5

大変失礼いたしました。接続方法についてはすでに記載していただいておりました。
調査いたします。


#6

状況再現でき、発生条件がわかりました。上記エラーは、通信モジュールとの接続が切断されてから、再度接続するまでの間に発生します。モバイルネットワーク接続中にUSBを外し、再度接続するとしばらくすると再接続しますが、その再接続までの間にコマンドを実行するサービスに接続できず上記エラーメッセージが出ることがあります。また、タイミングによっては[ERROR] CANDY Board Service isn't runningと表示されることもあります。

その後、モバイルネットワークに再接続できるとcandy netwrok showコマンドは正しい値を返すようになります。ただ、オレンジのLED点滅が始まってすぐのタイミングではエラーメッセージのままの場合があります。エラーが出ても繰り返し同じようにコマンドを実行すると、[ERROR] CANDY Board Service isn't runningあるいはModem is not readyのメッセージが出たり、また、その後で正しい結果を返すようになります。

このため、candy service stopcandy service restartを実施せずとも少し時間が経過すると正しい情報が出るようになるはずです。

今後の対処としては、I/O Errorは、candy netwrok showコマンドを受け付けるサービスが動作していない状態によるエラーであるため、上記エラーのケースでは[ERROR] CANDY Board Service isn't runningのメッセージに統一します。次回のリリースで変更します。


#7

ありがとうございます。
承知いたしました。