-
Notifications
You must be signed in to change notification settings - Fork 325
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
add package gluon-offline-ssid to automatically change the SSID on no Internet connection #1649
Conversation
Hello @rubo77, |
@ambassador86: you are right, I added a hint to the Readme |
Thank you for this. It's really annoying being connected to a node that has no gateway connectivity. Could you make the check of whether a gateway is reachable independent from the package itself? |
In #1555 (comment) it was decided to check for connectivity via IP addresses provided in the site.conf. So either add a connection_check_targets to ssid_changer, too, or move the connection_check_targets out of domain_switch and reuse it? |
@T-X I'd prefer your second suggestion, as we don't want to introduce redundancy even if it is something as simple as a connection check (which might become more complex over time). I'd suggest to avoid having switch-cases like "if batman else if babel" in packages like the status page, but instead providing own packages for such functionalities which "provide" a specific functionality. That way one does not need to make changes in X packages when e.g. a new meshing protocol comes up. I know that's a bad example, but what I mean is to keep things more modular and interchangeable. Some communities might want to define a connection check only to be successful if there is a specific bandwidth available or if the DNS is also working etc. |
we also use an ssid-changer, but this alone doesnt mean that i think it should be available upstream. and i already know which criticism others will have:
|
We optimized a lot on the code in Kiel so it works stable and is not interfering with the AU for example. It must not be the best solution, but we should add something to the gluon base at least. Great ideas already, thanks!
I hope we make the best out of it together ;) |
If you're not willing to work on the pull request this is essentially a dead end for merging it here and I'm not willing to do a review in that case. |
sorry, misunderstanding: I posted the wrong url above. I meant the underlying branch for this PR here: And sure. I am highly motivated to work on this. |
ok, that sounds better. regarding the settings, maybe add a list of every configurable thing in your first comment of this PR together with the default value. |
Out of curiosity, does anyone have a number regarding how many communities are using an essid changer? Also, which other ssid changers are out there? Would be interesting to compare. Maybe some have nice ideas that might be worth adopting. |
One big obstacle in the implementation of SSID changers is that they have to modify UCI config at runtime, which we've tried to avoid in Gluon so far. I'm not sure how realistic the addition of dynamic VIF management via ubus to netifd would be (or if I can bring to fruition my long-term plan to remove netifd and UCI from Gluon's network config altogether first). |
This solution doesn't need UCI and there are no disk write actions involved. @T-X: I think we adopted all SSID changers in the wild and added the features here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please improve your verbalizations.
maybe we could use this file then and enhance it? https://github.com/freifunk-gluon/gluon/blob/master/package/gluon-scheduled-domain-switch/luasrc/usr/bin/gluon-check-connection |
The config values and defaults are visible in lib/gluon/upgrade/500-ssid-changer |
package/gluon-ssid-changer/luasrc/lib/gluon/upgrade/500-ssid-changer
Outdated
Show resolved
Hide resolved
package/gluon-ssid-changer/luasrc/lib/gluon/config-mode/model/admin/ssid-changer.lua
Outdated
Show resolved
Hide resolved
package/gluon-ssid-changer/luasrc/lib/gluon/config-mode/model/admin/ssid-changer.lua
Outdated
Show resolved
Hide resolved
package/gluon-ssid-changer/luasrc/lib/gluon/config-mode/model/admin/ssid-changer.lua
Outdated
Show resolved
Hide resolved
Hi @rubo77 we decided that this changeset is a good candidate for the community repository that is about to be created. Please stay tuned. |
Due to the fixes in 4249d65 the comments have to change too
…tically change the SSID when no Internet connection
- transcode ssid_changer.sh into Lua - remove gluonShellDiet - change default prefix to just "Offline_" - extract gluon-web-offline-ssid
Rebased to master and added link in docs/index.rst |
Please retarget this pull request over in the community-packages repository, where this change would be very welcome. Closing, since the decision in #1649 (comment) is final. |
Another point to consider here is that reloading the hostapd config leads to radios operating on DFS frequencies to re-perform CAC, which will stop clients from connecting for 60 seconds. I just came across this yesterday when preparing patches for another hostapd issues but this might be a bug in hostapd. Also this implementation will break with recent OpenWrt due to hostapd not being spawned on a per-PHY base. |
@blocktrron, so you have a solution for this? |
@rubo77 you could patch hostapd to make the scanning process asynchronous. Even then you might still encounter issues, as the kernel might return an error when rescheduling a running CAC. Solution would be to provide a kernel API for hostapd to query CAC state for a specific channel. That being said, OpenWrt 20.xx changes how hostapd works (hostapd is now running as a service and only reconfigured by netifd). Current implementations relying on wireless restarts using See openwrt/openwrt@60fb4c9#diff-a56a9a134db96697b65fa00e73f9e6ae |
This is way above my programming skill since many communities use the ssid-changer already, we need someone, that knows how to do it and add a patch to get a running ssid-changer on 2020.xx. help wanted :) |
I've had to develop a way to dynamically change the SSID braodcasted (no association intended) for a different project. This obviously has multiple shortcomings (e.g. the SSID is never updated in the mac80211 subsys), however this might be a starting point for someone pursuing this SSID changer.
|
So which gluon version will use the new Openwrt, where the ssid-changer would not work anymore? |
depending on the discussion in #2107 it is next one or the one after that ;-) |
This commit adds a package to change the SSID if no internet connection is availabled. It depends on ffh-check-connection. This is based on freifunk-gluon/gluon#1649
This commit adds a package to change the SSID if no internet connection is available. It depends on ffh-check-connection. This is based on freifunk-gluon/gluon#1649
This commit adds a package to change the SSID if no internet connection is available. It depends on ffh-check-connection. This is based on freifunk-gluon/gluon#1649
This commit adds a package to change the SSID if no internet connection is available. It depends on ffh-check-connection. This is based on freifunk-gluon/gluon#1649
This commit adds a package to change the SSID if no internet connection is available. It depends on ffh-check-connection. This is based on freifunk-gluon/gluon#1649
This commit adds a package to change the SSID if no internet connection is available. It depends on ffh-check-connection. This is based on freifunk-gluon/gluon#1649
see below. (it still works on v2021.1.2) |
i disagree, there was no change in v2021.1.x that would break it. at least in our fork we didn't do any change in 1.5 years and it still works with the newest release v2021.1.2 |
We use this fork: https://github.com/Freifunk-Nord/gluon-ssid-changer And I have to elaborate: the ssid-changer still works with the newest release v2021.1.2. So it will be only on master-builds, where it will not work any more, I guess, and we will need a new solution for the next release then. |
The package is thoroughly tested as an external package in various domains already.
Details see gluon-ssid-changer.rst
source: https://github.com/Freifunk-Nord/gluon-ssid-changer
solves #116