From 3cb3c7c03b61a6d6e26223ec5b13af68ad44a7a7 Mon Sep 17 00:00:00 2001 From: Jose Diaz de Grenu de Pedro Date: Thu, 12 Nov 2015 16:41:27 +0100 Subject: [PATCH] init-ifupdown: add support for cellular interfaces Signed-off-by: Javier Viguera --- .../init-ifupdown-1.0/interfaces.cellular | 9 ++++ .../init-ifupdown/init-ifupdown_1.0.bbappend | 41 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.cellular diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.cellular b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.cellular new file mode 100644 index 000000000..1afe87e86 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.cellular @@ -0,0 +1,9 @@ + +# Cellular interface +#auto ##CELLULAR_INTERFACE## +iface ##CELLULAR_INTERFACE## inet manual + port + apn + pin + user + password 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 ea800c967..b3da925e0 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 @@ -2,6 +2,9 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:" +INITSCRIPT_NAME = "networking" +INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 80 0 6 1 ." + SRC_URI_append = " \ file://interfaces.br0.example \ file://interfaces.eth0.static \ @@ -10,6 +13,7 @@ SRC_URI_append = " \ file://interfaces.eth1.dhcp \ file://interfaces.wlan0.static \ file://interfaces.wlan0.dhcp \ + file://interfaces.cellular \ file://resolv \ " @@ -39,6 +43,43 @@ do_install_append() { [ -z "${WLAN0_STATIC_IP}" ] && sed -i -e "/##WLAN0_STATIC_IP##/d" ${D}${sysconfdir}/network/interfaces [ -z "${WLAN0_STATIC_NETMASK}" ] && sed -i -e "/##WLAN0_STATIC_NETMASK##/d" ${D}${sysconfdir}/network/interfaces + # Cellular interface + if [ -n "${@base_contains('DISTRO_FEATURES', 'cellular', '1', '', d)}" ] && [ -n "${CELLULAR_INTERFACE}" ]; then + cat ${WORKDIR}/interfaces.cellular >> ${D}${sysconfdir}/network/interfaces + sed -i -e 's,##CELLULAR_INTERFACE##,${CELLULAR_INTERFACE},g' ${D}${sysconfdir}/network/interfaces + [ -n "${CELLULAR_AUTO}" ] && sed -i -e 's/#auto/auto/g' ${D}${sysconfdir}/network/interfaces + if [ -n "${CELLULAR_APN}" ]; then + sed -i -e 's/apn/apn ${CELLULAR_APN}/g' ${D}${sysconfdir}/network/interfaces + else + sed -i -e '/apn/d' ${D}${sysconfdir}/network/interfaces + fi + + if [ -n "${CELLULAR_PIN}" ]; then + sed -i -e 's/pin/pin ${CELLULAR_PIN}/g' ${D}${sysconfdir}/network/interfaces + else + sed -i -e '/pin/d' ${D}${sysconfdir}/network/interfaces + fi + + if [ -n "${CELLULAR_PORT}" ]; then + sed -i -e 's/port/port ${CELLULAR_PORT}/g' ${D}${sysconfdir}/network/interfaces + sed -i -e 's,dhcp,manual,g' ${D}${sysconfdir}/network/interfaces + else + sed -i -e '/port/d' ${D}${sysconfdir}/network/interfaces + fi + + if [ -n "${CELLULAR_USER}" ]; then + sed -i -e 's/user/user ${CELLULAR_PORT}/g' ${D}${sysconfdir}/network/interfaces + else + sed -i -e '/user/d' ${D}${sysconfdir}/network/interfaces + fi + + if [ -n "${CELLULAR_PASSWORD}" ]; then + sed -i -e 's/password/password ${CELLULAR_PORT}/g' ${D}${sysconfdir}/network/interfaces + else + sed -i -e '/password/d' ${D}${sysconfdir}/network/interfaces + fi + fi + # Replace interface parameters sed -i -e "s,##ETH0_STATIC_IP##,${ETH0_STATIC_IP},g" ${D}${sysconfdir}/network/interfaces sed -i -e "s,##ETH0_STATIC_NETMASK##,${ETH0_STATIC_NETMASK},g" ${D}${sysconfdir}/network/interfaces