Sierra Wireless EM7445: A dead-born king

As a natural development of their previous XMM7160 LTE chipset, Intel presented a new generation, named XMM7260. It was announced about 2 years ago and only now some first real devices made it to customers. XMM7260 supports more LTE bands than XM7160 and also supports LTE carrier aggregation. It conforms to LTE Cat.6.

The following LTE bands supported: 1, 2, 3, 4, 5, 7, 8, 13, 17, 18, 19, 20, 25, 26, 29, 30, 38, 41.

Wow, that’s 18 LTE bands supported!

The following LTE bands supported with carrier aggregation: 1+5, 8, 18, 19, 26; 2+4, 5, 13, 17, 29; 3+5, 8, 19, 20, 26; 4+5, 13, 17, 29; 7+20; 4+4.

That technical details look very good and I was desperate to test the new Sierra Wireless EM7445. Below is my review.

I’m still using a previous generation Lenovo laptop, X240. It includes an m.2 slot for WWAN devices. All WWAN devices are currently using an USB interface, and none are using PCI-E, so only USB connectors are required to function in laptop’s m.2 slot. USB version in X240 and X250 is 2.0 only. And Sierra Wireless EM7445 supports USB 3.0 already, so even if the device is capable of receiving LTE data very fast, using carrier aggregation, there still can be a real bottleneck in data throughput, because the device will need to fallback to the older USB 2.0 protocol when coupled with a previous generation laptop, like X240 or X250.

Also every time I turn my laptop on or wake up it from sleep, I’m getting a Windows notification “This device can perform faster. Please connect it to a USB 3.0 port”.

While this notification is harmless and doesn’t affect the device workings, it’s pretty annoying to see it every time. X240 already includes USB 3.0 in the chipset and has two USB 3.0 external ports, so the question is why they used USB 2.0 for the m.2 slot connectivity?

Sierra Wireless EM7445 doesn’t have a driver package available on the Lenovo website or anywhere else. Supported laptops Lenovo P50 and Lenovo P70 don’t list EM7445 drivers for download on their corresponding pages. There is a reason for that and I will explain it below. For drivers, EM7345 drivers for previous generation laptops include EM7445 support, according to INF files:

So I used the latest driver package for EM7345 from Lenovo website and EM7445 was detected and recognized:

em7445-drivers-settings If you have Windows 8 and up, proceed to the driver installation from Lenovo website as well to have drivers for GNSS and COM ports, as those won’t be recognized by standard Windows 8/10 drivers.

The Vendor and Product ID for EM7445 is 1199 and A004 respectively.

Unfortunately, Sierra Wireless EM7445 is intended for the newest Lenovo laptops, such as P50 and P70, so older laptops don’t include EM7445 in their white list. If you just install EM7445, then turn it on, your laptop will abort booting with the following message: An unauthorized network card is detected:

To get over it, it is possible to change the Vendor and Product ID to those which are accepted by Lenovo BIOS. For X240 and X250, we will use the IDs from EM7345, which are 1199 and A001 respectively. So basically we just need to change the Product ID from A004 to A001 to make the laptop boot normally.

So remove EM7445 from the laptop, boot up Windows, put your laptop to sleep, then install EM7445 and connect the antennas. Then wake up the laptop.

Sierra Wireless EM7445 is using the same method of changing IDs, device/manufacturer name strings and also the device “composition” and enable COM and GNSS ports. To achieve that, we will use the following script for the Intel MBIM tool:

dtc
EXT USBPROFILE s USBPROFILE at@usbmwtestfw:usb_profile_set_nvm_configuration(USBPOW_ID_DEFAULT,"MBIM;3ACM","INTERFACES_NAME=L\"Sierra Wireless EM7445 4G LTE\"",0x1199,"530069006500720072006100200057006900720065006C00650073007300200049006E0063002E00",  0xA001,"530069006500720072006100200057006900720065006C00650073007300200045004D00370034003400350020003400470020004C0054004500")
EXT FWUSVC s MODEM_REBOOT
EXIT

You also can download and run the following file. After a couple of minutes, check the device in Device Manager. It will be shown there as Sierra Wireless EM7345 4G LTE, because we changed IDs to ones belonging to EM7345. But now we can successfully reboot the laptop and it won’t complain about an unauthorized device plugged in. To fix the incorrect device name in Device Manager we can use the following:

Open EM7345 device in Device Manager and select “Uninstall Device”. When uninstalling, also tick “Delete device software”. After that, press F5 to refresh the device list. Then open Unknown device, and press “Update driver” in the device properties in the Driver tab. Select “Browse my computer for driver software” and then “Let me pick from a list of device drivers on my computer” and then “Have Disk”. Press “Browse” and navigate to unpacked drivers files and open file “SWMBIM01_ss.INF”. Then untick “Show compatible hardware”. Then select “Sierra Wireless EM7445 4G LTE” from the list and press “Next”. Drivers for EM7345 and EM7445 are exactly the same, and you can omit this step completely, even if it shows as EM7345, it won’t affect the device functioning. What we doing here is just to have EM7445 with changed Product ID to be shown as EM7445 in Device Manager.

You can repeat the above procedure for COM and GNSS port devices: “Sierra Wireless EM7345 AT Port”, “Sierra Wireless EM7345 Trace Port”, “Sierra Wireless GNSS Sensor EM7345 4G LTE” and “Sierra Wireless EM7345”.

After drivers are installed, we can start using EM7445 for internet access and use COM port to control it. All commands are basically the same with some new ones. I haven’t been able to test carrier aggregation with EM7445, I also don’t know any of AT commands that might control carrier aggregation. My tests were brief and EM7445 was able to connect to a LTE carrier and Internet was working, that’s all what I can say. Carrier aggregation is not supported by carriers here, otherwise the device is working identically to the old EM7345, but the overall stability is worse, there are crashes, some AT commands not working, etc.

The firmware version is XMM7260_V2_REV_3.0_M2_BDREV_3_NAND_ROW_GNSSS and M27260_V2.3_WW_01.1530.102 dated July 22 2015:

I couldn’t find any newer firmware version for EM7445. The latest driver package from Lenovo website contains only firmware for EM7345, there is no firmware for EM7445. Also, the firmware is buggy. I have had several device crashes, device is crashing to “1 CDC” many times. Also it’s showing some crash logs with AT+XLOG=0 command:

The crash was in module “metrics_engine”. What metrics? Are we talking about Carrier IQ here? What other metrics can we think of? Not only device manufacturers haven’t removed Carrier IQ from the device firmware, they even made it worse so now it crashes when processing those spying “metrics” functions.

Also the device always hangs when I enter AT+CNUM command to display the phone number of the inserted SIM. Also it ALWAYS crashes to “1 CDC” when the reboot command AT+CFUN=16 is entered with crash logs saying it was another error in “metrics_engine” module.

And the last thing, the EM7445 module I’ve got is most likely an engineering sample for internal Lenovo testing. The IMEI number of my EM7445 device is: 01440500000XXXX. It doesn’t look as a genuine IMEI number, because it contains too many zeroes. Five zeroes in a row, I’ve never seen a genuine IMEI containing so much zeroes. For test and engineering sample devices, however, IMEI can contain zeroes and most engineering samples I’ve seen contained a lot of zeroes for the IMEI number.

FRU list for P70 dated October 29 2015 contained EM7445 as an WWAN option:

https://download.lenovo.com/parts/ThinkPad/p70_frubom_20151029.pdf

Let’s check the white list in P70 BIOS:

It doesn’t contain EM7445! The only allowed WWAN device for Lenovo P70 is EM7455 (1199/9079 and 1199/9078). The white list is the same for the oldest BIOS version 1.06 and the latest available version 1.40. We can say that despite the FRU document, the actual BIOS for Lenovo P70 never listed EM7445 as an allowed WWAN card!

I’ve also checked the Lenovo P50 white list for BIOS version 1.10 and 1.23:

It also contains only EM7455 in both BIOS version 1.10 and 1.23. No trace of EM7445 for Lenovo P50.

The only actual BIOS that contained EM7445 for a WWAN device is Lenovo Yoga 260. The first available BIOS version 1.06 contained EM7445 in the white list (1199/A004), but the latest BIOS version 1.40 DOESN’T INCLUDE IT ANYMORE, but includes EM7455 as the only allowed WWAN device (1199/9078). Below is the comparison of two BIOS white list:

For now, I haven’t been able to find any Lenovo device that is supposed to have Sierra Wireless EM7445 as the WWAN option! The only mention about EM7445 is in the FRU list for P70, but that’s a 100% outdated document.

So what happened at Lenovo so they changed their mind about EM7445? I guess they’re disappointed of the module performance, numerous bugs and problems using it in newer laptops. If we remember the story about EM7345, we can see that it was a big unsuccess for Lenovo and they surely don’t want to step into the same water again.

Intel WWAN XMM platform is pretty much dead and Lenovo effectively abandoned it. All new laptops will be using EM7455, which is based on QUALCOMM MDM9230 chipset that supports LTE Cat.6 carrier aggregation. And it is much more stable and already has firmware and drivers available for download on Sierra Wireless website. No doubt there will be new firmware versions released soon for EM7455.

EM7435 and EM7445 never had any drivers or documentation available on Sierra Wireless website, moreover, recently Sierra Wireless removed any mention about EM7445 from their website.

All EM7445 modules available for sale now are most likely engineering test samples intended for Lenovo internal testing and are not recommended to buy.