freifunk-berlin / falter-packages

Sources for the falter-packagefeed
GNU General Public License v3.0
12 stars 17 forks source link

wizard: switching to adhoc-mode fails #9

Closed Akira25 closed 4 years ago

Akira25 commented 4 years ago

Current Situation

At the last page of the wizard, we can configure the ip-addresses and the mesh-modes of the interfaces. Switching to adhoc-mode gives a crash of LuCI.

Screenshot_20200725_151257

What would you expect it to be?

Normally, the wizard should configure the interfaces in adhoc-mode. This is fairly relevant, as most of Freifunk-Berlin-Routers mesh still in adhoc-mode.

Test-Environment

Tested with an image of @PolynomialDivision at ArcherC5v1. OpenWrt SNAPSHOT, r13902-5e86877

PolynomialDivision commented 4 years ago

But 802.11.s works, or?

Akira25 commented 4 years ago

.11s works fine. I was able to get it meshing with another node.

PolynomialDivision commented 4 years ago

.11s works fine. I was able to get it meshing with another node.

Nice! Sry, I did not test adhoc mode. Seems like a typical permission error... I will have a look at this.

PolynomialDivision commented 4 years ago

I was able to reproduce on a ZyXEL NBG6617. It only affects 5-GHz AdHoc.

What is wrong

Here is the commit that introduces this 802.11s or adhoc stuff.: https://github.com/freifunk-berlin/firmware-packages/commit/b2cdd235a43e8196d465be10e968bb2197d28dab#diff-ea2a54592a44679457d06d4563604c27

In this line we search for a config section called wifi_iface_5 if we are in 5 GHz: https://github.com/Freifunk-Spalter/packages/blob/master/luci/luci-app-ffwizard-falter/luasrc/model/cbi/freifunk/assistent/wireless.lua#L175

But, we want this line: https://github.com/Freifunk-Spalter/packages/blob/master/packages/falter-common/files-common/etc/config/freifunk#L102

But, we get this section: https://github.com/Freifunk-Spalter/packages/blob/master/packages/falter-profiles/files/etc/config/profile_berlin#L22-L23 with the same name and this has no mode.

I'm confused why we have same types with the same names. We can easily fix this but I'm not sure what is the clean variant.

@pmelange Any opinion?

PolynomialDivision commented 4 years ago

Further I'm not sure how to understand this line: https://github.com/Freifunk-Spalter/packages/blob/master/luci/luci-app-ffwizard-falter/luasrc/tools/freifunk/assistent/tools.lua#L118

pmelange commented 4 years ago

Further I'm not sure how to understand this line: https://github.com/Freifunk-Spalter/packages/blob/master/luci/luci-app-ffwizard-falter/luasrc/tools/freifunk/assistent/tools.lua#L118

The idea behind this is that the default for freifunk in general are stored in /etc/config/freifunk. These values may be overridden by profile_$COMMUNITY. The above mentioned function will read the vaules from multiple config files and merge together the requested section name. That is a cheap form of inheritance.

Freifunk (general config for all freifunk communities) is then specialized by profile_$COMMUNITY (specific config for a specific community). For example, with 802.11s, the mesh_id is "Mesh-Freifunk" but for Berlin "Mesh-Freifunk-Berlin"

PolynomialDivision commented 4 years ago

The idea behind this is that the default for freifunk in general are stored in /etc/config/freifunk. These values may be overridden by profile_$COMMUNITY. The above mentioned function will read the vaules from multiple config files and merge together the requested section name. That is a cheap form of inheritance.

So we should create a new wifi_interface_5ghz in the default freifunk config file and then it should work? Thanks for clarification. :)

(written on mobile device)

PolynomialDivision commented 4 years ago

@pmelange Look at these lines: https://github.com/freifunk-berlin/firmware-packages/blob/f191440518a91bc7adc7666b9d7d3dfa3fae418a/utils/luci-app-ffwizard-berlin/luasrc/model/cbi/freifunk/assistent/wireless.lua#L150-L152

This code was working since it did not access ifconfig.mode like it did here: https://github.com/freifunk-berlin/firmware-packages/blob/master/utils/luci-app-ffwizard-berlin/luasrc/model/cbi/freifunk/assistent/wireless.lua#L178 The code is just broken for 5 GHz WiFi adhoc.

Now I think I konw how to solve this! :)