Thomas,<br>Looks like your patch works!<br><br>Thanks to everyone for all of the help with this!<br>-Chris<br><br><br><div class="gmail_quote">On Fri, Apr 16, 2010 at 12:47 PM, Thomas Miletich <span dir="ltr">&lt;<a href="mailto:thomas.miletich@gmail.com">thomas.miletich@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hello Christopher,<br>
thanks for testing.<br>
<br>
I have pushed a patch that removes the link state checking code from<br>
eepro100 to staging[1].<br>
Please let us know if this patch works for you. I will give it a shot<br>
on my cards too, as soon as I can.<br>
<br>
You can find prebuilt binaries at [2].<br>
<br>
Thanks<br>
Thomas<br>
<br>
[1] <a href="http://git.etherboot.org/?p=gpxe-staging.git;a=shortlog;h=refs/heads/meteger-89-eepro100" target="_blank">http://git.etherboot.org/?p=gpxe-staging.git;a=shortlog;h=refs/heads/meteger-89-eepro100</a><br>
[2] <a href="http://etherboot.org/share/meteger/eepro100/" target="_blank">http://etherboot.org/share/meteger/eepro100/</a><br>
<br>
On Fri, Apr 16, 2010 at 4:00 PM, Christopher Armenio<br>
<div class="im">&lt;<a href="mailto:Christopher.Armenio@resquared.com">Christopher.Armenio@resquared.com</a>&gt; wrote:<br>
</div><div><div></div><div class="h5">&gt; Marty,<br>
&gt; I forgot to post this yesterday...<br>
&gt;<br>
&gt; I fumbled around with some of the link checking code on my own and wound up<br>
&gt; removing the<br>
&gt; link state check. I compiled it and everything worked like a charm...here is<br>
&gt; my simple change:<br>
&gt;<br>
&gt; --- eepro100.c    2010-04-16 09:56:56.753307333 -0400<br>
&gt; +++ /home/arsinio/Desktop/eepro100.c    2010-04-16 07:55:15.000000000 -0400<br>
&gt; @@ -586,8 +586,7 @@<br>
&gt;      /* Check to see if network cable is plugged in. */<br>
&gt;      if ( ! ( ifec_mdio_read ( netdev, mdio_register &amp; 0x1f, 1 )<br>
&gt;            &amp; ( 1 &lt;&lt; 2 ) ) ) {<br>
&gt; -//        return 0;<br>
&gt; -        return 1;<br>
&gt; +        return 0;<br>
&gt;      }<br>
&gt;      return 1;<br>
&gt;  }<br>
&gt;<br>
&gt; Let me know if you still want me to try your change. I&#39;m not sure what<br>
&gt; direction everyone<br>
&gt; would like to take this development, be it removing link state checking, or<br>
&gt; fixing the link<br>
&gt; state checking problem. Either way, I&#39;m more than willing to help with<br>
&gt; finding a<br>
&gt; permanent solution.<br>
&gt;<br>
&gt; Thanks!<br>
&gt; -Chris<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Apr 16, 2010 at 8:26 AM, Marty Connor &lt;<a href="mailto:mdc@etherboot.org">mdc@etherboot.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Christopher Armenio wrote on 4/13/10 6:17 PM:<br>
&gt;&gt; &gt; Hi there,<br>
&gt;&gt; &gt; I seem to be having a problem getting gPXE to correctly interact with my<br>
&gt;&gt; &gt; intel NIC (integrated intel eepro100). I believe gPXE is incorrectly<br>
&gt;&gt; &gt; reporting the link as being down. There are both link and activity<br>
&gt;&gt; &gt; lights on<br>
&gt;&gt; &gt; the physical interface, and I can see the RX counter incrementing using<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; &#39;ifstat&#39; command.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Any thoughts/suggestions?<br>
&gt;&gt; &gt; Thanks!<br>
&gt;&gt; &gt; -Chris<br>
&gt;&gt;<br>
&gt;&gt; Hi Chris,<br>
&gt;&gt;<br>
&gt;&gt; If you are able to compile gPXE, could you make the following change and<br>
&gt;&gt; recompile:<br>
&gt;&gt;<br>
&gt;&gt; --- a/src/drivers/net/eepro100.c<br>
&gt;&gt; +++ b/src/drivers/net/eepro100.c<br>
&gt;&gt; @@ -600,6 +600,9 @@ static void ifec_link_update ( struct net_device<br>
&gt;&gt; *netdev )<br>
&gt;&gt;  {<br>
&gt;&gt;        DBGP ( &quot;ifec_link_update\n&quot; );<br>
&gt;&gt;<br>
&gt;&gt; +       netdev_link_up ( netdev );<br>
&gt;&gt; +       return;<br>
&gt;&gt; +<br>
&gt;&gt;        /* Update link state */<br>
&gt;&gt;        if ( ifec_link_check ( netdev ) )<br>
&gt;&gt;                netdev_link_up ( netdev );<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; -----------<br>
&gt;&gt;<br>
&gt;&gt; What this does is to assert that the link state is &quot;up&quot;.  I notice that<br>
&gt;&gt; most of our drivers don&#39;t do elaborate link state checking, but<br>
&gt;&gt; eepro100 does, and it appears that the card is reporting a value during<br>
&gt;&gt; that<br>
&gt;&gt; check that says the link is down, even if it is up.<br>
&gt;&gt;<br>
&gt;&gt; Since there&#39;s really nothing we can do if the link isn&#39;t up, I think the<br>
&gt;&gt; check is probably not needed.<br>
&gt;&gt;<br>
&gt;&gt; The patch above simply short-circuits the check for link, and always<br>
&gt;&gt; indicates<br>
&gt;&gt; to the core that link is up.<br>
&gt;&gt;<br>
&gt;&gt; If this patch works, we can just remove the extra link_state checking<br>
&gt;&gt; logic<br>
&gt;&gt; from src/drivers/net/eepro100.c, since other drivers don&#39;t do it, and it<br>
&gt;&gt; seems<br>
&gt;&gt; to cause a problem for some eepro100 cards.<br>
&gt;&gt;<br>
&gt;&gt; If editing and compiling this is a problem for you, I or someone else<br>
&gt;&gt; would<br>
&gt;&gt; be more than happy to make a test image for you.<br>
&gt;&gt;<br>
&gt;&gt; Thanks again for your help debugging this!<br>
&gt;&gt;<br>
&gt;&gt; / Marty /<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
</div></div><div><div></div><div class="h5">&gt; _______________________________________________<br>
&gt; gPXE mailing list<br>
&gt; <a href="mailto:gPXE@etherboot.org">gPXE@etherboot.org</a><br>
&gt; <a href="http://etherboot.org/mailman/listinfo/gpxe" target="_blank">http://etherboot.org/mailman/listinfo/gpxe</a><br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>