init-ifupdown: add virtwlans script to pre-up and post-down hook directories
This way, the wlan1 interface will only be created whenever a user wants to bring the interface up with ifupdown. Modify the script to be able to delete the interface whenever it gets brought down and remove its .sh file extension so run-parts can run it properly during the ifup process. https://jira.digi.com/browse/DEL-6353 Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
9f76a50e57
commit
12e603021c
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2017-2019, Digi International Inc.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, you can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
|
||||
[ "$IFACE" = "wlan1" ] || exit 0
|
||||
|
||||
if [ "$MODE" = "start" ]; then
|
||||
# Check for default MAC addresses
|
||||
if [ -s "/proc/device-tree/wireless/mac-address1" ] &&
|
||||
[ -s "/proc/device-tree/wireless/mac-address2" ] &&
|
||||
[ -s "/proc/device-tree/wireless/mac-address3" ]; then
|
||||
:
|
||||
else
|
||||
echo "[WARN] Using default MAC addresses for virtual interfaces, please program them referring to the Digi U-Boot Documentation"
|
||||
fi
|
||||
|
||||
if [ ! -d "/sys/class/net/wlan1" ]; then
|
||||
# This will create a second wireless network device
|
||||
iw dev wlan0 interface add wlan1 type __ap
|
||||
fi
|
||||
elif [ "$MODE" = "stop" ]; then
|
||||
if [ -d "/sys/class/net/wlan1" ]; then
|
||||
# Delete the wlan1 interface once it's down
|
||||
iw dev wlan1 del
|
||||
fi
|
||||
fi
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2017, Digi International Inc.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, you can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
|
||||
# This will create a second wireless network device
|
||||
if [ -s "/proc/device-tree/wireless/mac-address1" ] &&
|
||||
[ -s "/proc/device-tree/wireless/mac-address2" ] &&
|
||||
[ -s "/proc/device-tree/wireless/mac-address3" ]; then
|
||||
:
|
||||
else
|
||||
echo "[WARN] Using default MAC addresses for virtual interfaces, please program them referring to the Digi U-Boot Documentation"
|
||||
fi
|
||||
|
||||
if [ ! -d "/sys/class/net/wlan1" ]; then
|
||||
# This will create a second wireless network device
|
||||
iw dev wlan0 interface add wlan1 type __ap
|
||||
fi
|
||||
|
|
@ -17,19 +17,19 @@ SRC_URI_append = " \
|
|||
SRC_URI_append_ccimx6qpsbc = "\
|
||||
file://interfaces.wlan1.static \
|
||||
file://interfaces.wlan1.dhcp \
|
||||
file://virtwlans.sh \
|
||||
file://virtwlans \
|
||||
"
|
||||
|
||||
SRC_URI_append_ccimx6ul = "\
|
||||
file://interfaces.wlan1.static \
|
||||
file://interfaces.wlan1.dhcp \
|
||||
file://virtwlans.sh \
|
||||
file://virtwlans \
|
||||
"
|
||||
|
||||
SRC_URI_append_ccimx8x = "\
|
||||
file://interfaces.wlan1.static \
|
||||
file://interfaces.wlan1.dhcp \
|
||||
file://virtwlans.sh \
|
||||
file://virtwlans \
|
||||
"
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "ifupdown.service"
|
||||
|
|
@ -69,8 +69,9 @@ do_install_append() {
|
|||
}
|
||||
|
||||
install_virtwlans() {
|
||||
install -d ${D}${base_bindir}
|
||||
install -m 0755 ${WORKDIR}/virtwlans.sh ${D}${base_bindir}
|
||||
install -d ${D}${sysconfdir}/network/if-pre-up.d
|
||||
install -m 0755 ${WORKDIR}/virtwlans ${D}${sysconfdir}/network/if-pre-up.d/
|
||||
ln -s ../if-pre-up.d/virtwlans ${D}${sysconfdir}/network/if-post-down.d/virtwlans
|
||||
}
|
||||
|
||||
WLAN1_POST_UP_ACTION = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemctl start hostapd@wlan1.service', '/etc/init.d/hostapd start', d)}"
|
||||
|
|
|
|||
Loading…
Reference in New Issue