# Network  Card Recommendations



## stroudmw (Jul 2, 2021)

I've got a (very) old desktop that I've been using as a server. I've been using Centos, but I've decided to replace it, and I really like FreeBSD.
The issue I have is with my existing Realtek RTL8111/8168/8411 PCI network card: I just can't get it to work reliably (it's very slow, and then it stops altogether, which means I need to reboot). The thing is, the card is part of the motherboard so I can't just rip it out and plug in something else.
I've been googling the Realtek for a few days, and have tried several of the suggested options, but none have proven successful. So, I need to find something that will work with FreeBSD 13. Does anyone have any suggestions for me please? I  need something reliable, functional, and cheap. I can then take the list to my local computer hardware supplier and see what they've got. Thanks!


----------



## stroudmw (Jul 2, 2021)

```
H/W path             Device     Class          Description
==========================================================
                                system         Desktop Computer
/0                              bus            Motherboard
/0/0                            memory         64KiB BIOS
/0/4                            processor      Pentium(R) Dual-Core  CPU      E6700  @ 3.20GHz
/0/4/5                          memory         32KiB L1 cache
/0/4/6                          memory         2MiB L2 cache
/0/2b                           memory         3GiB System Memory
/0/2b/0                         memory         1GiB DIMM DDR3 Synchronous 1066 MHz (0.9 ns)
/0/2b/1                         memory         2GiB DIMM DDR3 Synchronous 1066 MHz (0.9 ns)
/0/100                          bridge         4 Series Chipset DRAM Controller
/0/100/1                        bridge         4 Series Chipset PCI Express Root Port
/0/100/2             /dev/fb0   display        4 Series Chipset Integrated Graphics Controller
/0/100/1b            card0      multimedia     NM10/ICH7 Family High Definition Audio Controller
/0/100/1b/0          input10    input          HDA Intel Front Headphone
/0/100/1b/1          input6     input          HDA Intel Front Mic
/0/100/1b/2          input7     input          HDA Intel Rear Mic
/0/100/1b/3          input8     input          HDA Intel Line
/0/100/1b/4          input9     input          HDA Intel Line Out
/0/100/1c                       bridge         NM10/ICH7 Family PCI Express Port 1
/0/100/1c.1                     bridge         NM10/ICH7 Family PCI Express Port 2
/0/100/1c.1/0        enp3s0     network        RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
/0/100/1d                       bus            NM10/ICH7 Family USB UHCI Controller #1
/0/100/1d/1          usb2       bus            UHCI Host Controller
/0/100/1d/1/1        input3     input          USB OPTICAL MOUSE
/0/100/1d.1                     bus            NM10/ICH7 Family USB UHCI Controller #2
/0/100/1d.1/1        usb3       bus            UHCI Host Controller
/0/100/1d.2                     bus            NM10/ICH7 Family USB UHCI Controller #3
/0/100/1d.2/1        usb4       bus            UHCI Host Controller
/0/100/1d.3                     bus            NM10/ICH7 Family USB UHCI Controller #4
/0/100/1d.3/1        usb5       bus            UHCI Host Controller
/0/100/1d.7                     bus            NM10/ICH7 Family USB2 EHCI Controller
/0/100/1d.7/1        usb1       bus            EHCI Host Controller
/0/100/1e                       bridge         82801 PCI Bridge
/0/100/1f                       bridge         82801GB/GR (ICH7 Family) LPC Interface Bridge
/0/100/1f/0                     system         PnP device PNP0c01
/0/100/1f/1                     system         PnP device PNP0c02
/0/100/1f/2                     system         PnP device PNP0c02
/0/100/1f/3                     input          PnP device PNP0303
/0/100/1f/4                     storage        PnP device PNP0700
/0/100/1f/5                     communication  PnP device PNP0501
/0/100/1f/6                     communication  PnP device PNP0501
/0/100/1f/7                     printer        PnP device PNP0401
/0/100/1f/8                     system         PnP device PNP0b00
/0/100/1f/9                     system         PnP device PNP0c02
/0/100/1f.2          scsi0      storage        NM10/ICH7 Family SATA Controller [IDE mode]
/0/100/1f.2/0        /dev/sda   disk           1TB WDC WD10EZEX-21M
/0/100/1f.2/0/1      /dev/sda1  volume         931GiB Linux LVM Physical Volume partition
/0/100/1f.2/0.1.0    /dev/sdb   disk           1TB WDC WD10EZEX-22M
/0/100/1f.2/0.1.0/1             volume         1GiB Linux filesystem partition
/0/100/1f.2/0.1.0/2  /dev/sdb2  volume         927GiB Linux LVM Physical Volume partition
/0/100/1f.2/0.1.0/3  /dev/sdb3  volume         3047MiB Linux swap volume
/0/100/1f.2/1        /dev/sdc   disk           1TB WDC WD10EZEX-00M
/0/100/1f.2/1/1      /dev/sdc1  volume         931GiB Linux LVM Physical Volume partition
/0/100/1f.3                     bus            NM10/ICH7 Family SMBus Controller
/1                   input0     input          Power Button
/2                   input1     input          Power Button
/3                   input2     input          AT Translated Set 2 keyboard
/4                   input4     input          Video Bus
/5                   input5     input          PC Speaker
```


----------



## Alexander88207 (Jul 2, 2021)

Hello,

In my opinion, the best method for looking a working wifi device is to read the man pages of the individual drivers such as rtwn(), ral() or iwm() and then look for a stick or pci card with the supported chipset that fits for you.

For example i have bought a Hommie Dual-Band WiFi Card AC PCIE Card that is using the iwm() driver. (No intentional advertising at this point.)


```
iwm0: <Intel(R) Dual Band Wireless AC 7265> mem 0xa0100000-0xa0101fff at device 0.0 on pci2
```


----------



## stroudmw (Jul 2, 2021)

Thanks, but it's not wifi, it's ethernet.


----------



## mer (Jul 2, 2021)

I'd look for an Intel based card.  You should be able to find them in just about any bus format you need, any speed up to 10G.  Not sure where you're located, but plenty of online places to order from.


----------



## mark_j (Jul 2, 2021)

These cards have a long history as yet another tragic reminder of the crap realtek produces. Yes, I'm an ardent hater of them.
Anyway, perhaps your issue can be resolved here: https://github.com/kostikbel/rere


----------



## Alexander88207 (Jul 2, 2021)

stroudmw said:


> Thanks, but it's not wifi, it's ethernet.



em(0)(), re(4)()


----------



## PMc (Jul 2, 2021)

Realtek is certainly not considered the most reliable brand, and mine is a bit different one (in ASUS P8B75-V), and with that I have nothing to complain (on FreeBSD 12.2):

```
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
```
.
Have you tried it with FreeBSD already, or is this a Centos experience?

Then, for a 1000baseT(X) card, dont go to the dealer. Go to some used-stuff market. Intel chips are generally considered best, and I got a 2-port for 1.5€ and 4-port for 5€ last year from the bay. (The newer models are less power-hungry, see here)


----------



## stroudmw (Jul 2, 2021)

PMc said:


> Realtek is certainly not considered the most reliable brand, and mine is a bit different one (in ASUS P8B75-V), and with that I have nothing to complain (on FreeBSD 12.2):
> 
> ```
> rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
> ...


It's a FreeBSD issue. It works pretty well on Linux.


----------



## stroudmw (Jul 2, 2021)

What about a PCIe X1 add-in card?


----------



## mark_j (Jul 2, 2021)

Yep. A Intel 82574L is well supported and they're cheap.


----------



## SirDice (Jul 2, 2021)

If you have a free slot get an Intel PRO/1000 card (they come in PCI and PCIe variants). Those are reasonably cheap and perform really well.


----------



## stroudmw (Jul 2, 2021)

What about a Gigabit TP link TG3468? I can get one of those today really cheaply.


----------



## stroudmw (Jul 2, 2021)

Damn. It seems that the TG3468 won't be much better that the Realtek that I've already got.


----------



## mark_j (Jul 2, 2021)

According to here it's supported. That's v2, but it's also supported up to v4: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250037

And honestly, if it only costs a few dollars, buy it and try it!


----------



## mer (Jul 2, 2021)

stroudmw said:


> Damn. It seems that the TG3468 won't be much better that the Realtek that I've already got.


A problem is that the chipset matters, not really who makes the card.  Lots of different "brands" of video cards that use the same sets of Nvidia GPUs.
That also exists in the network card space.


----------



## stroudmw (Jul 2, 2021)

mer said:


> A problem is that the chipset matters, not really who makes the card.  Lots of different "brands" of video cards that use the same sets of Nvidia GPUs.
> That also exists in the network card space.


That makes sense. Thanks.


----------



## stroudmw (Jul 2, 2021)

mark_j said:


> According to here it's supported. That's v2, but it's also supported up to v4: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250037
> 
> And honestly, if it only costs a few dollars, buy it and try it!


The only problem with that is that the Realtek I've got now is also supported. But doesn't really work very well. For example, on Linux I can get about 50 mbps data transfers. With BSD, it's closer to 5. Then it dies and I need to reboot.


----------



## SirDice (Jul 2, 2021)

Just stick the new card in your PC and disable the onboard Realtek. Don't forget to modify your rc.conf to account for the driver change. Never had good results with any Realtek card, I try to avoid them as much as possible.


----------



## PMc (Jul 2, 2021)

stroudmw said:


> The only problem with that is that the Realtek I've got now is also supported. But doesn't really work very well. For example, on Linux I can get about 50 mbps data transfers. With BSD, it's closer to 5. Then it dies and I need to reboot.


Sadly, such happens. Then, as You say, it works with Centos, so it can be made working. Now somebody would need to sit down and analyze what is actually going wrong, and adapt the code. But then, first, this is realtek, so it most likely is not a defective code that might be fixed, but a defective implementation that could be workarounded in the code, and that's not really fun to do (it may then work with one series of card firmware, and again fail with the next, etc.etc.). And second, since we can get good working cards for somewhat a doller, why should anybody bother to do it?


----------



## Geezer (Jul 2, 2021)

stroudmw said:


> Damn. It seems that the TG3468 won't be much better that the Realtek that I've already got.



I have got one of those, and it works very well with the re driver.


----------



## covacat (Jul 2, 2021)

i also have this
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet>
and works well. can get about 55MB/s up/down (with a lame nc test and via internet (fiber/gpon/pppoe/mpd5 on same ISP)
nic is embedded in the mobo Gigabyte B85-HD3

LE
card info
re0@pci0:2:0:0:    class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x06 hdr=0x00


----------



## Tieks (Jul 2, 2021)

covacat said:
			
		

> nic is embedded in the mobo Gigabyte B85-HD3



Same hardware here, about the same performance. Don't remember having problems with Realtek.


----------



## stroudmw (Jul 2, 2021)

That is interesting


----------



## sko (Jul 2, 2021)

SirDice said:


> If you have a free slot get an Intel PRO/1000 card (they come in PCI and PCIe variants). Those are reasonably cheap and perform really well.


+1
just any generation of the intel pro/e1000 is sufficient and 'just works™'



stroudmw said:


> What about a Gigabit TP link TG3468? I can get one of those today really cheaply.


stay away from cheap crap like TP-link... if you want something reliable, just use intel.

realtek "usually works", but they always have tons of just slightly different variations of chipsets, which often causes driver issues. They also often get flaky when put under real load and/or have buggy/unreliable offloading which causes all sorts of problems. I haven't had a realtek NIC (especially onboard) yet which didn't had at least one quirk (e.g. needed to disable some offloading), so I resorted to just stay away from realtek if possible for systems that I just want to work.


----------



## garry (Jul 2, 2021)

I use Intel 2-port Gigabit Ethernet NIC -- every one of my computers uses that exact same nic.  I find it an inexpensive way to get reliable gigabit ethernet, and I like having two-ports so that each of my computers is capable of talking on a public-facing route that connects to Internet and on a private-network for file sharing and backup.


----------



## Geezer (Jul 3, 2021)

sko said:


> .....stay away from cheap crap.....



Don't mince your words.


----------

