none
1709 BUG with rndismp6.sys+usb80236.sys: DHCP client does not work.

    Question

  • Hi!

    I have an USB LTE dongle modem of Huawei E3372h-153 Hilink.

    This is a very popular modem, which is re-branded and sold by lots of cellular operators all over the world under their own names.

    The modem (at least with Hilink firmware which I have) is actually a small WebUI-managed router with NAT and DHCP server in it. When plugged to a Windows PC, its LAN-side interface is represented in Windows as USB RNDIS adapter.

    The adapter is serviced by MS's rndismp6.sys+usb80236.sys. Huawei has some driver packs for it, but, even with them installed, the RNDIS adapter is still serviced by MS's inbox drivers.

    The problem is that, with Windows 10 1709, DHCP client no more works with this adapter. You need to assign the IP address manually to the RNDIS adapter for the modem to work.

    This is really bad, since lots of users are unaware of DHCP and networking stuff. They just know that, if they plug the modem in, then the Internet connection magically appears.

    So, Windows 1709 breaks Internet connectivity to lots of people.

    Saturday, October 28, 2017 7:19 PM

All replies

  • have the same problem. 

    yesterday it worked, today, after 1709 update, it doesn't


    • Edited by avatara9 Sunday, October 29, 2017 7:23 AM
    Sunday, October 29, 2017 7:22 AM
  • Hi,

    Considering the Update is released recently, some compatibility issues may arise, if the issue persists, you could try the built-in "Feedback" tool to submit the issue on your side.

    In addition, in order to keep your daily work properly, you could also try to roll back.

    Best Regards,

    Tao


    Please remember to mark the replies as answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Monday, October 30, 2017 4:42 AM
    Moderator
  • MORE INFO:

    - depending on Huawei firmware version, the problem can be worse. At least with some versions the RNDIS adapter is totally dead, i.e. it is displayed as OK in control panel and devmgmt, but no packets can go to the modem (pings, ARP etc). Even with the manually assigned IP address.

    Friday, November 03, 2017 12:46 PM
  • WORKAROUND:

    In short:

    - force-assign the MISMATCHING Huawei's RNDIS driver to the devnode.

    - then re-assign the MS's inbox driver to it back

    - after this, the RNDIS adapter works fine, DHCP too, with the same MS's inbox driver.

    - Huawei's driver will not work with this hardware. The whole black magic is that the scenario creates the necessary registry stuff, broken by default, which will then allow the same MS's inbox driver to work.

    Steps:

    1) find the HUAWEI DataCard driver pack for this modem somewhere on the Internet, maybe on your cell operator's website.

    2) yes, this pack is NOT intended for "Hilink" (router) firmware. It is used for the same modem with "Stick" (dumb media-converter/bridge, the ISP's address is assigned to your Windows RNDIS adapter) firmware for the same modem. Nevertheless, it is a must for this procedure.

    3) unpack the DataCard driver pack somewhere to your PC, using 7-Zip or such. You need the directory which match your OS bitness (32 or 64) with .sys/.inf/.cat files.

    4) connect the modem and ensure that the (dead) RNDIS devnode is created in the Device Manager.

    5) in the Device Manager, do Update Driver for the RNDIS devnode. "Browse my computer"/"Let me pick"/"Have Disk".

    6) in the Have Disk dialog, browse for the directory with Huawei's drivers created in Step 3.

    7) you need to pick the correct Huawei's driver, depending on the modem firmware. For me, what was working is ewnet.inf and "HUAWEI Incorporated"/"HUAWEI Mobile Connect - Network Adapter"/version 1.0.4.21 from it. Other people report that, for them, ewusbwwan.inf and driver version 6.0.1.336 work. The latter did not work for me.

    8) say Yes to the mismatched driver warning. "Installing Driver" will start.

    9) if the correct driver was chosen at Step 7 - then you will, in a minute, see that the driver was installed successfully, the devnode is started OK, and, in the network control panel, you will see Huawei adapter with "cable disconnected". Yes, this driver will not work. It is mismatching. This whole process only does some black magic with the registry, which will then allow MS's driver to work.

    10) and, if the wrong driver was chosen at Step 7 - then "Installing Driver" will take several minutes (longer), will finish with an error, and you will see the dead "The device cannot start" devnode in Device Manager. In this case a) detach the modem b) delete the "gray" devnodes of it using DEVMGR_SHOW_NONPRESENT_DEVICES+Device Manager c) retry from Step 4.

    11) after you see Huawei network adapter with "cable disconnected", go back to Device Manager, again "Update Driver"/"Browse my computer"/"Let me pick" and pick the default MS's USB RNDIS driver from the list. Do not use "Have Disk".

    12) after this "Installing Driver" will complete, the RNDIS devnode will be fine. In the worst case, you will need to Disable/Enable it one more time.

    Friday, November 03, 2017 1:05 PM
  • SOME RESEARCH RESULTS:

    1) Previous Win10 versions had both "old" and "new" (usbrndis6) versions of the USB RNDIS driver. The default in most scenarios was to use "old".

    2) But, with 1709, MS just plain removed the "old" driver from the OS, and patched netrndis.inf to only reference the "new" driver. Which does not work without some black magic.

    3) I've compared the registry, and did some research with Sysinternals Procmon registry tracking. The results were not good at all. Namely:

     - the classic PnP devnode keys of Enum\USB\VEN_xxx\instance and Control\Class\{Net class GUID}\{number}, as also the Services/Tcpip/Parameters/Interfaces, are hardly ever related to this stuff. Yes, there are differences in bad case before the black magic with the Huawei driver and good case after it. Applying these differences, namely:

    *IfType 6 or 1

    EnableMulticast 0 or absent

    GUID-named subkey in Enum\USBxxx\Device Parameters

    port name "HWNET" or absent

    QCDeviceControlFile

    NetLuidIndex 0x8009 or 0x8001

    - cannot turn the bad devnode to the good one, neither they can break the already good devnode.

    4) Procmon shows also the traffic to Control/NetworkSetup2, which is ACL-protected, as also Control/Nsi which only contain the binary values.

    The problem is probably not rndismp6.sys+usb80236.sys or their tiny INF files, but NDIS itself or INetCfg DLLs. The devnode setup process, without the major hack being applied, cannot build the correct registry entries for  rndismp6.sys+usb80236.sys to work.

    Friday, November 03, 2017 1:15 PM
  • We are aware of the problem, and are preparing a fix.  (As your research has found, the fix involves NDIS itself and the INetCfg DLLs.)

    In in the 1709 version, we have redirected all RNDIS devices to use the RNDS6 driver.  (Because the RNDIS6 driver is faster and crashes less often than the older RNDIS5 driver.)  However, some devices are not fully compatible with the RNDIS6 INF file.  In particular, their INFs do not provide the correct *IfType.  Windows has a fallback process to guess an *IfType when one isn't provided, but in this case Windows falls back to the incorrect *IfType.

    If you're super comfortable editing the registry and tinkering with the system, you may be able to work around the problem with something like these steps below.  This is not guaranteed to work -- if you can at all hang on a few weeks until we release the official fix, please wait.

    1. Disable the "netsetupsvc" service with "sc.exe config netsetupsvc start=disabled"

    2. Uninstall the device from devmgmt.msc.

    3. Reinstall the device by telling devmgmt.msc to "Scan for hardware changes"

    4. The device should reappear, but it won't work yet.

    5. Find the device's registry key, and add three DWORDs named "*IfType", "*MediaType", and "*PhysicalMediaType" set to 6, 0, and 0xe respectively.

    6. Re-enable the netsetupsvc with "sc.exe config netsetupsvc start=demand"

    7. Disable & re-enable the device in devmgmt.msc.

    Sunday, November 12, 2017 11:28 PM
  • Thank you!

    I have the same problem on my windows 10 machine.

    When will the fix be rolled out?

    Dosc

    Friday, November 24, 2017 9:30 AM
  • Many thanks, easier is to take the driver from the dongle :

    • Go in "Programs and Features"
    • Uninstall Huawei "Mobile Broadband HL. Service"
    • Plug your dongle
    • Don't launch the autorun
    • Go on the CD
    • With 7zip extract mbbServiceSetup.exe
    • Extract data.bin
    • Now you should have a folder named "MobileBrServ/data/driver"
    • Go in device management
    • Right click on "RNDIS..."
    • Update the drivers
    • Let me pick a driver
    • Choose the folder "MobileBrServ/data/driver"
    • Choose "Windows Mobile based Internet Shared Device"
    • And voilà !

    Friday, December 22, 2017 4:38 PM
  • Hi maxim,

    Have you tried to install the firmware?


    Momominta

    Saturday, December 23, 2017 7:08 AM
  • @Jeffrey Tippet: Is there any news on this issue? When will the  fix be released?
    Thursday, January 11, 2018 1:53 PM