EM7455 Windows 10 'This device cannot start. (Code 10)'

We’re looking at using the EM7455 in tablets we supply to our customers. The existing modem does not work in all the regions we operate in and we already use the MC7455 in our embedded application and we like this modem. Getting the EM7455 to work in Windows 10, however, seems to be hit-and-miss: we have some units where it works as a drop-in replacement but others where we’re wrestling with the drivers or possibly modem firmware.

Looking at one modem in one tablet:

Modem_image

Some perhaps not-relevant system information:

Device Manager entries. Notice that there is a ‘QDLoader’ port but that it’s hidden:

Capture_01

The error message in the ‘General’ tab is ‘This device cannot start. (Code10)’

Driver Info

Based on this information and my understanding, this is a Lenovo version (VID 1199 PID 9079)

I attempted to update the firmware but I didn’t get too far:

To get this particular device working, do I need to be using a Lenovo driver? Or, should I be re-flashing the firmware somehow, in order so that the generic Sierra Wireless drivers work? As we deal with multiple, identical cloned tablets, getting the modem back to generic firmware is probably ideal, if possible. This way, the tablet image always matches the the firmware on the modem.

Is there something obvious I’m missing here, in getting this to work? I hope I’ve given enough information and context here.

as you said you have some unit with PC works, then you can swap to problematic one to verify if this is driver or hardware issue.

@jyijyi:

I appreciate the suggestion.

The tablets are all identical, as we have a supplier who manufactures them for us. The modems we have currently are not all from the same supplier. Ideally, the modems would all come with the same firmware and they would be consistent. We’re in the process of seeing whether this is feasible or not, to get them from a supplier. Until then, we’re seeing if this modem work for us.

My question isn’t about making it work for just one tablet and modem pair. Rather, I’m looking to understand whether there is a way to consistently make it work for every modem, regardless of where it came from. I don’t see trial-and-error being a realistic process here - I’ve already tried several different modems with different drivers. Part of the issue here is that the MHF-4 connectors are not designed for a high number of mating cycles. It’s not like a USB dongle where you can pull it out and put it in many times.

@jyijyi: Also worth pointing out is that in the cases where it has worked, these units have already been shipped to customers. We don’t have access to those tablets. Presumably, the modems in those tablets are ‘generic’ but I don’t know how to verify that remotely without having the tablets shipped back. With the tablets being on a different continent, that could be costly.

How about installing vmware ubuntu machine in win10?

If you can use the modem in linux, that means the driver in win10 has problem

@jyijyi: Using a Ubuntu Live thumbdrive, the modem appears to connect just fine and establishes an LTE connection straight away. I would agree this looks like a driver issue on Windows 10.

Prior to making this forum post, we had tried the following:

None of the above worked, and we get the ‘This device cannot start. (Code 10)’ in each case. We’d love to use Linux but unfortunately our application software for our customers runs on Windows only.

Is there a way of knowing which driver to use for this modem?

What is the driver in working device

We did not need to purposefully install any drivers in the working units. I can’t be 100% certain but I will guess that it’s either the default Microsoft broadband mobile device driver, or the Sierra Wireless driver via Windows Update, as those are ‘automatic’.

If necessary, I can arrange to remote into one of the tablets to determine for sure, but this might take a few days to arrange with our customer.

Better install the same driver to get more clue

Jyijyi, we were able to arrange for one of our customers to review the drivers being used on their working tablet. We took some screenshots.

We notice that this just shows up as a network adapter - there is no ‘Modems’ entry. There are also no COM ports associated with this device.

Looking at the driver properties, it looks like the default Microsoft mobile broadband driver is in use.

I think we can infer that this is a Dell-branded EM7455 (VID 413c PID 81b6).

image


Using the same Microsoft mobile broadband driver on the ‘problem tablet’ with the Lenovo-branded module, we still have a ‘Modems’ entry as well as the DM, NMEA and QDLoader ports, entries we don’t see on the other good, working tablet.

I’m still seeing the ‘This device cannot start. (Code10)’ error.

obviously, they are not using same driver, right?

can you swap the module to the working tablet and see what happens??

When I originally set up the same driver on the non-working tablet, I checked the version numbers to make sure they matched. I might not being doing something correctly - I hope if this is the case, the screenshots would show it. I’ve highlighted the version numbers on the Network adapters. As there is no ‘Modem’ entry on the working tablet, I don’t know how else to set the correct driver here, other than to completely uninstall the device and let Microsoft set the driver automatically, which is what it has been done.

Working Tablet:

Non-Working Tablet:

After a reboot, notice the non-working tablet has three entries in ‘Other devices’ and no ‘Modems’ entry. While the ‘Code 10’ error is not present, I still have unknown devices in Device Manager and Windows 10 indicates that cellular Internet is in the ‘No Service’ state. If there’s something specific I need to do to get the drivers to be the same, I’m not aware of what that is - perhaps you can point me in the right direction.

Unfortunately, I cannot swap modems on the working tablet. I am in Canada and the working tablet is in Europe. The entire reason for using these modems is that the default modems for this tablet manufacturer do not work worldwide, as the EM7455 does.

Does the “Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A” network adapters work?

No, it does not. I am still getting the same ‘No Service’ message when trying to use cellular Internet. I still have unknown devices in Device Manager.

no idea, but you might try different USB drivers:

https://source.sierrawireless.com/resources/airprime/software/airprime-mc-series-windows-drivers-qmi-build-history/#sthash.6I0fLFhT.dpbs

For those encountering a similar issue in the future, I’d like to document the resolution. It was the firmware that was the issue. As we have both generic, Lenovo and Dell-branded EM7455 modules, we needed re-flash to restore the generic firmware.

Daniel Wood’s excellent autoflash-7455.sh script does a fair bit of heaving-lifting here. One challenge was obtaining a M.2 NGFF to USB adapter—I don’t know if it’s just the pandemic but getting a few of these shipped to us took several weeks. Not having the adapter was holding us back significantly.

In addition to running the script, it looks like we also need to set the following:

AT!USBVID=1199
AT!USBPID=9071,9070
AT!USBPRODUCT="EM7455"
AT!PRIID="9904609","002.026","Generic-Laptop"

This forces the modem to identify itself correctly. Otherwise, Windows gets confused and insists it’s a Dell-branded modem and refuses to cooperate.

We also passed the -b 0 option to the script which forces all bands to be enabled, rather than just the LTE bands which were the default. In our application, we’re happy to fall back to 3G if 4G is not present.