The situation:

I found myself in need of an additional NIC for my pfSense router/firewall. I had a few choices...

  1. shell out over $100 for a dual port gigabit card
  2. buy a new motherboard that has dual ports on it
  3. buy a 2U server case so I can make use of the remaining PCI slots on the existing motherboard (and thus also buy more single port NICs)


  4. use a USB NIC.

The cheapest of the 4 was to go USB, so I bought one. However, as I read through what I was getting into, I read a bit too fast. The drivers that are available are for: Mac, Windows, and Linux. Not bad... But, FreeBSD and hence pfSense, won't use any of those drivers.

So, I find myself in a position to either scrap the NIC for later use, come up with some kind of a wrapper for one of the existing drivers, or worst case would be writing a whole new driver. If I bench the NIC, I'm stuck with purchasing more expensive hardware, and unless someone convinces me otherwise... writing a completely new driver is a bit more of a challenge than I think I'm up to. That leaves making a wrapper as my best option.

The Question:

Does anyone have any helpful advice on where to start with making a wrapper for drivers to be used in FreeBSD? Are there already turn key solutions for doing this that I just haven't found?

The USB NIC uses the Asix Chipset AX88179.

Thank you in advance for any help.

  • Have you had a thorough look through the FreeBSD project's USB-related mailing list yet? (I cannot find anything for the ASIX USB3 things there, but maybe you'd be better off contacting them.)
    – sr_
    Nov 30, 2012 at 9:54
  • You could also try to add your usb ids to if_axe.
    – arved
    Nov 30, 2012 at 10:17
  • So far here is where I'm at... I found a way to make the Windows driver work under FreeBSD using NDISgen. The version of pfSense I have is using FreeBSD 8.1 as its base. So, I downloaded an old ISO for 8.1, used NDISgen, loaded the driver, and SHAZAM! the NIC works under 8.1 without any issues. I figured just moving the compiled driver over to the pfSense machine and then loading it would be a piece of cake. Not so. When I load it I get an execute error. So, something is different between the two. Still trying to figure out what though. Let me know if you have ideas where to look.
    – Craig
    Dec 8, 2012 at 22:57
  • Make sure the pfSense and FreeBSD systems are based on the same OS version and architecture. If pfSense is i386 and your FreeBSD install is amd64, it won't work.
    – Lucas Holt
    Aug 17, 2013 at 11:55


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.