P811B Quad Port NIC problem.

Pyun YongHyeon pyunyh at gmail.com
Sun Aug 22 21:45:15 UTC 2010


On Sun, Aug 22, 2010 at 12:28:34PM +0200, Nikola Kalpazanov wrote:
> Hi,
> 
> I applied the patch provided by Pyun YongHyeon to the rl driver.
> Then put
> hint.rl.0.prefer_iomap="0" # for rl0
> hint.rl.1.prefer_iomap="0" # for rl1
> hint.rl.3.prefer_iomap="0" # for rl3
> 
> and all 3 adapters are now working fine.
> 
> I absolutely agree that Realtek makes low-end adapters.
> 

Even though the vendor may produce low-end ethernet controllers
the controller would be sufficient enough to handle most traffics
for personal/home usage. CPU is fast enough to saturate 100Mbps
link with this controller and your bottle-neck would be PCI bus
because you would use 4 ethernet controllers at the same time.

> But in my case scenario I am building a router with WiFi access point
> and this particular device allows me to do it on mini-ITX board (
> single PCI slot ).
> 
> Again ... I want to send my thanks and regards to Pyun for making this
> possible for me.
> 

I just committed the patch to HEAD(r211648) and will MFC the change
after 1 week. I made slight change to original patch so the tunable
is now set in /boot/loader.conf instead of /boot/device.hints. You
can get the same effect by adding the following line to
/boot/loader.conf file.

dev.rl.0.prefer_iomap="0" # for rl0
dev.rl.1.prefer_iomap="0" # for rl1
dev.rl.3.prefer_iomap="0" # for rl3

Thanks for testing and reporting!

> Regards,
> Nikola
> 
> On Fri, Aug 20, 2010 at 7:40 PM, Pyun YongHyeon <pyunyh at gmail.com> wrote:
> > On Fri, Aug 20, 2010 at 01:44:20PM +0200, Nikola Kalpazanov wrote:
> >> Hi,
> >>
> >> First I want to start with the note that I know Realtek is no good,
> >> yet I will appreciate any assistance that you may provide.
> >>
> >> here are details of the problem:
> >>
> >> P811B is 4 port Ethernet card with built-in mini-PCI slot where I have
> >> attached Atheros 802.11a/b/g/n Wireless PCI Adapter (AR5416).
> >> That also requires to disable 4th port from the jumpers on the card.
> >>
> >> I have installed FreeBSD 8.1-RELEASE i386
> >>
> >> pciconf -vlb
> >>
> >> pcib6 at pci0:5:0:0: ? ? ? class=0x060400 card=0x00000000 chip=0x814812d8
> >> rev=0x00 hdr=0x01
> >> ? ? vendor ? ? = 'Pericom Semiconductor'
> >> ? ? class ? ? ?= bridge
> >> ? ? subclass ? = PCI-PCI
> >> rl0 at pci0:6:8:0: class=0x020000 card=0x813910ec chip=0x813910ec rev=0x10 hdr=0x00
> >> ? ? vendor ? ? = 'Realtek Semiconductor'
> >> ? ? device ? ? = 'Realtek RTL8139 Family PCI Fast Ethernet NIC
> >> (RTL-8139/8139C/8139D)'
> >> ? ? class ? ? ?= network
> >> ? ? subclass ? = ethernet
> >> ? ? bar ? [14] = type Memory, range 32, base 0xe0110200, size 256, enabled
> >> rl1 at pci0:6:9:0: class=0x020000 card=0x813910ec chip=0x813910ec rev=0x10 hdr=0x00
> >> ? ? vendor ? ? = 'Realtek Semiconductor'
> >> ? ? device ? ? = 'Realtek RTL8139 Family PCI Fast Ethernet NIC
> >> (RTL-8139/8139C/8139D)'
> >> ? ? class ? ? ?= network
> >> ? ? subclass ? = ethernet
> >> ? ? bar ? [14] = type Memory, range 32, base 0xe0110100, size 256, enabled
> >> rl2 at pci0:6:10:0: ? ? ? ?class=0x020000 card=0x813910ec chip=0x813910ec
> >> rev=0x10 hdr=0x00
> >> ? ? vendor ? ? = 'Realtek Semiconductor'
> >> ? ? device ? ? = 'Realtek RTL8139 Family PCI Fast Ethernet NIC
> >> (RTL-8139/8139C/8139D)'
> >> ? ? class ? ? ?= network
> >> ? ? subclass ? = ethernet
> >> ? ? bar ? [10] = type I/O Port, range 32, base 0x1000, size 256, enabled
> >> ? ? bar ? [14] = type Memory, range 32, base 0xe0110000, size 256, enabled
> >> ath0 at pci0:6:11:0: ? ? ? class=0x028000 card=0x2071168c chip=0x0023168c
> >> rev=0x01 hdr=0x00
> >> ? ? vendor ? ? = 'Atheros Communications Inc.'
> >> ? ? device ? ? = '802.11a/b/g/n Wireless PCI Adapter (AR5416)'
> >> ? ? class ? ? ?= network
> >> ? ? bar ? [10] = type Memory, range 32, base 0xe0100000, size 65536, enabled
> >>
> >>
> >>
> >> dmesg
> >>
> >> rl0: <RealTek 8139 10/100BaseTX> port 0x1200-0x12ff mem
> >> 0xe0110200-0xe01102ff irq 21 at device 8.0 on pci6
> >> rl0: reset never completed!
> >> rl0: unknown device ID: ffff assuming 8139
> >> rl0: MII without any phy!
> >> device_attach: rl0 attach returned 6
> >> rl1: <RealTek 8139 10/100BaseTX> port 0x1100-0x11ff mem
> >> 0xe0110100-0xe01101ff irq 22 at device 9.0 on pci6
> >> rl1: reset never completed!
> >> rl1: unknown device ID: ffff assuming 8139
> >> rl1: MII without any phy!
> >> device_attach: rl1 attach returned 6
> >> rl2: <RealTek 8139 10/100BaseTX> port 0x1000-0x10ff mem
> >> 0xe0110000-0xe01100ff irq 23 at device 10.0 on pci6
> >> miibus1: <MII bus> on rl2
> >> rlphy0: <RealTek internal media interface> PHY 0 on miibus1
> >> rlphy0: ?10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> >> rl2: Ethernet address: 00:06:4f:67:08:f5
> >> rl2: [ITHREAD]
> >> rl2: link state changed to DOWN
> >>
> >>
> >> ath0 works fine
> >> rl2 works fine
> >>
> >> rl0 and rl1 don't and of course as you may suspect they are missing
> >> from ifconfig -a
> >>
> >> if I remove the miniPCI Atheros and enable 4th port it is the same
> >> picture but this time 4th port rl3 works fine and rl0, rl1, and rl2
> >> don't in the same way.
> >>
> >> Any suggestions will be much appreciated.
> >
> > What makes me wonder is that both pci0:6:8:0 and pci0:6:9:0 has no
> > I/O BAR. I never saw these kind of thing on rl(4) controllers.
> > And I can't explain how rl(4) could successfully map the I/O with
> > non-existing I/O BAR.
> > Anyway would you try attached patch and let me know whether it
> > makes any difference? Also add the following line to
> > /boot/device.hints to have rl(4) use memory mapped mapping.
> >
> > hint.rl.0.prefer_iomap="0"
> >


More information about the freebsd-stable mailing list