init-ifupdown: ccimx93: add p2p and AP support

https://onedigi.atlassian.net/browse/DEL-8346

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit is contained in:
Isaac Hermida 2023-03-23 09:35:34 +01:00
parent 1540f58075
commit 5f5855744d
6 changed files with 42 additions and 8 deletions

View File

@ -23,7 +23,7 @@ KERNEL_DEVICETREE ?= " \
# Wireless external module
WIRELESS_MODULE ?= ""
WIRELESS_MODULE:append = " ${@oe.utils.conditional('HAVE_WIFI', '1', 'kernel-module-nxp-wlan', '', d)}"
HAS_WIFI_VIRTWLANS = "false"
HAS_WIFI_VIRTWLANS = "true"
# Machine firmware
MACHINE_FIRMWARE:append = " ${@oe.utils.conditional('HAVE_WIFI', '1', 'firmware-nxp-wifi-nxpiw612', '', d)}"

View File

@ -30,6 +30,7 @@ MACHINE_FEATURES += "pci wifi bluetooth"
MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse"
STORAGE_MEDIA = "mmc"
WLAN_P2P_INTERFACE = "wfd0"
# Linux kernel configuration
KERNEL_DEFCONFIG ?= "arch/arm64/configs/ccimx93_defconfig"

View File

@ -0,0 +1,8 @@
## Example bridge between eth0 and uap0 (NXP IW612)
#auto br0
#iface br0 inet static
# bridge_ports eth0 uap0
# address 192.168.42.50
# netmask 255.255.255.0
# pre-up [ -d /proc/device-tree/wireless ]

View File

@ -0,0 +1,8 @@
# Wi-Fi AP interface (NXP IW612)
#auto uap0
iface uap0 inet dhcp
udhcpc_opts -S -b >/dev/null &
pre-up [ -d /proc/device-tree/wireless ]
post-up ##WLAN1_POST_UP_ACTION##
pre-down ##WLAN1_PRE_DOWN_ACTION##

View File

@ -0,0 +1,11 @@
# Wi-Fi AP interface (NXP IW612)
#auto uap0
iface uap0 inet static
address ##WLAN1_STATIC_IP##
netmask ##WLAN1_STATIC_NETMASK##
gateway ##WLAN1_STATIC_GATEWAY##
dns-nameservers ##WLAN1_STATIC_DNS##
pre-up [ -d /proc/device-tree/wireless ]
post-up ##WLAN1_POST_UP_ACTION##
pre-down ##WLAN1_PRE_DOWN_ACTION##

View File

@ -1,4 +1,4 @@
# Copyright (C) 2013-2021 Digi International Inc.
# Copyright (C) 2013-2023 Digi International Inc.
FILESEXTRAPATHS:prepend := "${THISDIR}/${BP}:"
@ -83,17 +83,23 @@ install_virtwlans() {
ln -s ../if-pre-up.d/virtwlans ${D}${sysconfdir}/network/if-post-down.d/virtwlans
}
install_virtwlans:ccimx93() {
# Skip
:
}
WLAN1_POST_UP_ACTION = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemctl start hostapd@wlan1.service', '/etc/init.d/hostapd start', d)}"
WLAN1_PRE_DOWN_ACTION = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemctl stop hostapd@wlan1.service', '/etc/init.d/hostapd stop', d)}"
WLAN1_POST_UP_ACTION:ccimx93 = "systemctl start hostapd@uap0.service"
WLAN1_PRE_DOWN_ACTION:ccimx93 = "systemctl stop hostapd@uap0.service"
install_wlan1() {
if [ -n "${HAVE_WIFI}" ]; then
cat ${WORKDIR}/interfaces.wlan1.${WLAN1_MODE} >> ${D}${sysconfdir}/network/interfaces
if [ "${MACHINE}" = "ccimx6sbc" ]; then
cat ${WORKDIR}/interfaces.wlan1.atheros.${WLAN1_MODE} >> ${D}${sysconfdir}/network/interfaces
fi
[ -n "${WLAN1_AUTO}" ] && sed -i -e 's/^#auto wlan1/auto wlan1/g' ${D}${sysconfdir}/network/interfaces
cat ${WORKDIR}/interfaces.wlan1.${WLAN1_MODE} >> ${D}${sysconfdir}/network/interfaces
if [ "${MACHINE}" = "ccimx6sbc" ]; then
cat ${WORKDIR}/interfaces.wlan1.atheros.${WLAN1_MODE} >> ${D}${sysconfdir}/network/interfaces
fi
[ -n "${WLAN1_AUTO}" ] && sed -i -e 's/^#auto wlan1/auto wlan1/g' ${D}${sysconfdir}/network/interfaces
# Remove config entries if corresponding variable is not defined
[ -z "${WLAN1_STATIC_DNS}" ] && sed -i -e "/##WLAN1_STATIC_DNS##/d" ${D}${sysconfdir}/network/interfaces