Some little technical blog

Monthly Archives: February 2015

Sierra Wireless EM7345 AT commands


AT commands are very helpful for troubleshooting your device and changing the settings that are not available from standard Windows settings. For example, you can choose the access technology – 2G, 3G, 4G and even stick to particular frequency bands.

EM7345 is using Intel (formerly Infineon) AT command set and it’s not compatible with Quallcomm AT command set. All basic AT commands like AT+CFUN are more or less the same for all 3G/4G devices, but advanced ones, starting from AT+X, are unique to Intel XMM platform devices.

No official documentation for AT commands was released by Intel, all I was able to find is some source code fragments for Samsung phones (that are based on the earlier XMM platform, like XMM 6380, or so)  on GitHub.

To use AT commands, first you have to enable EM7345 AT command port, as I described in this post.

There are many cases when your newly installed EM7345 doesn’t work. Let’s start step by step.


should return: +CFUN: 1,0

1 means the device is turned on. If it’s not 1, make sure your EM7345 is turned on in Windows Connection Manager. Or try to turn it on using the AT command:


Let’s check if the SIM card is working and recognized by the EM7345:


should read from your card and display your IMSI number.

Check your SIM card status:


should return: +CPIN: READY. That means your SIM card is properly recognized and no SIM card PIN is required to enter.

Let’s check if your EM7345 is SIM locked:


should return +CLCK: 0

0 means your device is not locked and can work with any SIM card. If it is 1, then bad luck, your EM7345 is SIM locked and will work only with SIM card of the operator it is locked to.

Let’s check which access technology is currently used:


returns something like +XREG: 0,8,BAND_LTE_20,0

it means your device is currently using LTE, frequency band 20. For 3G, the band will be BAND_UMTS_I, for example. That means 3G band I. All actual band frequencies you can find in Google.

How to change the access technology?


where n is: 0 – for 2G (EDGE), 1 – for 3G, 2 – for 4G/LTE.

You can also check your current access technology configuration:


response: +XACT: 0,0,,900,1800,1900,850,1,2,4,5,8,101,102,103,104,105,107,108,113,117,118,119,120

the first number is n number above. Then come numbers 900,1800,1900,850. Those are bands currently enabled for 2G technology. So the configuration is to use only 2G, and use the above bands. If the band is not listed, it won’t be used by the EM7345. This is very useful when you want to stick to only one access technology and even some particular band. Then we see numbers 1,2,4,5,8. Those are 3G bands. And finally, numbers starting from 101 and up to 120. Those are 4G/LTE bands. 101 means LTE band 1, 102 stands for LTE band 2 and so on.

How do we set the bands? For example to use only LTE band 20, use the following command:


To stick to LTE  bands 7 and 20, use:


You get the idea.

What about automatic selection of access technologies? For example in some areas where 4G is not avaialble and you want the device to use 3G and then go back to 4G when you’re back  to the coverage? Use this:


That tells your device to use all access technologies and the bands listed in the command (6 number) with the priority of 4G/LTE. This is the default factory EM7345 setting. What 2 and 1 numbers mean I don’t know yet.

If your SIM card seems to be ok, but you cannot get a working connection, try to check for connection errors:




Each of it will get you some text error report if your EM7345 cannot connect to a network.

Your device frozen or you get “1 CDC error”? No need to reboot your laptop, just use:


This will reboot your EM7345, and it will reappear in Device Manager shortly.

Want to check your EM7345 for internal errors? Use:


This will list all recorded errors (exceptions). Firmware version 1.1 had some bugs, and every time “1 CDC” error appeared, it got logged and appeared in this list. Since version 1.2 (1415.09) I see no errors in this log.

To clear this list of errors, use:



Sierra Wireless EM7345 – an easier method to update firmware


WARNING!!! The instructions in this post are applicable only to EM7345 installed in Lenovo laptops!! For example, models T440, X240, X1 Carbon 2nd and 3rd gen, X250. For tablets or other devices don’t use the firmware given in this post, you can brick your EM7345!

Finally, I was able to figure out what *.flz files actually are! EM7345 Intel firmware updater asks for *.flz files when you want to flash the firmware. But there were none available, only *.fls files, which Intel firmware updater doesn’t accept. If you have a flz file, you can flash your EM7345 without editing out xml files and rebooting your laptop. Just open a flz file in the updater and you’re good to go!

A flz file is just a zipped fls file together with an xml description file. For example, if you want to flash FIH7160_V1.2_WW_01.1415.09_NAND.fls firmware, just do the following:

Create FLSInformation.xml file with the following contents:

MCC and MNC values in the file are not important, you can put any value.

Then zip these two files, FLSInformation.xml and FIH7160_V1.2_WW_01.1415.09_NAND.fls together. Rename the zip archive to FIH7160_V1.2_WW_01.1415.09_NAND.flz. Now you can launch Intel Firmware updater, click “Add firmware” and it will be recognized and showed in the list.


Then you can click “Update Firmware” and that’s it!

Note if you put different MCC and MNC values than your currently installed SIM card, you will get a warning from the updater saying that the firmware does not match your device. Ignore the warning if you know what you are doing and you really want to flash that version. Alternatively, use MCC and MNC values to match your SIM, and there will be no warning shown.

You may find this method of having a flz file a lot easier in order to update your EM7345 firmware, no need to edit xml files and reboot any more, and the updating process is now visual and straight forward. Enjoy.

New Sierra Wireless EM7345 firmwares available

Yesterday I’ve been checking on Lenovo drivers website and have noticed that they added the X250 model. And what did I find there? Sierra Wireless EM7345 Software for Windows 8.1 (32-bit, 64-bit) – ThinkPad version 1.11.10610.4225 , released on 12/16/2014 . So Lenovo doesn’t update WWAN drivers for their “old” models, like X240 or T440 and the latest drivers out there are dated July 31. So I downloaded it, unpacked it and found the following EM7345 firmwares inside:


  • FIH7160_V1.1_WW_01.1410.13_AT_NAND.fls version 1.1 (1410.13) for AT&T (United States only) dated 2014-May-19 12:32:21
  • FIH7160_V1.2_WW_01.1415.07_NAND.fls version 1.2 (1415.07) Worldwide dated 2014-Jun-5 11:54:58. This is the version I had flashed into my EM7345, as described in this post
  • FIH7160_V1.2_WW_01.1415.09_NAND.fls version 1.2 (1415.09) Worldwide dated  2014-Oct-22 17:47:10. Seems to be an update for 1415.07.
  • FIH7160_V1.2_WW_01.1442.04_VZ_NAND.fls version 1.2 (1442.04) for Verizon (United States only) dated 2014-Nov-20 11:23:44

Of course I couldn’t resist and flashed the new firmware FIH7160_V1.2_WW_01.1415.09. Everything seems to work fine.

I didn’t dare to flash Verizon or AT&T version, even though Verizon seems to be the latest, compiled on 2014-Nov-20. US operators love to SIM lock their devices, and those firmwares can be locked. Unless you are in the US and your network is Verizon/AT&T or you just don’t care, I cannot recommend to flash those AT&T and Verizon firmwares.

How to flash it? Just put file FIH7160_V1.2_WW_01.1415.09_NAND.fls into the folder “c:\ProgramData\Intel\MBIM Toolkit\FirmwareDatabase\PreInstalled” (first you have to have the EM7345 drivers installed as desrcibed in this guide ) and make changes to file “c:\ProgramData\Intel\MBIM Toolkit\FirmwareDatabase\PreInstalled\FLSInformation.xml”. But this time use FIH7160_V1.2_WW_01.1415.09_NAND.fls instead of FIH7160_V1.2_WW_01.1415.07_NAND.fls when editing the xml and you’re done.

After reboot, you will be prompted by the Intel firmware updater:


Press Yes and you’re set! Interestingly, VID/PID weren’t reset to their default values so I had no need to restore them. Also GNSS and AT ports were not affected at all, and continued to work just fine.

I’d like to know what new features and bug fixes are brought by the updates, but (as usual) we have no information, no change logs… I’m not using my EM7345 much these days, but if you guys notice something new in this update, feel free to let me know.