Add gluon-core package
This is the most basic core of the Gluon framework. Most upgrade scripts will have to be rewritten and/or moved to other packages.
This commit is contained in:
		
							parent
							
								
									d9902c0664
								
							
						
					
					
						commit
						19b611f8ab
					
				
							
								
								
									
										35
									
								
								package/gluon-core/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								package/gluon-core/Makefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | |||||||
|  | include $(TOPDIR)/rules.mk | ||||||
|  | 
 | ||||||
|  | PKG_NAME:=gluon-core | ||||||
|  | PKG_VERSION:=0.3.2.99 | ||||||
|  | PKG_RELEASE:=1 | ||||||
|  | 
 | ||||||
|  | PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) | ||||||
|  | 
 | ||||||
|  | include $(INCLUDE_DIR)/package.mk | ||||||
|  | 
 | ||||||
|  | define Package/gluon-core | ||||||
|  |   SECTION:=gluon | ||||||
|  |   CATEGORY:=Gluon | ||||||
|  |   TITLE:=Base files of Gluon | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | define Package/gluon-core/description | ||||||
|  | 	The core of the Gluon community wifi mesh firmware framework | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | define Build/Prepare | ||||||
|  | 	mkdir -p $(PKG_BUILD_DIR) | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | define Build/Configure | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | define Build/Compile | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | define Package/gluon-core/install | ||||||
|  | 	$(CP) ./files/* $(1)/ | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | $(eval $(call BuildPackage,gluon-core)) | ||||||
							
								
								
									
										69
									
								
								package/gluon-core/files/etc/uci-defaults/zzz-gluon-upgrade
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										69
									
								
								package/gluon-core/files/etc/uci-defaults/zzz-gluon-upgrade
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,69 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | UPGRADE_DIR=/lib/gluon/upgrade | ||||||
|  | VERSION_DIR=/lib/gluon/version | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | version_of() { | ||||||
|  | 	opkg status "gluon-$1" | grep '^Version: ' | cut -d' ' -f 2 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | oldversion_of() { | ||||||
|  | 	oldversion="$(cat "$VERSION_DIR"/"$1" 2>/dev/null)" | ||||||
|  | 
 | ||||||
|  | 	# Legacy support | ||||||
|  | 	if [ -z "$oldversion" ]; then oldversion="$(cat /etc/.freifunk_version_keep 2>/dev/null)"; fi | ||||||
|  | 	if [ -z "$oldversion" ]; then oldversion="$(cat /etc/.lff_version_keep 2>/dev/null)"; fi | ||||||
|  | 	if [ -z "$oldversion" ]; then oldversion="$(cat /etc/.kff_version_keep 2>/dev/null)"; fi | ||||||
|  | 
 | ||||||
|  | 	echo "$oldversion" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | do_dir() { | ||||||
|  | 	if [ -d "$1" ]; then | ||||||
|  | 		local s | ||||||
|  | 		for s in "$1"/*; do "$s"; done | ||||||
|  | 	fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | version="$(version_of gluon-core)" | ||||||
|  | 
 | ||||||
|  | oldversion="$(cat "$VERSION_FILE" 2>/dev/null)" | ||||||
|  | if [ -z "$oldversion" ]; then oldversion="$(cat "$VERSION_FILE_FREIFUNK" 2>/dev/null)"; fi | ||||||
|  | if [ -z "$oldversion" ]; then oldversion="$(cat "$VERSION_FILE_LFF" 2>/dev/null)"; fi | ||||||
|  | if [ -z "$oldversion" ]; then oldversion="$(cat "$VERSION_FILE_KFF" 2>/dev/null)"; fi | ||||||
|  | 
 | ||||||
|  | ( | ||||||
|  | 	cd "$UPGRADE_DIR" | ||||||
|  | 
 | ||||||
|  | 	for component in *; do ( | ||||||
|  | 		local version="$(version_of "$component")" | ||||||
|  | 		if [ -z "$version" ]; then continue; fi | ||||||
|  | 
 | ||||||
|  | 		cd "$component" | ||||||
|  | 
 | ||||||
|  | 		local oldversion="$(oldversion_of "$component")" | ||||||
|  | 		if [ -z "$oldversion" ]; then | ||||||
|  | 			do_dir initial | ||||||
|  | 		else | ||||||
|  | 			local v | ||||||
|  | 
 | ||||||
|  | 			for v in *; do | ||||||
|  | 				if [ "$v" = initial -o "$v" = invariant -o "$v" = version ]; then continue; fi | ||||||
|  | 
 | ||||||
|  | 				# The return value of opkg compare-versions is negated | ||||||
|  | 				if ! opkg compare-versions "$v" '>>' "$oldversion"; then | ||||||
|  | 					do_dir "$v" | ||||||
|  | 				fi | ||||||
|  | 			done | ||||||
|  | 		fi | ||||||
|  | 
 | ||||||
|  | 		do_dir invariant | ||||||
|  | 
 | ||||||
|  | 		echo "$version" > "$VERSION_DIR"/"$component" | ||||||
|  | 	) done | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | rm -f "$VERSION_FILE_FREIFUNK" "$VERSION_FILE_LFF" "$VERSION_FILE_KFF" | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [ -r /etc/config/ffhl ] || exit 0 | ||||||
|  | 
 | ||||||
|  | cp /etc/config/ffhl /etc/config/config_mode | ||||||
|  | mv /etc/config/ffhl /etc/config/freifunk | ||||||
|  | 
 | ||||||
|  | uci -q batch <<EOF | ||||||
|  | delete config_mode.@bandwidth[0] | ||||||
|  | commit config_mode | ||||||
|  | 
 | ||||||
|  | delete freifunk.@wizard[0] | ||||||
|  | commit freifunk | ||||||
|  | EOF | ||||||
|  | 
 | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | /etc/init.d/dnsmasq disable | ||||||
|  | /etc/init.d/telnet disable | ||||||
| @ -0,0 +1,18 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | get_main_address() { | ||||||
|  |     case "$board" in | ||||||
|  | 	tl-wdr3600|tl-wdr4300) | ||||||
|  | 	    uci get wireless.radio1.macaddr | ||||||
|  | 	    ;; | ||||||
|  | 	*) | ||||||
|  | 	    uci get wireless.radio0.macaddr | ||||||
|  | 	    ;; | ||||||
|  |     esac | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | uci set network.freifunk.proto='none' | ||||||
|  | uci set network.freifunk.auto='1' | ||||||
|  | uci set network.freifunk.accept_ra='1' | ||||||
|  | uci set network.freifunk.macaddr=$(get_main_address) | ||||||
|  | uci commit network | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | local interfaces='' | ||||||
|  | local interfaces_old="$(uci get batman-adv.bat0.interfaces)" | ||||||
|  | 
 | ||||||
|  | for interface in $interfaces_old; do | ||||||
|  | 	if [ $interface != br-wan ]; then interfaces="${interfaces:+${interfaces} }$interface"; fi | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | uci set batman-adv.bat0.interfaces="$interfaces" | ||||||
|  | 
 | ||||||
|  | old_interval="$(uci -q get batman-adv.bat0.orig_interval)" | ||||||
|  | if [ -z "$old_interval" -o "$old_interval" = 1000 ]; then | ||||||
|  | 	uci set batman-adv.bat0.orig_interval=5000 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | uci commit batman-adv | ||||||
							
								
								
									
										6
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/0.3.1/020-lff-wireless
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/0.3.1/020-lff-wireless
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | uci -q batch <<EOF | ||||||
|  | set wireless.wifi_freifunk.ssid='luebeck.freifunk.net' | ||||||
|  | commit wireless | ||||||
|  | EOF | ||||||
							
								
								
									
										9
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/0.3.1/021-lff-fastd
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/0.3.1/021-lff-fastd
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | uci -q batch <<EOF | ||||||
|  | delete fastd.ffhl_mesh_vpn.config | ||||||
|  | add_list fastd.ffhl_mesh_vpn.config=/lib/freifunk/mesh-vpn-up.conf | ||||||
|  | 
 | ||||||
|  | commit fastd | ||||||
|  | EOF | ||||||
| @ -0,0 +1,5 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | uci set batman-adv.bat0.interfaces="mesh-vpn $(uci -q get batman-adv.bat0.interfaces)" | ||||||
|  | uci commit batman-adv | ||||||
| @ -0,0 +1,6 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | if [ "$(md5sum /etc/avahi/avahi-daemon.conf | cut -d ' ' -f 1)" = e63b3d69311b496c0a06555ea04bc20b ]; then | ||||||
|  | 	cp /rom/etc/avahi/avahi-daemon.conf /etc/avahi/avahi-daemon.conf | ||||||
|  | fi | ||||||
| @ -0,0 +1,33 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | uci rename fastd.ffhl_mesh_vpn=mesh_vpn | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | bind="$(uci -q get fastd.mesh_vpn.bind)" | ||||||
|  | uci -q delete fastd.mesh_vpn.bind | ||||||
|  | 
 | ||||||
|  | if [ "$bind" -a "$bind" != '0.0.0.0' ]; then | ||||||
|  |     uci add_list fastd.mesh_vpn.bind="$bind" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | method="$(uci -q get fastd.mesh_vpn.method)" | ||||||
|  | uci -q delete fastd.mesh_vpn.method | ||||||
|  | 
 | ||||||
|  | if [ "$method" ]; then | ||||||
|  |     uci add_list fastd.mesh_vpn.method="$method" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | uci -q batch <<EOF | ||||||
|  | set fastd.mesh_vpn.interface=mesh-vpn | ||||||
|  | 
 | ||||||
|  | delete fastd.mesh_vpn.config | ||||||
|  | add_list fastd.mesh_vpn.config=/lib/freifunk/mesh-vpn/fastd.conf | ||||||
|  | 
 | ||||||
|  | delete fastd.mesh_vpn.config_peer_dir | ||||||
|  | add_list fastd.mesh_vpn.config_peer_dir=/etc/fastd/mesh-vpn/peers | ||||||
|  | 
 | ||||||
|  | commit fastd | ||||||
|  | EOF | ||||||
							
								
								
									
										11
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/0.3.2/021-lff-migrate-peers
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/0.3.2/021-lff-migrate-peers
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ( | ||||||
|  | 	cd /etc/fastd/ffhl-mesh-vpn/peers | ||||||
|  | 	rm -f burgtor holstentor muehlentor huextertor | ||||||
|  | 
 | ||||||
|  | 	mv * /etc/fastd/mesh-vpn/peers/ 2>/dev/null || true | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | rmdir -p /etc/fastd/ffhl-mesh-vpn/peers 2>/dev/null || true | ||||||
| @ -0,0 +1,38 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | . /lib/ar71xx.sh | ||||||
|  | 
 | ||||||
|  | local board="$(ar71xx_board_name)" | ||||||
|  | 
 | ||||||
|  | uci -q batch <<EOF | ||||||
|  | set network.mesh.proto='batadv' | ||||||
|  | set network.mesh.mesh='bat0' | ||||||
|  | 
 | ||||||
|  | set network.mesh_vpn='interface' | ||||||
|  | set network.mesh_vpn.ifname='mesh-vpn' | ||||||
|  | set network.mesh_vpn.proto='batadv' | ||||||
|  | set network.mesh_vpn.mesh='bat0' | ||||||
|  | EOF | ||||||
|  | 
 | ||||||
|  | get_main_address() { | ||||||
|  |     case "$board" in | ||||||
|  | 	tl-wdr3600|tl-wdr4300) | ||||||
|  | 	    uci get wireless.radio1.macaddr | ||||||
|  | 	    ;; | ||||||
|  | 	*) | ||||||
|  | 	    uci get wireless.radio0.macaddr | ||||||
|  | 	    ;; | ||||||
|  |     esac | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local mainaddr=$(get_main_address) | ||||||
|  | local oIFS="$IFS"; IFS=":"; set -- $mainaddr; IFS="$oIFS" | ||||||
|  | local b2mask=0x02 | ||||||
|  | 
 | ||||||
|  | local vpnaddr=$(printf "%02x:%s:%s:%02x:%s:%s" $(( 0x$1 | $b2mask )) $2 $3 $(( (0x$4 + 1) % 0x100 )) $5 $6) | ||||||
|  | 
 | ||||||
|  | uci set network.mesh_vpn.macaddr="$vpnaddr" | ||||||
|  | uci commit network | ||||||
|  | 
 | ||||||
|  | uci delete batman-adv.bat0.interfaces | ||||||
|  | uci commit batman-adv | ||||||
							
								
								
									
										40
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/initial/010-freifunk-system
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/initial/010-freifunk-system
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,40 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | . /lib/ar71xx.sh | ||||||
|  | 
 | ||||||
|  | board="$(ar71xx_board_name)" | ||||||
|  | 
 | ||||||
|  | case "$board" in | ||||||
|  | tl-wdr3600|\ | ||||||
|  | tl-wdr4300) | ||||||
|  | 	macaddr="$(uci get wireless.radio1.macaddr)" | ||||||
|  | 
 | ||||||
|  | 	uci -q batch <<EOF | ||||||
|  | 		set system.led_wlan2g.trigger='netdev' | ||||||
|  | 		set system.led_wlan2g.dev='wlan0' | ||||||
|  | 		set system.led_wlan2g.mode='link' | ||||||
|  | 
 | ||||||
|  | 		set system.led_wlan5='led' | ||||||
|  | 		set system.led_wlan5.name='WLAN5' | ||||||
|  | 		set system.led_wlan5.sysfs='ath9k-phy1' | ||||||
|  | 		set system.led_wlan5.trigger='netdev' | ||||||
|  | 		set system.led_wlan5.dev='wlan1' | ||||||
|  | 		set system.led_wlan5.mode='link' | ||||||
|  | EOF | ||||||
|  | 	;; | ||||||
|  | *) | ||||||
|  | 	macaddr="$(uci get wireless.radio0.macaddr)" | ||||||
|  | 
 | ||||||
|  | 	uci -q batch <<EOF | ||||||
|  | 		set system.led_wlan.trigger='netdev' | ||||||
|  | 		set system.led_wlan.dev='wlan0' | ||||||
|  | 		set system.led_wlan.mode='link' | ||||||
|  | EOF | ||||||
|  | 	;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | uci -q batch <<EOF | ||||||
|  | 	set system.@system[0].hostname='Freifunk-${macaddr//:/}' | ||||||
|  | 	set system.@system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3' | ||||||
|  | 	commit system | ||||||
|  | EOF | ||||||
							
								
								
									
										64
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/initial/011-freifunk-network
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										64
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/initial/011-freifunk-network
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,64 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | . /lib/ar71xx.sh | ||||||
|  | 
 | ||||||
|  | local lan_ifname="$(uci get network.lan.ifname)" | ||||||
|  | local board="$(ar71xx_board_name)" | ||||||
|  | 
 | ||||||
|  | uci -q batch <<EOF | ||||||
|  | delete network.lan | ||||||
|  | 
 | ||||||
|  | set network.wan.type='bridge' | ||||||
|  | set network.wan.proto='dhcp' | ||||||
|  | set network.wan.accept_ra='0' | ||||||
|  | set network.wan.auto='1' | ||||||
|  | 
 | ||||||
|  | set network.freifunk='interface' | ||||||
|  | set network.freifunk.ifname='$lan_ifname bat0' | ||||||
|  | set network.freifunk.type='bridge' | ||||||
|  | set network.freifunk.proto='none' | ||||||
|  | set network.freifunk.auto='1' | ||||||
|  | set network.freifunk.accept_ra='1' | ||||||
|  | 
 | ||||||
|  | set network.mesh='interface' | ||||||
|  | set network.mesh.proto='batadv' | ||||||
|  | set network.mesh.mtu='1528' | ||||||
|  | set network.mesh.mesh='bat0' | ||||||
|  | 
 | ||||||
|  | set network.mesh_vpn='interface' | ||||||
|  | set network.mesh_vpn.ifname='mesh-vpn' | ||||||
|  | set network.mesh_vpn.proto='batadv' | ||||||
|  | set network.mesh_vpn.mesh='bat0' | ||||||
|  | EOF | ||||||
|  | 
 | ||||||
|  | get_main_address() { | ||||||
|  |     case "$board" in | ||||||
|  | 	tl-wdr3600|tl-wdr4300) | ||||||
|  | 	    uci get wireless.radio1.macaddr | ||||||
|  | 	    ;; | ||||||
|  | 	*) | ||||||
|  | 	    uci get wireless.radio0.macaddr | ||||||
|  | 	    ;; | ||||||
|  |     esac | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local mainaddr=$(get_main_address) | ||||||
|  | local oIFS="$IFS"; IFS=":"; set -- $mainaddr; IFS="$oIFS" | ||||||
|  | local b2mask=0x02 | ||||||
|  | 
 | ||||||
|  | local vpnaddr=$(printf "%02x:%s:%s:%02x:%s:%s" $(( 0x$1 | $b2mask )) $2 $3 $(( (0x$4 + 1) % 0x100 )) $5 $6) | ||||||
|  | 
 | ||||||
|  | uci set network.freifunk.macaddr="$mainaddr" | ||||||
|  | uci set network.mesh_vpn.macaddr="$vpnaddr" | ||||||
|  | 
 | ||||||
|  | case "$board" in | ||||||
|  | tl-wr1043nd|\ | ||||||
|  | tl-wdr3600|\ | ||||||
|  | tl-wdr4300) # fix up duplicate mac addresses | ||||||
|  | 	local wanaddr=$(printf "%02x:%s:%s:%02x:%s:%02x" $(( 0x$1 | $b2mask )) $2 $3 $(( (0x$4 + 1) % 0x100 )) $5 $(( (0x$6 + 1) % 0x100 )) ) | ||||||
|  | 
 | ||||||
|  | 	uci set network.wan.macaddr="$wanaddr" | ||||||
|  | 	;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | uci commit network | ||||||
| @ -0,0 +1,5 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | /etc/init.d/dnsmasq disable | ||||||
|  | /etc/init.d/telnet disable | ||||||
|  | /etc/init.d/uhttpd disable | ||||||
							
								
								
									
										25
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/initial/020-lff-wireless
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								package/gluon-core/files/lib/gluon/upgrade/core/initial/020-lff-wireless
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,25 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | uci -q batch <<EOF | ||||||
|  | delete wireless.radio0.disabled | ||||||
|  | delete wireless.@wifi-iface[0] | ||||||
|  | 
 | ||||||
|  | set wireless.radio0.channel='1' | ||||||
|  | set wireless.radio0.htmode='HT40+' | ||||||
|  | set wireless.radio0.country='DE' | ||||||
|  | 
 | ||||||
|  | set wireless.wifi_freifunk='wifi-iface' | ||||||
|  | set wireless.wifi_freifunk.device='radio0' | ||||||
|  | set wireless.wifi_freifunk.network='freifunk' | ||||||
|  | set wireless.wifi_freifunk.mode='ap' | ||||||
|  | set wireless.wifi_freifunk.ssid='luebeck.freifunk.net' | ||||||
|  | 
 | ||||||
|  | set wireless.wifi_mesh='wifi-iface' | ||||||
|  | set wireless.wifi_mesh.device='radio0' | ||||||
|  | set wireless.wifi_mesh.network='mesh' | ||||||
|  | set wireless.wifi_mesh.mode='adhoc' | ||||||
|  | set wireless.wifi_mesh.ssid='02:d1:11:37:fc:38' | ||||||
|  | set wireless.wifi_mesh.bssid='02:d1:11:37:fc:38' | ||||||
|  | 
 | ||||||
|  | commit wireless | ||||||
|  | EOF | ||||||
							
								
								
									
										1
									
								
								package/gluon-core/files/lib/upgrade/keep.d/gluon
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								package/gluon-core/files/lib/upgrade/keep.d/gluon
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | /lib/gluon/version/ | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user