JAJAA83A December 2023 – November 2025 DP83822H , DP83822HF , DP83822I , DP83822IF , DP83826I
端子コマンド「dmesg | grep mdio」を使用すると、ソフトウェアの観点から PHY が適切に機能しない原因について、いくつかの手がかりが得られる可能性があります。
$ dmesg | grep "mdio"
出力例の 1 つを以下に示します。
$ mdio_bus xxx.ethernet-x: MDIO device at address 8 is missing
このメッセージは、PHY が MDIO バス上に見つからないことを示しています。これはいくつかの問題が原因である可能性があります。最も一般的な原因はデバイスツリーの欠落または誤りですが、PHY が機能していない、または SMI 接続が不良であることも考えられます。
MDIO バス上で PHY が検出されると、次のような一般的なエラーメッセージが表示されます。
$ Generic PHY xxx.ethernet-x: attached PHY driver [Generic PHY]
このメッセージは、対応する PHY のドライバファイルが正しくロードされていないか、全く存在せず、Linux が PHY で動作しない可能性が高い汎用ドライバをロードしたことを示しています。その場合、ドライバが正常にコンパイルされ、Linux に追加されたことを確認し、使用している PHY のモデルと一致していることを確認してください。
最後に、次のようなメッセージが表示される場合があります。
$ am65-cpsw-nuss c000000.ethernet eth3: PHY [c000f00.mdio:05] driver [TI DP83822] (irq=POLL)
このメッセージは、PHY に正しいドライバがロードされ、正常に検出されたことを示しています。ifconfig を実行して、ネットワークインターフェースが存在することを確認します。
PHY がネットワークアダプターとして正常に認識された場合の ifconfig の出力例を示します。
root@j7-evm:~# ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 metric 1
ether 24:76:25:a2:62:8b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 metric 1
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 82 bytes 6220 (6.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 82 bytes 6220 (6.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
次のステップは、データ転送が成功したことを確認することです。