Realtek 8111G Support
-
I have a Shuttle DS47 with 2 Realtek 8111G Gigabit Cards. This will not woking in 2.0, and 2.1RC1
FreeBSD Driver ready for download:
It will be nice when the pfSense 2.1 will support this Network Modules
g.
thomas -
Hmm, interesting.
Unfortunately the driver at Realtek's site appears to be much older than that included in 2.1. The 8111G is not listed anywhere in the code and most recent FreeBSD 8 version tested is 8.0.
The only version that would ever be included in pfSense is the FreeBSD code anyway (though you could compile your own) so the best place to check would be the FreeBSD mailing lists.Steve
-
The most recent re(4) source doesn't appear to support this yet:
{ RT_VENDORID, RT_DEVICEID_8168, 0, "RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet" },
Steve
-
I have a Shuttle DS47 with 2 Realtek 8111G Gigabit Cards. This will not woking in 2.0, and 2.1RC1
…It will be nice when the pfSense 2.1 will support this Network ModulesIt would be nice if Realtek started making network chips that were not junk. Until then, buying a device that has Intel network chips or a PCIe slot to take an Intel card is going to beat Realtek 7 days a week in any application where the network working counts. Been there, done that, won't go back. Have a pile of ethernet cards, some claiming to be gigabit, that won't run anywhere near their claimed speeds. Don't have a lot of use for them…
-
Been there, done that, won't go back. Have a pile of ethernet cards.
Yup, Im the same. When I was a newbie I read the hate towards Realtek cards and thought they cant be that bad.
They are that bad. They are junk..
-
A lot of the bad rep Realtek suffers is due to their 10/100 cards which were indeed junk. Their gigabit cards are far better. That's not to say they're particularly good just that you can at least expect them to continue functioning even if not at full line speed.
Steve
-
I've noticed no problems with nvidia and I've never had a problem with a realtek (if they had working drivers - can be big if).
-
{ RT_VENDORID, RT_DEVICEID_8168, 0, "RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet" },
Steve
Realtek send me a new driver:
After consulting with SW Engineers, we have different driver version for inbox drivers and Realtek drivers.
The Driver on Realtek website is supported 8111G.
And the message you show on mail that is inbox Driver, have you installed the driver?{ RT_VENDORID, RT_DEVICEID_8168, 0,
"RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet" },But I don't know how to integrate and test this driver on a pfsense installation:
The main steps you have to do:(FreeBSDSrcDir means the directory of FreeBSD source code
and it may be "/usr/src/sys")1. keep the orginal driver source code:
cd /usr/src/sys/dev/re
cp if_re.c if_re.c.org
cd /usr/src/sys/modules
cp Makefile Makefile.org
cd /usr/src/sys/modules/re
cp Makefile Makefile.org
cd /usr/src/sys/i386/conf/
cp GENERIC GENERIC.org
2. recompile your kernel (you must install your FreeBSD source code first !!)
vim /usr/src/sys/i386/conf/GENERIC and delete re
vim /usr/src/sys/modules/Makefile and delete re
cd /usr/src/sys/i386/conf
/usr/sbin/config GENERIC
(for FreeBSD 5.x/6.x/7.x/8.x/9.x)
cd ../compile/GENERIC
(for FreeBSD 4.x)
cd ../../compile/GENERIC
make cleandepend
make depend
make
make install
reboot
3. update the driver source code:
Copy the dirver source code( if_re.c and if_rereg.h) into /usr/src/sys/dev/re
Copy the Makefile into /usr/src/sys/modules/re
4. build the driver:cd /usr/src/sys/modules/re
make clean
make
5. install the driver
cd /usr/src/sys/modules/re
kldload ./if_re.ko
I'm just a advanced user and not a developer.
g.
Thomas -
You would have to do that from a full FreeBSD 8.1 install as pfSense doesn't have any build tools or source included.
You could try the kernel linked in this thread which has updated Realtek drivers. I don't know if they're new enough though.
http://forum.pfsense.org/index.php/topic,62032.msg342520.html#msg342520Steve
-
Are there any other solutions for this problem for basic users like me? :o
Do you see any possibilities to include a working driver directly in the 2.1-RELEASE iso somehow?
Or can we use some 2.2-ALPHA which includes the missing driver?
Any help / information on this would be great :)
-
Bad news - also in the Alpha Release of FreeBSD10 is the 8111G Support missing :'(
-
well … then I will use the unit as a Linux server if we can't get working this network adapters in 2013 ... really awesome.
I don't understand why this network adapter is so different compared to the RTL8111E.
-
It looks like that it will work in the next FreeBSD 10 Version:
Index: sys/dev/re/if_re.c
–- sys/dev/re/if_re.c (revision 255582)
+++ sys/dev/re/if_re.c (working copy)
@@ -234,6 +234,10 @@
{ RL_HWREV_8168E_VL, RL_8169, "8168E/8111E-VL", RL_JUMBO_MTU_6K},
{ RL_HWREV_8168F, RL_8169, "8168F/8111F", RL_JUMBO_MTU_9K},
{ RL_HWREV_8411, RL_8169, "8411", RL_JUMBO_MTU_9K},- { RL_HWREV_8168_0, RL_8169, "8168G/8111G", RL_JUMBO_MTU_9K},
- { RL_HWREV_8168_1, RL_8169, "8168G/8111G", RL_JUMBO_MTU_9K},
- { RL_HWREV_8168_2, RL_8169, "8168G/8111G", RL_JUMBO_MTU_9K},
- { RL_HWREV_8168_4, RL_8169, "8411", RL_JUMBO_MTU_9K},
{ 0, 0, NULL, 0 }
};
@@ -1457,6 +1461,10 @@
case RL_HWREV_8168E_VL:
case RL_HWREV_8168F:
case RL_HWREV_8411:- case RL_HWREV_8168G_0:
- case RL_HWREV_8168G_1:
- case RL_HWREV_8168G_2:
- case RL_HWREV_8168G_4:
sc->rl_flags |= RL_FLAG_PHYWAKE | RL_FLAG_PAR |
RL_FLAG_DESCV2 | RL_FLAG_MACSTAT | RL_FLAG_CMDSTOP |
RL_FLAG_AUTOPAD | RL_FLAG_JUMBOV2 |
Index: sys/pci/if_rlreg.h
===================================================================
--- sys/pci/if_rlreg.h (revision 255582)
+++ sys/pci/if_rlreg.h (working copy)
@@ -191,6 +191,10 @@
#define RL_HWREV_8402 0x44000000
#define RL_HWREV_8168F 0x48000000
#define RL_HWREV_8411 0x48800000
+#define RL_HWREV_8168G_0 0x4c000000
+#define RL_HWREV_8168G_1 0x4c100000
+#define RL_HWREV_8168G_2 0x50900000
+#define RL_HWREV_8168G_4 0x5c800000
#define RL_HWREV_8139 0x60000000
#define RL_HWREV_8139A 0x70000000
#define RL_HWREV_8139AG 0x70800000
-
great, at least with FreeBSD 10.
they won't merge it to the FreeBSD 8 I suppose?
What about a Debian installation with a pfSense installation running in VirtualBox? Beside the performance it may work good enough until we get a better solution.. :D
-
they won't merge it to the FreeBSD 8 I suppose?
I ask for FreeBSD 8 Support, but I don't think that someone is willing to work again on FreeBSD8. The corrent Version is 9 and the next Version is 10. So soon is FreeBSD 8 not anymore supportet. PFSense is still on FreeBSD 8.3 and the FreeBSD 8.4 is already listet as legacy release. So I hope, that PFSense will push the change to FreeBSD 9 or 10. On FreeBSD 9 or 10 it's possible to get the new drivers directly into the kernel.
-
So, the discussion is back on PFSense developers ;-)
Hi Thomas,
I recommend getting ahold of the pfsense guys with this question.
Scott
On Sep 15, 2013, at 2:35 AM, wrote:
Is it also possible to get a working kernel in FreeBSD 8.3 for PFSense support?
g.
Thomas -
I also have a ds47. Nice little device.
I installed debian/kvm on it. I have a running virtual pfsense on it. Throughput around 110mbit.
-
I also have a ds47. Nice little device.
I installed debian/kvm on it. I have a running virtual pfsense on it. Throughput around 110mbit.
i'd like to have a working version without virtual pfsense ;)
-
You could attempt to cherry pick the code that added 'G' support and insert it into the 8.3 driver. I imagine it's not a straight forward copy and paste job though. The surrounding code may have changed substantially between 8.3 and 10.
Steve
-
You could attempt to cherry pick the code that added 'G' support and insert it into the 8.3 driver. I imagine it's not a straight forward copy and paste job though. The surrounding code may have changed substantially between 8.3 and 10.
Steve
Right Steve, but it's not impossible to get the "G" support also in 8.3. The problem is, in PFSense is no FreeBSD sources and i'm not a developer. I have the files from Realtek to build the driver for "G" support in FreeBSD but I don't now, how I can build it for PFsense.