none
Network bridging a wireless (WiFi) adapter RRS feed

  • Question

  • Hi,

    Is there a mean to create a Network Bridge using both an Ethernet adapter and a Wireless (WiFi) adapter?

    I made some trials withe such a configuration and I am facing an issue. When I do not specify a ProtocolsToBindTo key for the parameters of the WiFi adapter, I can configure it, connect to an Access Point and so on, but I can't include it in the bridge. When I configure ProtocolsToBindTo=multisz:"MBRIDGE" (as I do for the Ethernet adapter that is part of the bridge), the Wireless adapter does not show anymore and I am unable to configure it.

    Is there any trick that would permit this configuration or is it just impossible?

    TIA for your answers.


    Remi


    • Edited by rdg77 Sunday, October 11, 2015 4:49 PM
    Sunday, October 11, 2015 4:48 PM

All replies

  • Hi Remi,

    The documentation on CE 6.0 Network Bridging is available at https://msdn.microsoft.com/en-us/library/ee494431(v=winembedded.60).aspx.

    Drilling down gets you to this sample https://msdn.microsoft.com/en-US/library/ee494314(v=winembedded.60).aspx. Does your bridge definition look like the sample?

    Sincerely,

    IoTGirl

    Monday, October 12, 2015 9:41 PM
    Moderator
  • Hi IoTGirl,

    Thanks for your answer.

    I of course read this documentation, and everything I could find on the Internet about this topic. Perhaps I missed something but I did not find any Windows CE Network Bridging sample where a wireless adapter was involved in the bridge.

    The first sentence at https://msdn.microsoft.com/en-us/library/ee494431%28v=winembedded.60%29.aspx?f=255&MSPPError=-2147217396 states: Network Bridging in Windows Embedded CE allows you to connect multiple Ethernet network segments into a single subnet by forwarding frames from one segment to another., but the https://msdn.microsoft.com/en-US/library/ee493087(v=winembedded.60).aspx page that depicts the NB architecture mentions: "At the lower edge, the MAC bridge exposes an NDIS protocol driver interface, which can bind to multiple network interface card (NIC) drivers.", so I had some hope for the construction of an Ethernet-WiFi bridge.

    My Registry is:

    ; From common.reg

    [HKEY_LOCAL_MACHINE\Comm\MBridge]
    ;"Microsoft Mac Bridge Miniport"
       "DisplayName"=mui_sz:"netmui.dll,#9007"
       "Group"="NDIS"
       "ImagePath"="MBridge.dll"
    ;  "DisableSTA"=dword:01
       "Bind"=multi_sz:""
       "NoDeviceCreate"=dword:01

    [HKEY_LOCAL_MACHINE\Comm\MBridge\Linkage]
       "Route"=multi_sz:"MBRIDGE1"

    [HKEY_LOCAL_MACHINE\Comm\MBridge\Driver]
       "Dll"="MBridge.dll"
       "Prefix"="BRG"
       "Index"=dword:1
       "Flags"=dword:2 ; Use LoadLibrary

    [HKEY_LOCAL_MACHINE\Comm\MBridge1]
    ;"Microsoft Mac Bridge Miniport"
       "DisplayName"=mui_sz:"netmui.dll,#9007"
       "Group"="NDIS"

    [HKEY_LOCAL_MACHINE\Comm\MBridge1\Parms]
       "BusNumber"=dword:0
       "BusType"=dword:0

    ; My additions

    [HKEY_LOCAL_MACHINE\Comm\MBridge]
    ;   "DisableSTA"=dword:01 ; no need for Spanning Tree Algorithm???
       "Bind"=multi_sz:"PCI\\E1000BEX1","PCI\\ATHW1"

    [HKEY_LOCAL_MACHINE\Comm\PCI\E1000BEX1\Parms]
        "ProtocolsToBindTo"=multi_sz:"MBRIDGE"

    [HKEY_LOCAL_MACHINE\Comm\PCI\ATHW1\Parms]
        "ProtocolsToBindTo"=multi_sz:"MBRIDGE"

    [HKEY_LOCAL_MACHINE\Comm\MBRIDGE1\Parms\TcpIp]
        "UseZeroBroadcast"=dword:0
        "EnableDHCP"=dword:0
        "IpAddress"="192.168.0.94"
        "Subnetmask"="255.255.255.0"

    With these settings, I can see the bridge and access it from the Ethernet branch (PCI\E1000BEX1) but the wireless branch (PCI\ATHW1) does not work. In the Network Connections, I can see MBRIDGE1 and configure it. I can also see the Ethernet adapter PCI\E1000BEX1 as inactive (red cross on it) but nothing about PCI\ATHW1.

    I tried to configure my WiFi connection by booting first with a Registry without the ProtocolsToBindTo=MBRIDGE key, configuring the connection, adding the ProtocolsToBindTo=MBRIDGE key and rebooting, with no chance.

    Could it be a magical ProtocolsToBindTo value that would allow the WiFi adapter to work with the bridge?


    Remi

    Tuesday, October 13, 2015 7:53 AM
  • Hi Remi,

    Your "Bind" string is empty... the sample shows "Bind"=multi_sz:"RTL81391","NE20001","VMINI1".  What adapters are you expecting to bind if none are in this list?

    https://msdn.microsoft.com/en-US/library/ee494722(v=winembedded.60).aspx

    "The Bind value is the key enabler that informs the MBRIDGE protocol driver on which adapter it may bind to"

    As you are the OEM in this case you are expected to provide this string.

    "Specifies the allowable adapter for MBridge to bind to. Default value not set in the registry. This entry is required and must be filled out by the OEM."

    Sincerely,

    IoTGirl

    Tuesday, October 13, 2015 4:31 PM
    Moderator
  • Sorry IoTGirl but my Bind string is not empty (please look more closely):

    [HKEY_LOCAL_MACHINE\Comm\MBridge]
    ;   "DisableSTA"=dword:01 ; no need for Spanning Tree Algorithm???
       "Bind"=multi_sz:"PCI\\E1000BEX1","PCI\\ATHW1"

    Only the DisableSTA flag is commented-out.

    So I don't think this is the point.

    Please remember my original question: "Can I use a wireless (WiFi) adapter to make a bridge under CE?"

    Regards.


    Remi

    Tuesday, October 13, 2015 4:44 PM
  • Hi Remi,

    I don't know why a wifi adapter could not be in a bridge but maybe someone else will jump in. My next suggestion would be that the PCI in the path is different than the sample.  Maybe AdapternameForMBridgeMACAddress would help?

    [HKEY_LOCAL_MACHINE\Comm\MBridge]
       "AdapterNameForMBridgeMacAddress"="PCI\\NE20001"

    Sincerely,

    IoTGirl

    Tuesday, October 13, 2015 5:26 PM
    Moderator
  • Not really sure about AdapterNameForMBridgeMACAddress...

    Not sure either for the "PCI" in the path: for PCI-based adapters, the adapter name is always "PCI\somethingi", where i starts at 1. Also note that my Ethernet adapter (PCI\E100BEX1) is part of the bridge.

    My guess is that for the WiFi adapter, there is some kind of hen-egg problem. But I may be wrong.

    Regards.


    Remi

    Tuesday, October 13, 2015 5:35 PM
  • Hi Remi,

    Casting a wider net, there is an old WinCE 5 TechNet post that has a wired and wireless bridge with a DHCP issue. http://www.tech-archive.net/Archive/WindowsCE/microsoft.public.windowsce.platbuilder/2008-03/msg00143.html.

    There is no answer to the post but it seems like he did get the bridge to work, at least partially.

    Sincerely,

    IoTGirl

    Tuesday, October 13, 2015 5:49 PM
    Moderator
  • Hi IoTGirl,

    Yes, that looks interesting, despite the fact that there was something that did not work.

    I'm gonna try some extra fiddling with the parameters.

    Thanks.


    Remi

    Wednesday, October 14, 2015 10:24 AM
  • Okay.

    Tried various combinations of AdapterNameForMBridgeMACAddress, DisableSTA and Bind values for the MBridge key, with no success: the WiFi adapter does not show and my bridge is still one-legged.

    It feels like I'm going to implement an ICS router instead...

    Thanks for the help anyway.


    Remi

    Thursday, October 15, 2015 7:38 AM
  • Hi,

    Has anyone found a way to solve this issue mentioned back in 2015?

    I'm using CE6R3 and trying to set up a bridge between BTPAN and a Wifi adapter and also strike the issue previously mentioned -

    When the WiFi adapter is bound to MBRIDGE (ProtocolsToBindTo=multisz:"MBRIDGE") it disappears and is unusable. BTPAN is OK with that same binding to the bridge.  

    Has anyone successfully bridged a WiFi adapter with MBridge?

    Wednesday, October 11, 2017 1:04 AM