Only One Port Of Dual Port EC2000S (RTL8111E, r8169) Detected
-
I found this post: https://forum.pfsense.org/index.php?topic=62929.0
But that is not that much info.
pciconf -l -v gives:
hostb0@pci0:0:0:0: class=0x060000 card=0x20b317aa chip=0x2a008086 rev=0x0c hdr=0x00 class = bridge subclass = HOST-PCI vgapci0@pci0:0:2:0: class=0x030000 card=0x20b517aa chip=0x2a028086 rev=0x0c hdr=0x00 class = display subclass = VGA vgapci1@pci0:0:2:1: class=0x038000 card=0x20b517aa chip=0x2a038086 rev=0x0c hdr=0x00 class = display em0@pci0:0:25:0: class=0x020000 card=0x20b917aa chip=0x10498086 rev=0x03 hdr=0x00 class = network subclass = ethernet uhci0@pci0:0:26:0: class=0x0c0300 card=0x20aa17aa chip=0x28348086 rev=0x03 hdr=0x00 class = serial bus subclass = USB uhci1@pci0:0:26:1: class=0x0c0300 card=0x20aa17aa chip=0x28358086 rev=0x03 hdr=0x00 class = serial bus subclass = USB ehci0@pci0:0:26:7: class=0x0c0320 card=0x20ab17aa chip=0x283a8086 rev=0x03 hdr=0x00 class = serial bus subclass = USB hdac0@pci0:0:27:0: class=0x040300 card=0x20ac17aa chip=0x284b8086 rev=0x03 hdr=0x00 class = multimedia subclass = HDA pcib1@pci0:0:28:0: class=0x060400 card=0x20ad17aa chip=0x283f8086 rev=0x03 hdr=0x01 class = bridge subclass = PCI-PCI pcib2@pci0:0:28:1: class=0x060400 card=0x20ad17aa chip=0x28418086 rev=0x03 hdr=0x01 class = bridge subclass = PCI-PCI pcib3@pci0:0:28:2: class=0x060400 card=0x20ad17aa chip=0x28438086 rev=0x03 hdr=0x01 class = bridge subclass = PCI-PCI pcib4@pci0:0:28:3: class=0x060400 card=0x20ad17aa chip=0x28458086 rev=0x03 hdr=0x01 class = bridge subclass = PCI-PCI none0@pci0:0:28:4: class=0x060400 card=0x20ad17aa chip=0x28478086 rev=0x03 hdr=0x01 class = bridge subclass = PCI-PCI uhci2@pci0:0:29:0: class=0x0c0300 card=0x20aa17aa chip=0x28308086 rev=0x03 hdr=0x00 class = serial bus subclass = USB uhci3@pci0:0:29:1: class=0x0c0300 card=0x20aa17aa chip=0x28318086 rev=0x03 hdr=0x00 class = serial bus subclass = USB uhci4@pci0:0:29:2: class=0x0c0300 card=0x20aa17aa chip=0x28328086 rev=0x03 hdr=0x00 class = serial bus subclass = USB ehci1@pci0:0:29:7: class=0x0c0320 card=0x20ab17aa chip=0x28368086 rev=0x03 hdr=0x00 class = serial bus subclass = USB pcib9@pci0:0:30:0: class=0x060401 card=0x20ae17aa chip=0x24488086 rev=0xf3 hdr=0x01 class = bridge subclass = PCI-PCI isab0@pci0:0:31:0: class=0x060100 card=0x20b617aa chip=0x28118086 rev=0x03 hdr=0x00 class = bridge subclass = PCI-ISA atapci0@pci0:0:31:1: class=0x01018a card=0x20a617aa chip=0x28508086 rev=0x03 hdr=0x00 class = mass storage subclass = ATA ahci0@pci0:0:31:2: class=0x010601 card=0x20a717aa chip=0x28298086 rev=0x03 hdr=0x00 class = mass storage subclass = SATA none1@pci0:0:31:3: class=0x0c0500 card=0x20a917aa chip=0x283e8086 rev=0x03 hdr=0x00 class = serial bus subclass = SMBus wpi0@pci0:3:0:0: class=0x028000 card=0x10108086 chip=0x42278086 rev=0x02 hdr=0x00 class = network pcib5@pci0:5:0:0: class=0x060400 card=0x00000000 chip=0x8232104c rev=0x02 hdr=0x01 class = bridge subclass = PCI-PCI pcib6@pci0:6:0:0: class=0x060400 card=0x00000000 chip=0x8233104c rev=0x02 hdr=0x01 class = bridge subclass = PCI-PCI pcib7@pci0:6:1:0: class=0x060400 card=0x00000000 chip=0x8233104c rev=0x02 hdr=0x01 class = bridge subclass = PCI-PCI pcib8@pci0:6:2:0: class=0x060400 card=0x00000000 chip=0x8233104c rev=0x02 hdr=0x01 class = bridge subclass = PCI-PCI re0@pci0:7:0:0: class=0x020000 card=0x012310ec chip=0x816810ec rev=0x06 hdr=0x00 class = network subclass = ethernet cbb0@pci0:21:0:0: class=0x060700 card=0x20c617aa chip=0x04761180 rev=0xba hdr=0x02 class = bridge subclass = PCI-CardBus fwohci0@pci0:21:0:1: class=0x0c0010 card=0x20c717aa chip=0x08321180 rev=0x04 hdr=0x00 class = serial bus subclass = FireWire xl0@pci0:22:0:0: class=0x020000 card=0x5a5710b7 chip=0x505710b7 rev=0x00 hdr=0x00 class = network subclass = ethernet
Version:
2.2-RELEASE (amd64)
built on Thu Jan 22 14:03:54 CST 2015
FreeBSD 10.1-RELEASE-p4Both interfaces show up on the same hardware in linux just fine…
Any ideas?
-
I suspect your problem is this:
none0@pci0:0:28:4: class=0x060400 card=0x20ad17aa chip=0x28478086 rev=0x03 hdr=0x01 class = bridge subclass = PCI-PCI
You have a PCI bridge that isn't functioning. If the remaining NIC is on that bridge it won't show.
This is an express-card NIC yes? Try removing it and running pciconf -lv again. Compare the results.Steve
-
I am just not familiar with FreeBSD as much as I should be. I use Linux primarily. Anyways my question is:
What about those lines shows that a PCI bridge is not functioning?
Is it the none0 in: none0@pci0:0:28:4:
Can it be a driver? I know the card works correctly in Linux on the same hardware.
-
Yes, the 'none' label means no driver has attached to it. It looks like it's a PCI to expresscard bridge which would explain it.
One of the NICs in the card is detected though you say?
The laptop doesn't have a built in NIC?
Edit: I assume em0 is the built in NIC?Steve
-
em0 is intel built in
xl0 is 3com 10/100
rl0 is the one port on the new card that is working -
You should try running pciconf -lv with the card removed to determine whether the non-attached bridge chip is actually on the card.
It seems odd that one NIC should be detected while the other is not. Especially so when you look at the specs for the expresscard standard. It consists of a single PCIe lane so you would imagine there is only one bridge chips controlling that. :-\ It does also carry USB. Could it be possible that one NIC connects via USB? Seems unlikely but you could run usbconfig to check.
Maybe boot Linux on the laptop and find out how the card connects when it's working correctly.
Steve
-
I received a response from one of the original posters:
Yes, I have both ports working. I figured out that you MUST have both ports connected with link state up when the driver loads or the port which wasn't up will never come up.
Hope that helps.
I will have to try this out when I get a chance.
-
You could also try the workaround here: https://forum.pfsense.org/index.php?topic=89057.msg492375#msg492375
There's a FreeBSD bug that interferes with proper bridge setup, and symptom is that only one port of a dual port nic shows up. Though so far I think only intel nics have been reported.
I'm not sure how you can have 'both ports connected with link state up…' before the driver loads.
-
Mmm, the symptoms don't match exactly but worth a shot.
Steve
-
Tested it today and it does not work with this card and system.
The loader.conf fix or the plug in and let initialize both do not work.
If you plug them in before boot, it does light up…but the driver still does not see the second port.