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

    Huawei ME909S-120 setup help needed

    Hardware
    6
    31
    6.9k
    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.
    • P
      pr4499
      last edited by

      Hi all,

      I have a Huawei ME909S-120 which is connected to the Mini PCI-X on the motherboard.

      PFSense detects it and I have options under Interfaces -> PPPs -> new

      /dev/cuaU0.0
      /dev/cuaU0.1
      /dev/cuaU0.2
      /dev/cuaU0.3
      /dev/cuaU0.4
      /dev/cuaU0
      /dev/cuaU1

      I'm not an expert, but I am learning. I am told that cuaU0 and cuaU1 are the onboard ports on the actual motherboard and the 0.0 through 0.4 are the ports of the ME909S-120, is this correct?

      I know how to SSH into pfSense, but I don't know much about what to do.  Is there a command that will help me find out which one (0.0 - 0.4) I should select in the PPPs configuration?

      I'm using Telstra in Australia and I believe that the APN setting should be telstra.iph and the phone number should be *99# but I think we need to get the first bit right before testing this bit.

      Any help greatly appreciated!

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

        anyone?

        1 Reply Last reply Reply Quote 0
        • ?
          Guest
          last edited by

          According to the Huawei page it has:

          CDC-ECM
          FOTA
          Firmware Update via USB
          Embedded UDP/TCP/FTP(s)/HTTP(s) stack
          High-speed UART
          CMUX
          Sleep mode

          To me, that seems to mean you can put it in some CDC mode (non-UART / non-Serial) for better performance, and at the same time, the configuration will be much easier. This will make the modem appear as an ethernet port and you can then get an IP address from it via DHCP. Next, you log in to the modem's web interface and configure the rest in there. What you need is a USB mode switch command.

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

            please check my earlier post here

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

              Didn't think that module worked in pfSense what version are you using?

              The /dev/cuaU0.0 is probably your data port for it.

              You need to edit your /etc/remote file so you can test with the tip program. The file is going to need an entry like this:
              ucom1:dv=/dev/cuaU0.0:br#115200:pa=none:

              Then connect with tip to the module using

              tip ucom1

              Then enter the commands:

              ATE
              AT^ICCID?

              If you get a value back with the second command then you are seeing your sim card serial number and your good to keep going and set up a PPP connection in pfSense.

              Warning - using the u3g driver creating the cuaU interfaces means that even though you will select say /dev/cuaU0.0 in the PPP for the interface setup you will have problems where the module may come up on say /dev/cuaU1.x etc. So be warned then can be really annoying to understand and get used to.

              Goto this site and setup a login they have all the up to date documents for Huawei modules, you're probably going to need them for that module.
              https://techship.com/

              200+ pfSense installs - best firewall ever.

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

                @AndrewZ

                Thanks for your helpful post.  I had a go but I got lost half way. If I tried cu -l /dev/cuaU0.1 or 0.2 it would just hang the terminal window. Am I on the right track? Please help. Here were my results:

                
                /root: dmesg
                ugen1.4: <huawei technologies="" co.,="" ltd.="" huawei="" mobile="" v7r11="">at usbus1
                u3g0 on uhub2
                u3g0: <huawei mobile="" connect="" -="" modem="">on usbus1
                u3g0: Found 5 ports.
                
                /root: usbconfig -d ugen1.4 dump_device_desc
                ugen1.4: <huawei technologies="" co.,="" ltd.="" huawei="" mobile="" v7r11="">at usbus1, 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 
                
                /root: cu -l /dev/cuaU0.0
                Connected
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,18,106,12
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,24,101,22
                
                +CUSATP: "D00D8103010500820281829902090A"
                
                +CUSATEND
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,19,96,14
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,24,106,22
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,19,96,12
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",23,24,106,20
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,19,101,14
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",23,24,106,20
                
                ^RSSI: 5
                
                ^HCSQ: "LTE",18,18,126,16
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,23,131,20
                
                ^RSSI: 5
                
                ^HCSQ: "LTE",19,18,116,14
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",23,23,121,18
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,18,121,10
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,26,126,24
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,21,126,18
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,26,116,26
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,19,121,10
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,24,121,20
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",23,19,116,8
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,24,121,22
                
                ^RSSI: 5
                
                ^HCSQ: "LTE",19,19,121,16
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,24,121,22
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,18,116,14
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",23,24,121,18
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,18,116,8
                
                ^RSSI: 8
                
                ^HCSQ: "LTE",24,24,116,16
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,18,116,8
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,24,116,20
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",23,18,116,6
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,23,116,20
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,17,116,8
                
                ^RSSI: 8
                
                ^HCSQ: "LTE",24,23,116,14
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,17,116,10
                
                ^RSSI: 8
                
                ^HCSQ: "LTE",24,23,116,14
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,18,116,12
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,23,116,20
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,17,116,8
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,22,116,16
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,16,111,10
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,22,111,18
                
                ^RSSI: 5
                
                ^HCSQ: "LTE",19,15,116,8
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,21,116,18
                
                ^RSSI: 8
                
                ^HCSQ: "LTE",25,26,111,18
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,21,116,16
                
                ^ECCLIST: 112,911,000,0000
                
                ^RSSI: 15
                
                ^HCSQ: "LTE",39,29,116,26
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",23,19,126,8
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,24,116,20
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,19,106,14
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",21,25,116,24
                
                ^RSSI: 6
                
                ^HCSQ: "LTE",20,19,116,16
                
                ^RSSI: 9
                
                ^HCSQ: "LTE",26,25,106,14
                
                ^RSSI: 7
                
                ^HCSQ: "LTE",22,19,116,10
                
                ^RSSI: 8
                
                ^HCSQ: "LTE",25,24,121,14</huawei></huawei></probed></huawei></huawei></huawei> 
                
                1 Reply Last reply Reply Quote 0
                • C
                  conor
                  last edited by

                  In other variants of Huawei the serial ports you are interested in are cuaU0.0 and cuaU0.2
                  cua0.0 is the data connection port you use that one in the PPP configuration page in pfSense GUI.

                  The cuaU0.2 is a serial port for management only you can't create a PPP connection across it, but its handy for using for checking the status while a PPP tunnel is up on cuaU0.0

                  200+ pfSense installs - best firewall ever.

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

                    Thanks Conor.  What command do I type to check for certain that it is definitely cuaU0.0? I do believe you, but nobody here seems to be able to have a definitive answer on this. There must be a way to check for sure.  Either way, I can't through the above tutorial from AndrewZ because I don't get the same results, so I'm still lost.

                    My results of typing cu -l /dev/cuaU0.0 are different to the results shown by AndrewZ, so are my results still okay? Or have I gone wrong somewhere?

                    He mentions the "composition" and something about…
                    AT^SETPORT?
                    ^SETPORT:FF;10,12,16
                    ...but I can't find this anywhere from the results of those commands, why?

                    What is "cu" exactly?

                    What does "Z" as the init string actually do?

                    How do I know for sure what the APN and phone number settings should be? I have 5 different websites saying 5 different things. How can I be certain of which one is correct?  I've been working on this for hours trying different combinations, but any idiot can do trial-and-error, how can we know if we have at least 1 setting correct?

                    Can anyone please help?

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

                      /root: cu -l /dev/cuaU0.0
                      Connected
                      
                      ^RSSI: 6
                      
                      ^HCSQ: "LTE",20,18,106,12
                      
                      
                      • looks like you're on the right port. Unfortunately I do not have the same modem and cannot check myself.
                        You can try to blindly enter ATE followed by Enter, then type AT (with Enter again) - you should be able to see both AT and OK as a response.

                      ^SETPORT may not be available in your modem.
                      "cu" is a terminal emulation program, usually called just a terminal
                      Z (ATZ) is a reset command, please search for Hayes AT command set.

                      How do I know for sure what the APN and phone number settings should be?

                      Ask your provider, then test on your computer, without pfSense.

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

                        This may be too late for you but any way:

                        The cuaU0.0 and cuaU0.2 are serial interfaces to your modem, you can connect to serial interfaces using the programs tip or cu, depending on your software version they may or make not exist in your build. I prefer tip so I installed that via pkg from freebsd, then i modified /etc/remote and added the line:

                        myradio:dv=/dev/cuaU0.2:br#115200:pa=none:

                        this allows me to connect to the serial management ports on the device with the command:
                        tip myradio

                        I then get "Connected" printed to the screen.

                        check if the sim card is communicating with the radio module:
                        AT^CARDMODE?

                        First thing to do is check if the sim is PIN locked enter the command:
                        AT^CPIN?

                        Then you need to check if your sim is registered to a network:
                        AT+COPS?

                        You're going to need to understand the AT commands, the best source for docs is https://techship.com/ you'll probably need to create an account but my understanding is that that part is free.

                        Once you know that your sim is talking with your radio and that its not pin locked and that it is registered to your network, only then do you try to create a PPP connection. This is where you use the PPP settings in the pfsense web gui, start with the default dial string settings, don't worry about the APN.

                        SSH to the device and run the command: clog-f /var/log/ppp.log
                        This will allow you to watch what the ppp (MPD5 process) is doing.

                        When ppp attempts a connection it first dial or creates a link and then does authentication the second part autentication is where the APN is used, so first check that you are able to create a link even if the auth fails. Then you know the dial string is probably ok.

                        The PPP process is roughly as follows:
                        Link (Dial String) ==> Auth (APN) ==> DHCP (you get an IP)

                        Personally I have modified heavily the PPP configuration file so that I can check the connection step by step, e.g. is card present, is it pin locked etc. However pfsense creates the PPP conf file so i also have to modify that, hence pushing me out of the standard upgrade process. So I can't just provide you with the file as i would lock you to a version which is a bad security idea.

                        200+ pfSense installs - best firewall ever.

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

                          Thanks very much Conor.

                          I have added the line myradio:dv=/dev/cuaU0.2:br#115200:pa=none: to /etc/remote, but I don't know (and can't find) the command to install tip. Google results just give me tips and tricks!  Do you know what it is?

                          I had this working yesterday, and I got a connection, but it was very slow (about 2-3mbps down, 0-1mbps up), where my phone had about 8mbps down and 5mbps up. Still a very poor reception area, so I thought that might be the issue.  So I have taken the router into the city where reception is 5 bars, but now I can't get any connection at all, and I have no idea why. I thought that it would have just made a connection just as it had yesterday, but it hasn't and I have no idea where to look to start troubleshooting, considering I made no further changes once I got it working yesterday.

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

                            heeeeeelp!

                            Need that command to download TIP and need to know why it works one day and not the next? What do I need to check? What has happened since setting it up, turning it off and turning it back on again? Any ideas? Where shall I start looking?  Need to solve this for a client ASAP but no idea where to start working on it.

                            Any help greatly appreciated!

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

                              …

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

                                Anyone?

                                1 Reply Last reply Reply Quote 0
                                • ?
                                  Guest
                                  last edited by

                                  @pr4499:

                                  Anyone?

                                  Nobody

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

                                    tip is already installed you just need to run it like:

                                    tip myradio
                                    

                                    To escape the tip terminal back to the pfSense console use:

                                    ~~.
                                    

                                    Bare in mind that the remote file will be reset at upgrade. The cu command you used earlier does the same thing.

                                    You would have to check the ppp logs to see why it's not connecting.

                                    Steve

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

                                      *sigh

                                      1 Reply Last reply Reply Quote 0
                                      • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.