On Friday, July 02, 2010 04:40:42 pm Marcus D. Leech wrote:
I suspect that my GiGE NIC may be dropping packets. It’s an
RTL8168d-type chip, according to “dmesg”.
Are there known-to-be-good-with-GnuRadio NICs for PCI with low-profile
brackets out there? This is for
a 2U server platform.
As I don’t have a USRP2, and probably won’t be getting one any time
soon, I can’t help with that element of the question.
What I can help with is the low-profile GigE business.
If these are 32-bit slots, and if there are other bandwidth hogs on the
same bus (like a VGA card or hard disk controller/HBA), you simply run
out of PCI bandwidth trying to do full-rate GigE (32-bit slots, 33MHz
signalling, 133MB/s absolute max across the shared bus).
My 2U personal server platform is a Supermicro dual Xeon (not the Dell
2850 I’ve mentioned in relation to another project, but this is my own
personal box), which has four complete PCI-X busses, two of which can
run 64-bit cards in 133MHz signaled sockets, giving a max of 1066MB/s
(the actual clock is 133.333333…MHz, thus the data isn’t 1064MB/s),
I have a dual Intel PRO/1000 MT card with deep buffers, low-profile, and
a 64-bit interface, sitting alone on one of the board’s PCI-X busses.
It actually can’t run at 133MHz, but can at 66MHz, but that’s still
533MB/s data rates). Got it on eBay for $39.95, NIB. There’s one on
eBay now for that price; there’s also a single port for $29. Search for
‘low profile PCI-X Intel’ and those two are the only hits, as of 11:45A
EDT, today.
The e1000 driver does have its issues, but it’s been solid for me with
Fedora 13 for a few weeks now, and it was solid with CentOS 5 for months
before that.
Since you said PCI, I’m assuming this isn’t a PCI Express box we’re
talking about here, since that changes everything. A single lane PCI-e
slot is capable of 250MB/s throughput, if the chipset can keep up.
Typical server GigE cards for PCI-e can have two or four ports and need
a four lane slot; if you have dual PCI-e x16 slots, use the secondary
x16 slot in x4 mode.
Here’s the lspci -a output for the above card:
05:01.0 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet
Controller (Copper) (rev 01)
Subsystem: Intel Corporation PRO/1000 MT Dual Port Server
Adapter
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 96
Memory at e8520000 (64-bit, non-prefetchable) [size=128K]
I/O ports at 5400 [size=64]
Capabilities: [dc] Power Management version 2
Capabilities: [e4] PCI-X non-bridge device
Capabilities: [f0] MSI: Enable- Count=1/1 Maskable- 64bit+
Kernel driver in use: e1000
Kernel modules: e1000
05:01.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet
Controller (Copper) (rev 01)
Subsystem: Intel Corporation PRO/1000 MT Dual Port Server
Adapter
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 97
Memory at e8540000 (64-bit, non-prefetchable) [size=128K]
I/O ports at 5440 [size=64]
Capabilities: [dc] Power Management version 2
Capabilities: [e4] PCI-X non-bridge device
Capabilities: [f0] MSI: Enable- Count=1/1 Maskable- 64bit+
Kernel driver in use: e1000
Kernel modules: e1000
HTH.