[PATCH] fff-hoods: manually create wifi station interface

Adrian Schmutzler mail at adrianschmutzler.de
Fr Jan 10 15:12:54 CET 2020


Hallo,

im Prinzip bedeutet das dann nichts anderes, als die SSID zu ändern und wXap wieder anzuschalten (oder vll. nur w2ap)?

Das ist wahrscheinlich tatsächlich schlauer, da man so nicht nochmal was zusätzliches hat, das wieder Probleme machen kann.

Muss ich mal in Ruhe durchdenken.

Grüße

Adrian

> -----Original Message-----
> From: Fabian Bläse [mailto:fabian at blaese.de]
> Sent: Freitag, 10. Januar 2020 15:09
> To: Adrian Schmutzler <mail at adrianschmutzler.de>; franken-dev at freifunk.net
> Subject: Re: [PATCH] fff-hoods: manually create wifi station interface
> 
> Hallo Adrian,
> 
> könnte man, ja. Ich würde hier aber eher vorschlagen, bei "dekonfiguration"
> einer Hood den Standard-AP wieder zurück auf do.not.use (bzw. das neuere
> äquivalent) zu setzen und diesen immer direkt nach dem Versuch ein Hoodfile zu
> laden wieder zu aktivieren.
> Dann hat man zwar alle 5 Minuten mal ein paar Sekunden Verbindungsverlust, ist
> aber wohl immer noch besser als nichts.
> 
> Gruß
> Fabian
> 
> On 10.01.20 14:49, Adrian Schmutzler wrote:
> > Hallo nochmal,
> >
> > wenn die Sache mal durch ist:
> >
> > Ich gehe davon aus, dass man mit ähnlicher Syntax dann einen "Debug-AP"
> temporär aufmachen kann, so wie schon mal vor einiger Zeit diskutiert?
> > Also sprich, dass man per WLAN auf die Geräte zugreifen kann, wenn kein
> Gateway verfügbar ist (zum Konfigurieren, Debuggen, etc.)
> >
> > Grüße
> >
> > Adrian
> >
> >> -----Original Message-----
> >> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of
> >> Fabian Bläse
> >> Sent: Sonntag, 5. Januar 2020 22:43
> >> To: franken-dev at freifunk.net
> >> Subject: [PATCH] fff-hoods: manually create wifi station interface
> >>
> >> The mac80211 interface script in OpenWrt depends on wpa_supplicant
> >> for the creation of station interfaces. While this is conveniant, it
> >> isn't strictly necessary for connecting to unencrypted networks.
> >>
> >> To be able to create station interfaces if wpa_supplicant is removed,
> >> the station interface for obtaining the initial configuration is now
> >> created using iw commands only.
> >>
> >> This makes it possible to replace wpad-mini with hostapd-mini, which
> >> does not include wpa_supplicant and therefore shrinks the uncompressed
> >> binary by around 200KiB.
> >>
> >> Signed-off-by: Fabian Bläse <fabian at blaese.de>
> >> ---
> >>  .../files/etc/uci-defaults/24c-fff-wXsta      | 27 -----------------
> >>  .../files/usr/lib/functions/fff/hoodfile      | 30 +++++++++++--------
> >>  2 files changed, 17 insertions(+), 40 deletions(-)
> >>  delete mode 100644 src/packages/fff/fff-hoods/files/etc/uci-defaults/24c-
> fff-
> >> wXsta
> >>
> >> diff --git a/src/packages/fff/fff-hoods/files/etc/uci-defaults/24c-fff-wXsta
> >> b/src/packages/fff/fff-hoods/files/etc/uci-defaults/24c-fff-wXsta
> >> deleted file mode 100644
> >> index e9867b9..0000000
> >> --- a/src/packages/fff/fff-hoods/files/etc/uci-defaults/24c-fff-wXsta
> >> +++ /dev/null
> >> @@ -1,27 +0,0 @@
> >> -#!/bin/sh
> >> -
> >> -. /lib/functions/fff/wireless
> >> -
> >> -# Set up wXsta
> >> -for radio in $(wifiListRadio); do
> >> -	# wXsta: We can use $freq here, as the initial radios are not set up with
> >> auto
> >> -	freq="$(wifiGetFreq $radio)"
> >> -
> >> -	uci batch <<-__EOF__
> >> -		set network.configsta${freq}=interface
> >> -		set network.configsta${freq}.proto='static'
> >> -
> >> -		set wireless.w${freq}sta='wifi-iface'
> >> -		set wireless.w${freq}sta.device='${radio}'
> >> -		set wireless.w${freq}sta.network='configsta${freq}'
> >> -		set wireless.w${freq}sta.ifname='w${freq}sta'
> >> -		set wireless.w${freq}sta.mode='sta'
> >> -		set wireless.w${freq}sta.ssid='config.franken.freifunk.net'
> >> -		set wireless.w${freq}sta.disabled='1'
> >> -	__EOF__
> >> -done
> >> -
> >> -uci commit network
> >> -uci commit wireless
> >> -
> >> -# vim: set noexpandtab:tabstop=4
> >> diff --git a/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
> >> b/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
> >> index b148eca..d9119ac 100644
> >> --- a/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
> >> +++ b/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
> >> @@ -15,29 +15,33 @@ getWirelessHoodfile() {
> >>
> >>  	# Set channel to auto, enable wXsta, disable other interfaces
> >>  	for radio in $(wifiListRadio); do
> >> -		uci set "wireless.${radio}.channel=auto"
> >> -
> >>  		freq="$(wifiGetFreq $radio)"
> >>  		uci set wireless.w${freq}ap.disabled='1'
> >>  		uci set wireless.w${freq}mesh.disabled='1'
> >>  		uci set wireless.w${freq}configap.disabled='1'
> >> -		uci set wireless.w${freq}sta.disabled='0'
> >>  	done
> >>
> >>  	uci commit wireless
> >>  	reload_config
> >>
> >> -	wifi
> >> -	# wait a moment to start the interface
> >> -	sleep 10;
> >> +	# wait for wireless interfaces to vanish
> >> +	sleep 5;
> >>
> >> -	if /bin/busybox wget -T15 -O "$file"
> >> "http://[fe80::1%w2sta]:2342/keyxchangev2data"; then
> >> -		return 0
> >> -	elif /bin/busybox wget -T15 -O "$file"
> >> "http://[fe80::1%w5sta]:2342/keyxchangev2data"; then
> >> -		return 0
> >> -	else
> >> -		return 1
> >> -	fi
> >> +
> >> +	for phy in $(ls /sys/class/ieee80211); do
> >> +		iw phy $phy interface add configsta type managed
> >> +		ip link set up configsta
> >> +		iw dev configsta connect -w config.franken.freifunk.net
> >> 2>/dev/null
> >> +
> >> +		if /bin/busybox wget -T15 -O "$file"
> >> "http://[fe80::1%configsta]:2342/keyxchangev2data"; then
> >> +			iw dev configsta del
> >> +			return 0
> >> +		fi
> >> +
> >> +		iw dev configsta del
> >> +	done
> >> +
> >> +	return 1
> >>  }
> >>
> >>  getEthernetHoodfile() {
> >> --
> >> 2.24.1
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : openpgp-digital-signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20200110/9c885cfb/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev