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.
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
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.