2392963_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2392963_ja-JP

2392963_ja-JP

Imx6ull KSZ8041NLイーサネットの問題

こんにちは 、

私たちの潜在的なプロジェクトの一つにデュアルイーサネットを利用するために、Imx6ullプロセッサを搭載した2つのイーサネット物理線を接続しました。

一方のPHYはKSZ8081、もう一方のPHYはKSZ8041です。以下は当社のDTS構成です。

&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
phy-mode = "rmii";
phy-handle = <&ethphy0>;
phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
phy-reset-duration = <26>;
phy-reset-post-delay=<20>;
phy-supply = <&reg_peri_3v3>;
ステータス = "正常";

};

&fec2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet2>;
phy-mode = "rmii";
phy-handle = <&ethphy1>;
phy-reset-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
//phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
phy-reset-duration = <26>;
phy-reset-post-delay=<20>;
phy-supply = <&reg_peri_3v3>;
ステータス = "正常";

mdio {
#address-cells = <1>;
#size-cells = <0>;

ethphy0: イーサネット-phy@1 {
reg = <1>;
micrel、LEDモード = <1>;
クロック = <&CLKS IMX6UL_CLK_ENET_REF>;
クロックネーム = 「rmii-ref」;
};

ETHphy1: イーサネットphy@3 {
reg = <3>;
micrel、LEDモード = <1>;
クロック = <&clks IMX6UL_CLK_ENET2_REF>;
クロックネーム = 「rmii-ref」;
};
};
};

pinctrl_enet1: enet1grp {
fsl、pins = <
MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0
MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0
MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0
MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031
>;
};

pinctrl_enet2: enet2grp {
fsl、pins = <
MX6UL_PAD_GPIO1_IO07__ENET2_MDC 0x1b0b0
MX6UL_PAD_GPIO1_IO06__ENET2_MDIO 0x1b0b0
MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0
MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0
MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b0b0
MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b031
>;
};


イーサネットの物理はカーネルログで検出され、イーサネットケーブルを接続するとリンクも検出されています。

しかしIPはKSZ8081物理に接続されているイーサネットに届き、IPはKSZ8084NLに接続されているイーサネットに割り当てられていません。

そして、イーサネットKSZ8041NL eth0でrxエラーが観察されます。以下のログは以下の通りです:

root@sls-IMX6ull14X14evk:~# ifconfig
eth0 リンク encap:イーサネット HWaddr BA:9C:69:1F:76:3A
UP放送マルチキャスト MTU:1500 メトリック:1
RXパケット:0 エラー:1065 ドロップ:0 オーバーラン:0 フレーム:1065
送信パケット数:65 エラー数:0 ドロップ:0 オーバーラン数:0 キャリア:0
衝突:0 TCキューレン:1000
RXバイト:0(0.0 B) TX バイト:12024(11.7 KiB)


eth1 リンク encap:イーサネット HWaddr 42:19:11:7F:5E:89
inet addr:10.20.0.184放送日時: 10.20.1.255マスク:255.255.254.0
inet6 アドレス: fe80::8248:9837:9647:2a00/64 スコープ:リンク
UP ブロードキャスト実行中 マルチキャスト MTU:1500 メトリック:1
受信パケット数:18 エラー数:0 ドロップ数:0 オーバーラン数:0 フレーム数:0
送信パケット数:23 エラー数:0 ドロップ数:0 オーバーラン数:0 キャリア数:0
衝突回数:0 txqueuelen:1000
RX バイト:2494 (2.4 KiB) TX バイト:3162 (3.0 KiB)


lo Link encap:ローカルループバック
インターネットアドレス: 127.0.0.1マスク:255.0.0.0
inet6 アドレス: ::1/128 スコープ:ホスト
UPループバック実行中 MTU:65536 メトリック:1
受信パケット数:17 エラー数:0 ドロップ数:0 オーバーラン数:0 フレーム数:0
送信パケット数:17 エラー数:0 ドロップ数:0 オーバーラン数:0 キャリア数:0
衝突回数:0 txqueuelen:1000
RX バイト:2011 (1.9 KiB) TX バイト:2011 (1.9 KiB)

 

root@sls-IMX6ull14x14EVK:~# ethtool eth0
eth0の設定:
対応ポート:[TP MII ]
対応リンクモード:10baseT/Half、10baseT/Full。
100ベースT/ハーフ 100ベースT/フル
サポートされる一時停止フレーム使用:対称
自動交渉を支持:はい
対応FECモード:報告されていません
広告リンクモード:10baseT/ハーフ 10baseT/フル
100ベースT/ハーフ 100ベースT/フル
広告される一時停止フレームの使用:対称
広告された自動交渉:はい
広告されたFECモード:報告されていません
リンクパートナーが宣伝しているリンクモード:10baseT/Half、10baseT/Fullです
100ベースT/ハーフ 100ベースT/フル
リンクパートナーが一時停止を提示したフレーム使用:いいえ
リンクパートナーが自動交渉を宣伝していました:はい
リンクパートナーがFECモードを広告している:報告されていません
速度:100Mb/s
デュプレックス:フル
自動交渉:オン
移植版:ツイステッドペア
ファイアド:3
トランシーバ:外部
MDI-X:不明
ウェイクオン支援:g
ウェイクオン:d
リンク検出:はい

 

また、50MHzのクロックも確認しましたが、これは適切に生成され、PHY KSZ8041NLにも入力されています。

要するに、1本のイーサネットは正常に動作していますが、2本目のイーサネットは正常に動作KSZ8081 KSZ8041NL。

解決策をご提案ください。参考までに、両方のイーサネット物理ハードウェアのスクリーンショットも添付しています。


image (1).pngimage (1).pngimage (2).jpgimage (2).jpg




i.MX6 全てi.MX6ULRe: Imx6ull KSZ8041NL ethernet issueNXPチームの皆様、こんにちは。

問い合わせ内容について、何か最新情報があれば教えていただけますか?
Re: Imx6ull KSZ8041NL ethernet issue

こんにちは、NXPサポートチームの皆さん、

私たちはすでに、私たちが直面しているイーサネットの問題について詳細を共有しています。

ですので、あなたの側で確認して、何か解決があれば教えていただけますか?

必要であれば、お電話にて貴社チームと問題について話し合うことも可能です。

貴社チームからの良いフィードバックをお待ちしております。


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

リテシュ・プラジャパティ

Re: Imx6ull KSZ8041NL ethernet issue

こんにちは@HarshilSoni434 @ritesh_prajapat

お元気でお過ごしのことと思います。


KSZ8041の回路図のストラップオプションを見てみましょう。

Manuel_Salas_0-1785172670273.pngManuel_Salas_0-1785172670273.png

分離モード:プルアップ(デフォルト)=有効

プルダウン= 無効にする


PHYは、RMIIデータピン(RXD0、RXD1、CRS/DV、RX_ER、TXD0、TXD1、TX_EN)をMACから切り離します。

MDIO/MDCは完全に機能しており、PHYも検出され、リンクパルスも生成されています。おそらくこれが、PHYが検出され、リンクがアップ状態に見える理由でしょう。


ISOLATEピンのR37をプルアップ抵抗 (~4.7kΩからGND)に変更してみてもらえますか?


次に確認すべき点はリセットピンです。リセットが正しくアサルされているか確認していただけますか?

そして、reset_n信号が以下の接続点に合っているかを確認してください:

phy-reset-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
//phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;


次に、CONFIG[2:0] RMII のストラップが物理的に正しく接続されていることを確認してください。


また、KSZ8041の回路図の信号マッピング表には、次の情報が記載されています。

Manuel_Salas_1-1785173206995.pngManuel_Salas_1-1785173206995.png


ネット名が入れ替わっているように見えます(MDCはenet_mdioとラベル付けされ、その逆も同様です)。



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

サラス。

Re: Imx6ull KSZ8041NL ethernet issue

@Manuel_Salasさん、ご提案いただきありがとうございます。

お客様からいただいたご提案事項はすべて確認し、結果は大体本日中にご報告いたします。


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

リテシュ・プラジャパティ

Re: Imx6ull KSZ8041NL ethernet issueこんにちは@Manuel_Salas

ご返信ありがとうございます。
ご提案通り、プルダウン抵抗の変更を行い、イーサネットの通信も確認しましたが、残念ながら挙動は同じです。

IPネゴシエーション中にRXエラーが発生しています。

また、以下の点についても確認いたしました。
- リセットピンは、imx6ullのピン接続に基づいて適切です。リセットラインに手動でパルスを印加したところ、PHY(KSZ8041NL)はリセットされましたが、動作は同じでした。
- MDIOとMDCのピンの入れ替わりは回路図上の問題であり、実際のハードウェアでは接続は正しく行われています。

つまり、変更後も動作は同じで、両方のPhyは検出されますが、IPはKSZ8081と共に出ていて、KSZ8041NLでは検出されません。以下は更新されたログです:

root@sls-IMX6ull14x14evk:~# DMESG |グレップFEC
[ 2.124528] FEC 20B4000.イーサネット eth0: 登録済みPHCデバイス0
[ 2.207221 FEC 2188000.イーサネット eth1: 登録済みPHCデバイス1
[ 72.966866] fec 20b4000.イーサネット eth0: リンクは稼働中 - 100Mbps/フル - フロー制御はオフ
root@sls-IMX6ull14x14evk:~# DMESG |グレップ eth0
[ 2.124528] FEC 20B4000.イーサネット eth0: 登録済みPHCデバイス0
[ 72.966866] fec 20b4000.イーサネット eth0: リンクは稼働中 - 100Mbps/フル - フロー制御はオフ
root@sls-IMX6ull14X14evk:~# ifconfig
eth0 リンク encap:イーサネット HWaddr 26:F5:A6:8C:73:42
inet6 addr: FE80::F2af:2D7A:228C:2038/64 Scope:Link
UP放送 マルチキャスト実行 MTU:1500 メトリック:1
RXパケット:0 エラー:63 ドロップ:0 オーバーラン:0 フレーム:63
送信パケット:12 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0
衝突:0 TCキューレン:1000
RXバイト:0(0.0 B) TX バイト:2093(2.0 KiB)

eth1 リンク encap:イーサネット HWaddr 22:81:A6:66:8C:3A
UP放送マルチキャスト MTU:1500 メトリック:1
RXパケット:0 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0
TXパケット:0 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0
衝突:0 TCキューレン:1000
RXバイト:0(0.0 B) TX バイト:0(0.0 B)

lo Link encap:ローカルループバック
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
ループバックを走らせる MTU:65536 メトリクス:1
RXパケット:91 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0
送信パケット数:91 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0
collisions:0 txqueuelen:1000
RXバイト:7797(7.6 KiB) TX バイト:7797(7.6 KiB)

root@sls-IMX6ull14x14EVK:~# ethtool eth0
eth0の設定:
対応ポート:[TP MII ]
対応リンクモード:10baseT/Half、10baseT/Full。
100ベースT/ハーフ 100ベースT/フル
サポートされる一時停止フレーム使用:対称
車載交渉を支持:はい
対応FECモード:報告されていません
広告リンクモード:10baseT/ハーフ 10baseT/フル
100ベースT/ハーフ 100ベースT/フル
広告される一時停止フレームの使用:対称
広告された車載交渉:はい
広告されたFECモード:報告されていません
リンクパートナーが宣伝しているリンクモード:10baseT/Half、10baseT/Fullです
100ベースT/ハーフ 100ベースT/フル
リンクパートナーが一時停止を提示したフレーム使用:いいえ
リンクパートナーが車載交渉を宣伝していました:はい
リンクパートナーがFECモードを広告している:報告されていません
速度:100Mb/s
デュプレックス:フル
車載交渉:オン
移植版:ツイステッドペア
ファイアド:0
トランシーバ:外部
MDI-X:不明
ウェイクオン支援:g
ウェイクオン:d
リンク検出:はい

ぜひご提案をお願いします。
Re: Imx6ull KSZ8041NL ethernet issue

こんにちは、 @Manuel_Salas さん

さらにイーサネットFECドライバ fec_main.Cへのデバッグも行いましたRXエラーの根CASEを特定するために。
その結果、ドライバがCRCの不一致エラー BD_ENET_RX_CRのためにすべてのrxパケットを無視していることがわかりました。

SO これを踏まえて、問題解決のためのご提案をお願いします。

Re: Imx6ull KSZ8041NL ethernet issue

こんにちは、 @Manuel_Salas さん


前回の観察結果に基づくと、何か最新情報はありますか?

CRCエラーのため、すべての受信パケットが無視されることを改めてお知らせします。SO、何がその原因になり得るCANでしょうか?

Re: Imx6ull KSZ8041NL ethernet issue

こんにちは、 @Manuel_Salas さん

おはよう、

すでに共有された問題に関する直近のアップデート@HarshilSoni434確認する機会はありましたか?CRCミスマッチの受信パケットの正確な問題を絞り込むために、何か手がかりや追加の発見があれば教えていただけませんか?

弊社側で何か情報が必要な場合はお知らせください。


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

リテシュ・プラジャパティ

タグ(1)
評価なし
バージョン履歴
最終更新日:
3 週間前
更新者: