o11s / open80211s

open80211s
Other
242 stars 55 forks source link

intel wireless driver not supporting mesh mode #57

Closed sritam2 closed 7 years ago

sritam2 commented 7 years ago

Dear All, I am trying to form a MESH network of laptops. My laptops are HP EliteBook 8460P. The WLAN chipsets present are from Intel Centrino 802.11 a/b/g/n. I compiled the "wireless-testing" kernel from the repository: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

After that I installed the kernel using : sudo make install. Then I rebooted by laptop.

Now to add a new MESH interface for the wlan0 device, I run the following command: sudo iw dev wlan0 interface add mesh0 type mp mesh_id mymesh

But "iw" command throws the error: operation not supported(-95).

Then I run the command: iw list. I see from the description that the supported modes are only: IBSS, monitor, managed. There is NO support for the modes: mesh and wds. I have taken the screenshot and highlighted it with a red oval circle. Please help me. My final aim is to form a MESH network(MBSS) using laptops as the mesh nodes. Please help me so that I can achieve my goal. wifimodessupport

bcopeland commented 7 years ago

On Thu, Apr 20, 2017 at 04:01:52PM -0700, sritam2 wrote:

Dear All, I am trying to form a MESH network of laptops. My laptops are HP EliteBook 8460P. The WLAN chipsets present are from Intel Centrino 802.11 a/b/g/n. I compiled the "wireless-testing" kernel from the repository: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

This is the old location of wireless-testing, current location:

https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-testing.git

[snip]

Then I run the command: iw list. I see from the description that the supported modes are only: IBSS, monitor, managed. There is NO support for the modes: mesh and wds. I have taken the screenshot and highlighted it with a red oval circle. Please help me. My final aim is to form a MESH network(MBSS) using laptops as the mesh nodes. Please help me so that I can achieve my goal.

Yes, intel wifi gear simply doesn't support mesh. You'll probably have to buy some atheros ath9k_htc dongles, or get some ath10k access points that support openwrt.

-- Bob Copeland %% http://bobcopeland.com/

sritam2 commented 7 years ago

Dear Bob, Thank you for the valuable advise. But cozybit was able to form a MESH network using Thinkpad laptop as shown below: pic1

Did they make some changes in the driver to support MESH networking or did they use WiFi dongles from Atheros ?? So, do you mean that the linux wireless drivers for the intel wifi chipsets does not support MESH networking capabilities. Do you suggest to buy a ath9k_htc dongle and connect it to laptop in order to finally turn it into a MESH node. Please give your valuable advise.

Thanks and Regards, Sritam.

chunyeow commented 7 years ago

So, do you mean that the linux wireless drivers for the intel wifi chipsets does not support MESH networking capabilities.

No support of mesh in Intel chipset and driver.

Do you suggest to buy a ath9k_htc dongle and connect it to laptop in order to finally turn it into a MESH node.

Yes, or any ath9k chipset.


Chun-Yeow

sritam2 commented 7 years ago

Hi All,

Thank you for the valuable information. Now I am using a USB WiFi adapter from TP-Link (TL-WN823N). It uses the atheros ath9k_htc driver. Now, I am able to use the Wireless NIC in the mesh mode. But I have one more doubt.

As I will be building a MESH network, I will also incorporate secure authentication while formation of the network so that if any new node wants to join, it has to authenticate itself. I have planned to use the SAE(simultaneous authentication of equals) protocol and EAP/802.1X protocol for it. I will use any one of them for a given MESH network that I will form.

Is there any restriction from the USB WiFi adapter for the security protocol that I want to use. Will the USB adapters have restrictions on the authentication protocol that I will use ??

In the internet I saw this USB WiFi adapter which supports 802.1X/EAP authentication - https://www.wireless-driver.com/tl/h3c-wn612-wireless-driver-utility/

So, my requirement is that the WiFi USB adapter should support MESH mode as well as it should support authentication protocols such as SAE and EAP/802.1X. So, please help me on which USB WiFi adapter I should buy which fulfills my requirement.

Looking forward for your valuable suggestion and help.

Thanks and Regards, Sritam Paltasingh.

bcopeland commented 7 years ago

On Mon, Apr 24, 2017 at 02:03:34AM -0700, sritam2 wrote:

Hi All,

Thank you for the valuable information. Now I am using a USB WiFi adapter from TP-Link (TL-WN823N). It uses the atheros ath9k_htc driver. Now, I am able to use the Wireless NIC in the mesh mode. But I have one more doubt.

I have planned to use the SAE(simultaneous authentication of equals) protocol and EAP/802.1X protocol for it. I will use any one of them for a given MESH network that I will form.

It will support SAE. It would also support 802.1X but there's no mesh implementation for that.

The key setup and stuff happens in userspace with something like wpa_supplicant.

-- Bob Copeland %% http://bobcopeland.com/

sritam2 commented 7 years ago

Hi Bob,

Thank you for the valuable information. According to you does it mean that the secure authentication mechanism used for the MESH network has nothing to do with the USB WiFi adapter from TP-Link (TL-WN823N) as the authentication mechanism is implemented in userspace applications and thus will be independent of the L2 and L1 layer used ??

Thanks and Regards, Sritam Paltasingh.

bcopeland commented 7 years ago

On Mon, Apr 24, 2017 at 05:24:20AM -0700, sritam2 wrote:

Hi Bob,

Thank you for the valuable information. According to you does it mean that the secure authentication mechanism used for the MESH network has nothing to do with the USB WiFi adapter from TP-Link (TL-WN823N) as the authentication mechanism is implemented in userspace applications and thus will be independent of the L2 and L1 layer used ??

The device you use must support a handful of low-level encryption algorithms (or support it being implemented in software). Yours does, some do not.

The higher level authentication and key agreement algorithms are implemented in userspace.

-- Bob Copeland %% http://bobcopeland.com/

sritam2 commented 7 years ago

Hi Bob,

Thank you for the valuable information. So, from our discussion I conclude that TL-WN823N supports low-level encryption algorithms and SAE will be implemented as a userspace application for authentication.

I am also asked to implement 802.1X as an authentication mechanism for the MESH network joining. Will this mechanism be also implemented as an user space application ? Will it be independent of TL-WN823N WiFi adapter ?

Looking forward to your valuable suggestion and comments.

Thanks and Regards, Sritam Paltasingh.

bcopeland commented 7 years ago

On Mon, Apr 24, 2017 at 08:37:29AM -0700, sritam2 wrote:

Hi Bob,

Thank you for the valuable information. So, from our discussion I conclude that TL-WN823N supports low-level encryption algorithms and SAE will be implemented as a userspace application for authentication.

Yes -- specifically, for low-level support the wifi driver needs to support AES encryption and CMAC modes, and also have per-peer group keys. Since all of that is implemented in software for mac80211, ath9k_htc will work. wpa_supplicant implements SAE authentication on top of that.

I am also asked to implement 802.1X as an authentication mechanism for the MESH network joining. Will this mechanism be also implemented as an user space application ? Will it be independent of TL-WN823N WiFi adapter ?

Yes. I'm unaware of any open implementation of 802.1X authentication for mesh nodes, though.

You can do 802.1X for the access point interface if all you care about is how non-mesh clients authenticate themselves.

-- Bob Copeland %% http://bobcopeland.com/

sritam2 commented 7 years ago

Hi Bob, Thank you for your valuable information. I am getting clarity now. I read through the entire thread all from beginning. I have the following doubts:

  1. Are the encryption methods and algorithms (CMAC and AES) implemented in software for mac80211 or are they implemented in the device driver software "ath9k_htc" ?

  2. Is open80211s a sub-unit of mac80211 or is it written on top of mac80211s as an additional stack ?

Thanks and Regards, Sritam.

sritam2 commented 7 years ago

Dear All,

Today after proper experimentation I found out that the TL-WN823N wifi adapter used by me has a real-tek chipset in it and it needs rtl8912eu driver. I installed everything and using "iw list" i discovered that this driver does not support MESH mode. But this WNIC is version2 of TL-WN823N. There is also version1 of TL-WN823N which uses the rtl8912cu device driver which supports the mesh mode.

In wiki/HOWTO page of open80211s it is written that non-mesh enabled mac80211 drivers may require minimal code changes in order to support open80211s.

Does anyone know what can be the code change in order to make rtl8912eu driver to support mesh mode. rtl8912cu chipset already supports mesh mode.

ath9k_htc chipsets in TP-Link WNICs are not commonly available in market nowadays. Another reason i want to stick to TL-WN82XN series is that they support IEEE 802.1X authentication in addition to mesh mode. My bad luck is that the driver (rtl8912eu) for the latest version2 of TL-WN823N does not support mesh mode.

Do you guys know any ath9k chipsets available in market which supports both mesh mode and IEEE 802.1X authentication ??

sritam2 commented 7 years ago

Dear All,

Today I was successfully able to create an open MESH (MBSS) without security implementation. I learnt a lot and have the following conclusions:

  1. I successfully created the MESH BSS (MBSS) using wireless NIC cards from ASUS and RealTek. The ASUS model is : ASUS USB-N10 Nano USB Adapter. The RealTek model is : TL-WN823N(version 1). Both of these models use RTL8192cu chipset in them.
  2. This chipset has support for MESH network. Getting Atheros chipsets in the market is not that easy nowadays.
  3. My next task is to form a secure MESH network (MBSS) using these 3 chipsets and using SAE.
  4. If authentication using SAE is successful then next task will be to authenticate using IEEE 802.1X.

Lastly I want to thank every one for their valuable inputs and suggestions. It really helped me to form the open MBSS.

Thanks and Regards, Sritam Paltasingh.