Armadilloフォーラム

Armadillo-220で有線LANで通信が停止する

armadillo-user1000

2017年10月5日 15時07分

Armadillo-220を利用して有線LANを使用したUDPデータを受信するシステムを構築しております。

環境
  使用機器  :Armadillo-220
  カーネルバージョン:Linux version 2.6.26-at4-ep93xx-port-pre0 (2.6.26) (atmark@atde)

状況
  上記の環境に組込んだアプリで有線LAN接続した外部機器からのUDPデータ
  の連続受信を行っております。他にも外部機器とTCP/IPを利用した簡単なデータ
  通信(受信&送信)を行っています。
  すでに5~6年の稼働実績があるのですが、最近になって本器を起動して連続的
  (4~5日 時間は一定で無い)に使用していると、UDPデータの受信が出来
  なくなる現象が発生し始めました。特定の機器での問題かと機器を予備機に交換
  も行いましたが同様の現象が発生します。
  使用環境の変化として同一LANに接続される機器が多く(2~3割)なって
  います。
  現象が発生する前後のLANトレースをWiresharkを利用して取得しましたとこと
  Armadilloが他機器からのARPレスポンスを返さなくなっており、これが原因で
  UDPデータ送信機器がデータの送信を停止していることがわかりました。
  ArmadilloのLANコネクタのリンクランプは点灯している。

  通信が停止している状態で以下のような確認を行いました。

  1)外部機器からArmadilloにpingを発行しても応答がない
  2)Armadilloにシリアルコンソールからログインして外部機器にpingを
    発行しても応答がない
  3)上記の状態でArmadillo自身にpingを発行すると応答がある
  4)ifconfigコマンドでeth0の状態を確認するとlink-up状態を
    確認できるが 送受信パケット数は変化がない
  5)ifconfig eth0 down / ifconfig eth0 up を実行すると通信が
    再開する。

同様の現象を経験された方はいませんでしょうか?
また、解決方法があればご教授ください。

  

コメント

溝渕です。

>   使用環境の変化として同一LANに接続される機器が多く(2~3割)なって
>   います。

送受信データが増加した結果、EP9307のErrataに該当してしまった可能性があ
ります。

上記Errataとは、"Ethernet"の"Description 2"です。

Errataシートは、以下のページの「技術文書」から「正誤表:EP9307 Rev E2シ
リコン」より確認できます。
https://www.jp.cirrus.com/products/ep9307/
# Rev E2のみではなく、全チップリビションに該当します。

> また、解決方法があればご教授ください。

もし、Errataに該当している場合は有効な回避策が無く、帯域を空けるのが唯
一の対策となります。

armadillo-user1000

2017年10月6日 17時58分

armadillo-user1000です。

回答ありがとうございます。

>
> >   使用環境の変化として同一LANに接続される機器が多く(2~3割)なって
> >   います。
>
> 送受信データが増加した結果、EP9307のErrataに該当してしまった可能性があ
> ります。

機器が多くなったとの書き方をしましたので誤解を与えてしまったようです。
機器が多くはなっていますが使用しているLANの帯域幅は100Mに対して
5%程度にも満たない状態ですので輻輳状態までにはなっていないかと思います。

> 送受信データが増加した結果、EP9307のErrataに該当してしまった可能性があ
> ります。

->このような状態になりうるのはどのくらいの帯域を使用している場合か
  情報がありましたらご教授ください。

->また、このような状態になっているかどうかをArmadilloのコンソール
  から確認する方法がありましたらご教授ください。

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