PfSense AX88179 vs RTL8153 USB 3 Ethernet Compatibility

Trying to add another interface to a pfSense box but because it has run out of ports, I had to resort to using a USB 3 Ethernet dongle. Assuming (wrongly) that since it is based on the AX88179 chip and being somewhat older that it would be supported better. That wasn’t the case.

This is the dongle in question, they’re pretty popular around Amazon or eBay.

USB3Dongle

In pfSense, it shows up in dmesg with the following:

ugen0.6: <ASIX AX88179A> at usbus0
axge0 on uhub1
axge0: <NetworkInterface> on usbus0
miibus2: <MII bus> on axge0
ukphy0: <Generic IEEE 802.3u media interface> PHY 3 on miibus2
ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
ue1: <USB Ethernet> on axge0

usbconfig -d ugen0.6 dump_device_desc shows:

ugen0.6: <ASIX AX88179A> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (46mA)
  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0320
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0009
  idVendor = 0x0b95
  idProduct = 0x1790
  bcdDevice = 0x0200
  iManufacturer = 0x0001  <ASIX>
  iProduct = 0x0002  <AX88179A>
  iSerialNumber = 0x0003  <009EFBCB>
  bNumConfigurations = 0x0003

After a bit of time and traffic, errors can be seen on the interface:

netstat -i:

Name    Mtu Network       Address              Ipkts Ierrs Idrop    Opkts Oerrs  Coll
ue1    1500 <Link#7>      f8:e4:3b:00:00:00    12293 12293     0    13901     2     0

Eventually, the link goes down with pfSense reporting a hotplug event:

Jul 25 19:15:42	php-fpm	56447	/rc.linkup: Hotplug event detected for OPT1(opt1) static IP (192.168.3.1 )

I’ve made sure to disable all the Offloading options within pfSense > Advanced > Networking - but they still purist. Interestingly, if the dongle is set to 10 Mbps, nothing gets through. Overall, the AX88179 feels very unstable. Using it on Linux seems to be fine.

Now, this could be a USB3 driver problem, the driver for the dongle selected by pfSense/freeBSD, phy driver or other reasons that I haven’t reached a point of learning about.

In the end, it’s lots of moving parts and time spent on a non critical issue. So, the next thing to try is a different ethernet chipset.

Enter the RTL8153

simplecom-nu303

Going with the ASIX was the point of not using a Realtek. The Realtek get a bad rap in the networking field, but in this instance, it’s the opposite.

I picked up a Simplecom NU303. There is also USB type-c versions.

So far the RTL8153 based USB3 dongle is working fine in pfSense 2.6.0 in 2022. No errors or drop outs.

See also