re0: RealTek 8168/8111B: no carrier
Pyun YongHyeon
pyunyh at gmail.com
Wed Nov 7 02:14:26 PST 2007
On Wed, Nov 07, 2007 at 10:32:04AM +0200, Alexander Shikoff wrote:
> On Wed, Nov 07, 2007 at 04:51:34PM +0900, Pyun YongHyeon wrote:
> > On Wed, Nov 07, 2007 at 09:37:08AM +0200, Alexander Shikoff wrote:
> > > On Wed, Nov 07, 2007 at 09:24:30AM +0900, Pyun YongHyeon wrote:
> > > > > > # pciconf -lv
> > > > > > [...]
> > > > > > re0 at pci0:3:0:0: class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x01 hdr=0x00
> > > > > > vendor = 'Realtek Semiconductor'
> > > > > > device = 'RTL8168/8111 PCI-E Gigabit Ethernet NIC'
> > > > > > class = network
> > > > > > subclass = ethernet
> > > > > > [...]
> > > > >
> > > > > Further investigation... It seems that re(4) driver does not
> > > > > support auto-negotiation correctly. If I manually set media to 100baseTX and
> > > > > bring up interface with 'ifconfig re0 up' then it works.
> > > > >
> > > >
> > > > Would you show me more information for link partner(i.e. FreeBSD 6.2 box)?
> > >
> > > Yes, of course:
> > >
> > > FreeBSD 6.2-STABLE 7.0-BETA2
> > > rl0 <===================> re0
> > >
> > > rl0: <RealTek 8139 10/100BaseTX> port 0x9000-0x90ff mem 0xfa000000-0xfa0000ff irq 21 at device 1.0 on pci2
> > > miibus0: <MII bus> on rl0
> > > rl0: Ethernet address: 00:e0:7d:db:ca:98
> > > rl0: link state changed to UP
> > >
> > > # pciconf -lv
> > > rl0 at pci2:1:0: class=0x020000 card=0x813910ec chip=0x813910ec rev=0x10 hdr=0x00
> > > vendor = 'Realtek Semiconductor'
> > > device = 'RT8139 (A/B/C/810x/813x/C+) Fast Ethernet Adapter'
> > > class = network
> > > subclass = ethernet
> > >
> >
> > Hmm, the link partner uses rl(4) so show me the PHY driver(rlphy(4)?)
> > information. (You can extract it from dmesg(8) output.)
> rlphy0: <RealTek internal media interface> on miibus0
> rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>
> > Does the link partner has a forced speed/duplex option for rl(4)?
> No.
> # ifconfig rl0
> rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=8<VLAN_MTU>
> inet 10.0.34.1 netmask 0xffffff00 broadcast 10.0.34.255
> ether 00:e0:7d:db:ca:98
> media: Ethernet autoselect (100baseTX <full-duplex>)
> status: active
>
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?
--
Regards,
Pyun YongHyeon
More information about the freebsd-net
mailing list