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