[PATCH 2/2] fff-hoods/fff-wireless: Reconfigure instead of delete and create

Fabian Bläse fabian at blaese.de
Sa Jun 15 21:56:45 CEST 2019


Hallo Adrian,

Dieser Patch gefällt mir soweit sehr gut, vielen Dank!
Außerdem ist er für die Gatewayfirmware sehr wichtig, dort sind das ständige Löschen der Interfaces (und vor allem die dazugehörenden uci commits) ziemlich hinderlich.

Das ganze applied auf dem aktuellen master nicht wirklich schön, das ist aber ein lösbares Problem. :-)

Weiter inline:

On 15.04.19 00:09, Adrian Schmutzler wrote:
> +	# 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}config.disabled='1'
> +		uci set wireless.w${freq}sta.disabled='0'
>  	done
Das ganze Wechseln in einen anderen Modus analog zum Kommentar von mir beim Patch 1/2 in eine Funktion bringen?

> 
> +	uci commit wireless
Ich würde diese temporäre Änderung gar nicht in den Flash schreiben, sondern im RAM belassen.


> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 1f307fbd..9b60937d 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -99,7 +89,7 @@ else
>  
>  			uci -q del "system. at system[0].hood"
>  			uci -q del "system. at system[0].hoodid"
> -			uci -q commit system
> +			uci commit system
Bitte in separaten Patch, falls das tatsächlich gewollt ist, dass das hier steht.

> @@ -152,43 +142,55 @@ if [ -s "$hoodfiletmp" ]; then
>  		fi
>  
>  		echo "Setting hood name: $hood (ID $hoodid)"
> -		uci -q set "system. at system[0].hood=$hood"
> -		uci -q set "system. at system[0].hoodid=$hoodid"
> -		uci -q commit system
> +		uci set "system. at system[0].hood=$hood"
> +		uci set "system. at system[0].hoodid=$hoodid"
> +		uci commit system
Siehe oben. :-)


> diff --git a/src/packages/fff/fff-wireless/files/etc/uci-defaults/20a-fff-wireless b/src/packages/fff/fff-wireless/files/etc/uci-defaults/20a-fff-wireless
> index 860f47f6..d1444bbb 100644
> --- a/src/packages/fff/fff-wireless/files/etc/uci-defaults/20a-fff-wireless
> +++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/20a-fff-wireless
Sieht soweit gut aus.


> diff --git a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> index 71a07f93..29803a1f 100644
> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
Die Änderungen sehen in diesem Diff ziemlich kompliziert aus, in Wirklichkeit lässt es sich aber sehr leicht auf:
- Alles weg
- Funktionen wifiListRadio() und wifiGetFreq() hinzufügen
aufbrechen.

Falls das noch jemand reviwen möchte: Lieber das Ergebnis anschauen, ist einfacher. :-)

Zusammengefasst:
- Die ListRadio Funktion passt.
- Die Erkennung per hwmode erscheint mir sinnvoll. Ich würde allerdings noch einen Fehlerfall mit passendem Rückgabewert einführen. (Stichwort 60GHz.. :-))

Gruß
Fabian

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190615/33703ac7/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev