There's been a few people that have had problems with the 'bge' broadcom driver in pfsense. This has been patched in later versions of freebsd, but unfortunately, pfsense has not incorporated the patch yet.
What I would like to do is take the bge driver from freebsd and make pfsense use that one instead of the one that was built with pfsense.
I'm more familiar with linux than bsd, but can somebody shed some light on how to complete the process?
pfSense 2.0 is built on FreeBSD 8.1.
Hence to add drivers you need to compile them against this.
Most of the time newer drivers will not compile as a lot has changed since FreeBSD 8.1 was released. If you are lucky you may find that the driver has been back-ported. You may find that there are versions released after 8.1 that will still compile against it.
Install a copy of FreeBSD 8.1 (I believe PCBSD 8.1 will run as a live CD) and try compiling.
Once you have compiled a kernel module you can copy over the file to /boot/modules and try to kldload it.
I tried to grab the new bge driver and add it, but it seemed like pfsense was still using the original 'bge' driver. I just don't have the knowledge to blacklist the original bge and make pfsense use the new one.
As sad as this is, I ended up ditching pfsense and going back to a hand-built linux solution. It's frustrating because there's no nice gui, but having a working NIC driver is a requirement, and I don't have any gigabit NIC's laying around. I know others that have had issues with the bge driver, and I wished pfsense would have included the fixed bge one, but oh well.
Thanks for the response
The next version of pfSense will be based on FreeBSD 9.X and hence will have those drivers. That's some way down the road however. ::)