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

    How to get Huawei E3372 working with pfSense?

    Scheduled Pinned Locked Moved Problems Installing or Upgrading pfSense Software
    28 Posts 8 Posters 20.4k 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.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      The default product ID you asked mode-switch to look for doesn't match that of your modem in virtual CD mode.
      Try finding the correct switching string on the mode-switch forum. However I've only seen one person use usbmode-switch successfully long term. Even if you switch the device to modem mode you have to hope u3g will attach to it to generate the required virtual serial ports for pfSense to talk to. It's much easier to just get a modem that's already supported.

      Steve

      1 Reply Last reply Reply Quote 0
      • P
        peehoo
        last edited by

        Hi!

        Thx for your reply… What 4G modem you suggest (or anybody else). This could be solved by buying Dovado Pro where I attach usb-stick but this seems stupid. Have to check is there available (in Finland) those usb-dongles which are supported.

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

          I suggest using one of the modems from the known working page:
          https://doc.pfsense.org/index.php/Known_Working_3G-4G_Modems
          I don't have any personal experience with any particular modem to recommend though.

          Steve

          1 Reply Last reply Reply Quote 0
          • D
            djzort
            last edited by

            I just got this working. FreeBSD (aka pfSense) doesnt know how to modeswap this modem, also if the modem is "hilink" by default (aka it's NATing you) then it sucks a bit as well. Also i dont think freebsd supports the NDIS network card stuff yet?

            So long story short, you can reflash it with a "stick" firmware, and use it via ppp via pseudo serial (20Mbit/s max speed) or with its NCM network interface for 20Mbps+

            What worked for me was a combination of steps from these two pages

            http://www.0xf8.org/2017/01/flashing-a-huawei-e3372h-4g-lte-stick-from-hilink-to-stick-mode/

            http://www.0xf8.org/2017/01/flashing-a-huawei-e3372h-4g-lte-stick-from-hilink-to-stick-mode/

            Basically, unless you have an older firmware on your modem, youll need to open up the modem, force it in to firmware recovery mode, then feed it a bootloader, then feed it a 21.x series (aka stick versions) firmware.

            You can also reconfigure the modem to start up straight in modem mode, rather than presenting the 'cdrom' and requiring a modeswitch. FreeBSD doesnt currently know how to modeswitch the device, but the kernel will happily recognize the usb serial's if they come up first.

            TBH most of the time, all that is needed is for FreeBSD to import the usb id's from usbmodeswitches database. Im not certain why someone hasnt simply done this? Still, if you have a linux or windows machine its trivial to reconfigure the modem to start straight in modem mode (see above).

            Note: there are lots and lots of forums (in german and russian) covering these devices and how to change out their firmware. I wasnt able to get it to work on windows, as windows couldnt work out the right usbserial drivers when the modem was in recovery mode - however, in linux it worked perfectly and the linux steps are easier anyway

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

              Nice work.  :)

              FreeBSD does have an rndis driver now. It's not included in pfSense by default (yet) but you can load the module to test it if required.

              Steve

              J 1 Reply Last reply Reply Quote 0
              • D
                djzort
                last edited by

                any annoying side note not specific to just the e3372, is that if the usb modem is unplugged then reconnected or rebooted (via AT commands) it comes up as ttyU1 then ttyU2 etc then pfsense config cant reconnect

                ttyU0.{0,1,2} all disappear but ttyU0.3 remains. i think this is why the kernel gives it the next ttyU spot

                fstat shows nothing is using ttyU0.3, but a reboot of pfsense is required to get the usb modem back to ttyU0

                the result of the above is that pfsense is configured for ttyU0 it cannot reconnect and must be reconfigured (which breaks again on reboot) or rebooted.

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

                  Hmm, very annoying!

                  You could try the rndis mode if you import the freebsd kernel module. It might not be recognised though. However that too has an issue with rebooting if it's interface has been assigned but it's no longer present.

                  Steve

                  1 Reply Last reply Reply Quote 0
                  • K
                    koverg70
                    last edited by

                    Hi,

                    I would try the rndis with E3372 and pfSense, but did not find any information to install the rndis (or urndis) kernel module.

                    https://redmine.pfsense.org/issues/6293
                    https://redmine.pfsense.org/issues/6574
                    https://forum.pfsense.org/index.php?topic=70858.15
                    https://forum.pfsense.org/index.php?topic=106078.msg596600

                    Can you please point me to some information about doing that?

                    Best regards,

                    Gabor

                    p.s. My only success with pfSense and this stick was when I installed pfSense under VirtualBox on a Windows 10 host. I think it worked because VirtualBox only provided USB 1.0 hardware which caused the E3372 to switch back to stick mode. So switching back is possible via software but how to do it is not know, is it? (This VirtualBox setup was useless though because of very poor speed. Not even a single web page was accessible.)

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

                      If you have any luck, then please post your findings here.

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

                        @koverg70:

                        I would try the rndis with E3372 and pfSense, but did not find any information to install the rndis (or urndis) kernel module.
                        Can you please point me to some information about doing that?

                        Download the equivalent FreeBSD ISO for the pfSense version you're running. FreeBSD 10.3 for pfSense 2.3.4. Probably 64bit.

                        Extract the if_urndis.ko module from the ISO. Copy it to /boot/modules in pfSense and make the file executable.

                        Add the following line to /boot/loader.conf.local to load it at boot, create that file if you don't have one yet:

                        if_urndis_load="yes"
                        

                        Steve

                        1 Reply Last reply Reply Quote 0
                        • D
                          djzort
                          last edited by

                          i found that this is due to /usr/local/bin/3gstats.php holding open the cuaU0.3 device which stops it from clearing and being available when the usb is plugged in again. ssh'ing into pfsense, killing it, then replugging the device then works perfectly.

                          it seems that /usr/local/bin/3gstats.php should be listening for HANGUP and then exiting when received, observe how the  'cu' command exits gracefully if youre connected to the cuauU0.X and you pull out the USB.

                          this should be raised as a bug. where is the best place to raise it?

                          @djzort:

                          any annoying side note not specific to just the e3372, is that if the usb modem is unplugged then reconnected or rebooted (via AT commands) it comes up as ttyU1 then ttyU2 etc then pfsense config cant reconnect

                          ttyU0.{0,1,2} all disappear but ttyU0.3 remains. i think this is why the kernel gives it the next ttyU spot

                          fstat shows nothing is using ttyU0.3, but a reboot of pfsense is required to get the usb modem back to ttyU0

                          the result of the above is that pfsense is configured for ttyU0 it cannot reconnect and must be reconfigured (which breaks again on reboot) or rebooted.

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

                            Mmm, good catch.

                            Open it as a new bug on our redmine as with all bugs: https://redmine.pfsense.org/

                            Thanks,
                            Steve

                            1 Reply Last reply Reply Quote 0
                            • D
                              djzort
                              last edited by

                              Done. See https://redmine.pfsense.org/issues/7653

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

                                @stephenw10:

                                Download the equivalent FreeBSD ISO for the pfSense version you're running. FreeBSD 10.3 for pfSense 2.3.4. Probably 64bit.

                                Extract the if_urndis.ko module from the ISO. Copy it to /boot/modules in pfSense and make the file executable.

                                Add the following line to /boot/loader.conf.local to load it at boot, create that file if you don't have one yet:

                                if_urndis_load="yes"
                                

                                Steve

                                I've been away from this forum for a few months and just came across your post following a Google search.
                                I have FreeBSD 11.0-RELEASE installed and looked for this module but couldn't find it…
                                My immediate aim is to turn a laptop into a WWAN-WLAN router using this Huawei E3372 modem which I have only ever managed to get working under Windows.

                                1 Reply Last reply Reply Quote 0
                                • D
                                  djzort
                                  last edited by

                                  using the modem in serial mode is probably your best bet for now.

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

                                    @djzort:

                                    using the modem in serial mode is probably your best bet for now.

                                    I can figure out how…

                                    I know I'm supposed to use usb_modeswitch but I haven't found the correct options to use, there are quite a few available.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      djzort
                                      last edited by

                                      you can set the E3772 so that it starts up in tty mode and usbmodeswitch isnt needed. infact all huawei modems have this features.

                                      check out the post above where i step through how to flash the firmware and put into serial only mode: https://forum.pfsense.org/index.php?topic=88356.msg711074#msg711074

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

                                        @djzort:

                                        you can set the E3772 so that it starts up in tty mode and usbmodeswitch isnt needed. infact all huawei modems have this features.

                                        check out the post above where i step through how to flash the firmware and put into serial only mode: https://forum.pfsense.org/index.php?topic=88356.msg711074#msg711074

                                        I read through but couldn't make much sense of it…

                                        Notice anything here: ?

                                        What worked for me was a combination of steps from these two pages

                                        http://www.0xf8.org/2017/01/flashing-a-huawei-e3372h-4g-lte-stick-from-hilink-to-stick-mode/

                                        http://www.0xf8.org/2017/01/flashing-a-huawei-e3372h-4g-lte-stick-from-hilink-to-stick-mode/

                                        I still haven't found out how to tell if I have “Hilink” firmware or “Stick” firmware…

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          djzort
                                          last edited by

                                          despite double posting the same link, it explains how to determine your firmware.

                                          i think the second link was supposed to be http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html

                                          anyway, there are plenty of guides around to flash the firmware, just google for them.

                                          there are also forums that can help.

                                          but if youre uncomfortable opening up the modem and shorting pins, its probably something you should ask someone else to do for you

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            djzort
                                            last edited by

                                            if youre interested, i can cook one up and ship it to you. or you can send me yours and i can do it.

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