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

Wifi client mode in backbone via BMX6 #426

Merged
merged 3 commits into from Jan 27, 2019

Conversation

Projects
None yet
2 participants
@ilario
Copy link
Member

commented Nov 11, 2018

For the original discussion see #415, of which this PR is a partial solution.
Partial as it allows to use BMX6 on client-AP links, but does not allow yet BATMAN-adv and even less BATMAN-adv+BMX6.

TL;DR

As including client interfaces in bridges is not possible (see #415 and #127), we can include them between the interfaces used by the routing protocols and obtain the same result. This can be done via specific interface configuration.

BMX6 on client-AP link

This PR allows this. Adding a proto/client.lua (I just copied proto/ieee80211s.lua and replaced "ieee80211s" with "client") was needed in order to set up the interface. For running this new proto, a list protocols 'client' has to be included in the specific interface configuration. On the AP side the wlanX-ap interface is included in br-lan, which is used by BMX6. As the wlanX-ap interface does not have a VLAN ID, we have to explicitly set 0 as the VLAN ID also on the client side, with a configuration resulting in:

option wifi radio0
	list modes 'client'
	option channel_2ghz 'auto'
	option client_ssid 'LibreMesh.org'
	option distance 1000
config net wirelessclientBackbone
	option linux_name 'wlan0-sta'
	list protocols 'client'
	list protocols 'bmx6:0'

In case VLAN is needed, it has to be set also as specific AP configuration, which is not implemented yet.

BATMAN-adv on client-AP link

BATMAN-adv would need specific AP configuration as currently is not included in bat0 (decided in 2014 213efd0). Specific AP configuration is not implemented yet.

BATMAN-adv+BMX6 on client-AP link

Additionally to what just exposed, having both BMX6 and BATMAN-adv is hindered by the fact that BMX6 sets the proto field of the interface as static, while BATMAN-adv requires it to be set as batadv otherwise the interface does not get included in bat0. This behaviour of BMX6 comes from a 2014 workaround 83e5a2d trying to fix this issue, which wouldn't be present if the proto is set by BATMAN-adv.

The problem of this is that it does not setup the sta interface, so the resulting /etc/config/network is broken.
We need a proto/client.lua (copying the proto/ieee80211s and replacing all ieee80211s occurrences with client works) and then, important, the specific configuration has to include a list protocols 'client' in order to activate proto/client.lua

@ilario

This comment has been minimized.

Copy link
Member Author

commented Jan 26, 2019

2 months passed and no reactions...
This PR already allows to setup a working point to multipoint or point to point network (non 802.11s nor adhoc, simply AP-client, the most reliable and performing option I think) having at least BMX6 (the presence of BATMAN-adv is not a problem but will not be used on the AP-client links).

Can anyone review please? @G10h4ck @aparcar @p4u

@G10h4ck G10h4ck merged commit 2a3e903 into libremesh:master Jan 27, 2019

1 check failed

continuous-integration/travis-ci/pr The Travis CI build failed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.