Telit LM940 Rev.1 base on SoC Qualcomm MDM9240 (Rev.2 is not checked by me, jet)
General.
- mPCIe slot, you can just go, remember that uFL at Main & Div/Aux are opposite to MikroTik lte modules.
- In EMC you have internal NAT, without DMZ and your Public IP is unless until you migrate to MBIM and ROS7beta8
- Any EARFCN and PCI Lock are not supported, means no any Cell Lock at that SoC.
ROS must be at least v6.44, recommended the latest beta version or ROS7.
If RouterBoard not have USB3.0, means you must isolated modem USB3.0 pins (PINS:23,25,27,29,31,33).
cuN0fXTypp.png
This toturial base at RBLHGR who have USB2.0 bus on mPCIe socket.
To run this module I not isolated USB3.0 pins but connect first module to USB wwan adapter, install WinDriver and by putty I send few initial commands and last two switch to USB 2.0:
ATTest that you get a OK reply
ATE1 <- Enable AT command echo
AT+CMEE=2 <- Verbose error reporting
AT+CGMM <- Module model
AT+CGMR<- Firmware version
AT#USBSWITCH=1 <- Enable USB 2.0 = Disable USB 3.0 - no more isolate pins !!
AT#REBOOT
LM940 installed in mPCIe socket of LHGR.
Check if modem is detected
/system resource usb print detail
1 device="1-1" vendor="Telit Wireless Solutions" name="LM940-CP" serial-number="3129e32e" vendor-id="0x1bc7" device-id="0x1040" speed="480" usb-version=" 2.00
/interface lte at-chat lte1 input="at#usbcfg\?" <- Query of module mode
output: #USBCFG: 1
This Device-ID and #USBCFG give us a info in what mode module works like PPP/ECM/MBIM.
AT#USBCFG=1 <- 1040 PPP/RMNET
Default, we see usb1 and ppp-out1
AT#USBCFG=2 <- 1041 MBIM, we see lte1 but this mode works only at ROS7
AT#USBCFG=3 <- 1043 EMC, we see lte1 interface
"Modem image" is one of few internal multi-firmware what we can activate, we can select from:
at#firmware
HOST FIRMWARE : 24.01.504_2 <- This is a real one FW who is main firmware
MODEM FIRMWARE : 4 <- List of modem image what we can activate
INDEX STATUS CARRIER VERSION TMCFG LOC
1 Generic 24.01.514 1023 1 <- Other like EMEA
2 Verizon 24.01.524 2025 2 <- USA
3 ATT 24.01.544 4024 3 <- USA
4 Activated Sprint 24.01.532 3017 4 <- USA
This we will be set later.
Telit LM940 default works at PPP/RMNET mode with device-id=1040, we must setup that in ROS too bcs we must communicate with him in his way. Note that MikroTik parameter "ignore-directip-modem" you can read in human form as "Ignore-LTE-ECM-MBIM" - easier :).
/port firmware set ignore-directip-modem=yes ;
/system reboot
We should see new usb1 device, not lte1.
/port print detail
usb1 channels=7
This 7 means we can try use channel=0..6.
We try speak via AT commands with channel from 6 to 0. In my example it's 6 and 5 and 4 works with AT commands that way:
/system serial-terminal port=usb1 channel=4
AT
ATE1
AT#USBCFG=3 <- ECM mode who works only at ROS6. MBIM works properly from ROS7beta8.
AT#REBOOT <- we say to module do a reboot if he not do it automatically
Module do internal reboot and be works in one of LTE mode, we must comeback to that mode too by "IgnoreLTE=NO" :
/port firmware set ignore-directip-modem=no ;
/system reboot
You can remove the /port usb1 (red interface) and /ppp ppp-out1 (red connection).
You should see new interface lte1.
We now can communicate with module by at-chat feature.
We must check the Firmware image version is correct it with your ISP.
/interface lte at-chat lte1 input="AT#FIRMWARE"
HOST FIRMWARE : 24.01.504_2
MODEM FIRMWARE : 4 INDEX STATUS CARRIER VERSION TMCFG CNV LOC
1 Generic 24.01.514 1023 empty 1
2 Activated Verizon 24.01.524 2025 empty 2
3 ATT 24.01.544 4024 empty 3
4 Sprint 24.01.532 3017 empty 4
OK
/interface lte at-chat lte1 input="AT#FIRMWARE=4"; <- reboot happen automatically
/interface lte at-chat lte1 input="at#firmware\?"
output: #FIRMWARE: 4
OK
I select the 4 who is for USA\Sprint and module will reboot itself.
Problem with LOOP / Flapping lte1
ROS on some at#firmware or ECM/MBIM mode can create a loop with Telit LM940. Please report that behavior to Support if you hit at that problem.
lte1 interface is on/off in loop.... that fast then I cannot send any at-chat to lte1 interface.
To stop that and have lte1 stable to could speak via at-chat, In my case i set a FAKE APN like "dvbiejvtsjr" who will be only from random letters. That works for me.
Now the lte1 exist and Status show Registration Status: danied - stop loop is very good!.
At Cellular Tab, the IMEI field show me a modem image like 24.01.5x4 ?!.
To Reset to Default settings inside LM940 we do:
/interface lte at-chat lte1 input="AT&F0"
/interface lte at-chat lte1 input="AT&F1"
/interface lte at-chat lte1 input="AT#REBOOT"
After few minutes, ~2 minutes we see proper IMEI, Registration Status still Danied.
We fix the APN to one of proper and we receive a connection in ECM mode done !!.
ECM not give you a IP from ISP - he give you 192.168.225.11 and gateway 192.168.225.1.
More about that in #ICMLANCFG, Telit not support the DMZ, even if you have PublicIP then in ECM you not use it !
Only with MBIM mode and ROS7beta8 you can receive IP directly from ISP to your RB.
Additional Commands
*
LTE 3G/4G mode
interface/lte/at-chat lte1 input="AT+WS46=\?"
AT+WS46=22 <- 3G only.
AT+WS46=28 <- 4G only.
AT+WS46=31 <- 3G and 4G
*
LTE Carrier Aggregation enable and disable - #CACTL
/interface lte at-chat lte1 input="AT#CACTL\?"
0 - CA disable | 1 - Enable (Default)
/interface lte at-chat lte1 input="AT#CACTL=1"
/interface lte at-chat lte1 input="AT#REBOOT"
*
LTE Carrier Aggregation - #CAINFO
/interface lte at-chat lte1 input="AT#CAINFO\?"
output: #CAINFO: 160,9840,2,8,-104,-74,-13,142,3b23,12,2,1,131,5090,2,35,-87,-64,-9,0,1,0,0,161,67061,4,5,-100,-78,-3,0,1,0,0 OK
This is long because this are 3xCA together !!!, those are:
<band_class>160,<rx_channel>9840,<dl_bw>2,<pci>8,<rsrp>-104,<rssi>-74,<rsrq>-13,<sinr>142,<tac>3b23,<tx_power>12,<uplink_modulation>2,<downlink_modulation>1,
<band_class>131,<rx_channel>5090,<dl_bw>2,<pci>35,<rsrp>-87,<rssi>-64,<rsrq>-9,<sinr>0,<state>1,<uplink_modulation>0,<downlink_modulation>0
<band_class>161,<rx_channel>67061,<dl_bw>4,<pci>5,<rsrp>-100,<rssi>-78,<rsrq>-3,<sinr>0,<state>1,<uplink_modulation>0,<downlink_modulation>0
OK
*
Select Band - #BND
At each at#firmware we have other sets of possibility Bands. Query of current Bands:
/interface lte at-chat lte1 input="AT#BND\?"
rcvd #BND: 0,0,1000300081A
To Setup own Band set we must remember that first two field and modify only last one.
Last parameter is just HEX SUM of few bands, Use Windows Cals, in Programmer and do magic.
Below are list HEX value to do math with and normal human form Band desc.
Example default hex 1000300081A
- 10000000000 (B41) = 300081A
- 2000000 B26 = 100081A
- 1000000 B25 = 81A
- 800 B12 = 1A
- 10 B5 = A
- 8 B4 = 2
-2 B2 = 0
what give Bands=2.4.5.12.25.26.41
Tip: usefull is output: #LCFC: 5,25(1900) 26(850) 41(TD2500)...
1 B1
2 B2
4 B3
8 B4
10 B5
40 B7
80 B8
800 B12
1000 B13
10000 B17
80000 B20
1000000 B25
2000000 B26
8000000 B28
10000000 B29
20000000 B30
2000000000 B38
8000000000 B40
10000000000 B41
Example: 5,25(1900),41(TD2500) -> B5+25+41=10 +1000000 +10000000000 = 10001000010
/interface lte at-chat lte1 input="AT#BND=0,0,10001000010"
*
Cell Monitor - AT#MONI
Info about neighbour of the serving cell or current one, we select target information by
/interface lte at-chat lte1 input="AT#MONI=\?"
output: #MONI: (6,
0)
0 – in 4G it is the serving cell (Default)
1 – in 4G it is the intra-frequency cells
2 – in 4G it is the inter-frequency cells
/interface lte at-chat lte1 input="AT#MONI=0"
/interface lte at-chat lte1 input="AT#MONI"
#MONI: Cc:312 Nc:190 RSRP:-111 RSRQ:-11 TAC:0002 Id:187B002 EARFCN:8465 PWR:-81dbm DRX:1280
/interface lte at-chat lte1 input="AT#MONI=1"
/interface lte at-chat lte1 input="AT#MONI"
#MONI: RSRP:-111 RSRQ:-11 Id:000007F EARFCN:8465 PWR:-80dbm
#MONI: RSRP:-118 RSRQ:-18 Id:00000F4 EARFCN:8465 PWR:-90dbm
#MONI: RSRP:-122 RSRQ:-18 Id:0000088 EARFCN:8465 PWR:-91dbm
/interface lte at-chat lte1 input="AT#MONI=2"
/interface lte at-chat lte1 input="AT#MONI"
#MONI: RSRP:-113 RSRQ:-13 Id:00000BE EARFCN:8440 PWR:-90dbm
#MONI: RSRP:-111 RSRQ:-10 Id:00000B9 EARFCN:8440 PWR:-90dbm
#MONI: RSRP:-118 RSRQ:-19 Id:00000BD EARFCN:8440 PWR:-90dbm
#MONI: RSRP:-103 RSRQ:-10 Id:00000F4 EARFCN:5145 PWR:-81dbm
Note: watch logs with topic=lte give you show that entry in right row way
*
Read Current Network Status - AT#RFSTS
/interface lte at-chat lte1 input="AT#RFSTS"
output: #RFSTS: "312 190",8465,-106,-77,-9,0002,255,22,1280,19,2,187B002,"******","",2,25
<PLMN>312 190,<EARFCN>8465,<RSRP>-106,<RSSI>-77,<RSRQ>-9,<TAC>0002,<RAC>255,[
<TXPWR>]22,<DRX>1280,<MM>19,<RRC>2,<CID>187B002,<IMSI>******,[<NetNameAsc>""
],<SD>2,<ABND>25
*
Serving Cell Information - AT#SERVINFO
/interface lte at-chat lte1 input="AT#SERVINFO"
output: #SERVINFO: 8465,-78,"","312190",187B002,0002,1280,2,-108
<EARFCN>8465,<dBM>-78,[<NetNameAsc>]"",<NetCode>312190,<CID>187B002,<TAC>0002,<DRX>1280,<SD>2,<RSRP>-108
*
LTE Carrier Aggregation Frequencies and Combinations - AT#LCFC
Note: Output can be differ to each selected at#firmware
/interface lte at-chat lte1 input="AT#LCFC"
output: #LCFC: 5,25(1900) 26(850) 41(TD2500),25A+25A 25A+26A 26A+41A 41A+41A 41C
TIPs
*
Current Cell ID
AT+CGREG?
+CGREG: 2,1,"FFFE","
1876205",7,"2"
AT+CEREG?
+CEREG: 2,1,"2","
1876205",7
1876205 dec = 1CA0ED hex
*
eNB / eNodeB / BTS / Tower ID
Note: Current Cell ID / 256 without rest.
put ( 1876205 / 256)
7328 <- 7328 dec = 1CA0 hex
*
Map of results from few commands with the same parameters
You do not have the required permissions to view the files attached to this post.