サポート要件:
Linux CPSWイーサネットドライバーに関する質問は、TI製EVMまたはカスタムボードのいずれかで
TI Prosesser Linux SDK U-Boot / Linux kernel及びファイルシステムを使用していること。
Texas Instrumentsは、TIプロセッサLinuxSDKに基づくLinuxカーネルとU-Bootイメージのみをサポートします。
上記要件を満たしている場合、下記項目を確認した内容を提供頂く事で迅速に問題の特定が可能になります。
1.起動プロセス中に、コンソールログでイーサネットPHYが正しく表示されていることを確認してください。
これは、使用しているPHYおよびドライバーが表示されていることを意味します。
CPSWは、初期化されたことを示し、最後にインターフェイスが起動したことを報告します。
以下の表示は、eth0がリンクパートナーに接続されている例です。
davinci_mdio 48485000.mdio: phy[0]: device 8485000.mdio:00, driver Micrel KSZ9031 Gigabit PHY
davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Micrel KSZ9031 Gigabit PHY
cpsw 48484000.ethernet: Detected MACID = a0:f6:fd:b2:79:90
cpsw 48484000.ethernet: cpts: overflow check period 800
cpsw 48484000.ethernet: cpsw: Detected MACID = a0:f6:fd:b2:79:91
net eth1: initializing cpsw version 1.15 (0)
net eth0: initialized cpsw ale version 1.4
net eth0: initializing cpsw version 1.15 (0)
cpsw 48484000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
2.システムが起動した後、リンクパートナーが検出されたことを確認。
下記コマンドを実行し、リンクの状態、ハードウェア・スタティックスを表示。
>ethtool eth0
リンクの状態が表示されたら以下の内容を確認。
1)リンクの両端でオートネゴシエーションが有効になっていますか。
2)リンク速度は TI デバイスとリンクパートナーの間で一致していますか。
3)リンクのduplex modeは正しいですか。
>ethtool -S eth0 .
CRC エラーやオーバーランなどのエラーが報告され、
エラーは、パケットがドロップされたことを示しています。
ここでは、下記の重要なエラーについて確認してください。
・RX Checksum errors:
ケーブルの不良、レイアウトの問題が考えられます。
・RX Overrun errors:
RX DMA 記述子が一時的に枯渇したためにパケットがドロップしたことが考えられます。
・RX Start of Frame errors:
スイッチの内部FIFOが一時的に一杯になったためにドロップされたパケットを示しています。
3.ifconfigコマンドでインターフェースの確認
>ifconfig
1)Link upしていますか。
2)IPアドレスはありますか。
3)インターフェースはデータを受信または送信していますか。
4.ネットワークビュー
Wiresharkで、通常はLinux PCを使用してパケットをキャプチャします。
デバイスからpingトランザクションを開始し、ARPプロセスを開始します。
1)WiresharkにARPパケットが表示されていますか。
5.問い合わせの際には、以下の情報をキャプチャして提供して下さい。
いくつかのログは長くなりますので、これらを添付ファイルで送付してください。
1)カーネルのバージョンとソース、及び下記コマンドの実行結果
>uname -a
2)ファイルシステムはTI SDKか、または Arago/Yocto ベースのファイルシステムか。
3)カスタムボードかTI製ボードか。またデバイスツリーのソースファイルを添付してください。
4)U-Bootおよびカーネルを含むブートプロセスのコンソールログ。
5)下記コマンドの実行結果
>ethtool <eth0 / eth1>
>ethtool -S <eth0 / eth1>
>ifconfig <eth0 / eth1>
下記のリンクも参照してください。