I have a couple of these cards and didn't want to go down the software route (too hard, no clear instructions). This post is a hardware hack to just use the nic ports are regular nics:
On the top of the card, there are 8 Panasonic TXS2S2-L-4.5V non-latching, double pole relays. Each relay handles 2 of ethernet's 8 wires so only 4 are required. There are two banks of 4, the first 4 connect the ethernet ports together. The next 4 connect the network controller to the ports. They are in direct bypass mode when the relays are not energized. This means without software control, this is just a bypass and the interfaces cannot send/receive traffic. My hardware hack is to energize the relays with a USB cable. This hack is likely to be applicable to other nics.
Step 1:
Flip the ethernet controller over, remove the sticker that starts with 'Silicom P/N: PEG2BPI6...". Underneath that sticker, if you look carefully, you will see vias (0.2mm circles) that are in a pattern like the following ascii diagram. These vias are directly under the relays and match up to the relay's pinouts. Here's an ascii diagram, 'o's are the vias:
Code:
o o o o o o o o
o o o o o o o o
o o o o o o o o
o o o o o o o o
According to the spec sheet, the last two connectors are the ones that control the relay. Here they are again with the polarization, here it is:
Code:
o o o o o o o o
o o o o o o o o
o o o o o o o o
o+o- o o o o o o
If you apply 5v (from usb or another source) to the bottom left and ground the bottom right connector, you should hear a loud click. This is the relay switching. Removing the power will turn the relay off, back into the bypass position again a click should be audible. If you hear no click, your polarization is wrong.
What I did was connect the positive from the bottom bank to the top bank, and then connected the ground from bottom to top. Each bank has 4 relays connected together so powering one relay in a bank powers them all on. With two wires connecting the two banks, powering one bank powers both. The pipe symbols below represent the wire I added:
Code:
o o o o o o o o
o o o o o o o o
o o o o o o o o
o o o o o+o- o o
| |
| |
| |
o o o o o|o| o o
o o o o o|o| o o
o o o o o|o| o o
| |
o o o o o+o- o o
I chose to use this center-right row because the vias were best exposed there. Others have components close to the vias, there are also some vias that are not exposed on the bottom row. It doesn't really matter which ones you use. Consider you can test this completely with the card outside a PC, there is no requirement for this to be inside your PCIE slot to test it. The final step for me was connecting a usb cable's +5v and ground to these two wires. once done, my interfaces worked!
eth2 Link encap:Ethernet HWaddr 00:e0:ed:19:39:5f
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:edff:fe19:395f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:593 errors:0 dropped:0 overruns:0 frame:0
TX packets:491 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:134612 (134.6 KB) TX bytes:91962 (91.9 KB)
Memory:df240000-df260000
04:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
Subsystem: Silicom Ltd. Device 0300
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at df240000 (32-bit, non-prefetchable) [size=128K]
Memory at df260000 (32-bit, non-prefetchable) [size=128K]
I/O ports at e000 [size=32]
Memory at df2c4000 (32-bit, non-prefetchable) [size=16K]
Expansion ROM at df420000 [disabled] [size=128K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-e0-ed-ff-ff-19-39-5e
Capabilities: [150] Alternative Routing-ID Interpretation (ARI)
Capabilities: [160] Single Root I/O Virtualization (SR-IOV)
Kernel driver in use: igb
mint 17 / 3.13.0-24-generic kernel.