Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Verizon Jetpack® 4G LTE Mobile Hotspot - AC791L as a WAN

    Scheduled Pinned Locked Moved Hardware
    15 Posts 12 Posters 7.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      grogargh
      last edited by

      I have been trying to get my mobile phone (Samsung S5) that has Wifi/USB Tethering capability to work through USB directly connected to my pfsense appliance and use it as a WAN.

      I plug it in, FreeBSD sees it, but no Ethernet interface pops up. After some exhaustive Googling around, I found out that there is a kernel driver called "if_urndis.ko" that FreeBSD uses to enable USB Tethering. Forget trying to find it, I had to download the FreeBSD v10.1 full distro (same version that pfsense uses) and installed it in a VM, extracted the file, and then copied it to my pfsense box and put it in the /boot/kernel directory.

      I then loaded the module using the command (ssh into pfsense box):

      kldload if_urndis.ko

      and it loaded - I then enabled USB tethering on my phone and voila! I now had the new ue0 network interface… but it had no IP Address for some reason.

      I then exited the shell back into the pfsense ssh menu, and had to "Assign Interfaces" and this time selected "ue0" as my WAN and then I had an ip address assigned by my phone.

      It worked great, hoewever for some unexplained reason my pfsense box keeps rebooting randomly. Running latest 2.2.6 - I also tried a 100% fresh install of pfSense and then added the if_urndis.ko file and it keeps happening - even more so if I start clicking random things in the webgui. When I remove the driver and reboot the box, problems go away.

      I will save you the time in getting the kernel module. Here is a link to download it. Maybe it will work for you. Just be careful with those reboots. It took some time to recover because I had a small window after the reboot to ssh in there and delete the kernel module. pfsense was "remembering" to load it every time, despite the fact that I ran the command to load it manually in an ssh shell.

      https://www.sendspace.com/file/e4ocyq

      1 Reply Last reply Reply Quote 0
      • A
        agentdesign
        last edited by

        I think having this module available as standard would be generically useful to a lot of people, myself included. I filed a feature request for it…

        https://redmine.pfsense.org/issues/6293

        --
        Ross

        1 Reply Last reply Reply Quote 0
        • X
          XGWill
          last edited by

          Hello,

          I have an Aircard 785S and i found a way to make it work with pfSense:

          you could try the same:

          
          usbconfig -d ugen1.2 set_config 1
          

          if it show ue interface you can try dhcp on it

          if it works i can show you the way to make it permanent

          1 Reply Last reply Reply Quote 1
          • M
            mikerockynet
            last edited by

            usbconfig -d ugen1.2 set_config 1

            This works great with my Verizon MiFi 5510L (but sadly, not with my AC791L). Is /etc/rc the way to make it permanent? I imagine upgrades will overwrite.

            With the AC791L tethered (which works tethered on my Win10 laptop) I see this in boot output:

            ugen1.2: <netgear, inc.="">at usbus1
            ugen1.2: <netgear, inc.="">at usbus1 (disconnected)
            stray irq7</netgear,></netgear,>

            And get this trying to bring it up:

            $ usbconfig -d ugen1.2 set_config 1

            No device match or lack of permissions.

            With the 5510 I see this at boot:

            ugen1.2: <novatel wireless="">at usbus1</novatel>

            And get this which works:

            usbconfig -d ugen1.2 set_config 1

            cdce0: <cdc ethernet="" control="" model="" ecm="">on usbus1
            ue0: <usb ethernet="">on cdce0
            ue0: Ethernet address: 00:15:ff:88:c4:da</usb></cdc>

            (latest embedded release here on ALIX)

            Incidentally, I get a related error in boot no matter which device is plugged in:

            Starting device manager (devd)…kldload: can't load if_urndis: No such file or directory

            urndis – USB Remote NDIS Ethernet device

            1 Reply Last reply Reply Quote 1
            • B
              Balanga
              last edited by

              @mikerockynet:

              usbconfig -d ugen1.2 set_config 1

              cdce0: <cdc ethernet="" control="" model="" ecm="">on usbus1
              ue0: <usb ethernet="">on cdce0
              ue0: Ethernet address: 00:15:ff:88:c4:da</usb></cdc>

              What does```
              set_config 1

              
              I want this ue0 to appear but I don't know how…
              1 Reply Last reply Reply Quote 1
              • K
                kyvpn
                last edited by

                @XGWill:

                Hello,

                I have an Aircard 785S and i found a way to make it work with pfSense:

                you could try the same:

                
                usbconfig -d ugen1.2 set_config 1
                

                if it show ue interface you can try dhcp on it

                if it works i can show you the way to make it permanent

                So glad I stumbled on this post…..have it working on 2.4.x with a Netgear Unite Explore 815s!  (posting on the cell connection)

                Thanks!

                AsRock J3455B-ITX
                SanDisk SSD PLUS 120GB (SDSSDA-120G-G26)
                Intel I340-T4 Gigabit Adapter w/ Silver Heat Sink 49Y4242

                1 Reply Last reply Reply Quote 1
                • D
                  DexTroN
                  last edited by DexTroN

                  I would like to extend my gratitude to you all, I searched the internet far and wide and everyone is talking about usb_modeswitch an no where (except here) is it referenced that you can actually change the "config" of the 4G dongle, which made it work with my Alcatel MW40V 😄

                  I will from here on out see if other posts on this forum need help with their 4G USB modems and refer them here 😏

                  pfSense version 2.4.4 with copied IF_URNDIS.KO from 11.2 FreeBSD iso and moved to the server via WinSCP (don't forget to make the filename all lowercase), changed/added the /boot/loader.conf.local with nano to

                  if_urndis_load="YES" 
                  

                  so it loads the USB tether module on boot and after that i rebooted the server and it showed my device as ue0, like any other physical hardware port like WAN, LAN and OPT1.

                  V 1 Reply Last reply Reply Quote 3
                  • V
                    visvic @DexTroN
                    last edited by

                    @DexTroN, Thank you very much. Fortunately, people like you exist !!!

                    1 Reply Last reply Reply Quote 1
                    • RicoR
                      Rico LAYER 8 Rebel Alliance
                      last edited by

                      Here is the File: if_urndis.zip

                      -Rico

                      1 Reply Last reply Reply Quote 1
                      • stephenw10S
                        stephenw10 Netgate Administrator
                        last edited by

                        Some USB devices have multiple config indexes that result is different interfaces being exposed. You can check it using usbconfig -d ugenX.X dump_all_config_desc

                        If your device has multiple config indexes you can selet a different on at run time using usbconfig -d ugenX.X setconfig X.

                        If that gives you the interfaces you need you can add a device quirk to /boot/loader.conf.local to force that every time the device is connected. hw.usb.quirk.0="VendorID ProductID LowRevision HighRevision UQ_CFG_INDEX_X"

                        Steve

                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.