Yup, it's known and already fixed in-house. Essentially, the return from e1000_get_link() should be something like:
return ((status & E1000_STATUS_LU) ? 1 : 0); >-----Original Message----- >From: [EMAIL PROTECTED] [mailto:e1000-devel- >[EMAIL PROTECTED] On Behalf Of John DeFranco >Sent: Thursday, June 12, 2008 4:37 PM >To: e1000-devel@lists.sourceforge.net >Subject: [E1000-devel] e1000e not returning proper ETHTOOLS link up status? > >Hi all, > >I'm seeing what I consider a problem with getting link status via >SIOCETHTOOL and the e1000e driver. According to all the data I have and >based on how the e1000/e100/tg3 and any broadcom driver works if I issue >something like the following: > > edata.cmd = ETHTOOL_GLINK; > ifr.ifr_data = (caddr_t)&edata; > > if (ioctl(mii_socket, SIOCETHTOOL, &ifr) != 0 ){ > printf("errno: %d, %s\n", errno, strerror(errno)); > } else { > printf("status for %s: 0x%x\n", if_name, edata.data); > } > >I would/should get an edata.data value of 1 for link up and 0 for link >down. Here is an example on an interface that uses the tg3 driver: > >[root@ ~]# ./test eth0 >mii_socket: 3 >Proper MII ioctl for eth0 is SIOCETHTOOL. >status for eth0: 0x1 > >The link is up and I get a 1. Same test on a nic with the e1000e driver >shows: > >[root@ ~]# ./test eth4 >mii_socket: 3 >Proper MII ioctl for eth4 is SIOCETHTOOL. >status for eth4: 0x2 > >The link is definately up and connected but instead of showing a status >of 1 it give me 2. If I unplug the link it does give me a 0 (as expected). > >This seems like a bug, but thats why I'm asking this list. >-- >John DeFranco >Hewlett-Packard Company >Availability Clusters Solutions Lab >408-447-7543 > > >----------------------------------------------------------------------- -- >Check out the new SourceForge.net Marketplace. >It's the best place to buy or sell services for >just about anything Open Source. >http://sourceforge.net/services/buy/index.php >_______________________________________________ >E1000-devel mailing list >E1000-devel@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/e1000-devel ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel