Not sure if this is entirely the correct way to go about making this device work, or if this is even the correct place to report this. But adding the following patch to my 6.4-STABLE system got things working correctly (IPv4 and IPv6): --- Index: sys/dev/usb/if_urndis.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_urndis.c,v retrieving revision 1.68 diff -u -p -u -r1.68 if_urndis.c --- sys/dev/usb/if_urndis.c 2 Oct 2018 19:49:10 -0000 1.68 +++ sys/dev/usb/if_urndis.c 19 Feb 2019 00:50:24 -0000 @@ -130,7 +130,8 @@ const struct urndis_class { } urndis_class[] = { { UICLASS_CDC, UISUBCLASS_ABSTRACT_CONTROL_MODEL, 0xff, "Vendor" }, { UICLASS_WIRELESS, UISUBCLASS_RF, UIPROTO_RNDIS, "RNDIS" }, - { UICLASS_MISC, UISUBCLASS_SYNC, UIPROTO_ACTIVESYNC, "Activesync" } + { UICLASS_MISC, UISUBCLASS_SYNC, UIPROTO_ACTIVESYNC, "Activesync" }, + { UICLASS_MISC, 0x04, 0x01, "RNDIS" } }; usbd_status ---
And here are some relevant outputs I've seen posted before related to getting such devices working in case there is a better way to match this device. Let me know if you want anything else: --- # dmesg | tail -20 | grep^u urndis0 at uhub0 port 2 configuration 1 interface 0 "Novatel Wireless MiFi 8800L" rev 3.10/3.18 addr 2 urndis0: using RNDIS, address 00:15:ff:26:73:70 umodem0 at uhub0 port 2 configuration 1 interface 12 "Novatel Wireless MiFi 8800L" rev 3.10/3.18 addr 2 umodem0: data interface 13, has no CM over data, has no break umodem0: status change notification available ucom0 at umodem0 uhidev0 at uhub0 port 2 configuration 1 interface 14 "Novatel Wireless MiFi 8800L" rev 3.10/3.18 addr 2 uhidev0: iclass 3/0 uhid0 at uhidev0: input=4, output=4, feature=0 ugen0 at uhub0 port 2 configuration 1 "Novatel Wireless MiFi 8800L" rev 3.10/3.18 addr 2 uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices product 0x7900" rev 2.00/0.18 addr 2 # usbdevs -a 2 -d /dev/usb0 -v addr 02: 1410:b023 Novatel Wireless, MiFi 8800L super speed, power 224 mA, config 1, rev 3.18, iSerialNumber 0123456789ABCDEF driver: urndis0 driver: umodem0 driver: uhidev0 driver: ugen0 # usbctl -a 2 -d /dev/usb0 DEVICE addr 2 DEVICE descriptor: bLength=18 bDescriptorType=device(1) bcdUSB=3.10 bDeviceClass=0 bDeviceSubClass=0 bDeviceProtocol=0 bMaxPacketSize=9 idVendor=0x1410 idProduct=0xb023 bcdDevice=318 iManufacturer=1(Novatel Wireless) iProduct=2(MiFi 8800L) iSerialNumber=3(0123456789ABCDEF) bNumConfigurations=1 CONFIGURATION descriptor 0: bLength=9 bDescriptorType=config(2) wTotalLength=345 bNumInterface=8 bConfigurationValue=1 iConfiguration=0() bmAttributes=80 bMaxPower=224 mA Unknown descriptor (class 0/0): bLength=8 bDescriptorType=11 ... INTERFACE descriptor 0: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=239 bInterfaceSubClass=4 bInterfaceProtocol=1 iInterface=6(RNDIS Communications Control) Unknown descriptor (class 239/4): bLength=5 bDescriptorType=36 ... Unknown descriptor (class 239/4): bLength=5 bDescriptorType=36 ... Unknown descriptor (class 239/4): bLength=4 bDescriptorType=36 ... Unknown descriptor (class 239/4): bLength=5 bDescriptorType=36 ... ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=1-in bmAttributes=interrupt wMaxPacketSize=8 bInterval=9 Unknown descriptor (class 239/4): bLength=6 bDescriptorType=48 ... INTERFACE descriptor 1: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=1 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=7(RNDIS Ethernet Data) ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=14-in bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 10/0): bLength=6 bDescriptorType=48 ... ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=15-out bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 10/0): bLength=6 bDescriptorType=48 ... INTERFACE descriptor 2: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=2 bAlternateSetting=0 bNumEndpoints=3 bInterfaceClass=255 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=0() Unknown descriptor (class 255/0): bLength=5 bDescriptorType=36 ... Unknown descriptor (class 255/0): bLength=5 bDescriptorType=36 ... Unknown descriptor (class 255/0): bLength=4 bDescriptorType=36 ... Unknown descriptor (class 255/0): bLength=5 bDescriptorType=36 ... ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=3-in bmAttributes=interrupt wMaxPacketSize=10 bInterval=9 Unknown descriptor (class 255/0): bLength=6 bDescriptorType=48 ... ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=2-in bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 255/0): bLength=6 bDescriptorType=48 ... ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=1-out bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 255/0): bLength=6 bDescriptorType=48 ... INTERFACE descriptor 3: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=3 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=255 bInterfaceSubClass=255 bInterfaceProtocol=255 iInterface=0() ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=4-in bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 255/255): bLength=6 bDescriptorType=48 ... ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=2-out bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 255/255): bLength=6 bDescriptorType=48 ... INTERFACE descriptor 4: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=4 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=255 bInterfaceSubClass=66 bInterfaceProtocol=1 iInterface=10(ADB Interface) ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=3-out bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 255/66): bLength=6 bDescriptorType=48 ... ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=5-in bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 255/66): bLength=6 bDescriptorType=48 ... Unknown descriptor (class 255/66): bLength=8 bDescriptorType=11 ... INTERFACE descriptor 5: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=12 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=2 bInterfaceSubClass=2 bInterfaceProtocol=1 iInterface=11(CDC Abstract Control Model (ACM)) CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=header bcdCDC=1.10 CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=Call_Management bmCapabilities=0x0 bDataInterface=13 CDC INTERFACE descriptor: bLength=4 bDescriptorType=cs_interface(36) bDescriptorSubtype=Abstract_Control_Model bmCapabilities=0x2 CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=union bMasterInterface=12 bSlaveInterface0=13 ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=7-in bmAttributes=interrupt wMaxPacketSize=10 bInterval=9 Unknown descriptor (class 2/2): bLength=6 bDescriptorType=48 ... INTERFACE descriptor 6: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=13 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=12(CDC ACM Data) ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=6-in bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 10/0): bLength=6 bDescriptorType=48 ... ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=4-out bmAttributes=bulk wMaxPacketSize=1024 bInterval=0 Unknown descriptor (class 10/0): bLength=6 bDescriptorType=48 ... INTERFACE descriptor 7: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=14 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=3 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=15(HID Interface) HID descriptor: bLength=9 bDescriptorType=cs_device(33) bcdHID=1.01 bCountryCode=0 bNumDescriptors=1 bDescriptorType[0]=cs_config(34), wDescriptorLength[0]=34 -- Mark Nipper