[Avila] ixp400_eth.c has to be patched?
Gianluca Mando'
mando at airspot.it
Wed May 10 14:05:27 EDT 2006
Hi all,
loading my GW2345 with BSP 0.6 I can find the following in /var/log/message:
<12>Feb 3 14:02:35 kernel: ixp400_eth: ixEthMiiLinkStatus failed on PHY0.
<12>Feb 3 14:02:35 kernel: ^ICan't determine
<12>Feb 3 14:02:35 kernel: the auto negotiated parameters. Using default
values.
Furthermore when I launch the following net-snmp command from a host:
snmpwalk -v1 -c wmrtetra 192.168.3.2 interface
or also simply starting snmpd on target, the target does not answer and I can
find in /var/log/messages:
<11>Feb 3 15:35:34 kernel: ixp400_eth: Error reading MII reg 0 on phy 0
<11>Feb 3 15:35:34 kernel: ixp400_eth: Error reading MII reg 1 on phy 0
<11>Feb 3 15:35:34 kernel: ixp400_eth: Error reading MII reg 2 on phy 0
<11>Feb 3 15:35:34 kernel: ixp400_eth: Error reading MII reg 3 on phy 0
<11>Feb 3 15:35:34 kernel: ixp400_eth: Error reading MII reg 4 on phy 0
<11>Feb 3 15:35:34 kernel: ixp400_eth: Error reading MII reg 5 on phy 0
<11>Feb 3 15:35:34 kernel: ixp400_eth: Error reading MII reg 6 on phy 0
<11>Feb 3 15:35:34 kernel: ixp400_eth: Error reading MII reg 7 on phy 0
I think the problem could be in the following block of code in file
ixp400_eth.c:
res = ixEthMiiLinkStatus(phyNum,
&linkUp,
&speed100,
&newDuplex,
&autonegotiate);
/* release the MII register access mutex */
up(&miiAccessMutex);
#if defined(CONFIG_LEDMAN)
ledman_cmd((linkUp ? LEDMAN_CMD_ON : LEDMAN_CMD_OFF),
(priv->port_id ? LEDMAN_LAN2_LINK : LEDMAN_LAN1_LINK));
#endif
if (res != IX_ETH_ACC_SUCCESS)
{
#if defined(CONFIG_LEDMAN)
goto out;
#else
P_WARN("ixEthMiiLinkStatus failed on PHY%d.\n"
"\tCan't determine\nthe auto negotiated parameters. "
"Using default values.\n",
phyNum);
/* this shouldn't happen. exit the thread if it does */
return -1;
#endif
}
....
In particular, googling I found that the problem could be the comparison:
if (res != IX_ETH_ACC_SUCCESS)
This patch from Intel "GPL_ixp400LinuxEthernetDriverPatch-1_5_1.zip" substitute
privious istruction with
if (res != IX_SUCCESS)
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
More information about the Avila
mailing list