Usb-Nic with AX88179 on pfSense 2.4.2
-
hi,
(i know there are some other threads about this nic, but they were not solved or on older versions of pfsense. and yes i know usb-nics are not the best choice ;) )
i have some trouble getting my digitus dn3023 (AX88179 chip) to work on pfsense 2.4.2.
strange thing is, that if i install pfsense while it is connected and i configure it on the console during first start, it works. but after first reboot of pfsense it wont work again. un/replugging doesnt help.
the nic itself seems to be ok since i can use it under windows or inside a pf-vm.ok, here some information:
when i plug it in and configure it to use dhcpv4, i get these messages in syslog:Dec 17 14:50:31 kernel ugen0.5: <asix elec.="" corp.="" ax88179="">at usbus0 Dec 17 14:50:31 kernel axge0 on uhub0 Dec 17 14:50:31 kernel axge0: <networkinterface>on usbus0 Dec 17 14:50:32 kernel miibus0: <mii bus="">on axge0 Dec 17 14:50:32 kernel rgephy0: <rtl8169s 8211="" 8110s="" 1000base-t="" media="" interface="">PHY 3 on miibus0 Dec 17 14:50:32 kernel rgephy0: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow Dec 17 14:50:32 kernel ue0: <usb ethernet="">on axge0 Dec 17 14:50:32 kernel ue0: Ethernet address: 00:24:9b:21:52:37 Dec 17 14:51:05 kernel ue0: link state changed to UP Dec 17 14:51:05 check_reload_status Linkup starting ue0 Dec 17 14:51:06 php-fpm 41721 /rc.linkup: DEVD Ethernet attached event for opt1 Dec 17 14:51:06 php-fpm 41721 /rc.linkup: HOTPLUG: Configuring interface opt1 Dec 17 14:51:07 check_reload_status Linkup starting ue0 Dec 17 14:51:07 kernel ue0: link state changed to DOWN Dec 17 14:51:10 kernel ue0: link state changed to UP Dec 17 14:51:10 check_reload_status Linkup starting ue0 Dec 17 14:51:13 php-fpm 41721 /rc.linkup: The command '/sbin/dhclient -c /var/etc/dhclient_opt1.conf ue0 > /tmp/ue0_output 2> /tmp/ue0_error_output' returned exit code '15', the output was '' Dec 17 14:51:13 check_reload_status Restarting ipsec tunnels Dec 17 14:51:14 check_reload_status Syncing firewall Dec 17 14:51:17 check_reload_status Syncing firewall Dec 17 14:51:17 check_reload_status updating dyndns opt1 Dec 17 14:51:17 check_reload_status Reloading filter Dec 17 14:51:17 php-fpm 45034 /rc.linkup: DEVD Ethernet detached event for opt1 Dec 17 14:51:17 check_reload_status Reloading filter Dec 17 14:51:17 php-fpm 49806 /rc.linkup: DEVD Ethernet attached event for opt1 Dec 17 14:51:17 php-fpm 49806 /rc.linkup: HOTPLUG: Configuring interface opt1 Dec 17 14:51:36 check_reload_status Syncing firewall Dec 17 14:51:37 php-fpm 49806 /rc.linkup: The command '/sbin/dhclient -c /var/etc/dhclient_opt1.conf ue0 > /tmp/ue0_output 2> /tmp/ue0_error_output' returned exit code '15', the output was '' Dec 17 14:51:37 check_reload_status Restarting ipsec tunnels Dec 17 14:51:42 check_reload_status updating dyndns opt1 Dec 17 14:51:42 check_reload_status Reloading filter Dec 17 14:52:39 check_reload_status Restarting ipsec tunnels Dec 17 14:52:44 check_reload_status updating dyndns opt1 Dec 17 14:52:46 php-fpm 74808 /interfaces.php: Removing static route for monitor 8.8.8.8 and adding a new route through 192.168.150.1 Dec 17 14:52:46 check_reload_status Reloading filter Dec 17 14:52:46 php-fpm 74808 /interfaces.php: Creating rrd update script</usb></rtl8169s></mii></networkinterface></asix>
after this, the interface is shown as up but gets no ip.
on dhcp log i see that it tries to get an ip from the fritzbox. other devices connected to that fritzbox-port dont have problems getting an ip.
Dec 17 15:13:19 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Dec 17 15:13:20 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Dec 17 15:13:22 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Dec 17 15:13:24 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 5 Dec 17 15:13:29 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 12 Dec 17 15:13:41 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 11 Dec 17 15:13:52 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 8 Dec 17 15:14:00 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 7 Dec 17 15:14:07 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 11 Dec 17 15:14:18 dhclient 32206 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Dec 17 15:14:20 dhclient 32206 No DHCPOFFERS received. Dec 17 15:14:20 dhclient 32206 No working leases in persistent database - sleeping. Dec 17 15:14:20 dhclient FAIL
according to my fritzbox the pfsense got the ip 192.168.179.24 but the pfsense doesnt show or use it. after a short time the fritzbox deletes the dhcp-lease again (i guess because of no answer of the pfsense).
if i set a static ip, i dont get any traffic in or out in that nic (i have a set an allow all protocols for all destinations on that interface).here some more info, maybe its useful:
usbconfig dump_device_desc
ugen0.5: <asix elec.="" corp.="" ax88179="">at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (124mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0300 bDeviceClass = 0x00ff <vendor specific="">bDeviceSubClass = 0x00ff bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0009 idVendor = 0x0b95 idProduct = 0x1790 bcdDevice = 0x0100 iManufacturer = 0x0001 <asix elec.="" corp.="">iProduct = 0x0002 <ax88179>iSerialNumber = 0x0003 <0000249B215237> bNumConfigurations = 0x0001</ax88179></asix></vendor></asix>
tcpdump -vvv -i ue0
tcpdump: listening on ue0, link-type EN10MB (Ethernet), capture size 262144 bytes 14:47:25.053876 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328) 0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 00:24:9b:21:52:37 (oui Unknown), length 300, xid 0xc4fe505c, secs 21, Flags [none] (0x0000) Client-Ethernet-Address 00:24:9b:21:52:37 (oui Unknown) Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Discover Client-ID Option 61, length 8: hardware-type 112, 66:73:65:6e:73:65:32 Hostname Option 12, length 8: "pfsense2" Parameter-Request Option 55, length 9: Subnet-Mask, BR, Time-Zone, Classless-Static-Route Default-Gateway, Domain-Name, Domain-Name-Server, Hostname Option 119 END Option 255, length 0 PAD Option 0, length 0, occurs 25 14:47:25.055479 d5:37:65:e5:08:00 (oui Unknown) > 9b:21:52:37:38:10 (oui Unknown), ethertype Unknown (0x4500), length 588: 0x0000: 0240 0000 0000 4011 9143 c0a8 b301 c0a8 .@....@..C...... 0x0010: b317 0043 0044 022c 38f2 0201 0600 c4fe ...C.D.,8....... 0x0020: 505c 0015 0000 0000 0000 c0a8 b317 c0a8 P\.............. 0x0030: b301 0000 0000 0024 9b21 5237 0000 0000 .......$.!R7.... 0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0100: 0000 0000 0000 6382 5363 3501 0236 04c0 ......c.Sc5..6.. 0x0110: a8b3 0133 0400 0d2f 003a 0400 0697 803b ...3.../.:.....; 0x0120: 0400 0b89 2001 04ff ffff 0003 04c0 a8b3 ................ 0x0130: 0106 04c0 a8b3 010f 0966 7269 747a 2e62 .........fritz.b 0x0140: 6f78 1c04 c0a8 b3ff ff00 0000 0000 0000 ox.............. 0x0150: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0160: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0170: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0180: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0190: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x01f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0200: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0210: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0220: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0x0230: 0000 0000 0000 0000 0000 0000 0000 .............. ^C 2 packets captured 2 packets received by filter 0 packets dropped by kernel
anyone got any tipps for me, how to get it to work?
-
Did you disable ALL hardware offloading?
Not much else you can do though. As you said USB NICs often suck badly! :-\
Steve
-
yep, forgot to mention:
Hardware Checksum Offloading, Hardware TCP Segmentation Offloading and Hardware Large Receive Offloading is disabled. -
Probably not a lot further we can go there then.
I recommend using a real NIC if you can or VLANs and a switch to get more interfaces.
Steve
-
Hi,
am having a similar problem with a intel NUCi3.. , initialy orderd a GORITE internal nic but it never arrived, went with an "amazon basics" usb nic with the AX889179 chipset (works well with vmware, just google for drivers) , the usb nic periodicaly powers down and i have to restart the nuc , have looked at power setings etc but every 4 to 8 hrs it goes offline.
I have tried installing vmware 6.5 then pfsense 2.4.2 as a vm on my NUC, this worked perfectly, put 2 usb nics on the nuc 1st one to manage esx , 2nd as wan to pfsense and used the onboard as the lan for pfsense, its easy to use vswitches to map the nics accordingly, may go back to that method if i cant get it stable nativly
would be nice to hear of any way to solve the usb nic issue , i am using it at home with virgin 'vivid 300mb' service superhub 2 in modem mode, nighthawk r7000 etc. and dont want to buy any more kit,
Log output
Dec 30 15:40:07 check_reload_status rc.newwanip starting ue0
Dec 30 15:40:07 php-fpm 15884 /status_interfaces.php: Accept router advertisements on interface ue0
Dec 30 15:40:08 php-fpm 28048 /rc.newwanip: rc.newwanip: Info: starting on ue0.
Dec 30 15:40:08 php-fpm 28048 /rc.newwanip: rc.newwanip: on (IP address: 192.168.0.249) (interface: WAN[wan]) (real interface: ue0).
Dec 30 15:40:09 kernel ue0: link state changed to DOWN
Dec 30 15:40:09 kernel ue0: link state changed to UP
Dec 30 15:40:09 check_reload_status Linkup starting ue0
Dec 30 15:40:09 check_reload_status Linkup starting ue0
Dec 30 15:40:14 check_reload_status rc.newwanip starting ue0
Dec 30 15:40:14 php-fpm 42231 /rc.linkup: Accept router advertisements on interface ue0
Dec 30 15:40:15 php-fpm 53223 /rc.newwanip: rc.newwanip: Info: starting on ue0.
Dec 30 15:40:15 php-fpm 53223 /rc.newwanip: rc.newwanip: on (IP address: 192.168.0.249) (interface: WAN[wan]) (real interface: ue0).
Dec 30 16:11:06 check_reload_status rc.newwanip starting ue0
Dec 30 16:11:07 php-fpm 59539 /rc.newwanip: rc.newwanip: Info: starting on ue0.
Dec 30 16:11:07 php-fpm 59539 /rc.newwanip: rc.newwanip: on (IP address: 192.168.0.249) (interface: WAN[wan]) (real interface: ue0).thanks
-
i cant really help you with the solution to the problem, but i tested a bit more:
first i installed pfsense 2.4.2 on an old computer with complete different hardware and i had the same problems
then i installed pfsense 2.3.5 (32bit) on that old computer, and voila: it worked.
After a restart it didnt work and i always had to reassign the interfaces again. using the tricks to avoid that didnt help, since the interface itself was found on boot but wasnt available as ue0.
the only way to get the interface to work after a restart: when the reassign-dialog came up, unplug the usb-interface and plug it in again. then just assign whatever interface you want and in the end, where you have to answer the question if you want to continue with that settings, just say no. and then it uses the re-plugged interface correct.after all the testing i think the interface or the interface-driver itself is not the problem. i think its the usb-driver itself or maybe some energy-saving-stuff inside it.
i gave up after that since i dont have many options to change energy-saving in bios.maybe you can try and disable all energy-saving-stuff in bios that could interfere with usb.