Enable Mux virtual miniport - Help

Discussion in 'Windows Vista Drivers' started by ttan, Oct 25, 2006.

  1. ttan

    ttan Guest

    Hi all,

    When I installed Mux driver and the "Virtual miniport" show as Disable, if I
    Enable it show "Connection fail..."
    What do I need to make change to make it Enable?

    thanks,
     
    ttan, Oct 25, 2006
    #1
    1. Advertisements

  2. The MUX driver needs to call NdisIMInitializeDeviceInstance() or
    NdisIMInitializeDeviceInstanceEx() in order to "activate" its (virtual)
    miniport instances.

    Care must be taken if a user manually disables a MUX miniport instance.
    The MUX driver then needs to again call
    NdisIMInitializeDeviceInstance[Ex]() for this instance. Otherwise, the
    user cannot reenable the instance (this is one of the reasons when you
    see the "connection failed" message).

    Also make sure to check the status code returned by
    NdisIMInitializeDeviceInstance[Ex]().

    Stephan
     
    Stephan Wolf [MVP], Oct 25, 2006
    #2
    1. Advertisements

  3. ttan

    Pankaj Garg Guest

    You don't need to call NdisIMInitializeDeviceInstance again if user
    disables the MUX driver's virtual adapter from the network control panel.

    ttan, did you put a breakpoint on MiniportInitialize handler of your MUX
    driver and see if that gets called or not when you try to enable the
    virtual network adapter from the network control panel.

     
    Pankaj Garg, Oct 26, 2006
    #3
  4. Hmm, well, IIRC there were several problems with disabling and
    reenabling of virtual miniports in an IM. Maybe I am wrong here but
    IIRC I had to call NdisIMInitializeDeviceInstance[Ex]() again after a
    MiniportHalt() in order to make sure the instance can be reenabled in
    all cases. This was in late W2K/early WXP days.

    Stephan
     
    Stephan Wolf [MVP], Oct 26, 2006
    #4
  5. ttan

    ttan Guest

    From debug view this is what I got:
    Disabling the binding between ms mux1np and ms mux1nmp
    <--CMuxNotify INetCfgNotifyGlobal::SysQueryBindingPath(HRESULT = 4a022)
    ..
    ..
    ..
    NCN_ADD
    NCN_DISABLE

    Why it disable the binding?

     
    ttan, Oct 27, 2006
    #5
  6. ttan

    Pankaj Garg Guest

    Daym i need some memory pills. It has been just 1 year i wrote a MUX
    driver and i have already forgotten. You are right. You do need to call
    NdisIMInitializeDeviceInstance[Ex] once it is halted.

     
    Pankaj Garg, Oct 27, 2006
    #6
  7. ttan

    Pankaj Garg Guest

    This is done to prevent MUX driver protocol from binding with the MUX
    driver virtual miniport.

     
    Pankaj Garg, Oct 27, 2006
    #7
  8. ttan

    Matt_Sykes Guest


    Test
     
    Matt_Sykes, Oct 31, 2006
    #8
  9. ttan

    ttan Guest

    I called the IdisImInitialized DeviceInstanceEX twice. First one at
    PtBindAdater and the the second one is in PtPnpHandler where I called
    NdisReEnumerateProtocolBindings, from definition this
    NdisReEnumberateProtocolBindings causes NDIS to call the driver's
    PtBindAdapter function once for each network adapter.
    However I still get Disable on the virtual adapter when I first install the
    driver. Anyother suggestion where should I look into the code? notifyob??

    thanks

     
    ttan, Nov 6, 2006
    #9
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.