Adding USB tether drivers to kernel



  • What is the best way to get USB tethering support in pfsense? I'm currently running pfsense 2.2.2-RELEASE;

    FreeBSD pf0.home.local 10.1-RELEASE-p9 FreeBSD 10.1-RELEASE-p9 #0 57b23e7(releng/10.1)-dirty: Mon Apr 13 20:33:39 CDT 2015    root@pfs22-i386-builder:/usr/obj.i386/usr/pfSensesrc/src/sys/pfSense_SMP.10  i386

    I'd rather not compile the USB tether drives myself because I need to build that environment so I'm hoping USB tethering support will get added to pfsense (or someone can provide the drivers for me). Does anyone have any recommendation to obtain the drivers, if_urndis, if_cdce and if_ipheth, that is referenced in https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-usb-tethering.html?

    I specifically have a Verizon Jetpack MiFi 6620L device. The equivalent linux drivers are rndis and cdc_ether. I believe pfsense would be able to use this device as the WAN interface once the drivers are loaded.

    There are several posts about "tether" but none have any information about the driver support.

    [2.2.2-RELEASE][root@pf0.home.local]/root: usbconfig -u 4 -a 4 dump_device_desc
    ugen4.4: <mifi 6620l="" novatel="" wireless="">at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

    bLength = 0x0012
      bDescriptorType = 0x0001
      bcdUSB = 0x0201
      bDeviceClass = 0x0000
      bDeviceSubClass = 0x0000
      bDeviceProtocol = 0x0000
      bMaxPacketSize0 = 0x0040
      idVendor = 0x1410
      idProduct = 0xb010
      bcdDevice = 0x0228
      iManufacturer = 0x0001  <novatel wireless="">iProduct = 0x0002  <mifi 6620l="">iSerialNumber = 0x0003  <0123456789ABCDEF>
      bNumConfigurations = 0x0001

    [2.2.2-RELEASE][root@pf0.home.local]/root:

    I just posted a reply in https://forum.pfsense.org/index.php?topic=72341.0 but that doesn't address getting the USB tethering driver support.</mifi></novatel></mifi>



  • Did you end up getting this working?

    Does it work in 2.2.4?

    I wonder if the pfsense guys removed it or something, because it was working fine with the 4620LE.  Can anyone confirm any of this?



  • I have a 4620LE plugged in right now that shows up as ue0.



  • I suspect the only disadvantage of tethering is that currently USB ports can change the order they are in if you look into the Interfaces, Assign menu option. There you will see the USB ports and its here they can change order which then messes up your interface rules as an interface called OPT1 that used USB nic 1 could after having one or more usb nics unplugged then plugged back in again change order when pfsense is rebooted.



  • Yes, that was a factor last time I was using them but can be resolvable with DHCP.  If you use DHCP on the ue0 WAN interfaces it lets you keep some other things strait without worrying about order.



  • @joee:

    I'd rather not compile the USB tether drives myself because I need to build that environment so I'm hoping USB tethering support will get added to pfsense (or someone can provide the drivers for me). Does anyone have any recommendation to obtain the drivers, if_urndis, if_cdce and if_ipheth, that is referenced in https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-usb-tethering.html?

    Its not too difficult compiling drivers, I wouldnt shy away from it.  :)
    https://forum.pfsense.org/index.php?topic=13476.msg80987#msg80987



  • So I received a 6620L and tethering does not work by default:

    Anyone know if a a compiled driver will work?

    ugen1.3: <mifi 6620l="" novatel="" wireless="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

    bLength = 0x0012
      bDescriptorType = 0x0001
      bcdUSB = 0x0201
      bDeviceClass = 0x0002
      bDeviceSubClass = 0x0006
      bDeviceProtocol = 0x0000
      bMaxPacketSize0 = 0x0040
      idVendor = 0x1410
      idProduct = 0xb00c
      bcdDevice = 0x0228
      iManufacturer = 0x0001  <novatel wireless="">iProduct = 0x0002  <mifi 6620l="">iSerialNumber = 0x0003  <0123456789ABCDEF>
      bNumConfigurations = 0x0002</mifi></novatel></mifi>