Huawei ME906s-158 / HP lt4132 LTE/HSPA+ 4G Module
-
2.7.2-RELEASE (amd64)
built on Wed Dec 6 20:10:00 UTC 2023
FreeBSD 14.0-CURRENTHi
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 -
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
-
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
-
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.
-
I managed to get it working. :)
- Install the cellular package.
- 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"; };
- 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/