re0: RealTek 8168/8111B: no carrier

Pyun YongHyeon pyunyh at gmail.com
Thu Nov 8 17:05:59 PST 2007


On Wed, Nov 07, 2007 at 01:52:39PM +0200, Alexander Shikoff wrote:
 > On Wed, Nov 07, 2007 at 07:14:07PM +0900, Pyun YongHyeon wrote:
 > > I couldn't see guilty code. In fact I couldn't reproduce it here.
 > > Since RTL8168/8111 has built-in crossover detection feature how about
 > > using straight cable?
 > 
 > Further investigation: auto-negotiation works only after 'iconfig re0 up'
 > command.
 > 
 > How to reproduce:
 > 1. Connect cross-over cable via re0 at 7.0-box and rl0 at 6.2-box.
 > 1. Do not place any configuration for re0 in rc.conf
 > 2. Boot a 7.0-BETA2 box. Just after reboot re0 does not get UP status. 
 > I see:
 > # ifconfig re0
 > re0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
 >         options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
 >         ether 00:1a:4d:52:4e:b1
 >         media: Ethernet autoselect (10baseT/UTP <half-duplex>)
 >         status: no carrier
 > ... and in console:
 > re0: link state changed to DOWN
 > 

Because re(4) is not running yet it's normal to see 'no carrier' from
ifconfig(8) output.

 > 4. Force re0 UP with ifconfig re0 up. Then re0 starts and auto-negotiation
 > works:
 > # ifconfig re0 up
 > # ifconfig 
 > re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
 >         options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
 >         ether 00:1a:4d:52:4e:b1
 >         media: Ethernet autoselect (100baseTX <full-duplex>)
 >         status: active
 > 
 > So this problem turns into problem of automatic start of re0 interface.

Probably not. If you want to get established valid link with link
partner you should make re(4) up to start link negotiation with
link partner.

 > Sorry for this inconvenience with negotiation, but issue with automatic
 > start is actual. Thanks!
 > 
-- 
Regards,
Pyun YongHyeon


More information about the freebsd-net mailing list