Closed Akira25 closed 4 years ago
But 802.11.s
works, or?
.11s
works fine. I was able to get it meshing with another node.
.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.
I was able to reproduce on a ZyXEL NBG6617. It only affects 5-GHz AdHoc.
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?
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
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"
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)
@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! :)
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.
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