P811B Quad Port NIC problem.

Nikola Kalpazanov n.kalpazanov at gmail.com
Sun Aug 22 10:28:35 UTC 2010


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.

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.

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