Sierra Wireless EM7455 issues on Win 10 Fall 2017 and Workaround
As a somewhat ambivalent user of a Lenovo Thinkpad T460s laptop loaded with Windows 10 Enterprise and latest updates. After the Fall 2017 Creators update from Microsoft, the built in 4G Modem, a Sierra Wireless EM7455 stopped working. But not in an obvious way.
You could still connect the 4G modem, and you’d have “bars” as usual. After the connection was established however, you’d notice that you couldn’t ping or browse any websites. Ping resulted in “General Failure” and browsing usually ended up in some ambiguous DNS type error. First I thought it really was DNS, just misbehaving and not resolving things. But then again… ping to IPs didn’t work either.
I stopped using the card entirely; relying entirely on the wireless hotspot from my cell phone for mobile connectivity on the road. I would google the issue every now and then and see if there maybe was a firmware update which would finally fix things. No joy. Finally, I ended up on a Lenovo forum where the issue was being discussed. Someone had found a workaround, and it actually worked!
The short of it is: If you want to use your 4G card on the road, you need to disable all other network cards, wireless and wired. Then connect the 4G and it’ll work like normal.
Get-NetAdapter -Name Wi-Fi | Disable-NetAdapter -Confirm:$false Get-NetAdapter -Name Ethernet* | Disable-NetAdapter -Confirm:$false echo "Disabled Wi-Fi and Ethernet adapters. Enabling and connecting cellular modem..." sleep 2 Get-NetAdapter -Name Cellular | Enable-NetAdapter sleep 2 netsh mbn connect interface="Cellular" connmode=name name=profilename exit 0
Since it’s quite annoying to have to manually disable and enable individual cards, I made a small Powershell script for disabling and enabling things. They are below. Feel free to use them if they feel useful to you. v. 2.0 might somehow detect that I’m no longer docked and disable the ethernet and wifi, but then again, sometimes I’m on wifi, and sometimes on 4G, so that logic doesn’t work in every case.
This first script disables all Network Adapters called Wi-Fi and those starting Ethernet. Then it waits for a while in case disabling takes a while, and then enables the card called Cellular. In case your adapters are called something else, change those. You can find the name using: Get-Netadapter. Look for the Name-column. Note that you need to run the scripts as administrator for them to work.
This second script does the reverse. Save as powershell script (.ps1) files and run when needed.
Get-NetAdapter -Name Cellular | Disable-NetAdapter -Confirm:$false Get-NetAdapter -Name Wi-Fi | Enable-NetAdapter -Confirm:$false Get-NetAdapter -Name Ethernet* | Enable-NetAdapter -Confirm:$false echo "Enabled Wi-Fi and Ethernet adapters. Disabled cellular modem..." exit 0
Note that connecting the cellular modem via the netsh command requires that you’ve have a named connection profile. Depending on your settings, you might have one already. You can list existing profiles using netsh mbn show profile .
If you don’t, you’ll need to make one. Also, of note is that the built in profiles (partially blanked out) didn’t seem to connect. The longer string seemed to do something, but failed with an error code. The first one failed instantly, saying there’s no such profile. I’m not entirely sure what they are, to be honest. Anyway, the way to add do that, is to create an xml file which you then add via powershell or cmd. Here’s an example xml file. Note that you need your IMSI number, which can be obtained from Network Settings -> Cellular -> Advanced options. The data there looks like this:
Here’s an example XML file which you can use. Remember to save as .xml, not .xml.txt or some such.
<?xml version="1.0"?> <MBNProfile xmlns="http://www.microsoft.com/networking/WWAN/profile/v1"> <Name>dna4g</Name> <IsDefault>true</IsDefault> <ProfileCreationType>UserProvisioned</ProfileCreationType> <SubscriberID>IMSI NUMBER GOES HERE</SubscriberID> <HomeProviderName>MAYBE THE CARRIER NAME HERE?</HomeProviderName> <AutoConnectOnInternet>true</AutoConnectOnInternet> <ConnectionMode>auto</ConnectionMode> <Context> <AccessString>APN STRING GOES HERE</AccessString> <Compression>DISABLE</Compression> <AuthProtocol>NONE</AuthProtocol> </Context> </MBNProfile>
Add the xml using the following command:
netsh mbn add profile interface=”Cellular” name=C:\temp\nameofxmlfile.xml
Please note that this issue could be related to: Windows 10 (or a specific update thereof), Sierra Wireless EM7455 drivers, or the firmware of the card. For posterity, here are the versions that I am running at the time of this post:
- Windows 10 x64 Enterprise (Version 1709, OS Build 16299.125)
- Sierra Wireless Driver: 10.0.16299.98 (This looks like a windows build, not a driver version, but that’s what device manager says)
- Sierra Wireless Firmware: SWI9X30C_02.24.03.00
- Under Apps & Features, Sierra Wireless Lenovo Mobile Broadband INF Package: 7.47.4743.0105 (this seems to match with the update I’m talking about in the next paragraph)
Also, I’ve just noticed that Lenovo is pushing (well it’s not forced, but through their System Update utility (sidenote: probably the only lenovo utility which I absolutely recommend having on)) “Sierra Wireless EM7455 Software – 10 , version 7.53.4795.0101 with the following changelog note: “New Functions or enhancements: Maintenance Release”.
In other words, fat load of nothing in terms of information regarding what this update actually does. Thanks. I’ll test it and let you know if all my precious work on the workaround has been for naught.
Edit2: The firmware was updated along with the Sierra Wireless Software v. 7.53.4795.0101 package from Lenovo System Update. The firmware is now listed as: SWI9X30C_02.24.05.06, so the last two number-series have been incremented.