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

    Huawei ME906s-158 / HP lt4132 LTE/HSPA+ 4G Module

    Hardware
    3
    7
    829
    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.
    • A
      audun
      last edited by

      2.7.2-RELEASE (amd64)
      built on Wed Dec 6 20:10:00 UTC 2023
      FreeBSD 14.0-CURRENT

      Hi

      I have a Huawei ME906s-158 / HP lt4132 LTE/HSPA+ 4G Module.
      I am trying to get it working in pfsense.
      The device is recognized in usbconfig.

      ugen0.2: <HP Inc. HP lt4132 LTE/HSPA+ 4G Module> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
      
      

      I can connect to it and run AT commands.

      [2.7.2-RELEASE][admin@pfSense.home.arpa]/root: cu -l /dev/cuaU0.2
      Connected
      
      OK
      
      Manufacturer: HP Inc.
      Model: ME906s-158
      Revision: 12.617.12.00.00
      IMEI: 356581076604551
      +GCAP: +CGSM,+DS,+ES
      
      OK
      
      +CPIN: READY
      
      OK
      
      +CSQ: 25,99
      
      +CPAS: 0
      
      

      I have added the init string

      &F&C1&D2E0S0=0${temp}
      

      This is from the PPP log. Fails with CHAT: Invalid dial init string

      
      Jun 17 20:25:06	ppp	67551	Multi-link PPP daemon for FreeBSD
      Jun 17 20:25:06	ppp	67551	process 67551 started, version 5.9
      Jun 17 20:25:06	ppp	67551	web: web is not running
      Jun 17 20:25:06	ppp	67551	[wan] Bundle: Interface ng0 created
      Jun 17 20:25:06	ppp	67551	[wan_link0] Link: OPEN event
      Jun 17 20:25:06	ppp	67551	[wan_link0] LCP: Open event
      Jun 17 20:25:06	ppp	67551	[wan_link0] LCP: state change Initial --> Starting
      Jun 17 20:25:06	ppp	67551	[wan_link0] LCP: LayerStart
      Jun 17 20:25:06	ppp	67551	[wan_link0] CHAT: +CGDCONT=1,"IP","telenor.smart"
      Jun 17 20:25:06	ppp	67551	[wan_link0] CHAT: Detected Custom modem.
      Jun 17 20:25:06	ppp	67551	[wan_link0] CHAT: Dialing server at *99#...
      Jun 17 20:25:06	ppp	67551	[wan_link0] CHAT: ATDT*99#
      Jun 17 20:25:06	ppp	67551	[wan_link0] CHAT: Invalid dial init string.
      Jun 17 20:25:06	ppp	67551	[wan_link0] MODEM: chat script failed
      Jun 17 20:25:06	ppp	67551	[wan_link0] Link: DOWN event
      Jun 17 20:25:06	ppp	67551	[wan_link0] LCP: Down event
      Jun 17 20:25:06	ppp	67551	[wan_link0] Link: reconnection attempt 1 in 3 seconds
      

      Is it possible to get this card working in pfSense?

      Thank you for any help
      Audun

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

        Hmm, I'm using that init string with that modem though it's not HP rebranded:

        Manufacturer: Huawei Technologies Co., Ltd.
        Model: ME906s-158
        Revision: 11.617.04.00.00
        
        Jun 13 14:12:36 	ppp 	52049 	process 52049 started, version 5.9
        Jun 13 14:12:36 	ppp 	52049 	web: web is not running
        Jun 13 14:12:36 	ppp 	52049 	[opt17] Bundle: Interface ng0 created
        Jun 13 14:12:36 	ppp 	52049 	[opt17_link0] Link: OPEN event
        Jun 13 14:12:36 	ppp 	52049 	[opt17_link0] LCP: Open event
        Jun 13 14:12:36 	ppp 	52049 	[opt17_link0] LCP: state change Initial --> Starting
        Jun 13 14:12:36 	ppp 	52049 	[opt17_link0] LCP: LayerStart
        Jun 13 14:12:37 	ppp 	52049 	[opt17_link0] CHAT: +CGDCONT=1,"IP","3internet"
        Jun 13 14:12:37 	ppp 	52049 	[opt17_link0] CHAT: Detected Custom modem.
        Jun 13 14:12:37 	ppp 	52049 	[opt17_link0] CHAT: Dialing server at *99#...
        Jun 13 14:12:37 	ppp 	52049 	[opt17_link0] CHAT: ATDT*99#
        Jun 13 14:12:37 	ppp 	52049 	[opt17_link0] CHAT: Connected at 150000000.
        Jun 13 14:12:37 	ppp 	52049 	[opt17_link0] MODEM: chat script succeeded
        Jun 13 14:12:37 	ppp 	52049 	[opt17_link0] Link: UP event 
        

        Do you have a rogue space in the init string perhaps?

        Check the config file directly, it's base64 encoded there:

        		<ppp>
        			<ptpid>1</ptpid>
        			<type>ppp</type>
        			<if>ppp1</if>
        			<ports>/dev/cuaZ99.0</ports>
        			<username></username>
        			<password></password>
        			<uptime></uptime>
        			<descr><![CDATA[3G Test]]></descr>
        			<country>GB</country>
        			<provider></provider>
        			<providerplan></providerplan>
        			<initstr>JkYmQzEmRDJFMFMwPTAke3RlbXB9</initstr>
        			<apn>3internet</apn>
        			<apnum></apnum>
        			<phone>*99#</phone>
        			<bandwidth></bandwidth>
        			<mtu></mtu>
        			<mru></mru>
        			<mrru></mrru>
        		</ppp>
        

        What happens if you don't add a custom init string?

        Steve

        A 1 Reply Last reply Reply Quote 0
        • A
          audun @stephenw10
          last edited by

          @stephenw10

          Hi Steve

          I found the init string from a post that you had replied in.
          The string is the same as yours.

                          <ppp>
                                  <ptpid>0</ptpid>
                                  <type>ppp</type>
                                  <if>ppp0</if>
                                  <ports>/dev/cuaU0.2</ports>
                                  <username></username>
                                  <password></password>
                                  <descr><![CDATA[Telenor]]></descr>
                                  <country>NO</country>
                                  <provider></provider>
                                  <providerplan></providerplan>
                                  <initstr>JkYmQzEmRDJFMFMwPTAke3RlbXB9</initstr>
                                  <apn>telenor.smart</apn>
                                  <apnum></apnum>
                                  <phone>*99#</phone>
                                  <bandwidth></bandwidth>
                                  <mtu></mtu>
                                  <mru></mru>
                                  <mrru></mrru>
                          </ppp>
          

          I have tried &F, &F&C1&D2E0S0=0 and &F0E1Q0 +CMEE=2 with the same result.
          If I don't add anything I get this error.

          CHAT: The modem responded with "ERROR" to the command "AT&F&C1&D2E0S0=0M1" at ModemCmd: label.
          

          I see that you are using device /dev/cuaZ99.0
          Does that meen you have installed the package "pfSense GUI for Cellular Cards Currently it supports certain Huawei models"?

          I have tried to install that as well, but I don't get the cuaZ interface.

          The device/vendor ID for the HP branded model is "03f0:a31d".
          For the non HP branded module I think it's "12d1:15c1".

          Could this be the reason I don't get the cuaZ interface?
          Is it possible to modify a config file in the Cellular package to add "03f0:a31d"?

          Audun

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

            Yes I do have the cellular package.

            The modem I have appears as expected:

            [24.08-DEVELOPMENT][admin@6100.stevew.lan]/root: usbconfig -d ugen0.3 dump_device_desc
            ugen0.3: <ME906s LTE M.2 Module Huawei Technologies Co., Ltd.> 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>
              iSerialNumber = 0x0003  <0123456789ABCDEF>
              bNumConfigurations = 0x0003 
            

            That shouldn't make any difference to the init string though. The Cellular pkg just passes that to the modem.

            You could try adding it to the conf file: https://github.com/pfsense/FreeBSD-ports/blob/devel/net/pfSense-pkg-cellular/files/etc/devd/cellular.conf

            You might be able to change the USB IDs in the modem. Or flash the firmware to the stock Huawei.

            A 1 Reply Last reply Reply Quote 0
            • A
              audun @stephenw10
              last edited by

              I managed to get it working. :)

              1. Install the cellular package.
              2. Connect with ssh and edit the file /etc/devd/cellular.conf
              # /etc/devd/cellular.conf
              ###
              
              # radios
              # Huawei - ME906s LTE M.2 Module
              # ******************************
              attach 1000 {
                      match "vendor"          "0x03f0";  # For non HP branded use 0x12d1
                      match "product"         "0xa31d";  # For non HP branded use 0x15c1
                      action "/usr/local/bin/python3.11 /usr/local/bin/cellular_dev.py -a -d $device-name -m 03f0a31d"; # For non HP branded use 12d115c1
              };
              
              notify 1000 {
                      match "vendor"          "0x03f0";  # For non HP branded use 0x12d1
                      match "product"         "0xa31d";  # For non HP branded use 0x15c1
                      match "type"            "DETACH";
                      match "port"            "[0-9]";
                      action "/usr/local/bin/python3.11 /usr/local/bin/cellular_dev.py -r";
              };
              
              
              1. Add PPP configuration
              Interface: /dev/cuaZ99.0
              Init string: &F&C1&D2E0S0=0${temp}
              

              After that everything is working.

              Is it possible that someone can add the card with HP branding to the cellular package?

              I guess you also can rebrand the card with Huawei firmware with this guide, and then it will work without editing celluar.conf.
              https://blog.depau.eu/2018/04/28/unbrand-huawei-me906s/

              S 1 Reply Last reply Reply Quote 0
              • S
                svandive @audun
                last edited by

                @audun

                I had a quick question about this. How did you know to use the HEX value "03f0a31d" as part of the action statement when you modified the file /etc/devd/cellular.conf?

                I am trying to do basically what you did but with a Quectel RM520N-GL modem, but I don't know what to update in the action line in cellular.conf after the '-m' argument.

                Thank you for any pointers you can provide.

                Scott

                This is the action statement you added to cellular.conf:
                action "/usr/local/bin/python3.11 /usr/local/bin/cellular_dev.py -a -d $device-name -m 03f0a31d"; # For non HP branded use 12d115c1

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

                  It's the Vendor and Product ID as reported by usbconfig:

                  [24.11-RELEASE][admin@6100.stevew.lan]/root: usbconfig -d ugen0.4 -v
                  ugen0.4: <ME906s LTE M.2 Module Huawei Technologies Co., Ltd.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
                  ugen0.4.0: u3g0: <Huawei Technologies Co., Ltd. HUAWEI Mobile, class 0/0, rev 2.10/1.02, addr 3>
                  
                    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>
                    iSerialNumber = 0x0003  <0123456789ABCDEF>
                    bNumConfigurations = 0x0003 
                  
                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post
                  Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.