9
0
Fork 0

mii-tool: make the 'No MII transceiver present!' message more clear

Suppose you have two network controllers.
The first one is ENC28J60 (it is in low power mode
after start) the second one is always-enabled eth1.

As ENC28J60 is in low power mode before enc28j60_eth_open()
is called. ENC28J60's mii traceiver is in low power mode too
so the mii traceiver's register are inaccessable.

Here is a sample log just after barebox start:

  barebox:/ miitool
  miibus0: registered phy as /dev/phy0
    No MII transceiver present!.
  miibus1: registered phy as /dev/phy1
  phy1: eth1: negotiated 100baseTx-FD, link ok
  barebox:/ miitool
    No MII transceiver present!.
  phy1: eth1: negotiated 100baseTx-FD, link ok

The 'No MII transceiver present!.' message is confusing here.

This patch fixes the problem so the miitool output
looks like this:

  barebox:/ miitool
  phy0: spieth0:  No MII transceiver present!.
  phy1: eth1: negotiated 100baseTx-FD, link ok

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Antony Pavlov 2014-07-02 01:04:25 +04:00 committed by Sascha Hauer
parent 3746d5ebc6
commit 9b0c2e47ef
1 changed files with 3 additions and 3 deletions

View File

@ -115,14 +115,14 @@ static int show_basic_mii(struct mii_bus *mii, struct phy_device *phydev,
for (i = 0; i < 32; i++)
mii_val[i] = mii->read(mii, phydev->addr, i);
printf("%s: %s%d: ", phydev->cdev.name,
mii->parent->name, mii->parent->id);
if (mii_val[MII_BMCR] == 0xffff || mii_val[MII_BMSR] == 0x0000) {
fprintf(stderr, " No MII transceiver present!.\n");
return -1;
}
printf("%s: %s%d: ", phydev->cdev.name,
mii->parent->name, mii->parent->id);
/* Descriptive rename. */
bmcr = mii_val[MII_BMCR];
bmsr = mii_val[MII_BMSR];