From 19563821d2eaa3ff17742b1703b17bc5446c71e7 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 7 Mar 2017 12:53:10 +0100 Subject: [PATCH] ccim6ul_sbc: Add wireless concurrent as default setup This commit adds the wireless concurrent mode as a default configuration to the CC6UL machine. Signed-off-by: Mike Engel https://jira.digi.com/browse/DEL-3818 --- .../conf/machine/include/ccimx6ul.inc | 3 +++ .../conf/machine/include/digi-defaults.inc | 3 +++ .../hostapd/hostapd/ccimx6ul/hostapd.conf | 22 ++++++++++++++++ .../ccimx6ul/interfaces.wlan0.dhcp | 7 +++++ .../ccimx6ul/interfaces.wlan0.static | 10 +++++++ .../ccimx6ul/interfaces.wlan1.dhcp | 6 +++++ .../ccimx6ul/interfaces.wlan1.static | 9 +++++++ .../init-ifupdown-1.0/ccimx6ul/virtwlans.sh | 26 +++++++++++++++++++ .../init-ifupdown/init-ifupdown_1.0.bbappend | 26 +++++++++++++++++++ 9 files changed, 112 insertions(+) create mode 100644 meta-digi-dey/recipes-connectivity/hostapd/hostapd/ccimx6ul/hostapd.conf create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan0.dhcp create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan0.static create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.dhcp create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.static create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/virtwlans.sh diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index 23537c811..a75fcb089 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -16,6 +16,9 @@ UBOOT_SYMLINK = "u-boot-${MACHINE}.${UBOOT_SUFFIX}" WIRELESS_MODULE ?= "" WIRELESS_MODULE_append = " ${@base_conditional('HAVE_WIFI', '1', 'kernel-module-qualcomm', '', d)}" +# Wireless p2p interface +WLAN_P2P_INTERFACE ?= "p2p0" + # Firmware MACHINE_FIRMWARE ?= "" diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 9cbde48ae..b1579ed28 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -38,6 +38,9 @@ ETH1_STATIC_NETMASK ?= "255.255.255.0" WLAN0_MODE ?= "static" WLAN0_STATIC_IP ?= "192.168.43.30" WLAN0_STATIC_NETMASK ?= "255.255.255.0" +WLAN1_MODE ?= "static" +WLAN1_STATIC_IP ?= "192.168.46.30" +WLAN1_STATIC_NETMASK ?= "255.255.255.0" P2P0_STATIC_IP ?= "192.168.45.30" P2P0_STATIC_NETMASK ?= "255.255.255.0" diff --git a/meta-digi-dey/recipes-connectivity/hostapd/hostapd/ccimx6ul/hostapd.conf b/meta-digi-dey/recipes-connectivity/hostapd/hostapd/ccimx6ul/hostapd.conf new file mode 100644 index 000000000..43ea0206a --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/hostapd/hostapd/ccimx6ul/hostapd.conf @@ -0,0 +1,22 @@ +ctrl_interface=/var/run/hostapd +ctrl_interface_group=0 +interface=wlan1 +driver=nl80211 + +# WPA2-AES encryption +ssid=ap-wpa2aes_a +auth_algs=1 +wpa=2 +wpa_key_mgmt=WPA-PSK +wpa_pairwise=CCMP +wpa_passphrase=password-wpa2aes + +# IEEE 802.11ac +hw_mode=a +channel=36 +ieee80211ac=1 +ieee80211n=1 + +# IEEE 802.11d - Country Code +ieee80211d=1 +country_code=US diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan0.dhcp b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan0.dhcp new file mode 100644 index 000000000..d177d0f6f --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan0.dhcp @@ -0,0 +1,7 @@ + +auto wlan0 +iface wlan0 inet dhcp + udhcpc_opts -b + wpa-driver ##WPA_DRIVER## + wpa-conf /etc/wpa_supplicant.conf + post-up /bin/virtwlans.sh diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan0.static b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan0.static new file mode 100644 index 000000000..f49d9fd82 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan0.static @@ -0,0 +1,10 @@ + +auto wlan0 +iface wlan0 inet static + address ##WLAN0_STATIC_IP## + netmask ##WLAN0_STATIC_NETMASK## + gateway ##WLAN0_STATIC_GATEWAY## + dns-nameservers ##WLAN0_STATIC_DNS## + wpa-driver ##WPA_DRIVER## + wpa-conf /etc/wpa_supplicant.conf + post-up /bin/virtwlans.sh diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.dhcp b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.dhcp new file mode 100644 index 000000000..ea56ef937 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.dhcp @@ -0,0 +1,6 @@ + +auto wlan1 +iface wlan1 inet dhcp + udhcpc_opts -b + post-up /etc/init.d/hostapd start + pre-down /etc/init.d/hostapd stop diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.static b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.static new file mode 100644 index 000000000..664542efe --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.static @@ -0,0 +1,9 @@ + +auto wlan1 +iface wlan1 inet static + address ##WLAN1_STATIC_IP## + netmask ##WLAN1_STATIC_NETMASK## + gateway ##WLAN1_STATIC_GATEWAY## + dns-nameservers ##WLAN1_STATIC_DNS## + post-up /etc/init.d/hostapd start + pre-down /etc/init.d/hostapd stop diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/virtwlans.sh b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/virtwlans.sh new file mode 100644 index 000000000..7b701a84c --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/virtwlans.sh @@ -0,0 +1,26 @@ +#!/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 + iw dev wlan0 interface add wlan1 type managed +else + echo "ERROR: Missing virtual MAC addresses, please" + echo "program one referring to the Digi U-Boot Documentation" +fi 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 e6ad9edab..9a37c83b8 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 @@ -18,6 +18,12 @@ SRC_URI_append = " \ file://resolv \ " +SRC_URI_append_ccimx6ul = "\ + file://interfaces.wlan1.static \ + file://interfaces.wlan1.dhcp \ + file://virtwlans.sh \ +" + WPA_DRIVER ?= "nl80211" do_install_append() { @@ -113,3 +119,23 @@ do_install_append() { sed -i -e "s,##P2P0_STATIC_DNS##,${P2P0_STATIC_DNS},g" ${D}${sysconfdir}/network/interfaces sed -i -e "s,##WPA_DRIVER##,${WPA_DRIVER},g" ${D}${sysconfdir}/network/interfaces } + +do_install_append_ccimx6ul() { + install -d ${D}${base_bindir} + install -m 0755 ${WORKDIR}/virtwlans.sh ${D}${base_bindir} + if [ -n "${HAVE_WIFI}" ]; then + cat ${WORKDIR}/interfaces.wlan1.${WLAN1_MODE} >> ${D}${sysconfdir}/network/interfaces + fi + + # Remove config entries if corresponding variable is not defined + [ -z "${WLAN1_STATIC_DNS}" ] && sed -i -e "/##WLAN1_STATIC_DNS##/d" ${D}${sysconfdir}/network/interfaces + [ -z "${WLAN1_STATIC_GATEWAY}" ] && sed -i -e "/##WLAN1_STATIC_GATEWAY##/d" ${D}${sysconfdir}/network/interfaces + [ -z "${WLAN1_STATIC_IP}" ] && sed -i -e "/##WLAN1_STATIC_IP##/d" ${D}${sysconfdir}/network/interfaces + [ -z "${WLAN1_STATIC_NETMASK}" ] && sed -i -e "/##WLAN1_STATIC_NETMASK##/d" ${D}${sysconfdir}/network/interfaces + + # Replace interface parameters + sed -i -e "s,##WLAN1_STATIC_IP##,${WLAN1_STATIC_IP},g" ${D}${sysconfdir}/network/interfaces + sed -i -e "s,##WLAN1_STATIC_NETMASK##,${WLAN1_STATIC_NETMASK},g" ${D}${sysconfdir}/network/interfaces + sed -i -e "s,##WLAN1_STATIC_GATEWAY##,${WLAN1_STATIC_GATEWAY},g" ${D}${sysconfdir}/network/interfaces + sed -i -e "s,##WLAN1_STATIC_DNS##,${WLAN1_STATIC_DNS},g" ${D}${sysconfdir}/network/interfaces +}