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

    Huawei ME909S-120 setup help needed

    Scheduled Pinned Locked Moved Hardware
    31 Posts 6 Posters 7.0k 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

      Gonna need more info than that to offer assistance.  ;)

      tip didn't work? What did happen?

      Steve

      1 Reply Last reply Reply Quote 0
      • J
        joelyb
        last edited by

        This is how I got my Huawei ME909s-120 working with Vodafone SIM:
        Big thanks to AndrewZ for this https://forum.pfsense.org/index.php?topic=105842.msg593793#msg593793 post.

        STEPS (from a factory reset with WAN set to a Ethernet interface):
        I've only included the elements that I had to enter/change.
        Interfaces -> Assignments -> PPPs (tab)
        Add
        Link type: PPP
        Link Interface: /dev/cuaU0.0
        Description (your choice): LTE
        Country: United Kingdom
        Provider: Vodafone
        Plan: Contract
        Password: web
        Confirm: web
        Advanced -> Init string: Z

        Interfaces -> Assignments -> Interface Assignments (tab)
        Change WAN to PPP0(cuaU0.0) - LTE

        Check on dashboard under interfaces WAN IP

        Check logs in Status -> System Logs -> PPP (tab)

        May need to reboot to take effect.

        DIAGNOSTICS:
        All from console shell / putty
        List devices to chec the hardware is listed.

        [2.4.2-RELEASE][root@pfSense.localdomain]/root: dmesg
        ugen0.4 <huawei technol,ogies="" co.,="" ltd.="" huawei="" mobile="" v7r11=""> at usbus0
        u3g0: <huawei mobile="" connect="" -="" modem=""> on usbus0
        u3g0: Found 5 ports</huawei></huawei>
        

        Device details:

        [2.4.2-RELEASE][root@pfSense.localdomain]/root: usbconfig -d ugen0.4 dump_device_desc
        ugen0.4: <huawei technologies="" co.,="" ltd.="" huawei="" mobile="" v7r11=""> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
        
          bLength = 0x0012
          bDescriptorType = 0x0001
          bcdUSB = 0x0210
          bDeviceClass = 0x0000  <probed by="" interface="" class="">
          bDeviceSubClass = 0x0000
          bDeviceProtocol = 0x00ff
          bMaxPacketSize0 = 0x0040
          idVendor = 0x12d1
          idProduct = 0x15c1
          bcdDevice = 0x0102
          iManufacturer = 0x0001  <huawei technologies="" co.,="" ltd.="">
          iProduct = 0x0002  <huawei mobile="" v7r11="">
          iSerialNumber = 0x0003  <0123456789ABCDEF>
          bNumConfigurations = 0x0003</huawei></huawei></probed></huawei>
        

        List ports:

        [2.4.2-RELEASE][root@pfSense.localdomain]/root: ls -l /dev/cua*
        crw-rw----  1 uucp  dialer  0x57 Mar 17 15:19 /dev/cuaU0.0
        crw-rw----  1 uucp  dialer  0x58 Mar 17 15:18 /dev/cuaU0.0.init
        crw-rw----  1 uucp  dialer  0x59 Mar 17 15:18 /dev/cuaU0.0.lock
        crw-rw----  1 uucp  dialer  0x5d Mar 17 15:18 /dev/cuaU0.1
        crw-rw----  1 uucp  dialer  0x5e Mar 17 15:18 /dev/cuaU0.1.init
        crw-rw----  1 uucp  dialer  0x5f Mar 17 15:18 /dev/cuaU0.1.lock
        crw-rw----  1 uucp  dialer  0x63 Mar 17 15:18 /dev/cuaU0.2
        crw-rw----  1 uucp  dialer  0x64 Mar 17 15:18 /dev/cuaU0.2.init
        crw-rw----  1 uucp  dialer  0x65 Mar 17 15:18 /dev/cuaU0.2.lock
        crw-rw----  1 uucp  dialer  0x69 Mar 17 15:18 /dev/cuaU0.3
        crw-rw----  1 uucp  dialer  0x6a Mar 17 15:18 /dev/cuaU0.3.init
        crw-rw----  1 uucp  dialer  0x6b Mar 17 15:18 /dev/cuaU0.3.lock
        crw-rw----  1 uucp  dialer  0x6f Mar 17 15:18 /dev/cuaU0.4
        crw-rw----  1 uucp  dialer  0x70 Mar 17 15:18 /dev/cuaU0.4.init
        crw-rw----  1 uucp  dialer  0x71 Mar 17 15:18 /dev/cuaU0.4.lock
        lrwxr-xr-x  1 root  wheel     12 Mar 17 15:18 /dev/cuaZ99.0 -> /dev/cuaU0.0
        lrwxr-xr-x  1 root  wheel     12 Mar 17 15:18 /dev/cuaZ99.1 -> /dev/cuaU0.2
        crw-rw----  1 uucp  dialer  0x37 Mar 17 15:18 /dev/cuau0
        crw-rw----  1 uucp  dialer  0x38 Mar 17 15:18 /dev/cuau0.init
        crw-rw----  1 uucp  dialer  0x39 Mar 17 15:18 /dev/cuau0.lock
        

        Connect to Modem to query (as long as there is no established connection):

        cu -l /dev/cuaU0.0
        

        AT Commands:
        Modem details:

        ATI
        Manufacturer: Huawei Technologies Co., Ltd.
        Model: ME909s-120
        Revision: 11.617.01.00.00
        IMEI: 867377022566479
        +GCAP: +CGSM,+DS,+ES
        

        Connection status:

        AT+COPS?
        +COPS: 0,0,"vodafone UK",7
        

        Links:
        Huawei M909 page:
        http://consumer.huawei.com/solutions/m2m-solutions/en/products/support/user-guides/me909s_120_en.htm
        AT commands PDF:
        http://consumer.huawei.com/solutions/m2m-solutions/en/products/support/user-guides/detail/me909s_120_en.htm?id=50243

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

          Cellular connections are not for the faint hearted so bear in mind you have to work them. If you would rather just plug and play then buy a dongle with an ethernet connection. The reason why you see lots of different tutorials on the web is because they are different for every modem and often different AT commands between carriers.

          Question 1: What type of connector is going from the ME909-120 M port on the card to the antenna, what type of antenna are you using? Is it rated for the cellualr bands in your locality. Wifi antenna are not the same thing.

          Question 2: When you boot up do you verify that the serial interface for the modem is at cuaU0.0 and not at cuaU1.0 for example check with the command: ls -l /dev/ | grep cua

          Question 3: Open a SSH session and run the command: clog -f /var/log/ppp.log <== this will give you the ppp log info.

          Question 4: Open another SSH session and if the radio has been verified as being present in question 2 as at cuaU0.0 then run the cu -l /dev/cuaU0.2 command and watch to see info. You could also use the tip command but you seem to be having trouble with that.

          Then copy and paste all that output here so we can see what is going on.

          200+ pfSense installs - best firewall ever.

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

            Hey all, thanks very much for your help. I've finally found some time to tinker with this again.

            @johnkeates
            Sounds perfect in concept, but what are the exact steps to get it to appear as an ethernet port, get an IP address and then connect to its web interface?

            @conor
            Thanks very much for your elaborate responses, I really appreciate it. I am learning!
            I added the line…
            ucom1:dv=/dev/cuaU0.0:br#115200:pa=none:
            to the file /etc/remote and then ran the command…
            tip ucom1
            but I got the message…
            /dev/cuaU0: No such file or directory
            link down

            also, the output of AT^CARDMODE? is ERROR
            the output of AT^CPIN is +CME ERROR: 50

            Answer 1: the connector to the card is an SME connector and I'm currently using 2 antennas provided by the manufacturer which seem to work to some extent (1- 3 Mbps download). I have just purchased dual yagi antennas with LMI400 cable with SMA connectors on the end (read: heavy duty). I'm going to set that up tomorrow and test.

            Answer 2: the output of ls -l /dev/ | grep cua is:
            crw-rw–--  1 uucp  dialer    0x66 Apr 23 21:12 cuaU0.0
            crw-rw----  1 uucp  dialer    0x67 Apr 23 21:07 cuaU0.0.init
            crw-rw----  1 uucp  dialer    0x68 Apr 23 21:07 cuaU0.0.lock
            crw-rw----  1 uucp  dialer    0x6c Apr 23 21:07 cuaU0.1
            crw-rw----  1 uucp  dialer    0x6d Apr 23 21:07 cuaU0.1.init
            crw-rw----  1 uucp  dialer    0x6e Apr 23 21:07 cuaU0.1.lock
            crw-rw----  1 uucp  dialer    0x72 Apr 23 21:07 cuaU0.2
            crw-rw----  1 uucp  dialer    0x73 Apr 23 21:07 cuaU0.2.init
            crw-rw----  1 uucp  dialer    0x74 Apr 23 21:07 cuaU0.2.lock
            crw-rw----  1 uucp  dialer    0x78 Apr 23 21:07 cuaU0.3
            crw-rw----  1 uucp  dialer    0x79 Apr 23 21:07 cuaU0.3.init
            crw-rw----  1 uucp  dialer    0x7a Apr 23 21:07 cuaU0.3.lock
            crw-rw----  1 uucp  dialer    0x7e Apr 23 21:07 cuaU0.4
            crw-rw----  1 uucp  dialer    0x7f Apr 23 21:07 cuaU0.4.init
            crw-rw----  1 uucp  dialer    0x80 Apr 23 21:07 cuaU0.4.lock
            crw-rw----  1 uucp  dialer    0x3b Apr 23 21:07 cuau0
            crw-rw----  1 uucp  dialer    0x3c Apr 23 21:07 cuau0.init
            crw-rw----  1 uucp  dialer    0x3d Apr 23 21:07 cuau0.lock
            crw-rw----  1 uucp  dialer    0x41 Apr 23 21:07 cuau1
            crw-rw----  1 uucp  dialer    0x42 Apr 23 21:07 cuau1.init
            crw-rw----  1 uucp  dialer    0x43 Apr 23 21:07 cuau1.lock

            Answer 3: the output of clog-f /var/log/ppp.log is clog-f: Command not found.

            Answer 4: the output of cu -l /dev/cuaU0.2 is:
            Connected

            ^SYSSTART

            +CUSATP: "D00D8103010500820281829902090A"

            +CUSATEND

            ^MODE: 5,17

            @stephenw10
            Thanks Stephen, yes I just upgraded and noticed that it disappeared.  Okay, I'll use that other command instead.

            @joelyb
            Thanks very much for this, it helped!
            I got similar results to what you posted, but not sure what to do with any of the results.

            Also, why do I have a gateway that is 10.64.64.0? (see attached image)

            ![Screenshot 2018-04-23 21.27.14.png](/public/imported_attachments/1/Screenshot 2018-04-23 21.27.14.png)
            ![Screenshot 2018-04-23 21.27.14.png_thumb](/public/imported_attachments/1/Screenshot 2018-04-23 21.27.14.png_thumb)

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

              You need to leave a space between clog and the -f argument for answer 3. See:
              https://doc.pfsense.org/index.php/Why_can%27t_I_view_view_log_files_with_cat/grep/etc%3F_(clog)

              That gateway is probably being given to you be you provider. Cellular carriers often use private IPs for their gateway or even CGN. It looks it doesn't respond to ping. If you have internet access via that you might set the monitoring IP to a different address or disable monitoring. It pings twice a second by default which can eat data over time. That configurable though.

              Steve

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

                @stephenw10:

                you might set the monitoring IP to a different address

                Some candidates:

                • your gateway, i.e. ISP side of the link
                • ISP's DNS servers
                • ISP's landing page address (the one you redirected to when your balance is low)

                pr4499, try to ping them first from the router before configuring the monitoring.

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

                  @stephenw10
                  Thanks very much for clearing that up, yes that helps a lot, here is the output of the command cu -l /dev/cuaU0.2

                  Connected

                  ^RSSI: 5

                  ^HCSQ: "LTE",19,20,106,18

                  +CUSATP: "D00D8103010500820281829902090A"

                  +CUSATEND

                  but then after a few minutes it grew to this:

                  Connected

                  ^RSSI: 5

                  ^HCSQ: "LTE",19,20,106,18

                  +CUSATP: "D00D8103010500820281829902090A"

                  +CUSATEND

                  ^RSSI: 6

                  ^HCSQ: "LTE",21,25,111,24

                  ^RSSI: 5

                  ^HCSQ: "LTE",19,18,101,16

                  ^RSSI: 6

                  ^HCSQ: "LTE",21,23,101,22

                  ^RSSI: 5

                  ^HCSQ: "LTE",18,18,91,16

                  ^RSSI: 6

                  ^HCSQ: "LTE",20,23,91,22

                  What's going on here?

                  I'll attach the output of the command clog -f /var/log/ppp.log as it's pretty long.

                  Is it possible to have a widget on the dashboard showing signal strength (RSSI / RSRP), bands / channels / frequencies currently connected to, carrier connected to, carrier aggregation (yes/no) mentioning all bands it's using, bitrate/bandwidth and also usage in MB?  Picture this - there's me and my fiancé in the upstairs bedroom testing this new router with dual (mimo) 16dBi yagi antennas about 1 meter long, fastened to the vacuum cleaner nozzle, pointing it out various windows in an effort to attract some 1800mhz packets.  Very scientific.

                  @AndrewZ
                  Thanks for that. I googled the DNS servers for Telstra and found them for my state. However, I did notice what seems to be different dns servers that it's connected to in that PPP log. Not sure what that's about.  But I tried pinging the ones listed first result on google, and here was the result:

                  Petes-MBP:~ Peter$ ping 61.9.188.33
                  PING 61.9.188.33 (61.9.188.33): 56 data bytes
                  Request timeout for icmp_seq 0
                  Request timeout for icmp_seq 1
                  Request timeout for icmp_seq 2
                  Request timeout for icmp_seq 3
                  Request timeout for icmp_seq 4
                  76 bytes from 203.50.108.47: Communication prohibited by filter
                  Vr HL TOS  Len  ID Flg  off TTL Pro  cks      Src      Dst
                  4  5  28 5400 ba16  0 0000  39  01 8502 10.20.63.42  61.9.188.33

                  Request timeout for icmp_seq 5
                  Request timeout for icmp_seq 6
                  Request timeout for icmp_seq 7
                  Request timeout for icmp_seq 8
                  76 bytes from 203.50.108.47: Communication prohibited by filter
                  Vr HL TOS  Len  ID Flg  off TTL Pro  cks      Src      Dst
                  4  5  28 5400 7282  0 0000  39  01 cc96 10.20.63.42  61.9.188.33

                  Request timeout for icmp_seq 9
                  Request timeout for icmp_seq 10

                  [ppp log.txt](/public/imported_attachments/1/ppp log.txt)

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

                    Mmm, well the recent parts of that log mostly look good. For example in your last connection attempt:

                    Apr 24 18:56:06 pfSense ppp: [wan] IPCP: SendConfigReq #3
                    Apr 24 18:56:06 pfSense ppp: [wan]   IPADDR 0.0.0.0
                    Apr 24 18:56:06 pfSense ppp: [wan]   PRIDNS 0.0.0.0
                    Apr 24 18:56:06 pfSense ppp: [wan]   SECDNS 0.0.0.0
                    Apr 24 18:56:06 pfSense ppp: [wan] IPCP: rec'd Configure Nak #3 (Ack-Sent)
                    Apr 24 18:56:06 pfSense ppp: [wan]   IPADDR 10.96.148.91
                    Apr 24 18:56:06 pfSense ppp: [wan]     10.96.148.91 is OK
                    Apr 24 18:56:06 pfSense ppp: [wan]   PRIDNS 10.4.149.70
                    Apr 24 18:56:06 pfSense ppp: [wan]   SECDNS 10.5.133.45
                    Apr 24 18:56:06 pfSense ppp: [wan] IPCP: SendConfigReq #4
                    Apr 24 18:56:06 pfSense ppp: [wan]   IPADDR 10.96.148.91
                    Apr 24 18:56:06 pfSense ppp: [wan]   PRIDNS 10.4.149.70
                    Apr 24 18:56:06 pfSense ppp: [wan]   SECDNS 10.5.133.45
                    Apr 24 18:56:06 pfSense ppp: [wan] IPCP: rec'd Configure Ack #4 (Ack-Sent)
                    Apr 24 18:56:06 pfSense ppp: [wan]   IPADDR 10.96.148.91
                    Apr 24 18:56:06 pfSense ppp: [wan]   PRIDNS 10.4.149.70
                    Apr 24 18:56:06 pfSense ppp: [wan]   SECDNS 10.5.133.45
                    Apr 24 18:56:06 pfSense ppp: [wan] IPCP: state change Ack-Sent --> Opened
                    Apr 24 18:56:06 pfSense ppp: [wan] IPCP: LayerUp
                    Apr 24 18:56:06 pfSense ppp: [wan]   10.96.148.91 -> 10.64.64.0
                    Apr 24 18:56:07 pfSense ppp: [wan] IFACE: Up event
                    Apr 24 18:56:07 pfSense ppp: [wan] IFACE: Rename interface ng0 to ppp0
                    

                    The modem is responding and connecting. You are getting an IP address, gateway and DNS servers from the other end. All good.  :)
                    It's a private IP so your provider is using Carrier Grade NAT which is common for 3G/4G.

                    This looks like your pings are just being blocked. Do you have a current contract? Or credit available if not on contract?

                    76 bytes from 203.50.108.47: Communication prohibited by filter
                    

                    Try connecting to a web page across that link, does it ger redirected to Telstra's 'give us more money' page?

                    The ^HCSQ command should give you the signal strength.
                    It appears the first value there after "LTE" is the lte_rssi with higher numbers being better.

                    You might be seeing that output on cuaU0.2 because pfSense is already running 3gstats against it. Check the system log when you connect for an line like:

                    php-fpm	xxxxx	/interfaces.php: Starting 3gstats.php on device 'cuaU0.2' for interface 'opt2'
                    

                    If it's there you might see the stats in Status > Interfaces.

                    Picture this - there's me and my fiancé in the upstairs bedroom testing this new router with dual (mimo) 16dBi yagi antennas about 1 meter long, fastened to the vacuum cleaner nozzle, pointing it out various windows in an effort to attract some 1800mhz packets.

                    We're gonna need a photo!  ;)

                    Steve

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

                      @pr4499

                      you should try this IPs for connection monitoring:

                      Apr 24 18:56:06 pfSense ppp: [wan]  PRIDNS 10.4.149.70
                      Apr 24 18:56:06 pfSense ppp: [wan]  SECDNS 10.5.133.45

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

                        @stephenw10
                        Yes the Sim card is attached to the main account so always has credit. I can surf and can occasionally get up to 4mbps, but usually around 0.1 - 0.6mbps. So at least we've got the basics covered, thank you and all others that contributed. But I need to be able to troubleshoot - it's fine when it works but when it doesn't, I don't have any idea what's going on. Every other brand of cheap and nasty usb modem has a pretty Web interface and a live signal strength meter showing most of the detail I mentioned above, surely someone has invented something similar for pfsense?

                        @AndrewZ
                        I pinged those addresses and it failed. And someone mentioned that gateway monitoring just uses pings to work out if it's up, so I guess that won't work. I used 8.8.8.8 and it seemed to work for a while (40 - 70ms ping, 2-7% loss) until I did anything, like a speedtest, then it showed gateway offline and never recovered.

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

                          So no 3gstats.php line in the system log or actual numbers in Status > Interfaces?

                          That only works with Huawei cards and only some if them AFAIK. I have nothing to test with.

                          Steve

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

                            Use a omni directional antenna, a yagi is far too directional, unless you have it bang on exactly correct you are going to not get a stable connection.

                            Here is a omni 12dBi.

                            https://www.eurodk.com/en/products/lte-outdoor-antennas/3g4g-lte-12dbi-outdoor-dome-antenna-800-2600mhz?currency=EUR&vat_state=incl&gclid=EAIaIQobChMI_5DLtrLi2gIVr7vtCh1USAwnEAQYAyABEgJMmfD_BwE

                            200+ pfSense installs - best firewall ever.

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

                              Still need help here - need some graphs or some indication to show what's happening for the 4G connection.

                              eg: signal strength, connection status, frequency using, band aggregation, etc.

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

                                As far as i'm aware there is nothing out of the box for that. You'll have to build your own package.

                                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.