Intel 82559 Pro/100 Issue: Can't rebuild kernel with updated driver



  • Hi guys,

    I started working with pfSense recently and don't have much expertise in BSD world, but I know how to use Google Search what helps me a lot.  ;D

    In my company, I was planning to use pfSense 2.1.4 (now upgraded to 2.1.5) as our firewall and ovpn server. It worked perfectly for a few days until my network cards started to fail.

    My pfSense box have 5 interfaces:

    • 1 Onboard Realtek 8168 Gigabit (no problems)
    • 4 PCI Intel 82559 Pro/100

    After a few days working, the Intel interfaces simply lose its media type and options so I had to set it manually with ifconfig command. After that it does not recognize when the cable is connected or not anymore.

    Searching on the web about it, I found this topic at FreeBSD mail-lists: http://www.mail-archive.com/freebsd-stable@freebsd.org/msg126885.html
    It explains about a bug in FreeBSD 8.4 and previous releases that causes the interface to not get the media type sometimes. In 9.1 it was already fixed.

    So I started looking for a way to rebuild the kernel applying the patch to fix it aaaand… found nothing.... Development images aren't available anymore, old and broken links to pfSense source code and an useless try to manually load an updated kernel driver module (failed too...).

    I was using this same hardware with others linux distros and never had any problems like this and I have another identical machine which I've tested with pfSense and got the same problem. So it may not be a hardware fault.

    There is any way that I can rebuild the kernel (or the entire pfSense image) to fix this problem?

    Thanks in advance and sorry for my bad english.



  • You could try a pfSense 2.2 snapshot, based on FreeBSD 10.0.  It's been pretty stable for me.  As you've found, rebuilding custom pfSense kernels is possible, but it's neither easy nor well-documented any longer.


  • Netgate Administrator

    No need rebuild the kernel. Build a patched kernel module in FreeBSD 8.3 and then load it at boot in pfSense. It will override the in-kernel fxp driver. It looks like tried that already. What did you do? What was the error?

    Steve



  • Thanks for the answers, guys.

    @charliem:

    You could try a pfSense 2.2 snapshot, based on FreeBSD 10.0.  It's been pretty stable for me.  As you've found, rebuilding custom pfSense kernels is possible, but it's neither easy nor well-documented any longer.

    I could give it a try, I'm just afraid about the squid and squidguard packages if they are stable or not and it's difficult to do a stress test with only one client. Those are critical services in my company. Thanks anyway.

    @stephenw10:

    No need rebuild the kernel. Build a patched kernel module in FreeBSD 8.3 and then load it at boot in pfSense. It will override the in-kernel fxp driver. It looks like tried that already. What did you do? What was the error?

    Steve

    I didn't rebuild it, I've just tried to load the fxp module from FreeBSD 10 kernel and got "File already exists". Maybe if I rebuild this patched kernel module using the 8.3 kernel, like you said, it'll work. Thanks!


  • Netgate Administrator

    Yes you have to use a module compiled on FreeBSD 8.3 and you have to load it at boot using loader.conf.local. You can't load it after boot with kldload, you will just get the 'already exists' error.

    Steve


Log in to reply