From 5f5855744d5c1c7f684bcf6426e029dd4ee1b89f Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Thu, 23 Mar 2023 09:35:34 +0100 Subject: [PATCH] init-ifupdown: ccimx93: add p2p and AP support https://onedigi.atlassian.net/browse/DEL-8346 Signed-off-by: Isaac Hermida --- meta-digi-arm/conf/machine/ccimx93-dvk.conf | 2 +- .../conf/machine/include/ccimx93.inc | 1 + .../ccimx93/interfaces.br0.example | 8 ++++++++ .../ccimx93/interfaces.wlan1.dhcp | 8 ++++++++ .../ccimx93/interfaces.wlan1.static | 11 ++++++++++ .../init-ifupdown/init-ifupdown_1.0.bbappend | 20 ++++++++++++------- 6 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.br0.example create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.wlan1.dhcp create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.wlan1.static diff --git a/meta-digi-arm/conf/machine/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf index be23066fa..2a940245e 100644 --- a/meta-digi-arm/conf/machine/ccimx93-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -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)}" diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index 92559f51a..9fd452fa8 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -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" diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.br0.example b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.br0.example new file mode 100644 index 000000000..6cfe96a72 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.br0.example @@ -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 ] diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.wlan1.dhcp b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.wlan1.dhcp new file mode 100644 index 000000000..d4aa85741 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.wlan1.dhcp @@ -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## diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.wlan1.static b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.wlan1.static new file mode 100644 index 000000000..881f8a47b --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx93/interfaces.wlan1.static @@ -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## diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend index c32ce9f4a..c5d6ca29d 100644 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend @@ -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