Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wpa_supplicant & mesh_max_peer_links (low quality links cause packet drops) #43

Open
mikolodz opened this issue Oct 16, 2015 · 2 comments

Comments

@mikolodz
Copy link

Hello,

I'm using TL-WN722N dongles with ath9k_htc driver to setup a mesh network on multiple RPis.
The issue which makes the network not usable is that the packets are being lost whole the time.
When I initialize connection on Rpi it creates links with very distant nodes with extremely poor RSSI.
I think it should talk to these nodes using it's neighbors, but it acts like it's forced to make a link even if it's completely not needed. I also did some testing using IBSS and babel protocol. It actually worked properly. The nodes (Rpis) have ip_forward (ipv4) on.

Example:
3 nodes with same wifi dongle capable of stable communication with others in 20 meters distance.
They're set in the corridor like : n1 ------------a----------- n2 --------------a----------- n3
Distance between nodes = a = 15m (< 20)
N2 and N3 are running, N1 is off.
N1 is turned on, it discovers n2 and n3.
N1 decides to create a link with n2 ..... and unfortunately also with n3.
N1 and N2 talk flawlessly, no packets being lost. The same with N2 <-> N3 link.
N1 pings N3 and gets around 75% packets lost. They don't talk via N2, but point-point.

Is there any way to configure such mesh_param as:

  • mesh_max_peer_links

and to set the white/blocked list using

  • iw meshIf station set (hw address) plink_action <open, block>

when using wpa_supplicant?

When I initialize mesh like this (from bash script):
[$1 = mesh v-if name, $2 = node number just for testing purposes]
iw wlan0 interface add "$1" type mp
iw "$1" set channel 1 HT40+
ifconfig "$1" hw ether 00:00:00:00:00:"$2"
wpa_supplicant -i "$1" -d -c /etc/wpa_supplicant/wpa_supplicant.conf -B
ifconfig "$1" 10.0.0."$2" netmask 255.255.255.0

It seams that everything I set (except creating virtual interface) is being rejected after wpa_supplicant is started. In addition after running wpa_supplicant I cannot make almost any changes with iw, because the driver is blocked. Is there any other option to hard configure open80211s default settings?

Thank you!

  • mpath dump shows that next_node in N1->N3 communication is N3, although it loses packets
    ** I tried to manually set next_node, but it seems it's not working, although N2->N3 pings good. The result is same - 40-80% packets lost.
@chunyeow
Copy link
Contributor

If you are using wpa_supplicant, everything will be controlled by it for mesh peering management. Otherwise, you might need to use open mesh. wpa_supplicant is not implementing the features like user blocking, blocking user based on rssi, and etc. unless you move to setting up open mesh. Your contribution is always welcome.

@mikolodz
Copy link
Author

Hi,
is it the same with AuthSAE?
I don't think I could use open network. Theoretically I could use certificates for authentication, but still it wouldn't look secure enough.

Are these my only options? Leave the network management to wpa_supplicant/authsae or use open mesh and some other method of securing data?

best regards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants