Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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)

    or

  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.

share|improve this question
    
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 '12 at 9:54
    
You could also try to add your usb ids to if_axe. –  arved Nov 30 '12 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 '12 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 '13 at 11:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.