USB Ethernet on FreeBSD

Why would you even want to cripple your network connection by using USB? Well if you have no free PCIe slots you might have to, as is the case if you’re using a very small computer as a router/gateway.

Why would you use a small computer as a FreeBSD router? Well FreeBSD doesn’t keep crashing like the purpose-built routers we all know and hate. Yes, that’s right – you can use FreeBSD in your router and it won’t crash. Having to turn your network router on/off periodically is, it turns out, entirely optional.

So back to these small computers: They have but one Ethernet port, and no slots. But assuming you don’t have a crazy fast WAN, you can get away with a USB adapter on that. Perhaps don’t bother using a bunch of them to make a switch though.

Now here’s the think – FreeBSD doesn’t support USB3 Ethernet chips very well. In fact the only one I know of is the ASIX88179, and there are mixed reports abotu these. I’ve ordered one to take a look at.

In the mean time, the smart money is on USB2; and although you can get 1Gb USB2->Ethernet chips, a quick calculation will show you can’t do a sustained 1Gb transfer to it.

There are, however, plenty of USB2->100baseT chips to choose from, and these are the safest option. I’ve extracted this list from the documentation:

ADMtek AN986 Pegasus
ASIX AX88172,AX88178,AX88772,AX88772A,AX88772B and AX88760
CATC EL1210A (10Mb only!)
Kawasaki LSI KL5KLUSB101B
RealTek RTL8150
SMSC LAN95xxx
Davicom DM9601

I’ll be doing some experiments with a few of these to see which work best, but any further information please comment!

Incidentally, thus far I’ve been happy with ASIX chips but I’ve not tested them, or the others, in earnest.

Leave a Reply

Your email address will not be published. Required fields are marked *