Christopher Armenio wrote on 4/13/10 6:17 PM: > Hi there, > I seem to be having a problem getting gPXE to correctly interact with my > intel NIC (integrated intel eepro100). I believe gPXE is incorrectly > reporting the link as being down. There are both link and activity lights on > the physical interface, and I can see the RX counter incrementing using the > 'ifstat' command. > > Any thoughts/suggestions? > Thanks! > -Chris
Hi Chris, If you are able to compile gPXE, could you make the following change and recompile: --- a/src/drivers/net/eepro100.c +++ b/src/drivers/net/eepro100.c @@ -600,6 +600,9 @@ static void ifec_link_update ( struct net_device *netdev ) { DBGP ( "ifec_link_update\n" ); + netdev_link_up ( netdev ); + return; + /* Update link state */ if ( ifec_link_check ( netdev ) ) netdev_link_up ( netdev ); ----------- What this does is to assert that the link state is "up". I notice that most of our drivers don't do elaborate link state checking, but eepro100 does, and it appears that the card is reporting a value during that check that says the link is down, even if it is up. Since there's really nothing we can do if the link isn't up, I think the check is probably not needed. The patch above simply short-circuits the check for link, and always indicates to the core that link is up. If this patch works, we can just remove the extra link_state checking logic from src/drivers/net/eepro100.c, since other drivers don't do it, and it seems to cause a problem for some eepro100 cards. If editing and compiling this is a problem for you, I or someone else would be more than happy to make a test image for you. Thanks again for your help debugging this! / Marty / _______________________________________________ gPXE mailing list gPXE@etherboot.org http://etherboot.org/mailman/listinfo/gpxe