if_re is broken on RELENG_7 ?

Pyun YongHyeon pyunyh at gmail.com
Thu Oct 2 10:13:36 UTC 2008


On Thu, Oct 02, 2008 at 12:01:57PM +0300, Sergey V. Dyatko wrote:
 > В Thu, 2 Oct 2008 17:44:25 +0900
 > Pyun YongHyeon <pyunyh at gmail.com> пишет:
 > 
 > > On Thu, Oct 02, 2008 at 10:26:00AM +0300, Sergey V. Dyatko wrote:
 > >  > Hi list, 
 > >  > I have ASUS a6m laptop with integrated RTL8168/8111 PCI-E Gigabit
 > >  > Ethernet NIC, long time ago (7.0-CURRENT - 7.0-prerelease) I used
 > >  > it. Than I started to enjoy BCM43XX wi-fi adapter and now I
 > >  > recently decided to revert to the use of realtek adapter. But it
 > >  > doesn't work. I'm just not running a network card or at all does
 > >  > not work?
 > >  > 
 > >  > some additional information: 
 > >  > ifconfig shows such information, regardless of whether the cable is
 > >  > connected:
 > >  > 
 > >  > %ifconfig re0 
 > >  > re0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
 > >  >         options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
 > >  >         ether 00:1a:92:ca:b3:bc
 > >  >         media: Ethernet autoselect (10baseT/UTP <half-duplex>)
 > >  >         status: no carrier
 > > 
 > > I don't see what's wrong in the output above. Because there is no
 > > "RUNNING" in flags field I guess you didn't up the interface.
 > > (e.g. either assign an IP address to the interface or run
 > > 'dhclient re0' if you want to get an IP address over DHCP).
 > > 
 > Hmm, after command 'ifconfig re0 up' status changed to  'active',
 > media to '100baseTX <full-duplex>' and everything work fine (dhclient
 > re0). What time have I had to type "up" explicitly to make it work
 > since?

You don't have to, just configure re0 interface(e.g. rc.conf)

 > 
 > On my desktop with age(4):
 > without cable:
 > age0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
 > 	 options=319b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC>
 >          ether 00:1b:fc:d4:7d:b3
 >          media: Ethernet autoselect (none)
 >          status: no carrier
 > Now I'll plug cable into NIC:
 > 
 > age0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
 > 	 options=319b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC>
 > 	 ether 00:1b:fc:d4:7d:b3
 >          media: Ethernet autoselect (100baseTX <full-duplex>)
 >          status: active
 > in that case I haven't "RUNNING" in flags field too, that flag and flag
 > 'UP' appeared after I assing IP to age0
 > 
 > age0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0
 > mtu1500
 > 	 options=319b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC>
 >          ether 00:1b:fc:d4:7d:b3
 >          inet 192.168.9.240 netmask 0xffffff00 broadcast 192.168.9.255

That depends on PHY driver, rgephy(4) for re(4). Some PHY hardware
requires special mode/initialization to establish a valid link with
link partner.
It seems that atphy(4) doesn't require any special PHY hardware
configuration to establish a link.

Also you can say the link status is valid only after interface up.
Normally PHY drivers will have to restart auto-negotiation to
choose the highest common denominator ability in interface up time.
The established link after auto-negotiation may/may not agree on
the speed/duplex of the link you've seen before the initialization.

-- 
Regards,
Pyun YongHyeon


More information about the freebsd-stable mailing list