y.nakamura
2016年7月20日 20時23分
お世話になります。
中村です。
Armadillo-IoT(G2)で、3Gモデム通信用デバイス
/dev/ttyACM0などが生成されなくなってしまいました。
故障なのか、何か間違っている(足りない)ことがあるのか、
判断ができません。
少し長くなりますが状況を書きますので、どなたか、
ご助言をいただけますでしょうか?
正常であれば、
# ls -l /dev/ttyA* crw-rw---- 1 root dialout 166, 0 Jul 19 18:58 /dev/ttyACM0 crw-rw---- 1 root dialout 166, 1 Jul 19 18:58 /dev/ttyACM1 crw-rw---- 1 root dialout 166, 2 Jul 19 18:58 /dev/ttyACM2 lrwxrwxrwx 1 root root 7 Jul 19 18:58 /dev/ttyATCMD -> ttyACM0
のようになるはずなのですが、/dev/ttyACMxが存在せず、
lsすると次のようになります。
# ls /dev/ttyA* ls: /dev/ttyA*: No such file or directory
起動時のメッセージ(ブート処理の最後のあたり)には
次のエラーが表示されています。
... Loading kernel module: awl13_sdio awl13: Version 3.0.2 Load. Starting basic firewall: done Setting hostname: done Configuring network interfaces: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready stty: can't open '/dev/ttyATCMD': No such file or directory stty: can't open '/dev/ttyATCMD': No such file or directory couldn't open "/dev/ttyATCMD": no such file or directory stty: can't open '/dev/ttyATCMD': No such file or directory failed Starting 3g-recover: libphy: imx25-fec-1:00 - Link is Up - 100/Full IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready 3g-recover: Please set 3g-set-ap setting in /etc/config/interfaces failed Starting inetd: done ...
(ブート時の全メッセージも保存してありますが、とりあえず、
上のところだけを書いておきます。必要ならアップします)
このブートメッセージは後に書くatmark-dist-20160527で
起動したときのもので、3g-recoverが3g-set-apの設定をしろ!と
言っていますが、これはトラブルの原因とは関係ないと思います。
状況は次のとおりです。
3G通信ができることを確認した機体/ファームウェアで
3Gとは別の試験のために1週間くらい連続運転をしました。
LANのみで、3Gは使っていません。
このときのカーネルとユーザランドは3.14.36-at3。
たぶん工場出荷時のもので、
#1 PREEMPT Wed Aug 26 21:42:04 JST 2015
となっています。
ユーザランドはatmark-dist-20160126を元にして、
多少のカスタマイズや独自プログラムを入れたものです。
このユーザランドイメージはフラッシュに書き込んであります。
この試験が終わった後、atmark-dist-20160527で追加された
3g-recover-daemonを試すために、atmark-dist-20160527を
使ってビルドし(このときのカーネルはlinux-3.14-at7)、
tftpbootで起動したところ、上に書いたエラーとなりました。
atmark-dist-20160527を使ったことが原因とは考えにくいですが、
ならば「いつ?」「何をしたとき?」というと、よくわかりません。
連続試験の間にすでにおかしくなっていたのか、
atmark-dist-20160527を試すときに何かやってしまったのか・・・・
このエラーの後、試したことは次の通りです。
- 元のatmark-dist-20160126と3.14.36-at3
- 電源OFF/ON
- SIMの抜き差し
- /etc/configの完全クリア
- Armadillo-IoT(G1/G2)のサイトにある最新イメージ
(atmark-dist-20160527とlinux-3.14-at7のバイナリ)
いずれもダメでした。同じ症状です。
また、GPIOを使った3Gモジュールのリセットを試したところ、
次のような表示になりました。
# echo 1 > /sys/class/gpio/RESET_N_3G/value ここで少し待つ # echo 0 > /sys/class/gpio/RESET_N_3G/value usb 2-1: new full-speed USB device number 4 using ci_hdrc cdc_acm 2-1:1.0: This device cannot do calls on its own. It is not a modem. cdc_acm 2-1:1.0: ttyACM0: USB ACM device usb 2-1: USB disconnect, device number 4 usb 2-1: new full-speed USB device number 5 using ci_hdrc usb 2-1: not running at top speed; connect to a high speed hub usb 2-1: unable to read config index 0 descriptor/all usb 2-1: can't read configurations, error -110 usb 2-1: new full-speed USB device number 6 using ci_hdrc usb 2-1: device descriptor read/64, error -110 usb 2-1: device descriptor read/64, error -110 usb 2-1: new full-speed USB device number 7 using ci_hdrc usb 2-1: device not accepting address 7, error -110 usb 2-1: new full-speed USB device number 8 using ci_hdrc usb 2-1: device not accepting address 8, error -110 usb usb2-port1: unable to enumerate USB device # ls -la /dev//ttyA* ls: /dev//ttyA*: No such file or directory
正常動作する機体で同じことをすると、次のようになります。
# echo 1 > /sys/class/gpio/RESET_N_3G/value 少し待つ # echo 0 > /sys/class/gpio/RESET_N_3G/value usb 2-1: new full-speed USB device number 14 using ci_hdrc cdc_acm 2-1:1.0: This device cannot do calls on its own. It is not a modem. cdc_acm 2-1:1.0: ttyACM0: USB ACM device usb 2-1: USB disconnect, device number 14 usb 2-1: new full-speed USB device number 15 using ci_hdrc usb 2-1: not running at top speed; connect to a high speed hub cdc_acm 2-1:1.0: This device cannot do calls on its own. It is not a modem. cdc_acm 2-1:1.0: ttyACM0: USB ACM device cdc_acm 2-1:1.2: This device cannot do calls on its own. It is not a modem. cdc_acm 2-1:1.2: ttyACM1: USB ACM device cdc_acm 2-1:1.4: This device cannot do calls on its own. It is not a modem. cdc_acm 2-1:1.4: ttyACM2: USB ACM device cdc_ether 2-1:1.6 eth1: register 'cdc_ether' at usb-ci_hdrc.1-1, CDC Ethernet Device, 00:00:11:12:13:14 cdc_ether 2-1:1.8 eth2: register 'cdc_ether' at usb-ci_hdrc.1-1, CDC Ethernet Device, 00:00:11:12:13:16 cdc_ether 2-1:1.10 eth3: register 'cdc_ether' at usb-ci_hdrc.1-1, CDC Ethernet Device, 00:00:11:12:13:18
それから、5月に公開された3Gモジュールの新しいファームウェアの
書き換えを試みましたが、書き換えができませんでした。
(モデムが反応しない?)
なお、この問題のあるArmadillo-IoT(G2)は私の手元にはなく、
遠方のメンバーが作業に使っているもので、トラブルの知らせを受けて、
いろいろと試してもらった結果です。
よろしくお願いいたします。
--
なかむら
コメント
y.nakamura
y.nakamura
at_daisuke.sasaki
2016年7月20日 20時58分
佐々木大輔です。
大変お手数なのですが、
この現象が発生しているArmadillo-IoTでlsusbコマンドを実行すると
どのように見えるか教えて頂けますか?
正常な機体で実行すると以下のようになります。
ID 1519:0302が別のVendorID/ProductIDで見えるという事はあるでしょうか?
もしくは、i.MXのUSBホスト(ID 1d6b:0002)しか見えないという事はありますか?
このIDが正しく見えない場合、
3Gモジュールが故障している可能性があると考えています。
以上、よろしくお願いいたします。