# Netgear GA311-rev-a1



## Deleted member 54719 (Apr 8, 2018)

This is a mid 2000s 1000TX PCI network card based on the RTL8169S-32 chip.  I have zero success using it on FreeBSD, although it is supported well under Linux.

The card is not recognized by the stock BSD driver, nor the Netgear downloaded sourcecode driver that is advertised as being compatible through FreeBSD 7.

I added some debugging code to the Netgear source driver (well, first added the correct vendor and device IDs to the driver), then printed out where the driver was failing.  It fails during driver setup of the MAC.  I then managed to get a hold of the datasheet for the RTL8169S-32 as well as reviewed the Linux driver and Whoa Charlie!  That chip is a complicated device.  There is much code in the Linux driver to setup and initialize the card: code that is beyond me with just a cursory glance.  Nowhere near that amount of setup code exists in the Netgear supplied driver.

Has anyone addressed this particular device, or it's Broadcom engine under FreeBSD?


----------



## Deleted member 54719 (May 21, 2018)

I guess due to the deafening sound of crickets chirping, no one has any info about RTL8169S-32 NIC support?


----------



## VladiBG (May 21, 2018)

RE(4) has support of 8169S but if the card is modified by Netgear then it has different device id and that's why is not recognized.
You may want to check this https://lists.freebsd.org/pipermail/freebsd-bugs/2007-November/026604.html


----------



## Deleted member 54719 (May 23, 2018)

It had a netgear specific vender:device id so I modified the driver to include its id.  It still failed at device setup.  The weird thing is that Netlink provided a bsd driver for up through freebsd 7, but it didn't work in 11.


----------



## Deleted member 54719 (May 23, 2018)

VladiBG said:


> RE(4) has support of 8169S but if the card is modified by Netgear then it has different device id and that's why is not recognized.
> You may want to check this https://lists.freebsd.org/pipermail/freebsd-bugs/2007-November/026604.html



Oops.  Didn't read the referenced thread before.  will compare my modifications to RE with the patch.


----------



## Deleted member 54719 (May 23, 2018)

re: thread that mentioned the NIC by name - no joy.  added the device id by hand and built then loaded the module with the following results.


re0: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet> port 0xde00-0xdeff mem 0xfe1eef00-0xfe1eefff irq 22 at device 1.0 on pci1
re0: Chip rev. 0x7c800000
re0: MAC rev. 0x00700000
re0: attaching PHYs failed
device_attach: re0 attach returned 6

This is where I was at a month ago when last I investigated.  It fails when initializing the MAC.  I know the card is good, as I can USB boot  linux and use it in the target host.


----------



## Deleted member 54719 (May 23, 2018)

Problem solved.  The community driver for this card is broken.  The Netgear legacy driver does work, but their instructions for building it are either incorrect or too hard to follow.

1) save the /sys/dev/re/if_re* files somewhere else
2) copy the if_re* files from the vendor archive to /sys/dev/re
3) go to /sys/modules/re
4) make clean (as root)
5) make (as root)
6) at this point I was able to kldload ./if_re.ko and the NIC initialized properly.


----------



## VladiBG (May 23, 2018)

too much effort to make a cheap NIC to work and you don't know how it will perform in the heavy load. I would buy another NIC that have good support and throw away this one.


----------

