I have RouterOS 3.9 installed on x86 hardware with 2 Intel nics, and 2 RB44G cards for a total of 10 ethernet interfaces. We have a few links with throughput of about 20Mbps, and others with much less. Some ports wont pass traffic at all… Tx is low, Rx is much lower or at 0. As we disconnect some connections and move them around, the problem ports start to work, and others fail. It seems as though there is nothing wrong with the cards or the ports, but some combination of them being used at the same time.
I looked at the IRQs, and it looks like they all have a unique IRQ, 17, 20-29. This setup also works fine with 10 nics using 2 Intel, 2 DLink 4 port cards and FreeBSD.
Out of curiosity, you are using the exact same motherboard and other hardware (with the exception of D-Link cards getting swapped for RB44Gs) when running FreeBSD, or is BSD running on a different machine?
Do the Intel cards in your PC MikroTik ever have the throughput problem, or is it only the ports on the RB44G cards?
What version of the RB44G do you have, the VIA one (RB44GV) or the one with the sucktastic Realtek chips?
If you can get acceptable performance from FreeBSD on the same hardware, and you aren’t having problems with the two Intel ports in RouterOS, I’d put money on Realtek being the problem here…
IRQs etc, will also not get you the full speed of the card. Most mainboards will only allow you to have so many IRQs as well as most share their PCI Buss. This causes a bottleneck with GigE cards.
Can you have 10 Ethernets in there, yep, no problem. Just have to setup your mainboard with the most possible IRQs vs devices. Should it work yes, does it work with every mainboard nope!
There are other solutions such as the http://www.mikrotikrouter.com, and other tested, assembled and tested x86 solutions out there! One of the reasons why routerboards are so popular is that they just work! with x86 systems, its not the same.