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

    APU1D with LTE Huawei ME909u-521

    Scheduled Pinned Locked Moved Hardware
    167 Posts 14 Posters 80.9k 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.
    • S
      smejdil
      last edited by

      I have also problem after reboot. I see no modem port :-( But after upgrade pfSense CE 2.3.3 and install new package.

      pfSense-pkg-cellular-1.1.4    Voleatech Cellular Module Interface

      LTE modem is ready. I Rebooted and Halted several times. FreeBSD kernel have some time problem with USB Device. Perhaps future problems will be solved new package pfSense-pkg-cellular.

      1 Reply Last reply Reply Quote 0
      • Z
        z3n0
        last edited by

        @smejdil:

        I have also problem after reboot. I see no modem port :-( But after upgrade pfSense CE 2.3.3 and install new package.

        pfSense-pkg-cellular-1.1.4    Voleatech Cellular Module Interface

        LTE modem is ready. I Rebooted and Halted several times. FreeBSD kernel have some time problem with USB Device. Perhaps future problems will be solved new package pfSense-pkg-cellular.

        Same behavior!
        Whats happen?

        1 Reply Last reply Reply Quote 0
        • C
          conor
          last edited by

          I'd had quite a bit of experience with the 521 and 523 modules here are my experiences with it:

          First off the device will appear cuaUX in the /dev/ directory. (where X is any number between 0-9)

          The ports that you want are as follows:
          /dev/cuaUX.0  –--- this is the port you use to create the ppp tunnel over. Once ppp is UP you can't connect to this port.
          /dev/cuaUX.2  ----- this is a serial port to allow you to use AT commands to check the connection while the ppp is up. You can access this port with tip and /etc/remotes

          1. Buried in the documentation for the modules is a note that you must provide 14 seconds of power to the module before you attempt to load drivers for it. So I added a 20 second delay to loader.conf.

          2. If you pull the power to the device while the module is still registered to the network when you reboot the device won't come up with the driver. The only to fix this is to perform a usb bus reset. WARNING if you do this on a Netgate 2200 or 2400 you will crash the system if you are running pfSense from the onboard memory, I used a separate SSD on those devices to avoid that issue.

          3. If you are connected with a PPP session and you disable the radio in the GUI and then try to re-enable it you will see lots of errors in the logs looking like this:
          Mar 20 17:52:44 100300020 ppp: [opt2_link0] CHAT: The modem is not responding to "AT" at ModemCmd: label.
          Mar 20 17:52:44 100300020 ppp: [opt2_link0] MODEM: chat script failed

          This is because the modem is unresponsive on the cuaUX.0 port, you can still chat to it via the cuaUX.2 port. In this circumstance I use the following commands on the cuaUX.2 port:
          AT+FUN=4  (this tells the device to go offline)
          AT+FUN=6  ( this tells the device to restart)

          This gets it back HOWEVER it gets recognized as a new cuaUX port not the old one. I got around this by hacking devd.

          4. Init strings aren't globally compatible, I have these modules deployed in USA, Ireland and the UK and have had to modify the mpd.script files for each country.

          In my humble opinion, if you're not experienced with AT commands and how cellular works and aren't confident with messing around with pfsense source files then stay away from these modules and buy a cradle-point instead and plug the ethernet interface of that into one of the ethernet ports on your device.

          200+ pfSense installs - best firewall ever.

          1 Reply Last reply Reply Quote 0
          • Z
            z3n0
            last edited by

            @conor:

            1. Buried in the documentation for the modules is a note that you must provide 14 seconds of power to the module before you attempt to load drivers for it. So I added a 20 second delay to loader.conf.

            how did you do?

            now i have create this script:```
            #!/bin/sh
            usbconfig -u 1 reset

            that reset the card but the pppoe is going up for 3-4 seconds and turn down..  :o
            1 Reply Last reply Reply Quote 0
            • C
              conor
              last edited by

              Change to loader.conf:

              loader_delay="20"
              

              If your ppp goes up and down you need to look at the log , check what stage its stopping at

              
              clog -f /var/log/ppp.log
              
              

              200+ pfSense installs - best firewall ever.

              1 Reply Last reply Reply Quote 0
              • Z
                z3n0
                last edited by

                @conor:

                Change to loader.conf:

                loader_delay="20"
                

                If your ppp goes up and down you need to look at the log , check what stage its stopping at

                
                clog -f /var/log/ppp.log
                
                

                I try with 40 sec and now work properly!!!
                Thank you

                1 Reply Last reply Reply Quote 0
                • S
                  Slam
                  last edited by

                  ME909u-521 works for me out the box on pfSense 2.3.4 with an Alix 6f, I didnt assign the ue0 to anything, I just created a ppp0 entry for /dev/cuaU0.2 and I assigned ppp0 to OPT1, however like others I suffer the warm boot symptoms

                  Slam.

                  1 Reply Last reply Reply Quote 0
                  • S
                    Slam
                    last edited by

                    @conor:

                    This gets it back HOWEVER it gets recognized as a new cuaUX port not the old one. I got around this by hacking devd.

                    Can you please tell me what you modified and which file /etc/pfSense-devd.conf?

                    I am now facing this problem, where the modem resets itself and attatches to different port straight away, so I end up with device not found /dev/cuaU0.0 and instead ls /dev gives me cuaU1.0

                    Thanks in advance

                    1 Reply Last reply Reply Quote 0
                    • C
                      conor
                      last edited by

                      I modified:

                      /etc/devd.conf

                      **** WARNING you're not meant to change this file an upgrade will/may overwrite it. *********

                      Then I added the code at the bottom:

                      radios

                      attach 1000 {
                              match "vendor"          "0x12d1";
                              match "product"        "0x1573";
                              action "/usr/local/bin/php my own script T:ATTACH D:$device-name I:$inter
                      face  P:$port A:$parent";
                      };
                      notify 1000 {
                              match "vendor"          "0x12d1";
                              match "product"        "0x1573";
                              match "type"            "DETACH";
                              match "port"            "[0-9]";
                              action "/usr/local/bin/php my own script T:DETACH D:$device-name I:$inter
                      face  P:$port A:$parent";
                      };

                      So you'll need to write your own script (mine has a load of extra non related functionality) but the guideline of what you have to do is as follows:

                      On the ATTACH event you get a value for $device-name of something like: u3g0

                      You need to map that back to the correct cuaUX interface so I did this: (there may be a better or quicker way)

                      /sbin/sysctl -n dev.u3g.0.ttyname      <== notice the location of the zero thats the last value of the $device-name u3g0

                      This gives you the value of the cua port e.g. I get:
                      U0

                      so my modem is on cuaU0.

                      Then create a symlink from /dev/cuaU0.0 ==> to /dev/radio.data

                      Don't format to map the serial port for diagnostics too:
                      Then create a symlink from /dev/cuaU0.0 ==> to /dev/radio.mgmt

                      Then you'll need to get the GUI file to allow you to select the radio.data interface.
                      /usr/local/www/interfaces_pps_edit.php <== **** WARNING you're not meant to change this file an upgrade will/may overwrite it. *********
                      change the line around line: 523 from:
                      $serialports = glob("/dev/cua[a-zA-Z][0-9]{,.[0-9],.[0-9][0-9],[0-9],[0-9].[0-9],[0-9].[0-9][0-9]}", GLOB_BRACE);

                      to:
                      $serialports = glob("/dev/radio.data", GLOB_BRACE);

                      I hope that helps.

                      As an aside I must think about a package for Huawei modems.

                      200+ pfSense installs - best firewall ever.

                      1 Reply Last reply Reply Quote 0
                      • C
                        conor
                        last edited by

                        Huawei are ending the models:

                        Huawei ME909u-521
                        Huawei ME909u-523

                        Most suppliers will not be able to get them after the 31st December 2017, so if you're looking to deploy a few sites you'll need to look at another cellular modem.

                        200+ pfSense installs - best firewall ever.

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