I'm trying to get Ethernet under Linux working on a custom board I've designed. I've got a TI DP83822 PHY that I want to operate in RMII mode. I'm happy that I've got the MDIO interface working as I can read and write to registers on the PHY. What I want to test is the RMII connection between the PHY and the IMX and eventually get it working to the outside world.
When I bring the connection up I get:
TI DP83822 20b4000.ethernet-1:01: attached PHY driver [TI DP83822] (mii_bus:phy_addr=20b4000.ethernet-1:01, irq=POLL)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Ifconfig gives me this:
eth0 Link encap:Ethernet HWaddr 3A:71:1B:A5:03:45
inet6 addr: fe80::3871:1bff:fea5:345/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
I do get a message in the logs that it's using a random MAC address, can this cause problems?
Ethtool spits out the following:
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Supports Wake-on: g
Link detected: yes
I must have some link to the cable, as pulling my ethernet cable out gives the message:
fec 20b4000.ethernet eth0: Graceful transmit stop did not complete!
fec 20b4000.ethernet eth0: Link is Down
What can be my problems here?
I can do loop back tests inside the PHY, but the MAC driver doesn't seem to have a test mode so I don't know what to look for when I do this.