summaryrefslogtreecommitdiff
path: root/recipes-core
diff options
context:
space:
mode:
authorJeff Hatch <jhatch@multitech.com>2020-06-04 14:23:47 -0500
committerJeff Hatch <jhatch@multitech.com>2020-06-04 14:23:47 -0500
commit2fc1c8f4367fa674940f64927252fd6349a2d63b (patch)
treeeb08d052d64d0814ea1cfc75664b64be68eaffbb /recipes-core
parente26f94e3f97b755652327f5652ea32f9ebf2b57b (diff)
parente919ef1e33c2cb56856cdbd22792a3bc3f36341d (diff)
downloadmeta-mlinux-atmel-2fc1c8f4367fa674940f64927252fd6349a2d63b.tar.gz
meta-mlinux-atmel-2fc1c8f4367fa674940f64927252fd6349a2d63b.tar.bz2
meta-mlinux-atmel-2fc1c8f4367fa674940f64927252fd6349a2d63b.zip
Merge branch 'test-split' into 'master'
Test split See merge request !1
Diffstat (limited to 'recipes-core')
-rw-r--r--recipes-core/annex-client/annex-client-from-src.bb28
-rw-r--r--recipes-core/annex-client/annex-client.bb53
-rw-r--r--recipes-core/annex-client/annex-client/annex-client.init43
-rwxr-xr-xrecipes-core/annex-client/annex-client/call_home192
-rwxr-xr-xrecipes-core/annex-client/annex-client/call_home.init40
-rw-r--r--recipes-core/annex-client/annex-client/config.json.sample10
-rwxr-xr-xrecipes-core/annex-client/annex-client/monitor-annexcd46
-rwxr-xr-xrecipes-core/annex-client/annex-client/push_api_mdm_connected59
-rwxr-xr-xrecipes-core/annex-client/annex-client/push_api_mdm_status30
-rw-r--r--recipes-core/annex-proto/annex-proto.bb24
-rw-r--r--recipes-core/base-files/base-files/mlinux/issue7
-rw-r--r--recipes-core/base-files/base-files/mlinux/issue.net7
-rw-r--r--recipes-core/base-files/base-files_3.0.14.bbappend9
-rw-r--r--recipes-core/base-files/fstab-at91/fstab (renamed from recipes-core/base-files/base-files/mlinux/fstab)0
-rw-r--r--recipes-core/base-files/fstab-at91_1.0.bb17
-rw-r--r--recipes-core/busybox/busybox_%.bbappend53
-rw-r--r--recipes-core/busybox/files/defconfig1020
-rwxr-xr-xrecipes-core/busybox/files/eth0.conf3
-rwxr-xr-xrecipes-core/busybox/files/eth1.conf.example2
-rwxr-xr-xrecipes-core/busybox/files/ifplugd.action30
-rw-r--r--recipes-core/busybox/files/ifplugd.default3
-rwxr-xr-xrecipes-core/busybox/files/ifplugd.init62
-rw-r--r--recipes-core/busybox/files/ifplugd.patch20
-rw-r--r--recipes-core/busybox/files/syslog-startup.conf13
-rw-r--r--recipes-core/busybox/files/udhcpd.conf.example6
-rw-r--r--recipes-core/busybox/ifplugd-disable_1.0.bb45
-rw-r--r--recipes-core/eglibc/eglibc/cvs-gethostbyname4-memory-leak.patch576
-rw-r--r--recipes-core/eglibc/eglibc_%.bbappend.obsolete3
-rw-r--r--recipes-core/file-magic-db-images/file-magic-db-images_0.1.bb27
-rw-r--r--recipes-core/file-magic-db-images/files/COPYING29
-rw-r--r--recipes-core/file-magic-db-images/files/Magdir/images78
-rw-r--r--recipes-core/file-magic-db-images/files/Magdir/jpeg119
-rw-r--r--recipes-core/file-magic-db-images/files/Magdir/msdos29
-rw-r--r--recipes-core/file-magic-db-images/files/Magdir/sgml8
-rw-r--r--recipes-core/images/core-image-rorootfs-overlay-initramfs.bb23
-rw-r--r--recipes-core/images/mlinux-base-image.bb19
-rw-r--r--recipes-core/images/mlinux-factory-image.bb62
-rw-r--r--recipes-core/images/mlinux-minimal-image.bb33
-rw-r--r--recipes-core/images/mlinux-mono-image.bb2
-rw-r--r--recipes-core/images/mlinux-mtcap-debug-image.bb2
-rw-r--r--recipes-core/images/mlinux-mtcap-image.bb22
-rw-r--r--recipes-core/images/mlinux-mtr-image.bb12
-rw-r--r--recipes-core/images/mlinux-mtrv1-image.bb16
-rw-r--r--recipes-core/images/mlinux-rs9113-base-image.bb2
-rw-r--r--recipes-core/images/mlinux-rs9113-factory-image.bb2
-rw-r--r--recipes-core/images/mlinux-sdk.bb2
-rw-r--r--recipes-core/images/mtcap-modules.inc2
-rw-r--r--recipes-core/init-ifupdown/files/bonding.post-down67
-rw-r--r--recipes-core/init-ifupdown/files/bonding.pre-up144
-rw-r--r--recipes-core/init-ifupdown/files/bonding.up45
-rw-r--r--recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend13
-rw-r--r--recipes-core/initscripts/initscripts-1.0/umountfs346
-rw-r--r--recipes-core/initscripts/initscripts_1.0.bbappend6
-rw-r--r--recipes-core/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch30
-rw-r--r--recipes-core/libusb/libusb1/no-dll.patch19
-rw-r--r--recipes-core/libusb/libusb1_1.0.21.bb35
-rw-r--r--recipes-core/lighttpd/files/0001-lighttpd-pcre-use-pkg-config.patch41
-rw-r--r--recipes-core/lighttpd/files/0002_extended_tls_conf.patch110
-rw-r--r--recipes-core/lighttpd/files/0004_fastcgi_env_with_unixsocket.patch57
-rw-r--r--recipes-core/lighttpd/files/lighttpd.conf209
-rw-r--r--recipes-core/lighttpd/files/lighttpd.init310
-rw-r--r--recipes-core/lighttpd/files/lighttpd_custom_images_setup57
-rw-r--r--recipes-core/lighttpd/files/lighttpd_nrs.conf66
-rw-r--r--recipes-core/lighttpd/lighttpd_1.4.48.bb100
-rw-r--r--recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-cell-radio-ready34
-rwxr-xr-xrecipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-cell-router147
-rwxr-xr-xrecipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-dhcpd65
-rwxr-xr-xrecipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-set-apn117
-rwxr-xr-xrecipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-switch-apn161
-rwxr-xr-xrecipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-switch-cell-fw211
-rwxr-xr-xrecipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-wifi-ap165
-rw-r--r--recipes-core/mlinux-scripts/mlinux-scripts.inc29
-rwxr-xr-xrecipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade (renamed from recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-firmware-upgrade)0
-rw-r--r--recipes-core/mlinux-scripts/mlinux-scripts_%.bbappend13
-rw-r--r--recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb7
-rw-r--r--recipes-core/mlinux/mlinux-feed-configs.bb23
-rw-r--r--recipes-core/mlinux/mlinux-version.bb22
-rw-r--r--recipes-core/multitech/cell-radio-carrierswitch/cell-radio-carrierswitch.default6
-rw-r--r--recipes-core/multitech/cell-radio-carrierswitch/cell-radio-carrierswitch.init26
-rw-r--r--recipes-core/multitech/cell-radio-carrierswitch_1.0.bb25
-rw-r--r--recipes-core/multitech/commissioning_1.0.1.bb42
-rw-r--r--recipes-core/multitech/config/99_radio24
-rwxr-xr-xrecipes-core/multitech/config/chat_wrapper205
-rw-r--r--recipes-core/multitech/config/chat_wrapper.default20
-rw-r--r--recipes-core/multitech/config/config-mths/default/bluetooth8
-rw-r--r--recipes-core/multitech/config/config-mths/default/dnsmasq27
-rw-r--r--recipes-core/multitech/config/config-mths/default/hostapd11
-rw-r--r--recipes-core/multitech/config/config-mths/default/ntpd36
-rw-r--r--recipes-core/multitech/config/config-mths/default/rs911314
-rw-r--r--recipes-core/multitech/config/config-mths/default/usb-gadget6
-rw-r--r--recipes-core/multitech/config/config-mths/dnsmasq.d/dhcp.conf12
-rw-r--r--recipes-core/multitech/config/config-mths/hostapd.conf1996
-rwxr-xr-xrecipes-core/multitech/config/config-mths/ifplugd/ifplugd.action30
-rw-r--r--recipes-core/multitech/config/config-mths/ifplugd/usb0.conf2
-rw-r--r--recipes-core/multitech/config/config-mths/ifplugd/usb1.conf2
-rw-r--r--recipes-core/multitech/config/config-mths/modprobe.d/cfg80211.conf7
-rw-r--r--recipes-core/multitech/config/config-mths/modprobe.d/mts-io.conf1
-rw-r--r--recipes-core/multitech/config/config-mths/network/interfaces.mths12
-rw-r--r--recipes-core/multitech/config/config.init185
-rw-r--r--recipes-core/multitech/config/network/interfaces81
-rw-r--r--recipes-core/multitech/config/ppp/chap-secrets3
-rw-r--r--recipes-core/multitech/config/ppp/options27
-rw-r--r--recipes-core/multitech/config/ppp/pap-secrets3
-rw-r--r--recipes-core/multitech/config/ppp/peers/README.fwswitch76
-rw-r--r--recipes-core/multitech/config/ppp/peers/cdma9
-rw-r--r--recipes-core/multitech/config/ppp/peers/cdma_chat18
-rw-r--r--recipes-core/multitech/config/ppp/peers/gsm11
-rw-r--r--recipes-core/multitech/config/ppp/peers/gsm_chat47
-rw-r--r--recipes-core/multitech/config/ppp/peers/l4e111
-rw-r--r--recipes-core/multitech/config/ppp/peers/l4e1_chat43
-rw-r--r--recipes-core/multitech/config/ppp/peers/l4n111
l---------recipes-core/multitech/config/ppp/peers/l4n1_chat1
-rw-r--r--recipes-core/multitech/config/ppp/peers/l4n1_chat_non_vz67
-rw-r--r--recipes-core/multitech/config/ppp/peers/l4n1_chat_vz44
-rw-r--r--recipes-core/multitech/config/ppp/peers/lap311
-rw-r--r--recipes-core/multitech/config/ppp/peers/lap3_chat43
-rw-r--r--recipes-core/multitech/config/ppp/peers/leu111
-rw-r--r--recipes-core/multitech/config/ppp/peers/leu1_chat43
-rw-r--r--recipes-core/multitech/config/ppp/peers/lna311
l---------recipes-core/multitech/config/ppp/peers/lna3_chat1
-rw-r--r--recipes-core/multitech/config/ppp/peers/lna3_chat_non_vz68
-rw-r--r--recipes-core/multitech/config/ppp/peers/lna3_chat_vz44
-rw-r--r--recipes-core/multitech/config/ppp/peers/lsp311
-rw-r--r--recipes-core/multitech/config/ppp/peers/lsp3_chat19
-rw-r--r--recipes-core/multitech/config/ppp/peers/lvw211
-rw-r--r--recipes-core/multitech/config/ppp/peers/lvw2_chat27
-rw-r--r--recipes-core/multitech/config_2.3.bb95
-rw-r--r--recipes-core/multitech/reset-handler/reset-handler.default2
-rw-r--r--recipes-core/multitech/reset-handler/reset-handler.init30
-rwxr-xr-xrecipes-core/multitech/reset-handler/reset-handler.sh74
-rw-r--r--recipes-core/multitech/reset-handler_1.0.bb30
-rw-r--r--recipes-core/multitech/upgrade-reboot_1.0.0.bb17
-rw-r--r--recipes-core/sysvinit/files/start_getty_open6
-rw-r--r--recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend25
-rw-r--r--recipes-core/udev/udev-extraconf/mount.patch109
-rw-r--r--recipes-core/useradd/useradd.bb63
136 files changed, 216 insertions, 9223 deletions
diff --git a/recipes-core/annex-client/annex-client-from-src.bb b/recipes-core/annex-client/annex-client-from-src.bb
deleted file mode 100644
index 3534f23..0000000
--- a/recipes-core/annex-client/annex-client-from-src.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "Provides the Multi-Tech MDM client"
-SECTION = "remote-management"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PROVIDES = "annex-client-from-src"
-DEPENDS = "jsoncpp curl protobuf cyrus-sasl protobuf-native annex-proto mts-io"
-
-# IMPORTANT: if you change PR, you'll also want to change the url in annex-client.bb
-PR = "r1"
-SRCREV = "b954c83e155f95ecd68c14a890f9455331e19878"
-
-SRC_URI = "git://git@${MTS_INTERNAL_GIT}/multitech/annex-client.git;protocol=ssh;branch=master"
-
-S = "${WORKDIR}/git"
-
-do_compile() {
- echo "directory: `pwd`"
- mkdir -p annex_pb
- cp ${STAGING_DIR_NATIVE}/annex.proto annex_pb/
- make all CFLAGS+="-DMLINUX_BUILD"
-}
-
-# IMPORTANT NOTE:
-# this recipe is only used for the annex-client Jenkin's job to build IPK.
-# annex-client.bb is used to install the binary in an image
-do_install() {
- oe_runmake install DESTDIR=${D} SUBDIRS="src"
-}
diff --git a/recipes-core/annex-client/annex-client.bb b/recipes-core/annex-client/annex-client.bb
deleted file mode 100644
index 83dd602..0000000
--- a/recipes-core/annex-client/annex-client.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-DESCRIPTION = "Provides the Multi-Tech MDM client"
-SECTION = "remote-management"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PROVIDES = "annex-client"
-
-# NOTE: annex-client binary is built with Jenkin's job using annex-client-from-src.bb
-# To update this, manually copy ipk from Jenkin's job to .net/downloads/
-PR = "r3"
-ANNEX_PR = "r1"
-SRC_URI = "http://multitech.net/downloads/annex-client-from-src_1.0-${ANNEX_PR}.0_${TUNE_PKGARCH}.ipk \
- file://annex-client.init \
- file://monitor-annexcd \
- file://call_home \
- file://call_home.init \
- file://config.json.sample \
- file://push_api_mdm_connected \
- file://push_api_mdm_status \
-"
-
-SRC_URI[md5sum] = "e180f4e569fbba2f5b9d524b5a9e944e"
-SRC_URI[sha256sum] = "1e93c65005c630cf211615dc143eb64f177591efcdbed6952142c7bac0e95988"
-
-#inherit update-rc.d
-#
-#INITSCRIPT_NAME = "annex-client"
-#INITSCRIPT_PARAMS = "defaults 95 1"
-S = "${WORKDIR}"
-
-DHQ_DIR="/opt/devicehq"
-
-do_install() {
- install -d ${D}${sbindir}
- install -m 755 sbin/annexcd ${D}${sbindir}
-
- install -d ${D}/etc/ssl/certs
- install -m 644 etc/ssl/certs/rootCA.pem ${D}/etc/ssl/certs
-
- install -d ${D}${base_sbindir}
- install -m 755 ${WORKDIR}/monitor-annexcd ${D}${base_sbindir}
- install -m 755 ${WORKDIR}/call_home ${D}${base_sbindir}
- install -m 755 ${WORKDIR}/push_api_mdm_connected ${D}${base_sbindir}
- install -m 755 ${WORKDIR}/push_api_mdm_status ${D}${base_sbindir}
-
- install -d ${D}${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/annex-client.init ${D}${sysconfdir}/init.d/annex-client
- install -m 755 ${WORKDIR}/call_home.init ${D}${sysconfdir}/init.d/call_home
-
- install -d ${D}${DHQ_DIR}
- install -m 644 ${WORKDIR}/config.json.sample ${D}${DHQ_DIR}
-}
-
-FILES_${PN} += "${DHQ_DIR}"
diff --git a/recipes-core/annex-client/annex-client/annex-client.init b/recipes-core/annex-client/annex-client/annex-client.init
deleted file mode 100644
index 4a5dc4b..0000000
--- a/recipes-core/annex-client/annex-client/annex-client.init
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-
-MONITOR="/sbin/monitor-annexcd"
-CLIENT="annexcd"
-
-start() {
- if [[ $(pidof -x $MONITOR) ]]; then
- echo "RM client is already running"
- else
- echo "Starting RM client"
- $MONITOR &
- fi
-}
-
-stop() {
- MONITOR_PID=$(pidof -x $MONITOR)
- CLIENT_PID=$(pidof $CLIENT)
- if [[ $MONITOR_PID ]]; then
- echo "Stopping RM client"
- kill $MONITOR_PID $CLIENT_PID
- else
- echo "RM client is not running"
- fi
-}
-
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- *)
- echo "Usage: /etc/init.d/annex-client {start|stop|restart}" >&2
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/recipes-core/annex-client/annex-client/call_home b/recipes-core/annex-client/annex-client/call_home
deleted file mode 100755
index 64887ec..0000000
--- a/recipes-core/annex-client/annex-client/call_home
+++ /dev/null
@@ -1,192 +0,0 @@
-#!/bin/bash
-#Attempt to gain a WAN connection for MDM Registration to query for this device's MDM account ID
-#PREREQ: Firewall allows outgoing DHCP requests and MDM Client connection
-
-CONFIG_FILE="/var/config/devicehq/config.json"
-STATUS_FILE="/var/config/devicehq/status.json"
-
-if [ ! -f $CONFIG_FILE ]; then
- logger -t callhome "Config file missing!"
- logger -t callhome "Do: mkdir /var/config/devicehq"
- logger -t callhome "Then: cp /opt/devicehq/config.json.sample /var/config/devicehq/config.json"
- exit 1
-fi
-
-JSON=$(cat $CONFIG_FILE)
-ENABLED=$( echo $JSON | jsparser -p /enabled )
-KEY=$( echo $JSON | jsparser -p /accountKey )
-MDM_URL=$( echo $JSON | jsparser -p /deviceHqUrl )
-
-if [ "$ENABLED" != "true" ]; then
- logger -t callhome "Not calling home because DeviceHQ is disabled in /var/config/devicehq/config..json."
- exit 1
-fi
-
-UUID=$(mts-io-sysfs show uuid)
-DEVID=$(mts-io-sysfs show device-id)
-
-
-MDM_REG_URL="$MDM_URL/api/v1/register-device"
-TMPFILE="/var/run/callhome"
-DONE=false
-FORCE=false
-WAN_AVAILABLE=true
-MAX_ATTEMPTS=0 #Infinite
-INTERVAL_SECONDS=30
-
-#Gather options from command line
-# Reset in case getopts has been used previously in the shell.
-OPTIND=1
-
-function show_help() {
- echo "Usage: $0 -k <ACCOUNT KEY> -a <MAX ATTEMPTS> -i <INTERVAL SECONDS>"
-}
-
-while getopts "h?k:a:i:d:u:m:f" opt; do
- case "$opt" in
- h|\?)
- show_help
- exit 0
- ;;
- k) KEY=$OPTARG
- ;;
- a) MAX_ATTEMPTS=$OPTARG
- ;;
- a) INTERVAL_SECONDS=$OPTARG
- ;;
- f) FORCE=true
- ;;
- d) DEVID=$OPTARG
- ;;
- u) UUID=$OPTARG
- ;;
- m) MDM_URL=$OPTARG
- ;;
- esac
-done
-
-shift $((OPTIND-1))
-
-[ "$1" = "--" ] && shift
-
-if [ "$FORCE" == "true" ]; then
- DONE=false
-fi
-
-
-function checkCallHomeNeeded() {
- if [ "$FORCE" != "true" ]; then
- JSON=$(cat $CONFIG_FILE)
- KEY=$( echo $JSON | jsparser -p /accountKey )
-
- LAST_CONNECTED="unknown"
- STATUS=""
- if [ -f $STATUS_FILE ]; then
- JSON=$(cat $STATUS_FILE)
- LAST_CONNECTED=$( echo $JSON | jsparser -p /lastConnected )
- STATUS=$( echo $JSON | jsparser -p /status )
- fi
-
- if [ "$KEY" != "" ] && [ $LAST_CONNECTED != "unknown" ] && [ $STATUS == "idle" ]; then
- echo "Found that Call-Home Not Needed"
- exit 0
- fi
- fi
-}
-
-function saveConfigs() {
- logger -t callhome "Saving accountKey"
-
- sed -i "s/\"accountKey\"\s*:\s*\".*\"/\"accountKey\": \"$KEY\"/" $CONFIG_FILE
-
- if [ $? != 0 ]; then
- logger -t callhome "Failed to add account key [$KEY] to $CONFIG_FILE"
- fi
-}
-
-function checkForCheckIn() {
-
- i=0
- while [ $i -lt 10 ]; do
- if [ -f $STATUS_FILE ]; then
- JSON=$(cat $STATUS_FILE)
- LAST_CONNECTED=$( echo $JSON | jsparser -p /lastConnected )
- STATUS=$( echo $JSON | jsparser -p /status )
- if [ "$LAST_CONNECTED" == "unknown" ] || [ $STATUS != "idle" ]; then
- logger -t callhome "MDM client has not checked-in yet"
- else
- logger -t callhome "SUCCESS! MDM Client has checked-in."
- DONE=true
- return
- fi
- else
- logger -t callhome "MDM client has not checked-in yet"
- fi
-
- let i=i+1
- logger -t callhome "Sleeping for 30 seconds."
- sleep 30
- done
-
-}
-
-function attemptMdmRegistration() {
-
- logger -t callhome "Attempting to register with MDM"
- CODE=$( curl -m 20 -ks -o $TMPFILE -w "%{http_code}" -X POST -H "Content-Type: application/json" \
- -d '{ "device_id" : "'$DEVID'", "uuid" : "'$UUID'" }' \
- $MDM_REG_URL )
-
- if [ $? == 0 ]; then
- if [ "$CODE" == "200" ]; then
- logger -t callhome "Registered with MDM. Checking for Account Key"
-
- #Request returned 200
- KEY=$( cat $TMPFILE | jsparser -p /account_key )
- if [ $? == 0 ]; then
- if [ "$KEY" != "" ]; then
- logger -t callhome "Received Account Key! [$KEY]"
- saveConfigs
- /etc/init.d/annex-client start
- checkForCheckIn
- else
- logger -t callhome "Account Key not returned. This device may not be registered with a user account"
- fi
- else
- RESULT=$(cat $TMPFILE)
- logger -t callhome "Error: Unexpected MDM Registration Server response: $RESULT"
- fi
- else
- RESULT=$(cat $TMPFILE)
- logger -t callhome "Error: MDM Registration Failed with Device ID [$DEVID] and UUID [$UUID]"
- logger -t callhome "Error: MDM Registration Server Response Header Code: $CODE"
- logger -t callhome "Error: MDM Registration Server Response Body Content: $RESULT"
- fi
- else
- logger -t callhome "Warning: Could not connect to MDM server: $MDM_REG_URL"
- fi
-}
-
-logger -t callhome "Setting Up Call-Home "
-COUNT=0
-
-while [ $DONE == false ]; do
- logger -t callhome "Attempts: $COUNT"
-
- checkCallHomeNeeded
-
- attemptMdmRegistration
-
- COUNT=$(($COUNT+1))
- if [ $MAX_ATTEMPTS != 0 ] && [ $COUNT -gt $MAX_ATTEMPTS ]; then
- DONE=true
- logger -t callhome "Reached Maximum Attempts [$MAX_ATTEMPTS]"
- fi
-
- if [ $DONE == false ]; then
- logger -t callhome "Sleeping for $INTERVAL_SECONDS seconds before next attempt"
- sleep $INTERVAL_SECONDS
- fi
-
-done
-
diff --git a/recipes-core/annex-client/annex-client/call_home.init b/recipes-core/annex-client/annex-client/call_home.init
deleted file mode 100755
index b874565..0000000
--- a/recipes-core/annex-client/annex-client/call_home.init
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-CALLHOME="/sbin/call_home"
-
-start() {
- if [[ $(pidof $CALLHOME) ]]; then
- echo "Call-Home Service is already running"
- else
- echo "Starting Call-Home Service"
- $CALLHOME &
- fi
-}
-
-stop() {
- CALLHOME_PID=$(pidof -x $CALLHOME)
- if [[ $CALLHOME_PID ]]; then
- echo "Stopping Call-Home Service"
- kill $CALLHOME_PID
- else
- echo "Call-Home Service is not running"
- fi
-}
-
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- *)
- echo "Usage: /etc/init.d/call_home {start|stop|restart}" >&2
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/recipes-core/annex-client/annex-client/config.json.sample b/recipes-core/annex-client/annex-client/config.json.sample
deleted file mode 100644
index 5e83c64..0000000
--- a/recipes-core/annex-client/annex-client/config.json.sample
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "enabled": true,
- "accountKey": "",
- "deviceHqUrl": "https://www.devicehq.com",
- "deviceServerUrl": "ds.devicehq.com",
- "checkInIntervalMins": 720,
- "gpsDataIntervalMins": 720,
- "allowFirmwareUpgrade": true,
- "allowConfigUpgrade": false
-}
diff --git a/recipes-core/annex-client/annex-client/monitor-annexcd b/recipes-core/annex-client/annex-client/monitor-annexcd
deleted file mode 100755
index 21d5a6b..0000000
--- a/recipes-core/annex-client/annex-client/monitor-annexcd
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-
-CONFIG_FILE="/var/config/devicehq/config.json"
-
-if [ ! -f $CONFIG_FILE ]; then
- logger -t monitor-annexcd "Config file missing!"
- logger -t monitor-annexcd "Do: mkdir /var/config/devicehq"
- logger -t monitor-annexcd "Then: cp /opt/devicehq/config.json.sample /var/config/devicehq/config.json"
- logger -t monitor-annexcd "Exiting..."
- exit 1
-fi
-
-DEVICE_ID=$(mts-io-sysfs show device-id)
-PRODUCT_ID=$(mts-io-sysfs show product-id)
-
-get_args() {
- JSON=$(cat $CONFIG_FILE)
-
- ENABLED=$( echo $JSON | jsparser -p enabled )
- KEY=$( echo $JSON | jsparser -p accountKey )
- SERVER=$( echo $JSON | jsparser -p deviceServerUrl )
- PORT=5798
- QUERY_INT=$( echo $JSON | jsparser -p checkInIntervalMins )
- GPS_INT=$( echo $JSON | jsparser -p gpsDataIntervalMins )
- FW_UPGRADE=$( echo $JSON | jsparser -p allowFirmwareUpgrade )
- CONFIG_UPGRADE=$(echo $JSON | jsparser -p allowConfigUpgrade )
-}
-
-
-get_args
-
-if [ "$KEY" == "" ]; then
- logger -t monitor-annexcd "Account key missing in $CONFIG_FILE"
- logger -t monitor-annexcd "Exiting..."
- exit 1
-fi
-
-MIN_TO_MS=60000
-
-if [[ $ENABLED == "true" ]]; then
- ANNEXCD="annexcd --account-key $KEY --host $SERVER --port $PORT --product-id $PRODUCT_ID --device-id $DEVICE_ID --rpd-interval $(( $QUERY_INT * $MIN_TO_MS )) --gps-interval $(( $GPS_INT * $MIN_TO_MS )) --net-interval $(( $QUERY_INT * $MIN_TO_MS )) --cell-interval $(( $QUERY_INT * $MIN_TO_MS )) --active-apps-interval $(( $QUERY_INT * $MIN_TO_MS )) --lora-interval $(( $QUERY_INT * $MIN_TO_MS )) --when-ppp-up on --firmware-upgrade $FW_UPGRADE --config-upgrade $CONFIG_UPGRADE --ssl-method ssl --ssl-ca-certificate /etc/ssl/certs/rootCA.pem --ssl-ca-strict --log-upto 7"
- until $ANNEXCD; do
- echo "annexcd exited with status $? - restarting..." >&2
- sleep 1
- done
-fi
diff --git a/recipes-core/annex-client/annex-client/push_api_mdm_connected b/recipes-core/annex-client/annex-client/push_api_mdm_connected
deleted file mode 100755
index ec8a23d..0000000
--- a/recipes-core/annex-client/annex-client/push_api_mdm_connected
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-# This script pushes the current time to the API's remote management
-# to track last connected time
-
-STATUS_FILE="/var/config/devicehq/status.json"
-DHQ_DIR="/var/config/devicehq"
-
-LAST_CONNECTED=$(date +%m/%d/%Y/%H:%M:%S)
-INTERVAL=""
-
-# Reset in case getopts has been used previously in the shell.
-OPTIND=1
-
-function show_help() {
- echo "Usage: $0 -t <TIME OF CONNECTION> -i <INTERVAL SECONDS>"
-}
-
-while getopts "h?t:i:" opt; do
- case "$opt" in
- h|\?)
- show_help
- exit 0
- ;;
- t) LAST_CONNECTED=$OPTARG
- ;;
- i) INTERVAL=$OPTARG
- ;;
- esac
-done
-
-shift $((OPTIND-1))
-[ "$1" = "--" ] && shift
-
-if [ ! -f $STATUS_FILE ]; then
- mkdir -p $DHQ_DIR
- echo "{
- \"status\": \"unknown\",
- \"lastConnected\": \"unknown\",
- \"intervalSeconds\": \"10\"
-}" > $STATUS_FILE
-fi
-
-
-sed -i "s~\"lastConnected\"\s*:\s*\".*\"~\"lastConnected\": \"$LAST_CONNECTED\"~" $STATUS_FILE
-
-if [ $? != 0 ]; then
- logger -t push_api_mdm_connected "Failed to save lastConnected [$LAST_CONNECTED] to $STATUS_FILE"
-fi
-
-
-if [ "$INTERVAL" != "" ]; then
- sed -i "s/\"intervalSeconds\"\s*:\s*\".*\"/\"intervalSeconds\": \"$INTERVAL\"/" $STATUS_FILE
-
- if [ $? != 0 ]; then
- logger -t push_api_mdm_connected "Failed to save intervalSeconds [$INTERVAL] to $STATUS_FILE"
- fi
-fi
-
-
diff --git a/recipes-core/annex-client/annex-client/push_api_mdm_status b/recipes-core/annex-client/annex-client/push_api_mdm_status
deleted file mode 100755
index cf91eda..0000000
--- a/recipes-core/annex-client/annex-client/push_api_mdm_status
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-# This script pushes the current time to the API's remote management
-# to track last connected time
-
-STATUS_FILE="/var/config/devicehq/status.json"
-DHQ_DIR="/var/config/devicehq"
-
-STATUS="$1"
-
-if [ "$STATUS" == "" ]; then
- STATUS="HEARTBEAT: $(date)"
-fi
-
-if [ ! -f $STATUS_FILE ]; then
- mkdir -p $DHQ_DIR
- echo "{
- \"status\": \"unknown\",
- \"lastConnected\": \"unknown\",
- \"intervalSeconds\": \"10\"
-}" > $STATUS_FILE
-fi
-
-sed -i "s~\"status\"\s*:\s*\".*\"~\"status\": \"$STATUS\"~" $STATUS_FILE
-
-if [ $? != 0 ]; then
- logger -t push_api_mdm_status "Failed to save status [$STATUS] to $STATUS_FILE"
-fi
-
-
-
diff --git a/recipes-core/annex-proto/annex-proto.bb b/recipes-core/annex-proto/annex-proto.bb
deleted file mode 100644
index cbb6fb2..0000000
--- a/recipes-core/annex-proto/annex-proto.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "Provides the Multi-Tech MDM client protobuffer definitions"
-SECTION = "remote-management"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PR = "r20"
-PROVIDES = "annex_proto"
-DEPENDS = "protobuf"
-SRCREV = "7ad3f17a59d3fe564da099518310d61ad1304913"
-
-SRC_URI = "git://git@${MTS_INTERNAL_GIT}/annex/proto.git;protocol=ssh;branch=master \
-"
-S = "${WORKDIR}/git"
-
-# don't use cli here
-do_compile() {
- echo "directory: `pwd`"
-}
-
-do_install() {
- install annex.proto ${STAGING_DIR_NATIVE}
-}
-
-
-
diff --git a/recipes-core/base-files/base-files/mlinux/issue b/recipes-core/base-files/base-files/mlinux/issue
deleted file mode 100644
index 9de31d4..0000000
--- a/recipes-core/base-files/base-files/mlinux/issue
+++ /dev/null
@@ -1,7 +0,0 @@
- _ _
- _ __ ___ | | (_)_ __ _ ___ __
- | '_ ` _ \\| | | | '_ \\| | | \\ \\/ /
- | | | | | | |___| | | | | |_| |> <
- |_| |_| |_|_____|_|_| |_|\\__,_/_/\\_\\
-
-MultiTech Systems mLinux GNU/Linux
diff --git a/recipes-core/base-files/base-files/mlinux/issue.net b/recipes-core/base-files/base-files/mlinux/issue.net
deleted file mode 100644
index efd075c..0000000
--- a/recipes-core/base-files/base-files/mlinux/issue.net
+++ /dev/null
@@ -1,7 +0,0 @@
- _ _
- _ __ ___ | | (_)_ __ _ ___ __
- | '_ ` _ \| | | | '_ \| | | \ \/ /
- | | | | | | |___| | | | | |_| |> <
- |_| |_| |_|_____|_|_| |_|\__,_/_/\_\
-
-Multi-Tech Systems mLinux GNU/Linux
diff --git a/recipes-core/base-files/base-files_3.0.14.bbappend b/recipes-core/base-files/base-files_3.0.14.bbappend
deleted file mode 100644
index d7431ad..0000000
--- a/recipes-core/base-files/base-files_3.0.14.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-PR = "m1"
-
-do_install_append() {
- if [ -d ${D}/media ] ; then
- rmdir ${D}/media # So the next line does not nest the media link inside of media
- fi
- ln -snf /run/media ${D}/media
-}
diff --git a/recipes-core/base-files/base-files/mlinux/fstab b/recipes-core/base-files/fstab-at91/fstab
index 8922faf..8922faf 100644
--- a/recipes-core/base-files/base-files/mlinux/fstab
+++ b/recipes-core/base-files/fstab-at91/fstab
diff --git a/recipes-core/base-files/fstab-at91_1.0.bb b/recipes-core/base-files/fstab-at91_1.0.bb
new file mode 100644
index 0000000..cd2102a
--- /dev/null
+++ b/recipes-core/base-files/fstab-at91_1.0.bb
@@ -0,0 +1,17 @@
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+inherit allarch
+PR = "r1"
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+PROVIDES = "fstab"
+DEPENDS = "base-files"
+RDEPENDS_${PN} = "base-files"
+
+SRC_URI = "file://fstab"
+
+FILES_${PN} = "${sysconfdir}/fstab"
+
+do_install() {
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}
+}
diff --git a/recipes-core/busybox/busybox_%.bbappend b/recipes-core/busybox/busybox_%.bbappend
deleted file mode 100644
index 6ead22b..0000000
--- a/recipes-core/busybox/busybox_%.bbappend
+++ /dev/null
@@ -1,53 +0,0 @@
-PR .= ".mlinux4"
-PACKAGES =+ "busybox-ifplugd"
-FILESEXTRAPATHS_prepend := ":${THISDIR}/files:"
-RDEPENDS_${PN} += "bash"
-
-SRC_URI += "file://udhcpd.conf.example \
- file://ifplugd.action \
- file://ifplugd.default \
- file://ifplugd.init \
- file://eth0.conf \
- file://eth1.conf.example \
- file://ifplugd.patch \
-"
-
-do_install_append () {
- install -m 644 ${WORKDIR}/udhcpd.conf.example ${D}${sysconfdir}/udhcpd.conf.example
- install -m 600 ${WORKDIR}/udhcpd.conf.example ${D}${sysconfdir}/udhcpd.conf
- install -d -m 755 ${D}${sysconfdir}/init.d
- install -d -m 755 ${D}${sysconfdir}/ifplugd
- install -d -m 755 ${D}${sysconfdir}/default
- install -m 755 ${WORKDIR}/ifplugd.init ${D}${sysconfdir}/init.d/ifplugd
- install -m 755 ${WORKDIR}/ifplugd.default ${D}${sysconfdir}/default/ifplugd
- install -m 755 ${WORKDIR}/ifplugd.action ${D}${sysconfdir}/ifplugd
- install -m 755 ${WORKDIR}/eth0.conf ${D}${sysconfdir}/ifplugd
- install -m 644 ${WORKDIR}/eth1.conf.example ${D}${sysconfdir}/ifplugd
-}
-
-RDEPENDS_${PN}-ifplugd += "bash"
-# PACKAGES =+ "${PN}-ifplugd"
-inherit update-rc.d
-INITSCRIPT_PACKAGES += "${PN}-ifplugd"
-INITSCRIPT_NAME_${PN}-ifplugd = "ifplugd"
-INITSCRIPT_PARAMS_${PN}-ifplugd = "defaults 3"
-
-FILES_${PN}-ifplugd = "${sysconfdir}/ifplugd/eth0.conf \
- ${sysconfdir}/ifplugd/eth1.conf.example \
- ${sysconfdir}/ifplugd/ifplugd.action \
- ${sysconfdir}/default/ifplugd \
- ${sysconfdir}/init.d/ifplugd \
- "
-
-FILES_${PN}-udhcpc =+ "${sysconfidir}/udhcpd.conf \
- ${sysconfidir}/udhcpd.conf.example \
- "
-
-
-CONFFILES_${PN}-ifplugd = "${sysconfdir}/ifplugd/eth0.conf \
- ${sysconfdir}/ifplugd/ifplugd.action \
- ${sysconfdir}/default/ifplugd \
- ${sysconfidir}/udhcpd.conf \
- "
-
-CONFFILES_${PN}-udhcpc =+ "${sysconfidir}/udhcpd.conf"
diff --git a/recipes-core/busybox/files/defconfig b/recipes-core/busybox/files/defconfig
deleted file mode 100644
index a24c108..0000000
--- a/recipes-core/busybox/files/defconfig
+++ /dev/null
@@ -1,1020 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.20.2
-# Mon Aug 20 17:01:45 2012
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-# CONFIG_DESKTOP is not set
-# CONFIG_EXTRA_COMPAT is not set
-# CONFIG_INCLUDE_SUSv2 is not set
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_PLATFORM_LINUX=y
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-CONFIG_FEATURE_COMPRESS_USAGE=y
-# CONFIG_FEATURE_INSTALLER is not set
-# CONFIG_INSTALL_NO_USR is not set
-# CONFIG_LOCALE_SUPPORT is not set
-# CONFIG_UNICODE_SUPPORT is not set
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=0
-CONFIG_LAST_SUPPORTED_WCHAR=0
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-CONFIG_LONG_OPTS=y
-CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_UTMP=y
-# CONFIG_FEATURE_WTMP is not set
-CONFIG_FEATURE_PIDFILE=y
-CONFIG_FEATURE_SUID=y
-CONFIG_FEATURE_SUID_CONFIG=y
-CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_SELINUX is not set
-# CONFIG_FEATURE_PREFER_APPLETS is not set
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
-# CONFIG_CROSS_COMPILER_PREFIX is not set
-CONFIG_SYSROOT=""
-# CONFIG_EXTRA_CFLAGS is not set
-CONFIG_EXTRA_LDFLAGS=""
-CONFIG_EXTRA_LDLIBS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-
-#
-# Installation Options ("make install" behavior)
-#
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="./_install"
-
-#
-# Busybox Library Tuning
-#
-CONFIG_FEATURE_SYSTEMD=y
-CONFIG_FEATURE_RTMINMAX=y
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SMALL=1
-CONFIG_FEATURE_FAST_TOP=y
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-CONFIG_FEATURE_USE_TERMIOS=y
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-# CONFIG_FEATURE_EDITING_VI is not set
-CONFIG_FEATURE_EDITING_HISTORY=64
-CONFIG_FEATURE_EDITING_SAVEHISTORY=y
-# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
-# CONFIG_FEATURE_REVERSE_SEARCH is not set
-CONFIG_FEATURE_TAB_COMPLETION=y
-CONFIG_FEATURE_USERNAME_COMPLETION=y
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
-CONFIG_FEATURE_NON_POSIX_CP=y
-CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
-CONFIG_FEATURE_COPYBUF_KB=4
-CONFIG_FEATURE_SKIP_ROOTFS=y
-CONFIG_MONOTONIC_SYSCALL=y
-CONFIG_IOCTL_HEX2STR_ERROR=y
-CONFIG_FEATURE_HWIB=y
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-CONFIG_FEATURE_SEAMLESS_XZ=y
-CONFIG_FEATURE_SEAMLESS_LZMA=y
-CONFIG_FEATURE_SEAMLESS_BZ2=y
-CONFIG_FEATURE_SEAMLESS_GZ=y
-CONFIG_FEATURE_SEAMLESS_Z=y
-CONFIG_AR=y
-# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
-CONFIG_FEATURE_AR_CREATE=y
-CONFIG_BUNZIP2=y
-CONFIG_BZIP2=y
-CONFIG_CPIO=y
-# CONFIG_FEATURE_CPIO_O is not set
-# CONFIG_FEATURE_CPIO_P is not set
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GUNZIP=y
-CONFIG_GZIP=y
-CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
-CONFIG_GZIP_FAST=0
-CONFIG_LZOP=y
-# CONFIG_LZOP_COMPR_HIGH is not set
-# CONFIG_RPM2CPIO is not set
-# CONFIG_RPM is not set
-CONFIG_TAR=y
-CONFIG_FEATURE_TAR_CREATE=y
-CONFIG_FEATURE_TAR_AUTODETECT=y
-CONFIG_FEATURE_TAR_FROM=y
-CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
-# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
-CONFIG_FEATURE_TAR_TO_COMMAND=y
-CONFIG_FEATURE_TAR_UNAME_GNAME=y
-CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
-# CONFIG_FEATURE_TAR_SELINUX is not set
-# CONFIG_UNCOMPRESS is not set
-# CONFIG_UNLZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
-# CONFIG_LZMA is not set
-CONFIG_UNXZ=y
-CONFIG_XZ=y
-CONFIG_UNZIP=y
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-# CONFIG_FEATURE_DATE_NANO is not set
-CONFIG_FEATURE_DATE_COMPAT=y
-# CONFIG_HOSTID is not set
-CONFIG_ID=y
-CONFIG_GROUPS=y
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TOUCH=y
-CONFIG_FEATURE_TOUCH_SUSV3=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-# CONFIG_FEATURE_TR_EQUIV is not set
-CONFIG_BASE64=y
-CONFIG_WHO=y
-CONFIG_USERS=y
-# CONFIG_CAL is not set
-# CONFIG_CATV is not set
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
-CONFIG_CHROOT=y
-# CONFIG_CKSUM is not set
-# CONFIG_COMM is not set
-CONFIG_CP=y
-CONFIG_FEATURE_CP_LONG_OPTIONS=y
-CONFIG_CUT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
-# CONFIG_FEATURE_DD_IBS_OBS is not set
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-# CONFIG_DOS2UNIX is not set
-# CONFIG_UNIX2DOS is not set
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
-# CONFIG_EXPAND is not set
-# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FALSE=y
-# CONFIG_FOLD is not set
-CONFIG_FSYNC=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-# CONFIG_INSTALL is not set
-# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
-CONFIG_LN=y
-CONFIG_LOGNAME=y
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-CONFIG_NOHUP=y
-CONFIG_OD=y
-# CONFIG_PRINTENV is not set
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
-CONFIG_SEQ=y
-# CONFIG_SHA1SUM is not set
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-CONFIG_FEATURE_FLOAT_SLEEP=y
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-# CONFIG_SPLIT is not set
-# CONFIG_FEATURE_SPLIT_FANCY is not set
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-# CONFIG_SUM is not set
-CONFIG_SYNC=y
-# CONFIG_TAC is not set
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TRUE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-# CONFIG_UNEXPAND is not set
-# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
-CONFIG_UNIQ=y
-CONFIG_USLEEP=y
-# CONFIG_UUDECODE is not set
-# CONFIG_UUENCODE is not set
-CONFIG_WC=y
-# CONFIG_FEATURE_WC_LARGE is not set
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options for cp and mv
-#
-# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-# CONFIG_FGCONSOLE is not set
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-# CONFIG_KBD_MODE is not set
-CONFIG_LOADFONT=y
-CONFIG_LOADKMAP=y
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-# CONFIG_RESIZE is not set
-# CONFIG_FEATURE_RESIZE_PRINT is not set
-CONFIG_SETCONSOLE=y
-# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
-# CONFIG_SETFONT is not set
-# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
-CONFIG_DEFAULT_SETFONT_DIR=""
-# CONFIG_SETKEYCODES is not set
-# CONFIG_SETLOGCONS is not set
-# CONFIG_SHOWKEY is not set
-
-#
-# Common options for loadfont and setfont
-#
-# CONFIG_FEATURE_LOADFONT_PSF2 is not set
-# CONFIG_FEATURE_LOADFONT_RAW is not set
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-# CONFIG_PIPE_PROGRESS is not set
-CONFIG_RUN_PARTS=y
-CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
-CONFIG_FEATURE_RUN_PARTS_FANCY=y
-CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
-CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-CONFIG_PATCH=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_MAX_LEN=1024
-CONFIG_FEATURE_VI_8BIT=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-CONFIG_FEATURE_VI_REGEX_SEARCH=y
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-# CONFIG_FEATURE_VI_READONLY is not set
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_ASK_TERMINAL=y
-CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_LIBM=y
-CONFIG_CMP=y
-CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
-CONFIG_FEATURE_DIFF_DIR=y
-# CONFIG_ED is not set
-CONFIG_SED=y
-CONFIG_FEATURE_ALLOW_EXEC=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-CONFIG_FEATURE_FIND_DELETE=y
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_FEATURE_FIND_LINKS=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-
-#
-# Init Utilities
-#
-# CONFIG_BOOTCHARTD is not set
-# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
-# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
-CONFIG_HALT=y
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-# CONFIG_INIT is not set
-# CONFIG_FEATURE_USE_INITTAB is not set
-# CONFIG_FEATURE_KILL_REMOVED is not set
-CONFIG_FEATURE_KILL_DELAY=0
-# CONFIG_FEATURE_INIT_SCTTY is not set
-# CONFIG_FEATURE_INIT_SYSLOG is not set
-# CONFIG_FEATURE_EXTRA_QUIET is not set
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_INIT_TERMINAL_TYPE=""
-# CONFIG_MESG is not set
-# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
-
-#
-# Login/Password Management Utilities
-#
-# CONFIG_ADD_SHELL is not set
-# CONFIG_REMOVE_SHELL is not set
-# CONFIG_FEATURE_SHADOWPASSWDS is not set
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_USE_BB_SHADOW is not set
-CONFIG_USE_BB_CRYPT=y
-# CONFIG_USE_BB_CRYPT_SHA is not set
-# CONFIG_ADDUSER is not set
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-# CONFIG_FEATURE_CHECK_NAMES is not set
-CONFIG_FIRST_SYSTEM_ID=100
-CONFIG_LAST_SYSTEM_ID=999
-# CONFIG_ADDGROUP is not set
-# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
-# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
-# CONFIG_DELUSER is not set
-# CONFIG_DELGROUP is not set
-# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
-# CONFIG_GETTY is not set
-# CONFIG_LOGIN is not set
-# CONFIG_LOGIN_SESSION_AS_CHILD is not set
-# CONFIG_PAM is not set
-# CONFIG_LOGIN_SCRIPTS is not set
-# CONFIG_FEATURE_NOLOGIN is not set
-# CONFIG_FEATURE_SECURETTY is not set
-# CONFIG_PASSWD is not set
-# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
-# CONFIG_CRYPTPW is not set
-# CONFIG_CHPASSWD is not set
-CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
-# CONFIG_SU is not set
-# CONFIG_FEATURE_SU_SYSLOG is not set
-# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
-# CONFIG_SULOGIN is not set
-# CONFIG_VLOCK is not set
-
-#
-# Linux Ext2 FS Progs
-#
-CONFIG_CHATTR=y
-CONFIG_FSCK=y
-# CONFIG_LSATTR is not set
-# CONFIG_TUNE2FS is not set
-
-#
-# Linux Module Utilities
-#
-# CONFIG_MODINFO is not set
-# CONFIG_MODPROBE_SMALL is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
-CONFIG_INSMOD=y
-CONFIG_RMMOD=y
-CONFIG_LSMOD=y
-# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
-CONFIG_MODPROBE=y
-# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
-CONFIG_DEPMOD=y
-
-#
-# Options common to multiple modutils
-#
-# CONFIG_FEATURE_2_4_MODULES is not set
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
-CONFIG_FEATURE_MODUTILS_ALIAS=y
-CONFIG_FEATURE_MODUTILS_SYMBOLS=y
-CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
-CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
-
-#
-# Linux System Utilities
-#
-# CONFIG_BLOCKDEV is not set
-# CONFIG_MDEV is not set
-# CONFIG_FEATURE_MDEV_CONF is not set
-# CONFIG_FEATURE_MDEV_RENAME is not set
-# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
-# CONFIG_FEATURE_MDEV_EXEC is not set
-# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
-# CONFIG_REV is not set
-# CONFIG_ACPID is not set
-# CONFIG_FEATURE_ACPID_COMPAT is not set
-# CONFIG_BLKID is not set
-# CONFIG_FEATURE_BLKID_TYPE is not set
-CONFIG_DMESG=y
-CONFIG_FEATURE_DMESG_PRETTY=y
-CONFIG_FBSET=y
-CONFIG_FEATURE_FBSET_FANCY=y
-CONFIG_FEATURE_FBSET_READMODE=y
-# CONFIG_FDFLUSH is not set
-# CONFIG_FDFORMAT is not set
-CONFIG_FDISK=y
-# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
-CONFIG_FEATURE_FDISK_WRITABLE=y
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-# CONFIG_FEATURE_OSF_LABEL is not set
-# CONFIG_FEATURE_GPT_LABEL is not set
-# CONFIG_FEATURE_FDISK_ADVANCED is not set
-# CONFIG_FINDFS is not set
-CONFIG_FLOCK=y
-# CONFIG_FREERAMDISK is not set
-CONFIG_FSCK_MINIX=y
-# CONFIG_MKFS_EXT2 is not set
-CONFIG_MKFS_MINIX=y
-CONFIG_FEATURE_MINIX2=y
-# CONFIG_MKFS_REISER is not set
-# CONFIG_MKFS_VFAT is not set
-CONFIG_GETOPT=y
-CONFIG_FEATURE_GETOPT_LONG=y
-CONFIG_HEXDUMP=y
-# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
-# CONFIG_HD is not set
-CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
-CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
-CONFIG_IPCRM=y
-CONFIG_IPCS=y
-CONFIG_LOSETUP=y
-# CONFIG_LSPCI is not set
-# CONFIG_LSUSB is not set
-CONFIG_MKSWAP=y
-# CONFIG_FEATURE_MKSWAP_UUID is not set
-CONFIG_MORE=y
-CONFIG_MOUNT=y
-# CONFIG_FEATURE_MOUNT_FAKE is not set
-# CONFIG_FEATURE_MOUNT_VERBOSE is not set
-# CONFIG_FEATURE_MOUNT_HELPERS is not set
-# CONFIG_FEATURE_MOUNT_LABEL is not set
-CONFIG_FEATURE_MOUNT_NFS=y
-# CONFIG_FEATURE_MOUNT_CIFS is not set
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
-CONFIG_PIVOT_ROOT=y
-CONFIG_RDATE=y
-# CONFIG_RDEV is not set
-# CONFIG_READPROFILE is not set
-# CONFIG_RTCWAKE is not set
-# CONFIG_SCRIPT is not set
-# CONFIG_SCRIPTREPLAY is not set
-# CONFIG_SETARCH is not set
-CONFIG_SWAPONOFF=y
-CONFIG_FEATURE_SWAPON_PRI=y
-CONFIG_SWITCH_ROOT=y
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
-# CONFIG_FEATURE_MTAB_SUPPORT is not set
-# CONFIG_VOLUMEID is not set
-# CONFIG_FEATURE_VOLUMEID_EXT is not set
-# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
-# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
-# CONFIG_FEATURE_VOLUMEID_FAT is not set
-# CONFIG_FEATURE_VOLUMEID_HFS is not set
-# CONFIG_FEATURE_VOLUMEID_JFS is not set
-# CONFIG_FEATURE_VOLUMEID_XFS is not set
-# CONFIG_FEATURE_VOLUMEID_NTFS is not set
-# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
-# CONFIG_FEATURE_VOLUMEID_UDF is not set
-# CONFIG_FEATURE_VOLUMEID_LUKS is not set
-# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
-# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
-# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
-# CONFIG_FEATURE_VOLUMEID_SYSV is not set
-# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
-# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_CONSPY is not set
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-# CONFIG_FEATURE_LESS_MARKS is not set
-# CONFIG_FEATURE_LESS_REGEXP is not set
-# CONFIG_FEATURE_LESS_WINCH is not set
-# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
-# CONFIG_FEATURE_LESS_DASHCMD is not set
-# CONFIG_FEATURE_LESS_LINENUMS is not set
-# CONFIG_NANDWRITE is not set
-# CONFIG_NANDDUMP is not set
-# CONFIG_SETSERIAL is not set
-# CONFIG_UBIATTACH is not set
-# CONFIG_UBIDETACH is not set
-# CONFIG_UBIMKVOL is not set
-# CONFIG_UBIRMVOL is not set
-# CONFIG_UBIRSVOL is not set
-# CONFIG_UBIUPDATEVOL is not set
-# CONFIG_ADJTIMEX is not set
-# CONFIG_BBCONFIG is not set
-# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
-# CONFIG_BEEP is not set
-CONFIG_FEATURE_BEEP_FREQ=0
-CONFIG_FEATURE_BEEP_LENGTH_MS=0
-# CONFIG_CHAT is not set
-# CONFIG_FEATURE_CHAT_NOFAIL is not set
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
-# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
-# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
-# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
-# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-# CONFIG_CHRT is not set
-# CONFIG_CROND is not set
-# CONFIG_FEATURE_CROND_D is not set
-# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
-CONFIG_FEATURE_CROND_DIR=""
-# CONFIG_CRONTAB is not set
-CONFIG_DC=y
-# CONFIG_FEATURE_DC_LIBM is not set
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-# CONFIG_DEVMEM is not set
-# CONFIG_EJECT is not set
-# CONFIG_FEATURE_EJECT_SCSI is not set
-# CONFIG_FBSPLASH is not set
-# CONFIG_FLASHCP is not set
-# CONFIG_FLASH_LOCK is not set
-# CONFIG_FLASH_UNLOCK is not set
-# CONFIG_FLASH_ERASEALL is not set
-# CONFIG_IONICE is not set
-# CONFIG_INOTIFYD is not set
-# CONFIG_LAST is not set
-# CONFIG_FEATURE_LAST_SMALL is not set
-# CONFIG_FEATURE_LAST_FANCY is not set
-# CONFIG_HDPARM is not set
-# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
-# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
-# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
-# CONFIG_MAKEDEVS is not set
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
-# CONFIG_MAN is not set
-CONFIG_MICROCOM=y
-# CONFIG_MOUNTPOINT is not set
-# CONFIG_MT is not set
-# CONFIG_RAIDAUTORUN is not set
-# CONFIG_READAHEAD is not set
-CONFIG_RFKILL=y
-# CONFIG_RUNLEVEL is not set
-# CONFIG_RX is not set
-# CONFIG_SETSID is not set
-CONFIG_STRINGS=y
-# CONFIG_TASKSET is not set
-# CONFIG_FEATURE_TASKSET_FANCY is not set
-CONFIG_TIME=y
-# CONFIG_TIMEOUT is not set
-# CONFIG_TTYSIZE is not set
-# CONFIG_VOLNAME is not set
-# CONFIG_WALL is not set
-# CONFIG_WATCHDOG is not set
-
-#
-# Networking Utilities
-#
-# CONFIG_NAMEIF is not set
-# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
-# CONFIG_NBDCLIENT is not set
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-# CONFIG_NC_110_COMPAT is not set
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-# CONFIG_WHOIS is not set
-CONFIG_FEATURE_IPV6=y
-# CONFIG_FEATURE_UNIX_LOCAL is not set
-CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
-# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
-# CONFIG_ARP is not set
-# CONFIG_ARPING is not set
-# CONFIG_BRCTL is not set
-# CONFIG_FEATURE_BRCTL_FANCY is not set
-# CONFIG_FEATURE_BRCTL_SHOW is not set
-# CONFIG_DNSD is not set
-# CONFIG_ETHER_WAKE is not set
-# CONFIG_FAKEIDENTD is not set
-# CONFIG_FTPD is not set
-# CONFIG_FEATURE_FTP_WRITE is not set
-# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
-# CONFIG_FTPGET is not set
-# CONFIG_FTPPUT is not set
-# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
-CONFIG_HOSTNAME=y
-# CONFIG_HTTPD is not set
-# CONFIG_FEATURE_HTTPD_RANGES is not set
-# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
-# CONFIG_FEATURE_HTTPD_SETUID is not set
-# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
-# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
-# CONFIG_FEATURE_HTTPD_CGI is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
-# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
-# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
-# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
-# CONFIG_FEATURE_HTTPD_PROXY is not set
-# CONFIG_FEATURE_HTTPD_GZIP is not set
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-# CONFIG_FEATURE_IFCONFIG_SLIP is not set
-# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
-CONFIG_FEATURE_IFCONFIG_HW=y
-# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
-# CONFIG_IFENSLAVE is not set
-CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-# CONFIG_FEATURE_IFUPDOWN_IP is not set
-# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN=y
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
-# CONFIG_INETD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
-# CONFIG_FEATURE_INETD_RPC is not set
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-# CONFIG_FEATURE_IP_RULE is not set
-# CONFIG_FEATURE_IP_SHORT_FORMS is not set
-# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-# CONFIG_IPADDR is not set
-# CONFIG_IPLINK is not set
-# CONFIG_IPROUTE is not set
-# CONFIG_IPTUNNEL is not set
-# CONFIG_IPRULE is not set
-# CONFIG_IPCALC is not set
-# CONFIG_FEATURE_IPCALC_FANCY is not set
-# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
-CONFIG_NETSTAT=y
-CONFIG_FEATURE_NETSTAT_WIDE=y
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-# CONFIG_NTPD is not set
-# CONFIG_FEATURE_NTPD_SERVER is not set
-# CONFIG_PSCAN is not set
-CONFIG_ROUTE=y
-# CONFIG_SLATTACH is not set
-# CONFIG_TCPSVD is not set
-CONFIG_TELNET=y
-# CONFIG_FEATURE_TELNET_TTYPE is not set
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-# CONFIG_TELNETD is not set
-# CONFIG_FEATURE_TELNETD_STANDALONE is not set
-# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
-CONFIG_TFTP=y
-# CONFIG_TFTPD is not set
-
-#
-# Common options for tftp/tftpd
-#
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
-# CONFIG_TFTP_DEBUG is not set
-CONFIG_TRACEROUTE=y
-CONFIG_TRACEROUTE6=y
-CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
-CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
-CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-# CONFIG_UDHCPC6 is not set
-CONFIG_UDHCPD=y
-# CONFIG_DHCPRELAY is not set
-CONFIG_DUMPLEASES=y
-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
-# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
-CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
-CONFIG_UDHCPC=y
-CONFIG_FEATURE_UDHCPC_ARPING=y
-# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=0
-# CONFIG_FEATURE_UDHCP_RFC3397 is not set
-# CONFIG_FEATURE_UDHCP_8021Q is not set
-CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
-# CONFIG_UDPSVD is not set
-# CONFIG_VCONFIG is not set
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
-# CONFIG_ZCIP is not set
-
-#
-# Print Utilities
-#
-# CONFIG_LPD is not set
-# CONFIG_LPR is not set
-# CONFIG_LPQ is not set
-
-#
-# Mail Utilities
-#
-# CONFIG_MAKEMIME is not set
-CONFIG_FEATURE_MIME_CHARSET=""
-# CONFIG_POPMAILDIR is not set
-# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
-# CONFIG_REFORMIME is not set
-# CONFIG_FEATURE_REFORMIME_COMPAT is not set
-# CONFIG_SENDMAIL is not set
-
-#
-# Process Utilities
-#
-# CONFIG_IOSTAT is not set
-# CONFIG_LSOF is not set
-# CONFIG_MPSTAT is not set
-# CONFIG_NMETER is not set
-# CONFIG_PMAP is not set
-# CONFIG_POWERTOP is not set
-# CONFIG_PSTREE is not set
-# CONFIG_PWDX is not set
-# CONFIG_SMEMCAP is not set
-CONFIG_UPTIME=y
-# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-# CONFIG_KILLALL5 is not set
-# CONFIG_PGREP is not set
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-# CONFIG_PKILL is not set
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_FEATURE_PS_LONG=y
-# CONFIG_FEATURE_PS_TIME is not set
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-# CONFIG_FEATURE_TOP_SMP_CPU is not set
-# CONFIG_FEATURE_TOP_DECIMALS is not set
-# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
-# CONFIG_FEATURE_TOPMEM is not set
-# CONFIG_FEATURE_SHOW_THREADS is not set
-CONFIG_WATCH=y
-
-#
-# Runit Utilities
-#
-# CONFIG_RUNSV is not set
-# CONFIG_RUNSVDIR is not set
-# CONFIG_FEATURE_RUNSVDIR_LOG is not set
-# CONFIG_SV is not set
-CONFIG_SV_DEFAULT_SERVICE_DIR=""
-# CONFIG_SVLOGD is not set
-# CONFIG_CHPST is not set
-# CONFIG_SETUIDGID is not set
-# CONFIG_ENVUIDGID is not set
-# CONFIG_ENVDIR is not set
-# CONFIG_SOFTLIMIT is not set
-# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
-
-#
-# Shells
-#
-CONFIG_ASH=y
-CONFIG_ASH_BASH_COMPAT=y
-# CONFIG_ASH_IDLE_TIMEOUT is not set
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-# CONFIG_ASH_CMDCMD is not set
-# CONFIG_ASH_MAIL is not set
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-# CONFIG_ASH_RANDOM_SUPPORT is not set
-CONFIG_ASH_EXPAND_PRMT=y
-# CONFIG_CTTYHACK is not set
-# CONFIG_HUSH is not set
-# CONFIG_HUSH_BASH_COMPAT is not set
-# CONFIG_HUSH_BRACE_EXPANSION is not set
-# CONFIG_HUSH_HELP is not set
-# CONFIG_HUSH_INTERACTIVE is not set
-# CONFIG_HUSH_SAVEHISTORY is not set
-# CONFIG_HUSH_JOB is not set
-# CONFIG_HUSH_TICK is not set
-# CONFIG_HUSH_IF is not set
-# CONFIG_HUSH_LOOPS is not set
-# CONFIG_HUSH_CASE is not set
-# CONFIG_HUSH_FUNCTIONS is not set
-# CONFIG_HUSH_LOCAL is not set
-# CONFIG_HUSH_RANDOM_SUPPORT is not set
-# CONFIG_HUSH_EXPORT_N is not set
-# CONFIG_HUSH_MODE_X is not set
-# CONFIG_MSH is not set
-CONFIG_FEATURE_SH_IS_ASH=y
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_NONE is not set
-# CONFIG_FEATURE_BASH_IS_ASH is not set
-# CONFIG_FEATURE_BASH_IS_HUSH is not set
-CONFIG_FEATURE_BASH_IS_NONE=y
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-# CONFIG_FEATURE_SH_STANDALONE is not set
-# CONFIG_FEATURE_SH_NOFORK is not set
-CONFIG_FEATURE_SH_HISTFILESIZE=y
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-CONFIG_FEATURE_SYSLOGD_DUP=y
-CONFIG_FEATURE_SYSLOGD_CFG=y
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_KLOGD=y
-CONFIG_FEATURE_KLOGD_KLOGCTL=y
-CONFIG_LOGGER=y
diff --git a/recipes-core/busybox/files/eth0.conf b/recipes-core/busybox/files/eth0.conf
deleted file mode 100755
index 4ccb2bc..0000000
--- a/recipes-core/busybox/files/eth0.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-INTERFACE="eth0"
-# An arbitrary script may be specified:
-ARGS="-fI -i ${INTERFACE} -u 0 -d 10 -r /etc/ifplugd/ifplugd.action"
diff --git a/recipes-core/busybox/files/eth1.conf.example b/recipes-core/busybox/files/eth1.conf.example
deleted file mode 100755
index eb2337f..0000000
--- a/recipes-core/busybox/files/eth1.conf.example
+++ /dev/null
@@ -1,2 +0,0 @@
-INTERFACE="eth1"
-ARGS="-fI -i ${INTERFACE} -u 0 -d 10 -r /etc/ifplugd/ifplugd.action"
diff --git a/recipes-core/busybox/files/ifplugd.action b/recipes-core/busybox/files/ifplugd.action
deleted file mode 100755
index e7184c7..0000000
--- a/recipes-core/busybox/files/ifplugd.action
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# $Id: ifplugd.action 99 2004-02-08 20:17:59Z lennart $
-
-# This file is part of ifplugd.
-#
-# ifplugd is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2 of the License, or (at your
-# option) any later version.
-#
-# ifplugd is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with ifplugd; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-
-set -e
-
-if [ -z "$1" ] || [ -z "$2" ] ; then
- echo "Wrong arguments" > /dev/stderr
- exit 1
-fi
-
-[ "$2" = "up" ] && exec /sbin/ifup $1
-[ "$2" = "down" ] && exec /sbin/ifdown $1
-
-exit 0
diff --git a/recipes-core/busybox/files/ifplugd.default b/recipes-core/busybox/files/ifplugd.default
deleted file mode 100644
index a19632e..0000000
--- a/recipes-core/busybox/files/ifplugd.default
+++ /dev/null
@@ -1,3 +0,0 @@
-ENABLED="yes"
-#PIDFILE="/run/ifplugd.${INTERFACE}.pid"
-
diff --git a/recipes-core/busybox/files/ifplugd.init b/recipes-core/busybox/files/ifplugd.init
deleted file mode 100755
index 418b088..0000000
--- a/recipes-core/busybox/files/ifplugd.init
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/bash
-#
-# ifplugd init.d script
-[[ -x /usr/sbin/ifplugd ]] || exit 0
-[[ -r /etc/default/ifplugd ]] && . /etc/default/ifplugd
-
-
-#Functions to do individual actions
-startdaemon(){
- # Start the application
- echo -n "Starting ifplugd: "
- CONFS=($(find -L /etc/ifplugd -name '*.conf'))
- ((i=0))
- logger -p daemon.info "Found ${#CONFS[@]} Configurations"
- while ((i < ${#CONFS[@]})) ; do
- unset ARGS INTERFACE
- . ${CONFS[$i]}
- logger -p daemon.info "Starting Interface ${INTERFACE}"
- ((i++))
- /usr/sbin/start-stop-daemon -Svp /run/ifplugd.${INTERFACE}.pid -a /usr/sbin/ifplugd -- ${ARGS}
- done
- if ((${#CONFS[@]} == 0)) ; then
- /usr/sbin/start-stop-daemon -n ifplugd -Sv -x /usr/sbin/ifplugd -- ${ARGS}
- fi
- echo "done"
-}
-stopdaemon(){
- echo -n "Stopping ifplugd: "
- PIDS=($(find /run -xdev -name 'ifplugd.*.pid'))
- ((i=0))
- while ((i < ${#PIDS[@]})) ; do
- PF=${PIDS[$i]}
- [[ $PF =~ /ifplugd\.([^.]*)\.pid ]]
- IF=${BASH_REMATCH[1]}
- logger -p user.info "Shutting down interface $IF"
- /usr/sbin/start-stop-daemon -n ifplugd -Kqp $PF
- ((i++))
- done
- echo "done"
-}
-
-case "$1" in
- start)
- [[ ${ENABLED} == "yes" ]] || exit 0
- startdaemon
- ;;
- stop)
- stopdaemon
- ;;
- restart|force-reload)
- stopdaemon
- sleep 2
- startdaemon
- ;;
- *)
- echo "Usage: /etc/init.d/ifplugd { start | stop | restart | force-reload }" >&2
- exit 1
- ;;
-esac
-
-exit 0
-
diff --git a/recipes-core/busybox/files/ifplugd.patch b/recipes-core/busybox/files/ifplugd.patch
deleted file mode 100644
index 839a8a2..0000000
--- a/recipes-core/busybox/files/ifplugd.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# This patch is found here:
-# http://lists.busybox.net/pipermail/busybox/2018-March/086328.html
-# Basically ifplugd will not stay up if the driver is loading.
-# This is particularly apparent with gadget.
-diff -arNu a/networking/ifplugd.c b/networking/ifplugd.c
---- a/networking/ifplugd.c 2019-05-28 18:11:43.836982315 -0500
-+++ b/networking/ifplugd.c 2019-05-28 18:13:13.088979672 -0500
-@@ -358,8 +358,10 @@
- ifrequest.ifr_flags |= IFF_UP;
- /* Let user know we mess up with interface */
- bb_error_msg("upping interface");
-- if (network_ioctl(SIOCSIFFLAGS, &ifrequest, "setting interface flags") < 0)
-+ if (network_ioctl(SIOCSIFFLAGS, &ifrequest, "setting interface flags") < 0) {
-+ if (errno != ENODEV && errno != EADDRNOTAVAIL)
- xfunc_die();
-+ }
- }
-
- #if 0 /* why do we mess with IP addr? It's not our business */
diff --git a/recipes-core/busybox/files/syslog-startup.conf b/recipes-core/busybox/files/syslog-startup.conf
deleted file mode 100644
index f4fb90b..0000000
--- a/recipes-core/busybox/files/syslog-startup.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-# This configuration file is used by the busybox syslog init script,
-# /etc/init.d/syslog[.busybox] to set syslog configuration at start time.
-
-DESTINATION=file # log destinations (buffer file remote)
-LOGFILE=/var/log/messages # where to log (file)
-REMOTE=loghost:514 # where to log (syslog remote)
-REDUCE=no # reduce-size logging
-DROPDUPLICATES=no # whether to drop duplicate log entries
-ROTATESIZE=512 # rotate log if grown beyond X [kByte]
-ROTATEGENS=4 # keep X generations of rotated logs
-BUFFERSIZE=64 # size of circular buffer [kByte]
-FOREGROUND=no # run in foreground (don't use!)
-#LOGLEVEL=5 # local log level (between 1 and 8)
diff --git a/recipes-core/busybox/files/udhcpd.conf.example b/recipes-core/busybox/files/udhcpd.conf.example
deleted file mode 100644
index f72d672..0000000
--- a/recipes-core/busybox/files/udhcpd.conf.example
+++ /dev/null
@@ -1,6 +0,0 @@
-start 192.168.2.100
-end 192.168.2.254
-interface eth0
-option subnet 255.255.255.0
-option router 192.168.2.1
-option dns 8.8.8.8 # google's DNS server
diff --git a/recipes-core/busybox/ifplugd-disable_1.0.bb b/recipes-core/busybox/ifplugd-disable_1.0.bb
deleted file mode 100644
index 3037e23..0000000
--- a/recipes-core/busybox/ifplugd-disable_1.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-DESCRIPTION = "Turn off ifplugd"
-LICENSE = "GPLv2"
-PACKAGE_ARCH = "all"
-
-RDEPENDS_ifplugd-disable = "busybox-ifplugd"
-ALLOW_EMPTY_ifplugd-disable = "1"
-
-PR = "r2"
-
-
-# Mount root rw to disable/enable ifplugd.
-# Mount root ro when we are done.
-# This makes the Yocto Police happy.
-pkg_prerm_${PN}() {
-ro=0
-if [ -z "$D" ] ; then
- if egrep -q '[[:space:]]/[[:space:]].*[[:space:]]ro,' /proc/mounts ; then
- ro=1
- mount -o remount,rw /
- fi
-fi
-sed -i 's/^ENABLED="no"/ENABLED="yes"/i' $D${sysconfdir}/default/ifplugd
-if [ $ro -eq 1 ] ; then
- mount -o remount,ro /
-fi
-}
-
-pkg_postinst_${PN}() {
-ro=0
-if [ -z "$D" ] ; then
- if egrep -q '[[:space:]]/[[:space:]].*[[:space:]]ro,' /proc/mounts ; then
- ro=1
- mount -o remount,rw /
- fi
-fi
-sed -i 's/^ENABLED="yes"/ENABLED="no"/i' $D${sysconfdir}/default/ifplugd
-if [ -f $D/var/config/default/ifplugd ]; then
- sed -i 's/^ENABLED="yes"/ENABLED="no"/i' $D/var/config/default/ifplugd
-else
- cp $D${sysconfdir}/default/ifplugd $D/var/config/default/ifplugd
-fi
-if [ $ro -eq 1 ] ; then
- mount -o remount,ro /
-fi
-}
diff --git a/recipes-core/eglibc/eglibc/cvs-gethostbyname4-memory-leak.patch b/recipes-core/eglibc/eglibc/cvs-gethostbyname4-memory-leak.patch
deleted file mode 100644
index cd4e388..0000000
--- a/recipes-core/eglibc/eglibc/cvs-gethostbyname4-memory-leak.patch
+++ /dev/null
@@ -1,576 +0,0 @@
-diff -Naur '--exclude=.git' '--exclude=*.pyc' '--exclude=*.py' '--exclude=*.*~' libc.orig/include/arpa/nameser_compat.h libc/include/arpa/nameser_compat.h
---- libc.orig/include/arpa/nameser_compat.h 2008-05-12 11:38:35.000000000 -0400
-+++ libc/include/arpa/nameser_compat.h 2017-04-06 16:34:20.413823000 -0400
-@@ -1,8 +1,8 @@
- #ifndef _ARPA_NAMESER_COMPAT_
- #include <resolv/arpa/nameser_compat.h>
-
--/* Picksome unused number to represent lookups of IPv4 and IPv6 (i.e.,
-- T_A and T_AAAA). */
--#define T_UNSPEC 62321
-+/* The number is outside the 16-bit RR type range and is used
-+ internally by the implementation. */
-+#define T_QUERY_A_AND_AAAA 439963904
-
- #endif
-diff -Naur '--exclude=.git' '--exclude=*.pyc' '--exclude=*.py' '--exclude=*.*~' libc.orig/include/resolv.h libc/include/resolv.h
---- libc.orig/include/resolv.h 2013-09-05 18:41:05.000000000 -0400
-+++ libc/include/resolv.h 2017-04-06 16:33:09.853700600 -0400
-@@ -48,11 +48,11 @@
- libc_hidden_proto (__res_state)
-
- int __libc_res_nquery (res_state, const char *, int, int, u_char *, int,
-- u_char **, u_char **, int *, int *);
-+ u_char **, u_char **, int *, int *, int *);
- int __libc_res_nsearch (res_state, const char *, int, int, u_char *, int,
-- u_char **, u_char **, int *, int *);
-+ u_char **, u_char **, int *, int *, int *);
- int __libc_res_nsend (res_state, const u_char *, int, const u_char *, int,
-- u_char *, int, u_char **, u_char **, int *, int *)
-+ u_char *, int, u_char **, u_char **, int *, int *, int *)
- attribute_hidden;
-
- libresolv_hidden_proto (_sethtent)
-diff -Naur '--exclude=.git' '--exclude=*.pyc' '--exclude=*.py' '--exclude=*.*~' libc.orig/resolv/gethnamaddr.c libc/resolv/gethnamaddr.c
---- libc.orig/resolv/gethnamaddr.c 2013-06-15 13:37:04.000000000 -0400
-+++ libc/resolv/gethnamaddr.c 2017-04-06 16:13:44.727609300 -0400
-@@ -621,7 +621,7 @@
- buf.buf = origbuf = (querybuf *) alloca (1024);
-
- if ((n = __libc_res_nsearch(&_res, name, C_IN, type, buf.buf->buf, 1024,
-- &buf.ptr, NULL, NULL, NULL)) < 0) {
-+ &buf.ptr, NULL, NULL, NULL, NULL)) < 0) {
- if (buf.buf != origbuf)
- free (buf.buf);
- Dprintf("res_nsearch failed (%d)\n", n);
-@@ -716,12 +716,12 @@
- buf.buf = orig_buf = (querybuf *) alloca (1024);
-
- n = __libc_res_nquery(&_res, qbuf, C_IN, T_PTR, buf.buf->buf, 1024,
-- &buf.ptr, NULL, NULL, NULL);
-+ &buf.ptr, NULL, NULL, NULL, NULL);
- if (n < 0 && af == AF_INET6 && (_res.options & RES_NOIP6DOTINT) == 0) {
- strcpy(qp, "ip6.int");
- n = __libc_res_nquery(&_res, qbuf, C_IN, T_PTR, buf.buf->buf,
- buf.buf != orig_buf ? MAXPACKET : 1024,
-- &buf.ptr, NULL, NULL, NULL);
-+ &buf.ptr, NULL, NULL, NULL, NULL);
- }
- if (n < 0) {
- if (buf.buf != orig_buf)
-diff -Naur '--exclude=.git' '--exclude=*.pyc' '--exclude=*.py' '--exclude=*.*~' libc.orig/resolv/nss_dns/dns-canon.c libc/resolv/nss_dns/dns-canon.c
---- libc.orig/resolv/nss_dns/dns-canon.c 2014-01-03 12:51:28.000000000 -0500
-+++ libc/resolv/nss_dns/dns-canon.c 2017-04-06 16:11:49.654787500 -0400
-@@ -62,7 +62,7 @@
- {
- int r = __libc_res_nquery (&_res, name, ns_c_in, qtypes[i],
- buf, sizeof (buf), &ansp.ptr, NULL, NULL,
-- NULL);
-+ NULL, NULL);
- if (r > 0)
- {
- /* We need to decode the response. Just one question record.
-diff -Naur '--exclude=.git' '--exclude=*.pyc' '--exclude=*.py' '--exclude=*.*~' libc.orig/resolv/nss_dns/dns-host.c libc/resolv/nss_dns/dns-host.c
---- libc.orig/resolv/nss_dns/dns-host.c 2017-04-06 14:03:55.000000000 -0400
-+++ libc/resolv/nss_dns/dns-host.c 2017-04-06 16:12:50.319551700 -0400
-@@ -190,7 +190,7 @@
- host_buffer.buf = orig_host_buffer = (querybuf *) alloca (1024);
-
- n = __libc_res_nsearch (&_res, name, C_IN, type, host_buffer.buf->buf,
-- 1024, &host_buffer.ptr, NULL, NULL, NULL);
-+ 1024, &host_buffer.ptr, NULL, NULL, NULL, NULL);
- if (n < 0)
- {
- switch (errno)
-@@ -225,7 +225,7 @@
- n = __libc_res_nsearch (&_res, name, C_IN, T_A, host_buffer.buf->buf,
- host_buffer.buf != orig_host_buffer
- ? MAXPACKET : 1024, &host_buffer.ptr,
-- NULL, NULL, NULL);
-+ NULL, NULL, NULL, NULL);
-
- if (n < 0)
- {
-@@ -308,12 +308,13 @@
- u_char *ans2p = NULL;
- int nans2p = 0;
- int resplen2 = 0;
-+ int ans2p_malloced = 0;
-
- int olderr = errno;
- enum nss_status status;
-- int n = __libc_res_nsearch (&_res, name, C_IN, T_UNSPEC,
-+ int n = __libc_res_nsearch (&_res, name, C_IN, T_QUERY_A_AND_AAAA,
- host_buffer.buf->buf, 2048, &host_buffer.ptr,
-- &ans2p, &nans2p, &resplen2);
-+ &ans2p, &nans2p, &resplen2, &ans2p_malloced);
- if (n < 0)
- {
- switch (errno)
-@@ -352,6 +353,10 @@
- resplen2, name, pat, buffer, buflen,
- errnop, herrnop, ttlp);
-
-+ /* Check whether ans2p was separately allocated. */
-+ if (ans2p_malloced)
-+ free (ans2p);
-+
- if (host_buffer.buf != orig_host_buffer)
- free (host_buffer.buf);
-
-@@ -460,7 +465,7 @@
- strcpy (qp, "].ip6.arpa");
- n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR,
- host_buffer.buf->buf, 1024, &host_buffer.ptr,
-- NULL, NULL, NULL);
-+ NULL, NULL, NULL, NULL);
- if (n >= 0)
- goto got_it_already;
- }
-@@ -481,14 +486,14 @@
- }
-
- n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
-- 1024, &host_buffer.ptr, NULL, NULL, NULL);
-+ 1024, &host_buffer.ptr, NULL, NULL, NULL, NULL);
- if (n < 0 && af == AF_INET6 && (_res.options & RES_NOIP6DOTINT) == 0)
- {
- strcpy (qp, "ip6.int");
- n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
- host_buffer.buf != orig_host_buffer
- ? MAXPACKET : 1024, &host_buffer.ptr,
-- NULL, NULL, NULL);
-+ NULL, NULL, NULL, NULL);
- }
- if (n < 0)
- {
-@@ -613,7 +618,8 @@
- int have_to_map = 0;
- uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data);
- buffer += pad;
-- if (__builtin_expect (buflen < sizeof (struct host_data) + pad, 0))
-+ buflen = buflen > pad ? buflen - pad : 0;
-+ if (__glibc_unlikely (buflen < sizeof (struct host_data)))
- {
- /* The buffer is too small. */
- too_small:
-
-diff -Naur '--exclude=.git' '--exclude=*.pyc' '--exclude=*.py' '--exclude=*.*~' libc.orig/resolv/nss_dns/dns-network.c libc/resolv/nss_dns/dns-network.c
---- libc.orig/resolv/nss_dns/dns-network.c 2014-01-03 12:51:28.000000000 -0500
-+++ libc/resolv/nss_dns/dns-network.c 2017-04-06 16:13:18.561373600 -0400
-@@ -118,18 +118,15 @@
- } net_buffer;
- querybuf *orig_net_buffer;
- int anslen;
-- char *qbuf;
- enum nss_status status;
-
- if (__res_maybe_init (&_res, 0) == -1)
- return NSS_STATUS_UNAVAIL;
-
-- qbuf = strdupa (name);
--
- net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024);
-
-- anslen = __libc_res_nsearch (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf,
-- 1024, &net_buffer.ptr, NULL, NULL, NULL);
-+ anslen = __libc_res_nsearch (&_res, name, C_IN, T_PTR, net_buffer.buf->buf,
-+ 1024, &net_buffer.ptr, NULL, NULL, NULL, NULL);
- if (anslen < 0)
- {
- /* Nothing found. */
-@@ -205,7 +202,7 @@
- net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024);
-
- anslen = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf,
-- 1024, &net_buffer.ptr, NULL, NULL, NULL);
-+ 1024, &net_buffer.ptr, NULL, NULL, NULL, NULL);
- if (anslen < 0)
- {
- /* Nothing found. */
-@@ -398,8 +395,8 @@
-
- case BYNAME:
- {
-- char **ap = result->n_aliases++;
-- while (*ap != NULL)
-+ char **ap;
-+ for (ap = result->n_aliases; *ap != NULL; ++ap)
- {
- /* Check each alias name for being of the forms:
- 4.3.2.1.in-addr.arpa = net 1.2.3.4
-diff -Naur '--exclude=.git' '--exclude=*.pyc' '--exclude=*.py' '--exclude=*.*~' libc.orig/resolv/res_mkquery.c libc/resolv/res_mkquery.c
---- libc.orig/resolv/res_mkquery.c 2013-09-05 18:41:05.000000000 -0400
-+++ libc/resolv/res_mkquery.c 2017-04-06 16:13:56.412597600 -0400
-@@ -110,6 +110,10 @@
- int n;
- u_char *dnptrs[20], **dpp, **lastdnptr;
-
-+ if (class < 0 || class > 65535
-+ || type < 0 || type > 65535)
-+ return -1;
-+
- #ifdef DEBUG
- if (statp->options & RES_DEBUG)
- printf(";; res_nmkquery(%s, %s, %s, %s)\n",
-diff -Naur '--exclude=.git' '--exclude=*.pyc' '--exclude=*.py' '--exclude=*.*~' libc.orig/resolv/res_query.c libc/resolv/res_query.c
---- libc.orig/resolv/res_query.c 2017-04-06 14:03:55.000000000 -0400
-+++ libc/resolv/res_query.c 2017-04-06 16:15:04.137842200 -0400
-@@ -98,7 +98,7 @@
- __libc_res_nquerydomain(res_state statp, const char *name, const char *domain,
- int class, int type, u_char *answer, int anslen,
- u_char **answerp, u_char **answerp2, int *nanswerp2,
-- int *resplen2);
-+ int *resplen2, int *answerp2_malloced);
-
- /*
- * Formulate a normal query, send, and await answer.
-@@ -119,14 +119,15 @@
- u_char **answerp, /* if buffer needs to be enlarged */
- u_char **answerp2,
- int *nanswerp2,
-- int *resplen2)
-+ int *resplen2,
-+ int *answerp2_malloced)
- {
- HEADER *hp = (HEADER *) answer;
- HEADER *hp2;
- int n, use_malloc = 0;
- u_int oflags = statp->_flags;
-
-- size_t bufsize = (type == T_UNSPEC ? 2 : 1) * QUERYSIZE;
-+ size_t bufsize = (type == T_QUERY_A_AND_AAAA ? 2 : 1) * QUERYSIZE;
- u_char *buf = alloca (bufsize);
- u_char *query1 = buf;
- int nquery1 = -1;
-@@ -141,7 +142,7 @@
- printf(";; res_query(%s, %d, %d)\n", name, class, type);
- #endif
-
-- if (type == T_UNSPEC)
-+ if (type == T_QUERY_A_AND_AAAA)
- {
- n = res_nmkquery(statp, QUERY, name, class, T_A, NULL, 0, NULL,
- query1, bufsize);
-@@ -194,7 +195,7 @@
- if (__builtin_expect (n <= 0, 0) && !use_malloc) {
- /* Retry just in case res_nmkquery failed because of too
- short buffer. Shouldn't happen. */
-- bufsize = (type == T_UNSPEC ? 2 : 1) * MAXPACKET;
-+ bufsize = (type == T_QUERY_A_AND_AAAA ? 2 : 1) * MAXPACKET;
- buf = malloc (bufsize);
- if (buf != NULL) {
- query1 = buf;
-@@ -224,7 +225,8 @@
- }
- assert (answerp == NULL || (void *) *answerp == (void *) answer);
- n = __libc_res_nsend(statp, query1, nquery1, query2, nquery2, answer,
-- anslen, answerp, answerp2, nanswerp2, resplen2);
-+ anslen, answerp, answerp2, nanswerp2, resplen2,
-+ answerp2_malloced);
- if (use_malloc)
- free (buf);
- if (n < 0) {
-@@ -316,7 +318,7 @@
- int anslen) /* size of answer buffer */
- {
- return __libc_res_nquery(statp, name, class, type, answer, anslen,
-- NULL, NULL, NULL, NULL);
-+ NULL, NULL, NULL, NULL, NULL);
- }
- libresolv_hidden_def (res_nquery)
-
-@@ -335,7 +337,8 @@
- u_char **answerp,
- u_char **answerp2,
- int *nanswerp2,
-- int *resplen2)
-+ int *resplen2,
-+ int *answerp2_malloced)
- {
- const char *cp, * const *domain;
- HEADER *hp = (HEADER *) answer;
-@@ -360,7 +363,7 @@
- if (!dots && (cp = res_hostalias(statp, name, tmp, sizeof tmp))!= NULL)
- return (__libc_res_nquery(statp, cp, class, type, answer,
- anslen, answerp, answerp2,
-- nanswerp2, resplen2));
-+ nanswerp2, resplen2, answerp2_malloced));
-
- #ifdef DEBUG
- if (statp->options & RES_DEBUG)
-@@ -377,8 +380,9 @@
- if (dots >= statp->ndots || trailing_dot) {
- ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
- answer, anslen, answerp,
-- answerp2, nanswerp2, resplen2);
-- if (ret > 0 || trailing_dot)
-+ answerp2, nanswerp2, resplen2,
-+ answerp2_malloced);
-+ if (ret > 0 || (ret == 0 && *resplen2 > 0) || trailing_dot)
- return (ret);
- saved_herrno = h_errno;
- tried_as_is++;
-@@ -386,12 +390,12 @@
- answer = *answerp;
- anslen = MAXPACKET;
- }
-- if (answerp2
-- && (*answerp2 < answer || *answerp2 >= answer + anslen))
-+ if (answerp2 && *answerp2_malloced)
- {
- free (*answerp2);
- *answerp2 = NULL;
- *nanswerp2 = 0;
-+ *answerp2_malloced = 0;
- }
- }
-
-@@ -418,21 +422,20 @@
- class, type,
- answer, anslen, answerp,
- answerp2, nanswerp2,
-- resplen2);
-- if (ret > 0)
-+ resplen2, answerp2_malloced);
-+ if ((ret > 0) || (ret == 0 && *resplen2 > 0))
- return (ret);
-
- if (answerp && *answerp != answer) {
- answer = *answerp;
- anslen = MAXPACKET;
- }
-- if (answerp2
-- && (*answerp2 < answer
-- || *answerp2 >= answer + anslen))
-+ if (answerp2 && *answerp2_malloced)
- {
- free (*answerp2);
- *answerp2 = NULL;
- *nanswerp2 = 0;
-+ *answerp2_malloced = 0;
- }
-
- /*
-@@ -488,8 +491,9 @@
- && !(tried_as_is || root_on_list)) {
- ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
- answer, anslen, answerp,
-- answerp2, nanswerp2, resplen2);
-- if (ret > 0)
-+ answerp2, nanswerp2, resplen2,
-+ answerp2_malloced);
-+ if ((ret > 0) || (ret == 0 && *resplen2 > 0))
- return (ret);
- }
-
-@@ -500,11 +504,12 @@
- * else send back meaningless H_ERRNO, that being the one from
- * the last DNSRCH we did.
- */
-- if (answerp2 && (*answerp2 < answer || *answerp2 >= answer + anslen))
-+ if (answerp2 && *answerp2_malloced)
- {
- free (*answerp2);
- *answerp2 = NULL;
- *nanswerp2 = 0;
-+ *answerp2_malloced = 0;
- }
- if (saved_herrno != -1)
- RES_SET_H_ERRNO(statp, saved_herrno);
-@@ -524,7 +529,7 @@
- int anslen) /* size of answer */
- {
- return __libc_res_nsearch(statp, name, class, type, answer,
-- anslen, NULL, NULL, NULL, NULL);
-+ anslen, NULL, NULL, NULL, NULL, NULL);
- }
- libresolv_hidden_def (res_nsearch)
-
-@@ -542,7 +547,8 @@
- u_char **answerp,
- u_char **answerp2,
- int *nanswerp2,
-- int *resplen2)
-+ int *resplen2,
-+ int *answerp2_malloced)
- {
- char nbuf[MAXDNAME];
- const char *longname = nbuf;
-@@ -584,7 +590,7 @@
- }
- return (__libc_res_nquery(statp, longname, class, type, answer,
- anslen, answerp, answerp2, nanswerp2,
-- resplen2));
-+ resplen2, answerp2_malloced));
- }
-
- int
-@@ -596,7 +602,8 @@
- int anslen) /* size of answer */
- {
- return __libc_res_nquerydomain(statp, name, domain, class, type,
-- answer, anslen, NULL, NULL, NULL, NULL);
-+ answer, anslen, NULL, NULL, NULL, NULL,
-+ NULL);
- }
- libresolv_hidden_def (res_nquerydomain)
-
-diff -Naur libc.orig/resolv/res_send.c libc/resolv/res_send.c
---- libc.orig/resolv/res_send.c 2017-04-21 17:26:25.089490339 -0500
-+++ libc/resolv/res_send.c 2017-04-21 17:30:47.397482573 -0500
-@@ -120,13 +120,13 @@
- #define MAXPACKET 65536
- #endif
-
--
-+#ifdef SOCK_NONBLOCK
- #ifndef __ASSUME_SOCK_CLOEXEC
- static int __have_o_nonblock;
- #else
- # define __have_o_nonblock 0
- #endif
--
-+#endif
-
- /* From ev_streams.c. */
-
-@@ -203,12 +203,12 @@
- static int send_vc(res_state, const u_char *, int,
- const u_char *, int,
- u_char **, int *, int *, int, u_char **,
-- u_char **, int *, int *);
-+ u_char **, int *, int *, int *);
- static int send_dg(res_state, const u_char *, int,
- const u_char *, int,
- u_char **, int *, int *, int,
- int *, int *, u_char **,
-- u_char **, int *, int *);
-+ u_char **, int *, int *, int *);
- #ifdef DEBUG
- static void Aerror(const res_state, FILE *, const char *, int,
- const struct sockaddr *);
-@@ -360,7 +360,7 @@
- __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
- const u_char *buf2, int buflen2,
- u_char *ans, int anssiz, u_char **ansp, u_char **ansp2,
-- int *nansp2, int *resplen2)
-+ int *nansp2, int *resplen2, int *ansp2_malloced)
- {
- int gotsomewhere, terrno, try, v_circuit, resplen, ns, n;
-
-@@ -565,7 +565,8 @@
- try = statp->retry;
- n = send_vc(statp, buf, buflen, buf2, buflen2,
- &ans, &anssiz, &terrno,
-- ns, ansp, ansp2, nansp2, resplen2);
-+ ns, ansp, ansp2, nansp2, resplen2,
-+ ansp2_malloced);
- if (n < 0)
- return (-1);
- if (n == 0 && (buf2 == NULL || *resplen2 == 0))
-@@ -575,7 +576,7 @@
- n = send_dg(statp, buf, buflen, buf2, buflen2,
- &ans, &anssiz, &terrno,
- ns, &v_circuit, &gotsomewhere, ansp,
-- ansp2, nansp2, resplen2);
-+ ansp2, nansp2, resplen2, ansp2_malloced);
- if (n < 0)
- return (-1);
- if (n == 0 && (buf2 == NULL || *resplen2 == 0))
-@@ -665,7 +666,7 @@
- const u_char *buf, int buflen, u_char *ans, int anssiz)
- {
- return __libc_res_nsend(statp, buf, buflen, NULL, 0, ans, anssiz,
-- NULL, NULL, NULL, NULL);
-+ NULL, NULL, NULL, NULL, NULL);
- }
- libresolv_hidden_def (res_nsend)
-
-@@ -747,7 +748,7 @@
- const u_char *buf, int buflen, const u_char *buf2, int buflen2,
- u_char **ansp, int *anssizp,
- int *terrno, int ns, u_char **anscp, u_char **ansp2, int *anssizp2,
-- int *resplen2)
-+ int *resplen2, int *ansp2_malloced)
- {
- const HEADER *hp = (HEADER *) buf;
- const HEADER *hp2 = (HEADER *) buf2;
-@@ -896,6 +897,8 @@
- }
- *thisanssizp = MAXPACKET;
- *thisansp = newp;
-+ if (thisansp == ansp2)
-+ *ansp2_malloced = 1;
- anhp = (HEADER *) newp;
- /* A uint16_t can't be larger than MAXPACKET
- thus it's safe to allocate MAXPACKET but
-@@ -993,6 +996,7 @@
-
- /* only try IPv6 if IPv6 NS and if not failed before */
- if (nsap->sa_family == AF_INET6 && !statp->ipv6_unavail) {
-+#ifdef SOCK_NONBLOCK
- if (__builtin_expect (__have_o_nonblock >= 0, 1)) {
- EXT(statp).nssocks[ns] =
- socket(PF_INET6, SOCK_DGRAM|SOCK_NONBLOCK,
-@@ -1005,12 +1009,14 @@
- #endif
- }
- if (__builtin_expect (__have_o_nonblock < 0, 0))
-+#endif
- EXT(statp).nssocks[ns] =
- socket(PF_INET6, SOCK_DGRAM, 0);
- if (EXT(statp).nssocks[ns] < 0)
- statp->ipv6_unavail = errno == EAFNOSUPPORT;
- slen = sizeof (struct sockaddr_in6);
- } else if (nsap->sa_family == AF_INET) {
-+#ifdef SOCK_NONBLOCK
- if (__builtin_expect (__have_o_nonblock >= 0, 1)) {
- EXT(statp).nssocks[ns]
- = socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK,
-@@ -1023,6 +1029,7 @@
- #endif
- }
- if (__builtin_expect (__have_o_nonblock < 0, 0))
-+#endif
- EXT(statp).nssocks[ns]
- = socket(PF_INET, SOCK_DGRAM, 0);
- slen = sizeof (struct sockaddr_in);
-@@ -1049,7 +1056,11 @@
- __res_iclose(statp, false);
- return (0);
- }
-+#ifdef SOCK_NONBLOCK
- if (__builtin_expect (__have_o_nonblock < 0, 0)) {
-+#else
-+ {
-+#endif
- /* Make socket non-blocking. */
- int fl = __fcntl (EXT(statp).nssocks[ns], F_GETFL);
- if (fl != -1)
-@@ -1128,7 +1139,7 @@
- const u_char *buf, int buflen, const u_char *buf2, int buflen2,
- u_char **ansp, int *anssizp,
- int *terrno, int ns, int *v_circuit, int *gotsomewhere, u_char **anscp,
-- u_char **ansp2, int *anssizp2, int *resplen2)
-+ u_char **ansp2, int *anssizp2, int *resplen2, int *ansp2_malloced)
- {
- const HEADER *hp = (HEADER *) buf;
- const HEADER *hp2 = (HEADER *) buf2;
-@@ -1359,6 +1370,8 @@
- if (newp != NULL) {
- *thisanssizp = MAXPACKET;
- *thisansp = newp;
-+ if (thisansp == ansp2)
-+ *ansp2_malloced = 1;
- }
- }
- /* We could end up with truncation if anscp was NULL
-@@ -1542,6 +1555,7 @@
- retval = reopen (statp, terrno, ns);
- if (retval <= 0)
- return retval;
-+ pfd[0].fd = EXT(statp).nssocks[ns];
- }
- }
- goto wait;
diff --git a/recipes-core/eglibc/eglibc_%.bbappend.obsolete b/recipes-core/eglibc/eglibc_%.bbappend.obsolete
deleted file mode 100644
index 68af86e..0000000
--- a/recipes-core/eglibc/eglibc_%.bbappend.obsolete
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}"
-SRC_URI += "file://cvs-gethostbyname4-memory-leak.patch"
-PR = "r2"
diff --git a/recipes-core/file-magic-db-images/file-magic-db-images_0.1.bb b/recipes-core/file-magic-db-images/file-magic-db-images_0.1.bb
deleted file mode 100644
index 43d3052..0000000
--- a/recipes-core/file-magic-db-images/file-magic-db-images_0.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "Stripped MIME detection database for file(1) with definition of images"
-HOMEPAGE = "http://www.darwinsys.com/file/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=6a7382872edb68d33e1a9398b6e03188"
-DEPENDS = "file-native"
-FILES_${PN} = "${datadir}/misc/magic-images.mgc"
-
-PV = "0.1"
-PR = "r5"
-
-SRC_URI = "file://COPYING \
- file://Magdir/images \
- file://Magdir/jpeg \
- file://Magdir/msdos \
- file://Magdir/sgml"
-
-S = "${WORKDIR}"
-
-do_compile() {
- ${STAGING_BINDIR_NATIVE}/file-native/file -v
- ${STAGING_BINDIR_NATIVE}/file-native/file -C -m ${S}/Magdir
-}
-
-do_install() {
- install -d ${D}/${datadir}/misc/
- install -m 0644 ${WORKDIR}/Magdir.mgc ${D}/${datadir}/misc/magic-images.mgc
-}
diff --git a/recipes-core/file-magic-db-images/files/COPYING b/recipes-core/file-magic-db-images/files/COPYING
deleted file mode 100644
index 68148e2..0000000
--- a/recipes-core/file-magic-db-images/files/COPYING
+++ /dev/null
@@ -1,29 +0,0 @@
-$File: LEGAL.NOTICE,v 1.15 2006/05/03 18:48:33 christos Exp $
-Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
-Software written by Ian F. Darwin and others;
-maintained 1994- Christos Zoulas.
-
-This software is not subject to any export provision of the United States
-Department of Commerce, and may be exported to any country or planet.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice immediately at the beginning of the file, without modification,
- this list of conditions, and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
diff --git a/recipes-core/file-magic-db-images/files/Magdir/images b/recipes-core/file-magic-db-images/files/Magdir/images
deleted file mode 100644
index 493027f..0000000
--- a/recipes-core/file-magic-db-images/files/Magdir/images
+++ /dev/null
@@ -1,78 +0,0 @@
-# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
-# (Greg Roelofs, newt@uchicago.edu)
-# (Albert Cahalan, acahalan@cs.uml.edu)
-#
-# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
-#
-0 string \x89PNG\x0d\x0a\x1a\x0a PNG image data
-!:mime image/png
->16 belong x \b, %d x
->20 belong x %d,
->24 byte x %d-bit
->25 byte 0 grayscale,
->25 byte 2 \b/color RGB,
->25 byte 3 colormap,
->25 byte 4 gray+alpha,
->25 byte 6 \b/color RGBA,
-#>26 byte 0 deflate/32K,
->28 byte 0 non-interlaced
->28 byte 1 interlaced
-
-# GIF
-0 string GIF8 GIF image data
-!:mime image/gif
-!:apple 8BIMGIFf
->4 string 7a \b, version 8%s,
->4 string 9a \b, version 8%s,
->6 leshort >0 %d x
->8 leshort >0 %d
-#>10 byte &0x80 color mapped,
-#>10 byte&0x07 =0x00 2 colors
-#>10 byte&0x07 =0x01 4 colors
-#>10 byte&0x07 =0x02 8 colors
-#>10 byte&0x07 =0x03 16 colors
-#>10 byte&0x07 =0x04 32 colors
-#>10 byte&0x07 =0x05 64 colors
-#>10 byte&0x07 =0x06 128 colors
-#>10 byte&0x07 =0x07 256 colors
-
-# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu)
-# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\
-# 28bitmap_information_header.29
-0 string BM
->14 leshort 12 PC bitmap, OS/2 1.x format
-!:mime image/x-ms-bmp
->>18 leshort x \b, %d x
->>20 leshort x %d
->14 leshort 64 PC bitmap, OS/2 2.x format
-!:mime image/x-ms-bmp
->>18 leshort x \b, %d x
->>20 leshort x %d
->14 leshort 40 PC bitmap, Windows 3.x format
-!:mime image/x-ms-bmp
->>18 lelong x \b, %d x
->>22 lelong x %d x
->>28 leshort x %d
->14 leshort 124 PC bitmap, Windows 98/2000 and newer format
-!:mime image/x-ms-bmp
->>18 lelong x \b, %d x
->>22 lelong x %d x
->>28 leshort x %d
->14 leshort 108 PC bitmap, Windows 95/NT4 and newer format
-!:mime image/x-ms-bmp
->>18 lelong x \b, %d x
->>22 lelong x %d x
->>28 leshort x %d
->14 leshort 128 PC bitmap, Windows NT/2000 format
-!:mime image/x-ms-bmp
->>18 lelong x \b, %d x
->>22 lelong x %d x
->>28 leshort x %d
-# Too simple - MPi
-#0 string IC PC icon data
-#0 string PI PC pointer image data
-#0 string CI PC color icon data
-#0 string CP PC color pointer image data
-# Conflicts with other entries [BABYL]
-#0 string BA PC bitmap array data
-
diff --git a/recipes-core/file-magic-db-images/files/Magdir/jpeg b/recipes-core/file-magic-db-images/files/Magdir/jpeg
deleted file mode 100644
index e6a4ffa..0000000
--- a/recipes-core/file-magic-db-images/files/Magdir/jpeg
+++ /dev/null
@@ -1,119 +0,0 @@
-
-#------------------------------------------------------------------------------
-# $File: jpeg,v 1.28 2015/04/09 20:01:40 christos Exp $
-# JPEG images
-# SunOS 5.5.1 had
-#
-# 0 string \377\330\377\340 JPEG file
-# 0 string \377\330\377\356 JPG file
-#
-# both of which turn into "JPEG image data" here.
-#
-0 beshort 0xffd8 JPEG image data
-!:mime image/jpeg
-!:apple 8BIMJPEG
-!:strength *3
-!:ext jpeg/jpg/jpe/jfif
->6 string JFIF \b, JFIF standard
-# The following added by Erik Rossen <rossen@freesurf.ch> 1999-09-06
-# in a vain attempt to add image size reporting for JFIF. Note that these
-# tests are not fool-proof since some perfectly valid JPEGs are currently
-# impossible to specify in magic(4) format.
-# First, a little JFIF version info:
->>11 byte x \b %d.
->>12 byte x \b%02d
-# Next, the resolution or aspect ratio of the image:
->>13 byte 0 \b, aspect ratio
->>13 byte 1 \b, resolution (DPI)
->>13 byte 2 \b, resolution (DPCM)
->>14 beshort x \b, density %dx
->>16 beshort x \b%d
->>4 beshort x \b, segment length %d
-# Next, show thumbnail info, if it exists:
->>18 byte !0 \b, thumbnail %dx
->>>19 byte x \b%d
->6 string Exif \b, Exif standard: [
->>12 indirect/r x
->>12 string x \b]
-
-# Jump to the first segment
->(4.S+4) use jpeg_segment
-
-# This uses recursion...
-0 name jpeg_segment
->0 beshort 0xFFFE
-# Recursion handled by FFE0
-#>>(2.S+2) use jpeg_segment
->>2 pstring/HJ x \b, comment: "%s"
-
->0 beshort 0xFFC0
->>(2.S+2) use jpeg_segment
->>4 byte x \b, baseline, precision %d
->>7 beshort x \b, %dx
->>5 beshort x \b%d
->>9 byte x \b, frames %d
-
->0 beshort 0xFFC1
->>(2.S+2) use jpeg_segment
->>4 byte x \b, extended sequential, precision %d
->>7 beshort x \b, %dx
->>5 beshort x \b%d
->>9 byte x \b, frames %d
-
->0 beshort 0xFFC2
->>(2.S+2) use jpeg_segment
->>4 byte x \b, progressive, precision %d
->>7 beshort x \b, %dx
->>5 beshort x \b%d
->>9 byte x \b, frames %d
-
-# Define Huffman Tables
->0 beshort 0xFFC4
->>(2.S+2) use jpeg_segment
-
->0 beshort 0xFFE1
-# Recursion handled by FFE0
-#>>(2.S+2) use jpeg_segment
->>4 string Exif \b, Exif Standard: [
->>>10 indirect/r x
->>>10 string x \b]
-
-# Application specific markers
->0 beshort&0xFFE0 =0xFFE0
->>(2.S+2) use jpeg_segment
-
-# DB: Define Quantization tables
-# DD: Define Restart interval [XXX: wrong here, it is 4 bytes]
-# D8: Start of image
-# D9: End of image
-# Dn: Restart
->0 beshort&0xFFD0 =0xFFD0
->>0 beshort&0xFFE0 !0xFFE0
->>>(2.S+2) use jpeg_segment
-
-#>0 beshort x unknown 0x%x
-#>>(2.S+2) use jpeg_segment
-
-# HSI is Handmade Software's proprietary JPEG encoding scheme
-0 string hsi1 JPEG image data, HSI proprietary
-
-# From: David Santinoli <david@santinoli.com>
-0 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000
-# From: Johan van der Knijff <johan.vanderknijff@kb.nl>
-# Added sub-entries for JP2, JPX, JPM and MJ2 formats; added mimetypes
-# https://github.com/bitsgalore/jp2kMagic
-#
-# Now read value of 'Brand' field, which yields a few possibilities:
->20 string \x6a\x70\x32\x20 Part 1 (JP2)
-!:mime image/jp2
->20 string \x6a\x70\x78\x20 Part 2 (JPX)
-!:mime image/jpx
->20 string \x6a\x70\x6d\x20 Part 6 (JPM)
-!:mime image/jpm
->20 string \x6d\x6a\x70\x32 Part 3 (MJ2)
-!:mime video/mj2
-
-# Type: JPEG 2000 codesream
-# From: Mathieu Malaterre <mathieu.malaterre@gmail.com>
-0 belong 0xff4fff51 JPEG 2000 codestream
-45 beshort 0xff52
diff --git a/recipes-core/file-magic-db-images/files/Magdir/msdos b/recipes-core/file-magic-db-images/files/Magdir/msdos
deleted file mode 100644
index 7b1330e..0000000
--- a/recipes-core/file-magic-db-images/files/Magdir/msdos
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#------------------------------------------------------------------------------
-# $File: msdos,v 1.105 2016/03/03 18:58:14 christos Exp $
-# msdos: file(1) magic for MS-DOS files
-#
-
-# Windows icons
-# Update: Joerg Jenderek
-# URL: https://en.wikipedia.org/wiki/CUR_(file_format)
-# Note: similiar to Windows CURsor. container for BMP (only DIB part) or PNG
-0 belong 0x00000100
->9 byte 0
->>0 byte x
->>0 use cur-ico-dir
->9 ubyte 0xff
->>0 byte x
->>0 use cur-ico-dir
-# displays number of icons and information for icon or cursor
-0 name cur-ico-dir
-# skip some Lotus 1-2-3 worksheets, CYCLE.PIC and keep Windows cursors with
-# 1st data offset = dir header size + n * dir entry size = 6 + n * 10h = ?6h
->18 ulelong &0x00000006
-# skip remaining worksheets, because valid only for DIB image (40) or PNG image (\x89PNG)
->>(18.l) ulelong x MS Windows
->>>0 ubelong 0x00000100 icon resource
-#!:mime image/vnd.microsoft.icon
-!:mime image/x-icon
-!:ext ico
-
diff --git a/recipes-core/file-magic-db-images/files/Magdir/sgml b/recipes-core/file-magic-db-images/files/Magdir/sgml
deleted file mode 100644
index 79abe8c..0000000
--- a/recipes-core/file-magic-db-images/files/Magdir/sgml
+++ /dev/null
@@ -1,8 +0,0 @@
-#------------------------------------------------------------------------------ # $File: sgml,v 1.32 2015/07/11 15:08:53 christos Exp $
-# Type: SVG Vectorial Graphics
-# From: Noel Torres <tecnico@ejerciciosresueltos.com>
-0 string \<?xml\ version="
->15 string >\0
->>19 search/4096 \<svg SVG Scalable Vector Graphics image
-!:mime image/svg+xml
-
diff --git a/recipes-core/images/core-image-rorootfs-overlay-initramfs.bb b/recipes-core/images/core-image-rorootfs-overlay-initramfs.bb
new file mode 100644
index 0000000..47946c5
--- /dev/null
+++ b/recipes-core/images/core-image-rorootfs-overlay-initramfs.bb
@@ -0,0 +1,23 @@
+# Simple initramfs image. Mostly used for live images.
+# Derived from https://github.com/cmhe/meta-readonly-rootfs-overlay
+DESCRIPTION = "Small image capable of booting a device. The kernel includes \
+the Minimal RAM-based Initial Root Filesystem (initramfs), mounts the root fs \
+read only and uses a file system overlay for written data."
+
+PACKAGE_INSTALL = "initramfs-readonly-rootfs-overlay ${VIRTUAL-RUNTIME_base-utils} udev base-passwd gptfdisk ${ROOTFS_BOOTSTRAP_INSTALL}"
+
+# Do not pollute the initrd image with rootfs features
+IMAGE_FEATURES = ""
+
+export IMAGE_BASENAME = "${PN}"
+IMAGE_LINGUAS = ""
+
+LICENSE = "MIT"
+
+IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+inherit core-image
+
+IMAGE_ROOTFS_SIZE = "8192"
+IMAGE_ROOTFS_EXTRA_SPACE = "0"
+
+BAD_RECOMMENDATIONS += "busybox-syslog"
diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb
index bd8dce7..e06e754 100644
--- a/recipes-core/images/mlinux-base-image.bb
+++ b/recipes-core/images/mlinux-base-image.bb
@@ -9,11 +9,12 @@ FILESYSTEM_FEATURES = "dosfstools \
lsof \
"
-NETWORKING_FEATURES += "bridge-utils \
+NETWORKING_FEATURES_append = " \
+ bridge-utils \
inetutils-ftp \
openssl \
rsync \
- iperf \
+ iperf3 \
lldpd \
mii-diag \
tcpdump \
@@ -26,9 +27,8 @@ NETWORKING_FEATURES += "bridge-utils \
WIFI_FEATURES = " \
libnl \
wpa-supplicant \
- wireless-tools \
iw \
- hostap-daemon hostap-utils \
+ hostapd \
"
BLUETOOTH_FEATURES = "bluez5"
@@ -48,9 +48,9 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a
# radio-cmd: supports cellular radio activation and other configuration commands
# radio-query: queries cellular radio for common info (IMEI, RSSI, etc)
# jsparser: command line tool to parse JSON files
-MULTITECH_FEATURES += " \
- u-boot-linux-utils \
- mlinux-scripts \
+MULTITECH_FEATURES_append = " \
+ u-boot-linux-utils \
+ mlinux-scripts \
reset-handler \
radio-cmd radio-query \
jsparser \
@@ -58,12 +58,15 @@ MULTITECH_FEATURES += " \
MISC_FEATURES = "minicom lrzsz nano"
+DEBUG_FEATURES = ""
+
# Extra stuff to install
-IMAGE_INSTALL += " \
+IMAGE_INSTALL_append = " \
kernel-modules \
${WIFI_FEATURES} \
${BLUETOOTH_FEATURES} \
${FILESYSTEM_FEATURES} \
${TIME_FEATURES} \
${MISC_FEATURES} \
+ ${DEBUG_FEATURES} \
"
diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb
index a20e64b..4afabff 100644
--- a/recipes-core/images/mlinux-factory-image.bb
+++ b/recipes-core/images/mlinux-factory-image.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "mLinux factory image"
# For now we don't put this in MTR or AEP
# Password restrictions library from Redhat
-IMAGE_INSTALL += "libpwquality"
+IMAGE_INSTALL_append = " libpwquality"
LIGHTTPD = "lighttpd \
lighttpd-module-cgi lighttpd-module-indexfile \
@@ -16,41 +16,39 @@ LIGHTTPD = "lighttpd \
"
# Lighttpd web server
-IMAGE_INSTALL += "${LIGHTTPD}"
+IMAGE_INSTALL_append = " ${LIGHTTPD}"
-IMAGE_INSTALL += "sqlite3"
+IMAGE_INSTALL_append = " sqlite3"
-IMAGE_INSTALL += "autossh"
+IMAGE_INSTALL_append= " autossh"
# Monit system/process monitor
-IMAGE_INSTALL += "monit"
+IMAGE_INSTALL_append = " monit"
# LoRa support (MTAC-LORA accessory card)
-IMAGE_INSTALL += "lora-gateway-utils lora-network-server lora-query lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation mtac-xdot-util"
+IMAGE_INSTALL_append = " lora-gateway-utils lora-query lora-network-server lora-packet-forwarder-usb"
+IMAGE_INSTALL_mtcdt_append = " lora-gateway-geolocation-utils lora-packet-forwarder-geolocation"
+IMAGE_INSTALL_mtbsp-at91_append = " mtac-xdot-util"
# MQTT server
-#IMAGE_INSTALL += "mosquitto"
-IMAGE_INSTALL += "mosquitto mosquitto-clients"
+IMAGE_INSTALL_append = " mosquitto mosquitto-clients"
# Perl support
-IMAGE_INSTALL += "perl"
-IMAGE_INSTALL += "perl-module-io perl-module-fcntl"
+IMAGE_INSTALL_append = " perl"
+IMAGE_INSTALL_append = " perl-module-io perl-module-fcntl"
# not in meta-oe or oe-core...
-#IMAGE_INSTALL += "libdevice-serialport-perl"
-#IMAGE_INSTALL += "libexpect-perl"
+#IMAGE_INSTALL_append = " libdevice-serialport-perl"
+#IMAGE_INSTALL_append = " libexpect-perl"
# Python support
-IMAGE_INSTALL += "python"
+IMAGE_INSTALL_append = " python"
# Python modules
-IMAGE_INSTALL += "python-async \
-python-argparse \
+IMAGE_INSTALL_append = " python-argparse \
python-compression \
python-dateutil \
python-html \
-python-importlib \
python-psutil \
-python-pycurl \
python-pyopenssl \
python-pyserial \
python-pyudev \
@@ -64,34 +62,34 @@ python-xml \
"
# Ruby support
-IMAGE_INSTALL += "ruby"
+IMAGE_INSTALL_append = " ruby"
-IMAGE_INSTALL += "ruby-sqlite3"
-IMAGE_INSTALL += "ruby-serialport"
+IMAGE_INSTALL_append = " ruby-sqlite3"
+IMAGE_INSTALL_append = " ruby-serialport"
# OpenJDK Java runtime
-# IMAGE_INSTALL += "openjdk-8"
+# IMAGE_INSTALL_append = " openjdk-8"
# OpenJDK with JamVM VM (Multi-Tech default)
-# IMAGE_INSTALL += "jamvm"
+# IMAGE_INSTALL_append = " jamvm"
# OpenJDK with CACAO VM (run with 'java -cacao')
-# IMAGE_INSTALL += "openjdk-7-vm-cacao"
+# IMAGE_INSTALL_append = " openjdk-7-vm-cacao"
# OpenJDK Zero VM (run with 'java -zero')
-# IMAGE_INSTALL += "openjdk-7-vm-zero"
+# IMAGE_INSTALL_append = " openjdk-7-vm-zero"
# PHP support
-IMAGE_INSTALL += "php php-cli php-fpm"
+IMAGE_INSTALL_append = " php php-cli php-fpm"
# Node.js support
-IMAGE_INSTALL += "nodejs nodejs-npm"
+IMAGE_INSTALL_append = " nodejs nodejs-npm"
# Multi-Tech SMS Utility (see http://git.multitech.net)
-IMAGE_INSTALL += "sms-utils"
+IMAGE_INSTALL_append = " sms-utils"
# Multi-Tech GPS Utility
-IMAGE_INSTALL += "venus-gps"
-IMAGE_INSTALL += "pps-tools"
-IMAGE_INSTALL += "dnsmasq bluez5-pand bluez5-rfcomm"
+IMAGE_INSTALL_append = " venus-gps"
+IMAGE_INSTALL_append = " pps-tools"
+IMAGE_INSTALL_append = " dnsmasq bluez5-pand bluez5-rfcomm"
# When ntp is to use the GPS, gps-utils is required
-IMAGE_INSTALL += "gpsd libgps24 libgps ntp ntp-utils gpspipe gps-utils"
+IMAGE_INSTALL_append = " gpsd libgps ntp ntp-utils gpspipe gps-utils"
-IMAGE_INSTALL += "lxfp uvccapture"
+IMAGE_INSTALL_append = " lxfp uvccapture"
diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb
index 0e1d4a3..41829ec 100644
--- a/recipes-core/images/mlinux-minimal-image.bb
+++ b/recipes-core/images/mlinux-minimal-image.bb
@@ -5,24 +5,28 @@ inherit core-image
inherit mlinux-image
IMAGE_LINGUAS = ""
-IMAGE_FEATURES += "ssh-server-openssh package-management"
+IMAGE_FEATURES_append = " ssh-server-openssh package-management"
-CORE_FEATURES = "packagegroup-core-boot packagegroup-distro-base \
+# Don't wipe out CORE_FEATURES from minimal image
+CORE_FEATURES_append = " \
+ packagegroup-core-boot packagegroup-distro-base \
packagegroup-base-ext2 \
packagegroup-base-usbhost packagegroup-base-usbgadget \
udev-extraconf usb-gadget-mode \
sysfsutils module-init-tools \
- bash procps mtd-utils mtd-utils-jffs2 \
+ bash procps \
openssh-sftp-server \
util-linux-mount util-linux-umount \
start-stop-daemon \
- sudo \
+ sudo \
${CORE_IMAGE_EXTRA_INSTALL} \
mlinux-feed-configs \
- useradd \
- get-eeprom-device-config \
+ useradd \
+ mts-io-sysfs \
"
+CORE_FEATURES_append_mtbsp-at91 = " mtd-utils mtd-utils-jffs2 fstab-at91"
+
NETWORKING_FEATURES = "ppp curl iproute2 \
iptables iputils \
"
@@ -44,10 +48,12 @@ MULTITECH_FEATURES = "kernel-module-mts-io \
config \
mts-id-eeprom \
set-rs485 \
- radio-reset"
-
+ radio-reset \
+ upgrade-reboot"
-MULTITECH_MTAC = "kernel-module-mtac \
+MULTITECH_MTAC = ""
+MULTITECH_MTAC_append_mtcdt = " \
+ kernel-module-mtac \
kernel-module-mtac-eth \
kernel-module-mtac-gpiob \
kernel-module-mtac-lora \
@@ -55,7 +61,11 @@ MULTITECH_MTAC = "kernel-module-mtac \
kernel-module-mtac-pulse \
kernel-module-mtac-xdot"
-UPGRADE_FEATURES = "upgrade-reboot mtd-utils-static"
+MULTITECH_BB = ""
+
+# BSP SPECIFIC UPGRADE FEATURES
+UPGRADE_FEATURES = ""
+UPGRADE_FEATURES_mtbsp-at91 = "mtd-utils-static"
CONSOLE = "sysvinit-inittab-start"
@@ -64,6 +74,7 @@ IMAGE_INSTALL = "${CORE_FEATURES} \
${UPGRADE_FEATURES} \
${MULTITECH_FEATURES} \
${MULTITECH_MTAC} \
- ${CONSOLE} \
+ ${MULTITECH_BB} \
+ ${CONSOLE} \
"
diff --git a/recipes-core/images/mlinux-mono-image.bb b/recipes-core/images/mlinux-mono-image.bb
index f15d7d2..d066ae9 100644
--- a/recipes-core/images/mlinux-mono-image.bb
+++ b/recipes-core/images/mlinux-mono-image.bb
@@ -1,3 +1,3 @@
require mlinux-base-image.bb
-IMAGE_INSTALL += "mono mono-helloworld"
+IMAGE_INSTALL_append = " mono mono-helloworld"
diff --git a/recipes-core/images/mlinux-mtcap-debug-image.bb b/recipes-core/images/mlinux-mtcap-debug-image.bb
index 48009ae..13a3518 100644
--- a/recipes-core/images/mlinux-mtcap-debug-image.bb
+++ b/recipes-core/images/mlinux-mtcap-debug-image.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "mLinux Conduit Access Point debug image"
require mlinux-mtcap-image.bb
# Extra stuff to install
-IMAGE_INSTALL += "lora-network-server-mtcap \
+IMAGE_INSTALL_append = " lora-network-server-mtcap \
lora-gateway-utils \
lora-query \
mosquitto mosquitto-clients \
diff --git a/recipes-core/images/mlinux-mtcap-image.bb b/recipes-core/images/mlinux-mtcap-image.bb
index ec161bd..1c0c94f 100644
--- a/recipes-core/images/mlinux-mtcap-image.bb
+++ b/recipes-core/images/mlinux-mtcap-image.bb
@@ -5,18 +5,19 @@ require mtcap-modules.inc
# For now we don't put this in MTR or AEP
# Password restrictions library from Redhat
-IMAGE_INSTALL += "libpwquality"
+IMAGE_INSTALL_append = " libpwquality"
FILESYSTEM_FEATURES = "dosfstools \
cifs-utils \
lsof \
"
-NETWORKING_FEATURES += "bridge-utils \
+NETWORKING_FEATURES_append = " \
+ bridge-utils \
inetutils-ftp \
openssl \
rsync \
- iperf \
+ iperf3 \
mii-diag \
tcpdump \
netcat \
@@ -25,9 +26,6 @@ NETWORKING_FEATURES += "bridge-utils \
busybox-ifplugd \
"
-# No accessory cards for MTAC
-MULTITECH_MTAC = ""
-
TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-arctic \
tzdata-asia tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \
tzdata-misc \
@@ -37,13 +35,12 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a
WIFI_FEATURES = "libnl \
wpa-supplicant \
- wireless-tools \
iw \
- hostap-daemon hostap-utils \
+ hostapd \
wilc1000 \
"
-MULTITECH_FEATURES += " \
+MULTITECH_FEATURES_append = " \
u-boot-linux-utils \
mlinux-scripts \
reset-handler \
@@ -54,7 +51,8 @@ MULTITECH_FEATURES += " \
annex-client \
"
-IMAGE_INSTALL += "lora-gateway-utils \
+IMAGE_INSTALL_append = " \
+ lora-gateway-utils \
lora-query \
lora-packet-forwarder \
lora-network-server \
@@ -68,11 +66,11 @@ MISC_FEATURES = "minicom lrzsz nano lxfp"
# Someday add wifi features
# ${WIFI_FEATURES}
#
-IMAGE_INSTALL += " \
+IMAGE_INSTALL_append = " \
${FILESYSTEM_FEATURES} \
${TIME_FEATURES} \
${MISC_FEATURES} \
"
# Multi-Tech SMS Utility (see http://git.multitech.net)
-IMAGE_INSTALL += "sms-utils"
+IMAGE_INSTALL_append = " sms-utils"
diff --git a/recipes-core/images/mlinux-mtr-image.bb b/recipes-core/images/mlinux-mtr-image.bb
index bf56719..5a557ab 100644
--- a/recipes-core/images/mlinux-mtr-image.bb
+++ b/recipes-core/images/mlinux-mtr-image.bb
@@ -3,18 +3,17 @@ DESCRIPTION = "mLinux base mtr image"
LICENSE = "MIT"
require mlinux-minimal-image.bb
-MULTITECH_MTAC = ""
FILESYSTEM_FEATURES = "dosfstools \
cifs-utils \
lsof \
"
-NETWORKING_FEATURES += "bridge-utils \
+NETWORKING_FEATURES_append = " bridge-utils \
inetutils-ftp \
openssl \
rsync \
- iperf \
+ iperf3 \
mii-diag \
tcpdump \
netcat \
@@ -26,9 +25,8 @@ NETWORKING_FEATURES += "bridge-utils \
WIFI_FEATURES = " \
libnl \
wpa-supplicant \
- wireless-tools \
iw \
- hostap-daemon hostap-utils \
+ hostapd \
"
BLUETOOTH_FEATURES = "bluez5"
@@ -48,7 +46,7 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a
# radio-cmd: supports cellular radio activation and other configuration commands
# radio-query: queries cellular radio for common info (IMEI, RSSI, etc)
# jsparser: command line tool to parse JSON files
-MULTITECH_FEATURES += " \
+MULTITECH_FEATURES_append = " \
u-boot-linux-utils \
mlinux-scripts \
reset-handler \
@@ -59,7 +57,7 @@ MULTITECH_FEATURES += " \
MISC_FEATURES = "minicom lrzsz nano"
# Extra stuff to install
-IMAGE_INSTALL += " \
+IMAGE_INSTALL_append = " \
${WIFI_FEATURES} \
${BLUETOOTH_FEATURES} \
${FILESYSTEM_FEATURES} \
diff --git a/recipes-core/images/mlinux-mtrv1-image.bb b/recipes-core/images/mlinux-mtrv1-image.bb
index cb19add..ff9af34 100644
--- a/recipes-core/images/mlinux-mtrv1-image.bb
+++ b/recipes-core/images/mlinux-mtrv1-image.bb
@@ -3,19 +3,16 @@ DESCRIPTION = "mLinux base mtr image"
LICENSE = "MIT"
require mlinux-minimal-image.bb
-MULTITECH_MTAC = ""
FILESYSTEM_FEATURES = "dosfstools \
cifs-utils \
lsof \
"
-NETWORKING_FEATURES += "bridge-utils \
- dnsmasq \
+NETWORKING_FEATURES_append = " bridge-utils \
inetutils-ftp \
openssl \
rsync \
- iperf \
iperf3 \
mii-diag \
tcpdump \
@@ -28,9 +25,8 @@ NETWORKING_FEATURES += "bridge-utils \
WIFI_FEATURES = " \
libnl \
wpa-supplicant \
- wireless-tools \
iw \
- hostap-daemon hostap-utils \
+ hostapd \
"
BLUETOOTH_FEATURES = "bluez5 bluez5-pand"
@@ -50,7 +46,7 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a
# radio-cmd: supports cellular radio activation and other configuration commands
# radio-query: queries cellular radio for common info (IMEI, RSSI, etc)
# jsparser: command line tool to parse JSON files
-MULTITECH_FEATURES += " \
+MULTITECH_FEATURES_append = " \
u-boot-linux-utils \
mlinux-scripts \
reset-handler \
@@ -61,10 +57,10 @@ MULTITECH_FEATURES += " \
MISC_FEATURES = "minicom lrzsz nano pps-tools"
# Extra stuff to install
-IMAGE_INSTALL += "gpsd libgps libgps24 ntp ntp-utils gpspipe gps-utils"
-IMAGE_INSTALL += "lxfp"
+IMAGE_INSTALL_append = " kernel-module-rs9113 rs9113-util rs9113-autostart"
+IMAGE_INSTALL_append = " gpsd libgps libgps24 ntp ntp-utils gpspipe gps-utils"
-IMAGE_INSTALL += " \
+IMAGE_INSTALL_append = " \
${WIFI_FEATURES} \
${BLUETOOTH_FEATURES} \
${FILESYSTEM_FEATURES} \
diff --git a/recipes-core/images/mlinux-rs9113-base-image.bb b/recipes-core/images/mlinux-rs9113-base-image.bb
index ef565b6..ed2fc83 100644
--- a/recipes-core/images/mlinux-rs9113-base-image.bb
+++ b/recipes-core/images/mlinux-rs9113-base-image.bb
@@ -2,4 +2,4 @@ require mlinux-base-image.bb
DESCRIPTION = "mLinux base image with rs9113 drivers"
# Extra stuff to install
-IMAGE_INSTALL += "kernel-module-rs9113 rs9113-autostart rs9113-util"
+IMAGE_INSTALL_append = " kernel-module-rs9113 rs9113-autostart rs9113-util"
diff --git a/recipes-core/images/mlinux-rs9113-factory-image.bb b/recipes-core/images/mlinux-rs9113-factory-image.bb
index 55a2316..40a4610 100644
--- a/recipes-core/images/mlinux-rs9113-factory-image.bb
+++ b/recipes-core/images/mlinux-rs9113-factory-image.bb
@@ -2,4 +2,4 @@ require mlinux-factory-image.bb
DESCRIPTION = "mLinux factory image with rs9113 drivers"
# Extra stuff to install
-IMAGE_INSTALL += "dnsmasq bluez5-noinst-tools python-dbus kernel-module-rs9113 rs9113-autostart rs9113-util rs9113-misc rs9113-utils-extra"
+IMAGE_INSTALL_append = " dnsmasq bluez5-noinst-tools python-dbus kernel-module-rs9113 rs9113-autostart rs9113-util rs9113-misc rs9113-utils-extra"
diff --git a/recipes-core/images/mlinux-sdk.bb b/recipes-core/images/mlinux-sdk.bb
index 0f956bc..abdadbf 100644
--- a/recipes-core/images/mlinux-sdk.bb
+++ b/recipes-core/images/mlinux-sdk.bb
@@ -2,4 +2,4 @@
require mlinux-factory-image.bb
DESCRIPTION = "mLinux SDK"
-IMAGE_INSTALL += "boost i2c-tools"
+IMAGE_INSTALL_append = " boost i2c-tools"
diff --git a/recipes-core/images/mtcap-modules.inc b/recipes-core/images/mtcap-modules.inc
index 8cdfea4..ed3ca51 100644
--- a/recipes-core/images/mtcap-modules.inc
+++ b/recipes-core/images/mtcap-modules.inc
@@ -5,7 +5,7 @@
# modules that are dependency's
# of other modules.
-IMAGE_INSTALL += " \
+IMAGE_INSTALL_append = " \
kernel-module-8021q \
kernel-module-af-alg \
kernel-module-algif-hash \
diff --git a/recipes-core/init-ifupdown/files/bonding.post-down b/recipes-core/init-ifupdown/files/bonding.post-down
deleted file mode 100644
index 13ed4fd..0000000
--- a/recipes-core/init-ifupdown/files/bonding.post-down
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-
-[ "$IF_VERBOSITY" = 1 ] && set -x
-
-sysfs()
-{
- # Called with :
- # $1 = value to write. Won't write if $1 is empty.
- # $2 = basename of the file in bonding/ to write to.
- if [ "$1" ] ; then
- echo "$1" > "/sys/class/net/$IFACE/master/bonding/$2"
- return $?
- fi
- return 0
-}
-
-sysfs_remove_all()
-{
- # Called with:
- # $1 = target filename
- read values < "/sys/class/net/$IFACE/bonding/$1"
- for value in $values ; do
- echo "-$value" > "/sys/class/net/$IFACE/bonding/$1"
- done
-}
-
-BOND_PARAMS="/sys/class/net/$IFACE/bonding"
-IFSTATE=/var/run/ifstate
-
-# free $IFACE if it is currently enslaved to a bonding device.
-if [ -f "/sys/class/net/$IFACE/master/bonding/slaves" ] ; then
- echo "-$IFACE" > "/sys/class/net/$IFACE/master/bonding/slaves"
-
- # The first slave in bond-primary found in current slaves becomes the primary.
- # If no slave in bond-primary is found, then primary does not change and might be undefined if just removed.
- for slave in $IF_BOND_PRIMARY ; do
- if grep -sq "\\<$slave\\>" "/sys/class/net/$IFACE/master/bonding/slaves" ; then
- sysfs "$slave" primary
- break
- fi
- done
-fi
-
-# If $IFACE is not a master, exit.
-[ ! -f "$BOND_PARAMS/slaves" ] && exit
-
-# Unset multivalue sysfs entries, so that re-enabling the interface later won't cause error.
-
-sysfs_remove_all arp_ip_target
-
-# Remove any slaves of $IFACE.
-
-[ "$IF_VERBOSITY" = 1 ] && v=-v
-read slaves < "$BOND_PARAMS/slaves"
-for slave in $slaves ; do
- # If $slave is currently up in $IFSTATE, then bring it down, to keep $IFSTATE consistent.
- # This is supposed to have the side effect of freeing the interface.
- grep -q "^$slave=" $IFSTATE && ifdown $v $slave
-
- # Anyway, ensure $slave is free.
- if [ -f "/sys/class/net/$slave/master/bonding/slaves" ] ; then
- echo "-$slave" > "$BOND_PARAMS/slaves" 2> /dev/null
- fi
-done
-
-# make sure that the link is set to down
-ip link set dev $IFACE down
diff --git a/recipes-core/init-ifupdown/files/bonding.pre-up b/recipes-core/init-ifupdown/files/bonding.pre-up
deleted file mode 100644
index 39011b6..0000000
--- a/recipes-core/init-ifupdown/files/bonding.pre-up
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/sh
-
-[ "$IF_VERBOSITY" = 1 ] && set -x
-
-IFSTATE=/var/run/ifstate
-
-add_master()
-{
- # Return if $BOND_MASTER is already a bonding interface.
- [ -f "/sys/class/net/$BOND_MASTER/bonding/slaves" ] && return
-
- # If the bonding module is not yet loaded, load it.
- if [ ! -r /sys/class/net/bonding_masters ]; then
- modprobe -q bonding
- fi
-
- # Create the master interface.
- if ! grep -sq "\\<$BOND_MASTER\\>" /sys/class/net/bonding_masters; then
- echo "+$BOND_MASTER" > /sys/class/net/bonding_masters
- fi
-}
-
-sysfs()
-{
- # Called with :
- # $1 = value to write. Won't write if $1 is empty.
- # $2 = basename of the file in bonding/ to write to.
- if [ "$1" ] ; then
- echo "$1" > "/sys/class/net/$BOND_MASTER/bonding/$2"
- return $?
- fi
- return 0
-}
-
-sysfs_add()
-{
- # Called with :
- # $1 = values to write.
- # $2 = target filename.
- for value in $1; do
- # Do not add $1 to $2 if already present.
- if ! grep -sq "\\<$value\\>" /sys/class/net/$BOND_MASTER/bonding/$2
- then
- sysfs "+$value" "$2"
- fi
- done
-}
-
-ifup_once()
-{
- local v=
- [ "$IF_VERBOSITY" = 1 ] && v=-v
- if [ "$1" != "$IFACE" ] && ! grep -q "^$1=" $IFSTATE && ifup -n "$1" >/dev/null 2>&1; then
- ifup $v $1
- fi
-}
-
-enslave_slaves()
-{
- case "$BOND_SLAVES" in
- none)
- BOND_SLAVES=""
- ;;
- all)
- BOND_SLAVES=`sed -ne 's/ *\(eth[^:]*\):.*/\1/p' /proc/net/dev`
- AUTOIF="yes"
- ;;
- esac
-
- for slave in $BOND_SLAVES ; do
- if ( [ "$AUTOIF" ] && grep -q "^$slave=" $IFSTATE ) ; then
- echo "Not enslaving interface $slave since it is already configured"
- else
- # Ensure $slave is down.
- ip link set "$slave" down 2>/dev/null
- if ! sysfs_add "$slave" slaves 2>/dev/null ; then
- echo "Failed to enslave $slave to $BOND_MASTER. Is $BOND_MASTER ready and a bonding interface ?" >&2
- else
- # Bring up slave if it is defined in interfaces
- # This is usefull to bring up slaves that need extra setup.
- ifup_once $slave
- fi
- fi
- done
-}
-
-setup_master()
-{
- sysfs "$IF_BOND_MODE" mode
- sysfs "$IF_BOND_MIIMON" miimon
- sysfs "$IF_BOND_USE_CARRIER" use_carrier
- sysfs "$IF_BOND_UPDELAY" updelay
- sysfs "$IF_BOND_DOWNDELAY" downdelay
- sysfs "$IF_BOND_ARP_INTERVAL" arp_interval
- sysfs "$IF_BOND_ARP_VALIDATE" arp_validate
- sysfs "$IF_BOND_FAIL_OVER_MAC" fail_over_mac
- sysfs "$IF_BOND_XMIT_HASH_POLICY" xmit_hash_policy
- sysfs "$IF_BOND_LACP_RATE" lacp_rate
- sysfs_add "$IF_BOND_ARP_IP_TARGET" arp_ip_target
-}
-
-setup_slaves()
-{
- # The first slave in bond-primary found in current slaves becomes the primary.
- # If no slave in bond-primary is found, then primary does not change.
- for slave in $IF_BOND_PRIMARY ; do
- if grep -sq "\\<$slave\\>" "/sys/class/net/$BOND_MASTER/bonding/slaves" ; then
- sysfs "$slave" primary
- break
- fi
- done
-
- if [ "$IF_BOND_ACTIVE_SLAVE" ] ; then
- # Need to force interface up before. Bonding will refuse to activate a down interface.
- ip link set "$IF_BOND_ACTIVE_SLAVE" up
- sysfs "$IF_BOND_ACTIVE_SLAVE" active_slave
- fi
-}
-
-# Are there anything to do ?
-
-# Option slaves deprecated, replaced by bond-slaves, but still supported for backward compatibility.
-IF_BOND_SLAVES=${IF_BOND_SLAVES:-$IF_SLAVES}
-
-if [ "$IF_BOND_MASTER" ] ; then
- BOND_MASTER="$IF_BOND_MASTER"
- BOND_SLAVES="$IFACE"
- if ! [ -e /sys/class/net/$IFACE/master ]; then
- ifup_once $BOND_MASTER
- fi
-else
- if [ "$IF_BOND_SLAVES$IF_BOND_MODE" ]; then
- BOND_MASTER="$IFACE"
- BOND_SLAVES="$IF_BOND_SLAVES"
- fi
-fi
-
-# Exit if nothing to do...
-[ -z "$BOND_MASTER$BOND_SLAVES" ] && exit
-
-add_master
-setup_master
-enslave_slaves
-setup_slaves
diff --git a/recipes-core/init-ifupdown/files/bonding.up b/recipes-core/init-ifupdown/files/bonding.up
deleted file mode 100644
index f10152c..0000000
--- a/recipes-core/init-ifupdown/files/bonding.up
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-
-[ "$IF_VERBOSITY" = 1 ] && set -x
-
-sysfs()
-{
- # Called with :
- # $1 = value to write. Won't write if $1 is empty.
- # $2 = basename of the file in bonding/ to write to.
- if [ "$1" ] ; then
- echo "$1" > "/sys/class/net/$IFACE/master/bonding/$2"
- return $?
- fi
- return 0
-}
-
-# If the stanza bond-give-a-chance is set for a slave interface,
-# then force $IFACE to be the primary for some time, then restore primary to it previous value.
-
-# This stanza is designed to workaround a bug in wpa_supplicant, when used with bonding :
-
-# wpa_supplicant expect wifi authentication packets on the bond interface, but also send wifi authentication packets on the bond interface.
-# If the active interface is not the wifi interface at the time wpa_supplicant try to authenticate, the wifi AP won't receive anything, causing the authentication to fail.
-
-# In order for the wifi authentication to succeed, one need to give a chance to the wifi interface to send authentication packets.
-# "bond-give-a-chance 10" will set the wifi interface as the primary interface for 10 seconds, then restore the previous primary interface.
-# This is supposed to be enought to give a chance to wifi to authenticate properly.
-
-if [ "$IF_BOND_GIVE_A_CHANCE" ] ; then
- read primary < "/sys/class/net/$IFACE/master/bonding/primary"
- # Set the temporary primary.
- sysfs "$IFACE" primary
-
- # Wait for the link to be setup, but not longer that $IF_BOND_GIVE_A_CHANGE seconds.
- while [ "$IF_BOND_GIVE_A_CHANCE" -gt 0 ] ; do
- if ip link show $IFACE | grep -sq 'state UP'; then
- break
- fi
- sleep 1
- IF_BOND_GIVE_A_CHANCE=`expr $IF_BOND_GIVE_A_CHANCE - 1`
- done
-
- # Restore the previous primary.
- sysfs "$primary" primary
-fi
diff --git a/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend
deleted file mode 100644
index 9d000d6..0000000
--- a/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
-PR = "r8"
-
-SRC_URI += "file://bonding.pre-up \
- file://bonding.up \
- file://bonding.post-down"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-do_install_append () {
- install -m 0755 ${WORKDIR}/bonding.pre-up ${D}${sysconfdir}/network/if-pre-up.d/bonding
- install -m 0755 ${WORKDIR}/bonding.up ${D}${sysconfdir}/network/if-up.d/bonding
- install -m 0755 ${WORKDIR}/bonding.post-down ${D}${sysconfdir}/network/if-post-down.d/bonding
-}
diff --git a/recipes-core/initscripts/initscripts-1.0/umountfs b/recipes-core/initscripts/initscripts-1.0/umountfs
deleted file mode 100644
index 9c36bd3..0000000
--- a/recipes-core/initscripts/initscripts-1.0/umountfs
+++ /dev/null
@@ -1,346 +0,0 @@
-#!/bin/bash
-### BEGIN INIT INFO
-# Provides: umountfs
-# Required-Start:
-# Required-Stop:
-# Default-Start:
-# Default-Stop: 0 6
-# Short-Description: Turn off swap and unmount all local file systems.
-# Description:
-### END INIT INFO
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-upgrade_fname="/var/volatile/do_flash_upgrade"
-
-umount_all() {
- echo "Deactivating swap..."
- swapoff -a
-
- # We leave /proc mounted.
- echo "Unmounting local filesystems..."
- grep -q /mnt/ram /proc/mounts && mount -o remount,ro /mnt/ram
- umount -f -a -r > /dev/null 2>&1
-
- mount -o remount,ro /
-}
-
-blink_leds() {
- led_dir=/sys/class/leds
- # blink all programmable LEDs except status
- leds=$(ls $led_dir/ | grep -v status)
- nleds=$(echo "$leds" | wc -w)
-
- # turn LEDs off
- for led in $leds; do
- echo "timer" > $led_dir/$led/trigger
- echo 0 > $led_dir/$led/delay_off
- done
-
- int=200
- total=$(( int * (nleds+1) ))
- on=$(( total - int ))
- off=$(( total - on ))
-
- # make a pattern
- for led in $leds; do
- echo "$on" > $led_dir/$led/delay_on
- echo "$off" > $led_dir/$led/delay_off
- on=$(( on - int ))
- off=$(( total - on ))
- done
-}
-
-err_leds() {
- led_dir=/sys/class/leds
- # blink all programmable LEDs except status
- leds=$(ls $led_dir/ | grep -v status)
- nleds=$(echo "$leds" | wc -w)
-
- # turn LEDs off
- for led in $leds; do
- echo "timer" > $led_dir/$led/trigger
- echo 0 > $led_dir/$led/delay_off
- done
-
- int=200
- total=$(( int * (nleds+1) ))
- on=$(( total - int ))
- off=$(( total - on ))
-
- # make a pattern
- for led in $leds; do
- echo "$on" > $led_dir/$led/delay_on
- echo "$off" > $led_dir/$led/delay_off
- done
- sleep 5
-}
-
-
-
-flash_upgrade() {
- if [ $# -ne 1 ]; then
- echo "need to specify flash-root"
- return
- fi
- # flash_root must be a mountpoint that is not the rootfs and be mounted rw
- # External mount may be on symlink.
- local flash_root=$(readlink -f ${1})
-
- local flash_dir=${flash_root}/flash-upgrade
- local upgrade_file=${flash_dir}/upgrade.bin
- local kernel_solo_file=${flash_dir}/uImage.bin
- local rootfs_solo_file=${flash_dir}/rootfs.jffs2
- local uboot_solo_file=${flash_dir}/u-boot.bin
-
- local reboot_cmd=/usr/sbin/upgrade-reboot
- local nandwrite_cmd=/usr/bin/nandwrite.static
- local mode=
- local bootstrap_mtd=
- local config_mtd=
- local oem_mtd=
- local rootfs_mtd=
- local kernel_mtd=
- local uboot_mtd=
- local bootstrap_file=bstrap.bin
- local config_file=config.jffs2
- local oem_file=oem.jffs2
- local rootfs_file=rootfs.jffs2
- local kernel_file=uImage.bin
- local uboot_file=uboot.bin
- local install_file=install.sh
-
- if [ ! -d "${flash_dir}" ]; then
- echo "${flash_dir} not present, skipping"
- return
- fi
-
- if ! mountpoint -q "${flash_root}"; then
- echo "${flash_root} is not a mountpoint"
- return
- fi
-
- mode=$(grep "${flash_root}" /proc/mounts | cut -d ' ' -f 4 | cut -d ',' -f 1)
- if [ "${mode}" != "rw" ]; then
- echo "${flash_root} is not mounted rw"
- return
- fi
-
- if [ ! -x "${reboot_cmd}" ]; then
- echo "${reboot_cmd} is not installed"
- return
- fi
-
- if [ ! -x "${nandwrite_cmd}" ]; then
- echo "${nandwrite_cmd} is not installed"
- return
- fi
-
- bootstrap_mtd="/dev/$(cat /proc/mtd | grep '\"at91bootstrap\"' | cut -d : -f 1)"
- if [ ! -c "${bootstrap_mtd}" ]; then
- echo "No valid MTD partition is labeled at91bootstrap"
- return
- fi
-
- config_mtd="/dev/$(cat /proc/mtd | grep '\"Config\"' | cut -d : -f 1)"
- if [ ! -c "${config_mtd}" ]; then
- echo "No valid MTD partition is labeled Config"
- return
- fi
-
- oem_mtd="/dev/$(cat /proc/mtd | grep '\"OEM Config\"' | cut -d : -f 1)"
- if [ ! -c "${oem_mtd}" ]; then
- echo "No valid MTD partition is labeled OEM Config"
- return
- fi
-
- kernel_mtd="/dev/$(cat /proc/mtd | grep '\"uImage\"' | cut -d : -f 1)"
- if [ ! -c "${kernel_mtd}" ]; then
- echo "No valid MTD partition is labeled uImage"
- return
- fi
-
- uboot_mtd="/dev/$(cat /proc/mtd | grep '\"u-Boot\"' | cut -d : -f 1)"
- if [ ! -c "${uboot_mtd}" ]; then
- echo "No valid MTD partition is labeled u-Boot"
- return
- fi
-
- rootfs_mtd="/dev/$(cat /proc/mtd | grep '\"Rootfs\"' | cut -d : -f 1)"
- if [ ! -c "${rootfs_mtd}" ]; then
- echo "No valid MTD partition is labeled Rootfs"
- return
- fi
-
- cd /var/volatile
-
- # rootfs should always be flashed last, so always keep it last here
- local files=(${bootstrap_file} ${uboot_file} ${config_file} ${oem_file} ${kernel_file} ${rootfs_file} ${install_file})
- local devs=(${bootstrap_mtd} ${uboot_mtd} ${config_mtd} ${oem_mtd} ${kernel_mtd} ${rootfs_mtd})
-
- if [ -f "${upgrade_file}" ]; then
- echo "Found ${upgrade_file}"
- # make sure firmware is for this device
- shopt -s nocasematch
- local hw_version=$(cat /sys/devices/platform/mts-io/hw-version)
- local firmware_model=$(tar -xO -f ${upgrade_file} model)
- # Do case insensity character match.
- shopt -s nocasematch
- if [[ ! "${hw_version}" =~ ^(${firmware_model})- ]]; then
- echo "Wrong firmware for this hardware"
- echo "hw version: ${hw_version}"
- echo "firmware model: ${firmware_model}"
- return
- fi
- shopt -u nocasematch
-
- echo "Checking MD5s"
- ((upgrade_script=0))
- # check md5sum
- for (( i = 0; i < ${#files[@]}; i++ )); do
- local file=${files[i]}
- if tar -t -f ${upgrade_file} | grep -F -q "${file}"; then
- if ! tar -x -f ${upgrade_file} ${file}.md5; then
- echo "MD5 not found for ${file}"
- return
- fi
- if ! tar -xO -f ${upgrade_file} ${file} | md5sum -c ${file}.md5; then
- echo "MD5 check failed for ${file}"
- return
- fi
- if [[ ${file} == ${install_file} ]] ; then
- ((upgrade_script=1))
- fi
- fi
- done
- fi
-
- echo ""
- if [ -f "${upgrade_file}" ]; then
- echo "Starting flash upgrade from ${upgrade_file}..."
- elif [ -f "${kernel_solo_file}" ] || [ -f "${rootfs_solo_file}" ] || [ -f "${uboot_solo_file}" ] ; then
- echo "Starting flash upgrade from ${flash_dir}..."
- else
- return
- fi
-
- blink_leds
-
- if [[ ${flash_root} == /var/volatile ]] ; then
- oldIFS="${IFS}"
- IFS=$'\n' rmlist=($(find ${flash_root} -xdev -maxdepth 1 -print | egrep -v "^${flash_root}$|^${flash_dir}$|^${flash_dir}/"))
- IFS="${oldIFS}"
- ((i=0))
- while((i < ${#rmlist[@]})) ; do
- rm -rf "${rmlist[$i]}"
- ((i++))
- done
- fi
-
- if ! cp ${reboot_cmd} ${flash_dir}/upgrade-reboot ; then
- echo "Aborting upgrade. Failed \"cp ${reboot_cmd} ${flash_dir}/upgrade-reboot\""
- err_leds
- return 1
- fi
- if ! cp ${nandwrite_cmd} ${flash_dir}/nandwrite.static ; then
- echo "Aborting upgrade. Failed \"cp ${nandwrite_cmd} ${flash_dir}/nandwrite.static\""
- err_leds
- return 1
- fi
-
- # Run the upgrade script, if it exists, before we change
- # flash-root to read-only
- if ((upgrade_script == 1)) ; then
- if (cd ${flash_dir};tar -xf ${upgrade_file}) ; then
- exec ${flash_dir}/${install_file} ${flash_root}
- else
- echo "Extraction of ${upgrade_file} failed"
- echo "Upgrade aborted"
- umount_all
- fi
- fi
- sync
- sleep 2
- mount -o remount,ro ${flash_root}
-
- # flash_root is not going to be umounted
- sed -i -e "\\|${flash_root}| d" /etc/mtab
-
- umount_all
-
- if [ -f "${upgrade_file}" ]; then
- for (( i = 0; i < ${#files[@]}; i++ )); do
- local file=${files[i]}
- local dev=${devs[i]}
- if tar -t -f ${upgrade_file} | grep -F -q "${file}"; then
- if [ "${file}" == "${bootstrap_file}" ] || [ "${file}" == "${uboot_file}" ]; then
- local file_size=$(tar -xO -f ${upgrade_file} ${file} | wc -c)
- if dd if=${dev} bs=${file_size} count=1 | md5sum -c ${file}.md5; then
- echo "Found ${file} in upgrade but it is the same as current. Continuing..."
- continue
- fi
- fi
- echo "Flashing ${dev} with ${file}..."
-
- flash_erase -j ${dev} 0 0
- tar -xO -f ${upgrade_file} ${file} | ${flash_dir}/nandwrite.static -p ${dev}
- fi
- done
- else
- if [ -f ${uboot_solo_file} ]; then
- echo "Flashing ${uboot_mtd} (u-boot) with ${uboot_solo_file}..."
-
- flash_erase ${uboot_mtd} 0 0
- ${flash_dir}/nandwrite.static -p ${uboot_mtd} ${uboot_solo_file}
- else
- echo "u-boot file ${uboot_solo_file} not found"
- fi
-
- if [ -f ${kernel_solo_file} ]; then
- echo "Flashing ${kernel_mtd} (uImage) with ${kernel_solo_file}..."
-
- flash_erase ${kernel_mtd} 0 0
- ${flash_dir}/nandwrite.static -p ${kernel_mtd} ${kernel_solo_file}
- else
- echo "uImage file ${kernel_solo_file} not found"
- fi
-
- if [ -f ${rootfs_solo_file} ]; then
- echo "Flashing ${rootfs_mtd} (rootfs) with ${rootfs_solo_file}..."
-
- flash_erase -j ${rootfs_mtd} 0 0
- ${flash_dir}/nandwrite.static -p ${rootfs_mtd} ${rootfs_solo_file}
- else
- echo "rootfs file ${rootfs_solo_file} not found"
- fi
- fi
-
- echo "Rebooting..."
-
- ${flash_dir}/upgrade-reboot
-
- # Should not get here normally
- echo "upgrade-reboot failed"
- exit 1
-}
-
-# do flash on reboot if do_flash_upgrade exists
-# and is owned by root
-if [[ -f ${upgrade_fname} ]] ; then
- owner=$(stat -c%u "${upgrade_fname}")
- if ((${#owner} > 0)) && ((owner == 0)) ; then
- flash_upgrade /var/volatile
- flash_upgrade /media/card
- # Look for upgrade on external media besides
- # SD card.
- cd /run/media
- # See if there is a USB driver
- last=$(dirname $(ls -d */flash-upgrade))
- if ((${#last} > 0)) ; then
- flash_upgrade "/run/media/${last}"
- fi
- fi
-fi
-
-umount_all
-
-: exit 0
diff --git a/recipes-core/initscripts/initscripts_1.0.bbappend b/recipes-core/initscripts/initscripts_1.0.bbappend
deleted file mode 100644
index af7b258..0000000
--- a/recipes-core/initscripts/initscripts_1.0.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
-
-# flash on reboot/umountfs needs regular umount (not busybox)
-RDEPENDS_${PN} += "util-linux-umount util-linux-mount bash"
-
-PR .= ".43"
diff --git a/recipes-core/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch b/recipes-core/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch
deleted file mode 100644
index b88440d..0000000
--- a/recipes-core/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 340f911f9e3f4ff6b01682c5341c959060782af2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 2 Apr 2015 19:18:45 -0700
-Subject: [PATCH] usb.h: Include sys/types.h
-
-We need the definitions for things like u_intX_t
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libusb/usb.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libusb/usb.h b/libusb/usb.h
-index 84e730f..caffae2 100644
---- a/libusb/usb.h
-+++ b/libusb/usb.h
-@@ -31,6 +31,8 @@
-
- #include <dirent.h>
-
-+#include <sys/types.h>
-+
- /*
- * USB spec information
- *
---
-2.1.4
-
diff --git a/recipes-core/libusb/libusb1/no-dll.patch b/recipes-core/libusb/libusb1/no-dll.patch
deleted file mode 100644
index 6e6bb83..0000000
--- a/recipes-core/libusb/libusb1/no-dll.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-As all invokes all-recursive which uses sub-makes to invoke all-am, the
-resulting makefile wants to build libusb-1.0.la twice. In non-parallel builds
-the second attempt is skipped as the target already exists, but in highly
-parallel builds it's likely that two makes will be building libusb-1.0.la at the
-same time.
-
-Solve this by removing the explicit all target, which as libusb-1.0.dll isn't
-built under Linux is redundant anyway.
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/libusb/Makefile.am b/libusb/Makefile.am
-index 0cab0a0..c880213 100644
---- a/libusb/Makefile.am
-+++ b/libusb/Makefile.am
-@@ -1,2 +0,0 @@
--all: libusb-1.0.la libusb-1.0.dll
--
diff --git a/recipes-core/libusb/libusb1_1.0.21.bb b/recipes-core/libusb/libusb1_1.0.21.bb
deleted file mode 100644
index 1fefd14..0000000
--- a/recipes-core/libusb/libusb1_1.0.21.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Userspace library to access USB (version 1.0)"
-HOMEPAGE = "http://libusb.sf.net"
-BUGTRACKER = "http://www.libusb.org/report"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.bz2 \
- file://no-dll.patch \
- "
-
-SRC_URI[md5sum] = "1da9ea3c27b3858fa85c5f4466003e44"
-SRC_URI[sha256sum] = "7dce9cce9a81194b7065ee912bcd55eeffebab694ea403ffb91b67db66b1824b"
-
-S = "${WORKDIR}/libusb-${PV}"
-
-inherit autotools pkgconfig
-
-# Don't configure udev by default since it will cause a circular
-# dependecy with udev package, which depends on libusb
-EXTRA_OECONF = "--libdir=${base_libdir} --disable-udev"
-
-do_install_append() {
- install -d ${D}${libdir}
- if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
- mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
- fi
-}
-
-FILES_${PN} += "${base_libdir}/*.so.*"
-
-FILES_${PN}-dev += "${base_libdir}/*.so ${base_libdir}/*.la"
diff --git a/recipes-core/lighttpd/files/0001-lighttpd-pcre-use-pkg-config.patch b/recipes-core/lighttpd/files/0001-lighttpd-pcre-use-pkg-config.patch
deleted file mode 100644
index 48be920..0000000
--- a/recipes-core/lighttpd/files/0001-lighttpd-pcre-use-pkg-config.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 22afc5d9aaa215c3c87ba21c77d47da44ab3b113 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 26 Aug 2016 18:20:32 +0300
-Subject: [PATCH] Use pkg-config for pcre dependency instead of -config script.
-
-RP 2014/5/22
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5383cec..c29a902 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -651,10 +651,18 @@ AC_ARG_WITH([pcre],
- )
- AC_MSG_RESULT([$WITH_PCRE])
-
--if test "$WITH_PCRE" != no; then
-- if test "$WITH_PCRE" != yes; then
-- PCRE_LIB="-L$WITH_PCRE/lib -lpcre"
-- CPPFLAGS="$CPPFLAGS -I$WITH_PCRE/include"
-+if test "$WITH_PCRE" != "no"; then
-+ PKG_CHECK_MODULES(PCREPKG, [libpcre], [
-+ PCRE_LIB=${PCREPKG_LIBS}
-+ CPPFLAGS="$CPPFLAGS ${PCREPKG_CFLAGS}"
-+ ], [
-+ AC_MSG_ERROR([pcre pkgconfig not found, install the pcre-devel package or build with --without-pcre])
-+ ])
-+
-+ if test x"$PCRE_LIB" != x; then
-+ AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre])
-+ AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h])
-+ AC_SUBST(PCRE_LIB)
- else
- AC_PATH_PROG([PCRECONFIG], [pcre-config])
- if test -n "$PCRECONFIG"; then
---
-2.15.0
diff --git a/recipes-core/lighttpd/files/0002_extended_tls_conf.patch b/recipes-core/lighttpd/files/0002_extended_tls_conf.patch
deleted file mode 100644
index 1a216dd..0000000
--- a/recipes-core/lighttpd/files/0002_extended_tls_conf.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-diff --git a/src/base.h b/src/base.h
-index 134fc41..f2d849e 100644
---- a/src/base.h
-+++ b/src/base.h
-@@ -289,6 +289,9 @@ typedef struct {
- unsigned short ssl_empty_fragments; /* whether to not set SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS */
- unsigned short ssl_use_sslv2;
- unsigned short ssl_use_sslv3;
-+ unsigned short ssl_use_tlsv1;
-+ unsigned short ssl_use_tlsv1_1;
-+ unsigned short ssl_use_tlsv1_2;
- unsigned short ssl_verifyclient;
- unsigned short ssl_verifyclient_enforce;
- unsigned short ssl_verifyclient_depth;
-diff --git a/src/configfile.c b/src/configfile.c
-index bba6925..bbedd77 100644
---- a/src/configfile.c
-+++ b/src/configfile.c
-@@ -146,6 +146,10 @@ static int config_insert(server *srv) {
- { "server.max-request-field-size", NULL, T_CONFIG_INT, T_CONFIG_SCOPE_SERVER }, /* 78 */
- { "ssl.read-ahead", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 79 */
-
-+ { "ssl.use-tlsv1", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 80 */
-+ { "ssl.use-tlsv1_1", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 81 */
-+ { "ssl.use-tlsv1_2", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 82 */
-+
- { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET }
- };
-
-@@ -226,6 +230,9 @@ static int config_insert(server *srv) {
- s->ssl_empty_fragments = 0;
- s->ssl_use_sslv2 = 0;
- s->ssl_use_sslv3 = 0;
-+ s->ssl_use_tlsv1 = 0;
-+ s->ssl_use_tlsv1_1 = 0;
-+ s->ssl_use_tlsv1_2 = 1;
- s->use_ipv6 = (i == 0) ? 0 : srv->config_storage[0]->use_ipv6;
- s->set_v6only = (i == 0) ? 1 : srv->config_storage[0]->set_v6only;
- s->defer_accept = (i == 0) ? 0 : srv->config_storage[0]->defer_accept;
-@@ -318,6 +325,9 @@ static int config_insert(server *srv) {
- cv[76].destination = &(s->stream_request_body);
- cv[77].destination = &(s->stream_response_body);
- cv[79].destination = &(s->ssl_read_ahead);
-+ cv[80].destination = &(s->ssl_use_tlsv1);
-+ cv[81].destination = &(s->ssl_use_tlsv1_1);
-+ cv[82].destination = &(s->ssl_use_tlsv1_2);
-
- srv->config_storage[i] = s;
-
-@@ -536,6 +546,9 @@ int config_setup_connection(server *srv, connection *con) {
- PATCH(ssl_empty_fragments);
- PATCH(ssl_use_sslv2);
- PATCH(ssl_use_sslv3);
-+ PATCH(ssl_use_tlsv1);
-+ PATCH(ssl_use_tlsv1_1);
-+ PATCH(ssl_use_tlsv1_2);
- PATCH(etag_use_inode);
- PATCH(etag_use_mtime);
- PATCH(etag_use_size);
-@@ -615,6 +628,12 @@ int config_patch_connection(server *srv, connection *con) {
- PATCH(ssl_use_sslv2);
- } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-sslv3"))) {
- PATCH(ssl_use_sslv3);
-+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-tlsv1"))) {
-+ PATCH(ssl_use_tlsv1);
-+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-tlsv1_1"))) {
-+ PATCH(ssl_use_tlsv1_1);
-+ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-tlsv1_2"))) {
-+ PATCH(ssl_use_tlsv1_2);
- } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.cipher-list"))) {
- PATCH(ssl_cipher_list);
- } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.engine"))) {
-diff --git a/src/network.c b/src/network.c
-index 4295fe9..a3f9ec3 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -859,6 +859,33 @@ int network_init(server *srv) {
- }
- }
-
-+ if (!s->ssl_use_tlsv1) {
-+ /* disable TLSv1 */
-+ if (!(SSL_OP_NO_TLSv1 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_TLSv1))) {
-+ log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
-+ ERR_error_string(ERR_get_error(), NULL));
-+ return -1;
-+ }
-+ }
-+
-+ if (!s->ssl_use_tlsv1_1) {
-+ /* disable TLSv1.1 */
-+ if (!(SSL_OP_NO_TLSv1_1 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_TLSv1_1))) {
-+ log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
-+ ERR_error_string(ERR_get_error(), NULL));
-+ return -1;
-+ }
-+ }
-+
-+ if (!s->ssl_use_tlsv1_2) {
-+ /* disable TLSv1.2 */
-+ if (!(SSL_OP_NO_TLSv1_2 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_TLSv1_2))) {
-+ log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
-+ ERR_error_string(ERR_get_error(), NULL));
-+ return -1;
-+ }
-+ }
-+
- if (!buffer_string_is_empty(s->ssl_cipher_list)) {
- /* Disable support for low encryption ciphers */
- if (SSL_CTX_set_cipher_list(s->ssl_ctx, s->ssl_cipher_list->ptr) != 1) {
diff --git a/recipes-core/lighttpd/files/0004_fastcgi_env_with_unixsocket.patch b/recipes-core/lighttpd/files/0004_fastcgi_env_with_unixsocket.patch
deleted file mode 100644
index c265066..0000000
--- a/recipes-core/lighttpd/files/0004_fastcgi_env_with_unixsocket.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From bdfb7f9c6ab29d2de3576f8bd845fa871bb44ead Mon Sep 17 00:00:00 2001
-From: Serhii Voloshynov <serhii.voloshynov@globallogic.com>
-Date: Tue, 6 Nov 2018 13:50:04 +0200
-Subject: [PATCH] patch
-
----
- src/http-header-glue.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/src/http-header-glue.c b/src/http-header-glue.c
-index 1916ca6..d4f42ad 100644
---- a/src/http-header-glue.c
-+++ b/src/http-header-glue.c
-@@ -1457,6 +1457,8 @@ int http_cgi_headers (server *srv, connection *con, http_cgi_opts *opts, http_cg
- rc |= cb(vdata, CONST_STR_LEN("HTTPS"), CONST_STR_LEN("on"));
- }
-
-+ if (srv_sock->addr.plain.sa_family != AF_UNIX) {
-+
- addr = &srv_sock->addr;
- li_utostrn(buf, sizeof(buf), sock_addr_get_port(addr));
- rc |= cb(vdata, CONST_STR_LEN("SERVER_PORT"), buf, strlen(buf));
-@@ -1482,6 +1484,7 @@ int http_cgi_headers (server *srv, connection *con, http_cgi_opts *opts, http_cg
- }
- force_assert(s);
- rc |= cb(vdata, CONST_STR_LEN("SERVER_ADDR"), s, strlen(s));
-+ }
-
- if (!buffer_string_is_empty(con->server_name)) {
- size_t len = buffer_string_length(con->server_name);
-@@ -1497,15 +1500,23 @@ int http_cgi_headers (server *srv, connection *con, http_cgi_opts *opts, http_cg
- rc |= cb(vdata, CONST_STR_LEN("SERVER_NAME"),
- con->server_name->ptr, len);
- } else {
-+ if (srv_sock->addr.plain.sa_family != AF_UNIX) {
- /* set to be same as SERVER_ADDR (above) */
- rc |= cb(vdata, CONST_STR_LEN("SERVER_NAME"), s, strlen(s));
- }
-+ }
-+ if (srv_sock->addr.plain.sa_family == AF_UNIX) {
-+ rc |= cb(vdata, CONST_STR_LEN("SERVER_IPC"), CONST_STR_LEN("yes"));
-+ }
-+
-+ if (srv_sock->addr.plain.sa_family != AF_UNIX) {
-
- rc |= cb(vdata, CONST_STR_LEN("REMOTE_ADDR"),
- CONST_BUF_LEN(con->dst_addr_buf));
-
- li_utostrn(buf, sizeof(buf), sock_addr_get_port(&con->dst_addr));
- rc |= cb(vdata, CONST_STR_LEN("REMOTE_PORT"), buf, strlen(buf));
-+ }
-
- for (n = 0; n < con->request.headers->used; n++) {
- data_string *ds = (data_string *)con->request.headers->data[n];
---
-2.7.4
-
diff --git a/recipes-core/lighttpd/files/lighttpd.conf b/recipes-core/lighttpd/files/lighttpd.conf
deleted file mode 100644
index a3e02da..0000000
--- a/recipes-core/lighttpd/files/lighttpd.conf
+++ /dev/null
@@ -1,209 +0,0 @@
-# lighttpd configuration file for the rcell
-# include config file (/var/run/config/lighttpd_port.conf) generated at start up
-#
-# $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $
-
-#IMPORT PORT SETTINGS
-include "/var/run/config/lighttpd_port.conf"
-
-## local access from startup scripts and apps
-$SERVER["socket"] == "/var/run/api/http.sock" { }
-
-## modules
-server.modules = (
- "mod_rewrite",
- "mod_redirect",
- "mod_proxy",
- "mod_alias",
- "mod_access",
- "mod_fastcgi",
- "mod_accesslog",
- "mod_openssl",
- "mod_setenv")
-
-
-## static document-root
-server.document-root = "/var/www/"
-setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*",
- "Content-Security-Policy" => "default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval' 'self'; style-src 'unsafe-inline' https://fonts.googleapis.com 'self'; font-src https://fonts.gstatic.com 'self'; connect-src 'self'; img-src 'self' data:",
- "X-Frame-Options" =>"SAMEORIGIN",
- "X-XSS-Protection" => "1; mode=block",
- "X-Content-Type-Options" => "nosniff",
- "Referrer-Policy" => "strict-origin-when-cross-origin",
- "Feature-Policy" => "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; payment 'none'; usb 'none'",
- "Strict-Transport-Security" => "max-age=31536000",
- "Cache-Control" => "no-cache"
-)
-server.socket-perms = "0760"
-
-## where to send error-messages to
-#server.errorlog = "/var/log/lighttpd.error.log"
-server.errorlog-use-syslog = "enable"
-
-# disable stat cache
-server.stat-cache-engine = "disable"
-
-## where to send access log
-#accesslog.filename = "/var/log/lighttpd.access.log"
-accesslog.use-syslog = "enable"
-
-## enable debugging
-#debug.log-request-header = "enable"
-#debug.log-response-header = "enable"
-#debug.log-request-handling = "enable"
-#debug.log-file-not-found = "enable"
-#debug.log-condition-handling = "enable"
-
-## where to upload files
-server.upload-dirs = ( "/var/volatile/tmp" )
-
-# files to check for if .../ is requested
-index-file.names = ( "index.php", "index.html",
- "index.htm", "default.htm" )
-
-# mimetype mapping
-mimetype.assign = (
- ".pdf" => "application/pdf",
- ".sig" => "application/pgp-signature",
- ".spl" => "application/futuresplash",
- ".class" => "application/octet-stream",
- ".ps" => "application/postscript",
- ".torrent" => "application/x-bittorrent",
- ".dvi" => "application/x-dvi",
- ".pac" => "application/x-ns-proxy-autoconfig",
- ".swf" => "application/x-shockwave-flash",
- ".tar.gz" => "application/x-tgz",
- ".tgz" => "application/x-tgz",
- ".tar" => "application/x-tar",
- ".xhtml" => "application/xhtml+xml",
- ".xht" => "application/xhtml+xml",
- ".zip" => "application/zip",
- ".mp3" => "audio/mpeg",
- ".m3u" => "audio/x-mpegurl",
- ".wma" => "audio/x-ms-wma",
- ".wax" => "audio/x-ms-wax",
- ".ogg" => "application/ogg",
- ".wav" => "audio/x-wav",
- ".gif" => "image/gif",
- ".jpg" => "image/jpeg",
- ".jpeg" => "image/jpeg",
- ".png" => "image/png",
- ".svg" => "image/svg+xml",
- ".ico" => "image/x-icon",
- ".xbm" => "image/x-xbitmap",
- ".xpm" => "image/x-xpixmap",
- ".xwd" => "image/x-xwindowdump",
- ".css" => "text/css",
- ".html" => "text/html",
- ".htm" => "text/html",
- ".asc" => "text/plain",
- ".c" => "text/plain",
- ".cpp" => "text/plain",
- ".log" => "text/plain",
- ".conf" => "text/plain",
- ".text" => "text/plain",
- ".txt" => "text/plain",
- ".dtd" => "text/xml",
- ".xml" => "text/xml",
- ".mpeg" => "video/mpeg",
- ".mpg" => "video/mpeg",
- ".mov" => "video/quicktime",
- ".qt" => "video/quicktime",
- ".avi" => "video/x-msvideo",
- ".asf" => "video/x-ms-asf",
- ".asx" => "video/x-ms-asf",
- ".wmv" => "video/x-ms-wmv",
- ".bz2" => "application/x-bzip",
- ".tbz" => "application/x-bzip-compressed-tar",
- ".tar.bz2" => "application/x-bzip-compressed-tar",
- ".mib" => "application/text",
- ".js" => "application/javascript"
- )
-
-## deny access the file-extensions
-url.access-deny = ( "~", ".inc" )
-
-# send a different Server: header
-server.tag = ""
-
-#server.error-handler-404 = "/index.html"
-
-#Range request are requests of one or more sub-ranges of a file.
-#Range requests are very helpful for resuming interrupted downloads and fetching small portions of huge files.
-#Note: Adobe Acrobat Reader can crash when it tries to open a PDF file if range requests are enabled.
-$HTTP["url"] =~ "\.pdf$" {
- server.range-requests = "disable"
-}
-
-##
-# which extensions should not be handle via static-file transfer
-#
-# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
-static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
-
-## to help the rc.scripts
-server.pid-file = "/var/run/lighttpd.pid"
-
-# Restrict server process to non priveleged user
-server.username = "www"
-server.groupname = "www"
-
-# server limit POST size in kilobytes (60MB for firmware update)
-server.max-request-size = 113246
-
-# server limits
-server.max-keep-alive-requests = 16
-server.max-keep-alive-idle = 15
-server.max-read-idle = 60
-server.max-write-idle = 360
-
-##
-## Format: <errorfile-prefix><status-code>.html
-## -> ..../status-404.html for 'File not found'
-server.errorfile-prefix = "/var/www/errors/status-"
-
-## virtual directory listings
-#dir-listing.activate = "enable"
-
-#IMPORTED CONFIGS WILL HANDLE SETTING HTTP/HTTPS
-
-#### fastcgi module
-fastcgi.server = ( "/" =>
- ( "authorizer" =>
- (
- "mode" => "authorizer",
- "check-local" => "disable",
- "socket" => "/var/run/api/rcell_api.sock",
- "docroot" => "/var/www"
- )
- )
-)
-
-
-$HTTP["url"] =~ "/static/js" {
- setenv.add-response-header = ( "Content-Encoding" => "gzip")
- mimetype.assign = ("" => "text/javascript" )
- } else $HTTP["url"] =~ "/help/template/scripts" {
- setenv.add-response-header = ( "Content-Encoding" => "gzip")
- mimetype.assign = ("" => "text/javascript" )
- } else $HTTP["url"] =~ "/help/whxdata/" {
- setenv.add-response-header = ( "Content-Encoding" => "gzip")
- mimetype.assign = ("" => "text/javascript" )
- } else $HTTP["url"] =~ "/help/template/Azure_Blue_MTS_1/layout.css" {
- setenv.add-response-header = ( "Content-Encoding" => "gzip")
- mimetype.assign = ("" => "text/css" )
- } else $HTTP["url"] =~ "^/api" {
- fastcgi.server = ( "/api" =>
- ( "api" =>
- (
- "mode" => "responder",
- "check-local" => "disable",
- "socket" => "/var/run/api/rcell_api.sock"
- )
- )
- )
-}
-
-#INCLUDE DIPSERVICE SETTINGS
-include "/var/run/config/lighttpd_dipservice.conf"
-include "/var/run/config/lighttpd_custom_images.conf"
diff --git a/recipes-core/lighttpd/files/lighttpd.init b/recipes-core/lighttpd/files/lighttpd.init
deleted file mode 100644
index 39860d3..0000000
--- a/recipes-core/lighttpd/files/lighttpd.init
+++ /dev/null
@@ -1,310 +0,0 @@
-#!/bin/sh
-
-enable -f libjsonget.so jsonget
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/sbin/lighttpd
-NAME=lighttpd
-ANGEL=/sbin/lighttpd-angel
-DESC="Lighttpd Web Server"
-# Web UI
-OPTS="-D -f /etc/lighttpd.conf"
-# Node-RED stub
-OPTS_NRS="-f /etc/lighttpd_nrs.conf"
-
-CAPA_NODE_RED=$(jsonget "$(< /var/run/config/device_info.json)" /capabilities/nodeRed)
-
-CONF_DIR=/var/config
-RUN_CONF_DIR=/var/run/config
-
-true2enable() {
- if [[ "$1" == "true" ]]; then
- echo "enable"
- else
- echo "disable"
- fi
-}
-
-#Generates additional lighttpd configuration files
-#1) Enables HTTPS
-#2) Allows port configurations for HTTP and HTTPS
-#3) Enables dipservice
-#4) Allows port configurations for dipservice
-generate_config() {
- FILE="$RUN_CONF_DIR/lighttpd_port.conf"
- FILE_DIP="$RUN_CONF_DIR/lighttpd_dipservice.conf"
-
- #Pull Webserver Ports
- RMA=$(jsonget "$(< "/var/config/db.json")" /remoteAccess)
- HTTP_ENABLED=$(jsonget "$RMA" /http/enabled)
- HTTP_PORT=$(jsonget "$RMA" /http/port)
- HTTPS_REDIRECT=$(jsonget "$RMA" /http/redirectToHttps)
- HTTPS_ENABLED=$(jsonget "$RMA" /https/enabled)
- HTTPS_PORT=$(jsonget "$RMA" /https/port)
-
- # Advanced secure protocol settings
- ADVANCED_SEC_VALID="false"
- ADVANCED_SEC=$(jsonget "$(< "/var/config/db.json")" /secureProtocols/2)
-
- if [[ "0" == "$?" ]]; then
- ADVANCED_SEC_NAME=$(jsonget "$ADVANCED_SEC" /name)
- if [[ "$ADVANCED_SEC_NAME" == "lighttpd" ]]; then
- ADVANCED_SEC_VALID="true"
- HTTPS_SSL3=$(true2enable "false") # $(true2enable $(jsonget "$ADVANCED_SEC" /protocol/ssl3))
- HTTPS_TLS1=$(true2enable "false") # $(true2enable $(jsonget "$ADVANCED_SEC" /protocol/tls1))
- HTTPS_TLS1_1=$(true2enable $(jsonget "$ADVANCED_SEC" /protocol/tls1_1))
- HTTPS_TLS1_2=$(true2enable $(jsonget "$ADVANCED_SEC" /protocol/tls1_2))
- HTTPS_CIPHER=$(jsonget "$ADVANCED_SEC" /cipherSuite)
- if [[ -z $HTTPS_CIPHER && -f /etc/ssl/allowed_ciphersuites ]]; then
- HTTPS_CIPHER=$( cat /etc/ssl/allowed_ciphersuites | tr "\n" ":" )
- fi
- CLIENT_VERIFY=$(jsonget "$ADVANCED_SEC" /client/verify )
- fi
- fi
-
- if [[ "$ADVANCED_SEC_VALID" != "true" ]]; then
- echo "API init. Using default SSL security settings"
- # In case of invalid Advanced Security section - start with default parameters
- HTTPS_SSL3=$(true2enable "false")
- HTTPS_TLS1=$(true2enable "false")
- HTTPS_TLS1_1=$(true2enable "false")
- HTTPS_TLS1_2=$(true2enable "true")
- HTTPS_CIPHER=""
- CLIENT_VERIFY="false"
- fi
-
- #("Protocol" => "-ALL, TLSv1.2")
- HTTPS_SSL_CONF='("Protocol" => "-ALL'
-
- if [[ "$HTTPS_TLS1" == "enable" ]]; then
- HTTPS_SSL_CONF+=', TLSv1'
- fi
- if [[ "$HTTPS_TLS1_1" == "enable" ]]; then
- HTTPS_SSL_CONF+=', TLSv1.1'
- fi
- if [[ "$HTTPS_TLS1_2" == "enable" ]]; then
- HTTPS_SSL_CONF+=', TLSv1.2'
- fi
- HTTPS_SSL_CONF+='")'
-
- #Generate Lighttpd dipservice config
- DIP=$(jsonget "$(< "$CONF_DIR/db.json")" /customDiagnostic || echo '{ "enabled": false, "port":8080 }')
- DIP_ENABLED=$(jsonget "$DIP" /enabled)
- DIP_PORT=$(jsonget "$DIP" /port)
-
- echo "Generating $FILE_DIP"
- > "$FILE_DIP"
-
- #Generate Lighttpd Port Config
- echo "Generating $FILE"
- > "$FILE"
-
- if [[ "$DIP_ENABLED" == "true" ]]; then
- cat >> $FILE_DIP <<END
-\$SERVER["socket"] == "0.0.0.0:$DIP_PORT" {
- fastcgi.server = (
- "/" => (
- (
- "host" => "127.0.0.1",
- "port" => 9009,
- "check-local" => "disable",
- "bin-path" => "/sbin/dipservice -d /var/config/dipdata",
- "max-procs" => 1,
- "docroot" => "/var/config/dipdata"
- )
- )
- )
-}
-END
- fi
-
- cat >> $FILE <<END
-#AUTO-GENERATED LIGHTTPD HTTP/HTTPS CONFIGURATIONS
-#DO NOT CHANGE THIS FILE -> CHANGE $0
-END
-
-#Explicitly set the default listening port to HTTP port.
-cat >> $FILE <<END
-
-# listen to ipv4
-server.bind = "0.0.0.0"
-server.port = "$HTTP_PORT"
-END
-
- if [ "$HTTPS_ENABLED" = "true" ]; then
- # Enable HTTPS for ipv4/ipv6
- # See (https://redmine.lighttpd.net/projects/lighttpd/wiki/IPv6-Config#Recommended-IPv6-setup)
-
- HTTPS_SSL_ENGINE_CONFIG="ssl.engine = \"enable\"
- ssl.use-sslv3 = \"$HTTPS_SSL3\"
- ssl.openssl.ssl-conf-cmd = $HTTPS_SSL_CONF
- ssl.pemfile = \"$CONF_DIR/server.pem\""
-
- if [ "$CLIENT_VERIFY" = "true" ]; then
- HTTPS_SSL_ENGINE_CONFIG+="ssl.ca-file = \"/etc/ssl/certs/ca-certificates.crt\"
- ssl.verifyclient.activate = \"enable\"
- ssl.verifyclient.enforce = \"enable\""
- fi
-
- if [ -n "$HTTPS_CIPHER" ]; then
- HTTPS_SSL_ENGINE_CONFIG+="
- ssl.cipher-list = \"$HTTPS_CIPHER\""
- fi
-
- cat >> $FILE <<END
-
-# ipv4 socket
-\$SERVER["socket"] == "0.0.0.0:$HTTPS_PORT" {
- $HTTPS_SSL_ENGINE_CONFIG
-}
-
-# ipv6 socket
-\$SERVER["socket"] == "[::]:$HTTPS_PORT" {
- $HTTPS_SSL_ENGINE_CONFIG
-}
-
-END
-
- fi
-
-
- # Ensure that loopback can always access port 80
- if [ "$HTTP_PORT" != 80 ]; then
- echo "\$SERVER[\"socket\"] == \"127.0.0.1:80\" { }" >> $FILE
- fi
-
- # Enable redirect from HTTP to HTTPS if enabled
- if [ "$HTTPS_REDIRECT" == "true" ]; then
- HTTPS_REDIRECT_CONFIG="\$SERVER[\"socket\"] == \":$HTTP_PORT\" {
- \$HTTP[\"host\"] =~ \"^([^:^/]*)(:\d*)?(.*)\" {
- url.redirect = ( \"^/(.*)\" => \"https://%1:$HTTPS_PORT/\$1\" )
- }
- } else "
- fi
-
- HTTPX_REWRITE_URL='url.rewrite-once = ( "^/(?!static|api|tmp|help)(.+)/?$" => "/index.html" )'
-
- #BREAKDOWN
- # LINE 1: CHECK: REMOTE IP IS NOT 127.0.0.1 (LOOPBACK)
- # LINE 2: CHECK: DEST PORT IS THE HTTP PORT LIGHTTPD IS LISTENING ON
- # LINE 3: CHECK: HOST ADDRESS (ex: 192.168.2.1:81/whatever) MATCHES THE REGEX [DOMAIN][PORT (optional)][URI]
- # THE REGEX FROM LINE 3 CAN BE ACCESSED IN LINE 4 WITH '%#' (ex: %1 == DOMAIN, %2 == PORT, %3 == URI)
- # LINE 4: FUNCTION: REGEX THE URI ([MATCH ALL]) AND BUILD THE REDIRECT URL
- # THE REGEX FROM LINE 4 CAN BE ACCESSED IN THE REDIRECT CONSTRUCTION WITH '$#' (ex: $1 == THE ENTIRE URI)
-
- cat >> $FILE <<END
-\$HTTP["remoteip"] != "127.0.0.1" {
- $HTTPS_REDIRECT_CONFIG \$HTTP["host"] =~ "^([^:^/]*)(:\d*)?(.*)" {
- \$SERVER["socket"] == "[::]:$HTTPS_PORT" {
- $HTTPX_REWRITE_URL
- }
- \$SERVER["socket"] == ":$HTTPS_PORT" {
- $HTTPX_REWRITE_URL
- }
- \$SERVER["socket"] == ":$HTTP_PORT" {
- $HTTPX_REWRITE_URL
- }
- }
-}
-END
-}
-
-populate_www_images() {
- local CONFIGIMAGES="/var/config/images"
- local OEMIMAGES="/var/oem/images"
- local WWWIMAGES="/var/volatile/www/images"
- local WWWIMAGES_RO="/var/www/images_ro"
-
- # Populate images only once per boot
- if [ ! -d $WWWIMAGES ]; then
-
- # Copy from oem partition to config partition
- if [ ! -d $CONFIGIMAGES ]; then
- if [ -d $OEMIMAGES ]; then
- echo "Copying oem images"
- mkdir -p $CONFIGIMAGES
- cp -rf $OEMIMAGES/* $CONFIGIMAGES
- fi
- fi
-
- # Copy from root partition to RAM
- mkdir -p $WWWIMAGES
- cp -rf $WWWIMAGES_RO/* $WWWIMAGES
-
- # Overwrite with /var/config/images
- if [ -d $CONFIGIMAGES ]; then
- cp -rf $CONFIGIMAGES/* $WWWIMAGES
- fi
- fi
-}
-
-wait_ready() {
- # wait api
- local retry=0
- local MAX=30
- sleep 1
- while [ $retry -lt $MAX ]; do
- if [ "200" == "$(curl -s --unix-socket /var/run/api/http.sock -I -o /dev/null -w "%{http_code}" http://localhost/api/system)" ]; then
- return
- fi
- retry=$(( $retry + 1 ))
- echo "Waiting for API ($retry/$MAX)..."
- sleep 1
- done
- echo "Failed waiting API!"
-}
-
-start() {
- mkdir -p /var/volatile/www/tmp
- lighttpd_custom_images_setup # detect mime types for UI Customization images and generate Lighttpd config fragment
-
- generate_config
-
- start-stop-daemon --start --background --exec $ANGEL -- $DAEMON $OPTS
-
- if [ "$CAPA_NODE_RED" = "true" ]; then
- start-stop-daemon --start -x "$DAEMON" -p /var/run/lighttpd_nrs.pid -- $OPTS_NRS
- fi
-
- wait_ready
-}
-
-stop() {
- start-stop-daemon --stop --exec $ANGEL
-
- if [ "$CAPA_NODE_RED" = "true" ]; then
- start-stop-daemon --stop -x "$DAEMON" -p /var/run/lighttpd_nrs.pid
- rm -f /var/run/lighttpd_nrs.pid
- fi
-
- rm -f /var/run/config/lighttpd_*
-}
-
-populate_www_images
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- stop
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- stop
- sleep 1
- start
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|force-reload}" >&2
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/recipes-core/lighttpd/files/lighttpd_custom_images_setup b/recipes-core/lighttpd/files/lighttpd_custom_images_setup
deleted file mode 100644
index ecd5f46..0000000
--- a/recipes-core/lighttpd/files/lighttpd_custom_images_setup
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/bash
-# Detects mime types for UI Customization images and generates according Lighttpd config fragment
-
-CONFIG_PATH="/var/run/config/lighttpd_custom_images.conf"
-IMAGE_PATH="/var/www/static/images/"
-MAGIC_DB_PATH="/usr/share/misc/magic-images.mgc"
-shopt -s nullglob
-
-echoerr() {
- echo "$@" 1>&2
-}
-
-generate_mime_assign() {
- local IMAGE="$1"
- local OUTPUT=$(file -ib "$IMAGE" --magic-file "$MAGIC_DB_PATH")
- local CONTENT_TYPE
-
- if [ "$?" -ne "0" ] || [[ "$OUTPUT" == "" ]] || [[ "$OUTPUT" == *"cannot open"* ]]; then
- echoerr "Failed to run file(1): ${?}; ${OUTPUT}"
- return 1
- fi
-
- CONTENT_TYPE="$OUTPUT"
- cat <<END
-\$HTTP["url"] =~ "/static/images/$IMAGE" {
- mimetype.assign = ("" => "$CONTENT_TYPE")
- }
-END
-}
-
-process_files() {
- local INDENT=" "
- local ELSE_STRING=""
- local FRAGMENT
-
- for IMAGE in custom_*; do
- INDENT=" "
-
- FRAGMENT=$(generate_mime_assign $IMAGE)
- if [ "$?" -eq "0" ]; then
- echo "${INDENT}${ELSE_STRING}${FRAGMENT}" >> "$CONFIG_PATH"
- ELSE_STRING="else "
- fi
- done
-}
-
-echo "Generating $CONFIG_PATH"
-
-# truncate and write head
-cat > "$CONFIG_PATH" <<END
-\$HTTP["url"] =~ "/static/images/custom_" {
-END
-
-cd "$IMAGE_PATH" && process_files
-
-# write tail (closing brace)
-echo "}" >> "$CONFIG_PATH"
diff --git a/recipes-core/lighttpd/files/lighttpd_nrs.conf b/recipes-core/lighttpd/files/lighttpd_nrs.conf
deleted file mode 100644
index 8c23747..0000000
--- a/recipes-core/lighttpd/files/lighttpd_nrs.conf
+++ /dev/null
@@ -1,66 +0,0 @@
-server.modules = ( "mod_expire" )
-server.bind = "127.0.0.1"
-server.port = 1882
-server.document-root = "/var/www/node-red/node-red-stub"
-server.max-keep-alive-requests = 0
-expire.url = ( "/" => "access 0 days" )
-server.errorlog-use-syslog = "enable"
-server.upload-dirs = ( "/var/volatile/tmp" )
-index-file.names = ( "index.html" )
-server.pid-file = "/var/run/lighttpd_nrs.pid"
-server.errorfile-prefix = "/var/www/node-red/node-red-errors/status-"
-mimetype.assign = (
- ".pdf" => "application/pdf",
- ".sig" => "application/pgp-signature",
- ".spl" => "application/futuresplash",
- ".class" => "application/octet-stream",
- ".ps" => "application/postscript",
- ".torrent" => "application/x-bittorrent",
- ".dvi" => "application/x-dvi",
- ".gz" => "application/x-gzip",
- ".pac" => "application/x-ns-proxy-autoconfig",
- ".swf" => "application/x-shockwave-flash",
- ".tar.gz" => "application/x-tgz",
- ".tgz" => "application/x-tgz",
- ".tar" => "application/x-tar",
- ".xhtml" => "application/xhtml+xml",
- ".xht" => "application/xhtml+xml",
- ".zip" => "application/zip",
- ".mp3" => "audio/mpeg",
- ".m3u" => "audio/x-mpegurl",
- ".wma" => "audio/x-ms-wma",
- ".wax" => "audio/x-ms-wax",
- ".ogg" => "application/ogg",
- ".wav" => "audio/x-wav",
- ".gif" => "image/gif",
- ".jpg" => "image/jpeg",
- ".jpeg" => "image/jpeg",
- ".png" => "image/png",
- ".xbm" => "image/x-xbitmap",
- ".xpm" => "image/x-xpixmap",
- ".xwd" => "image/x-xwindowdump",
- ".css" => "text/css",
- ".html" => "text/html",
- ".htm" => "text/html",
- ".js" => "text/javascript",
- ".asc" => "text/plain",
- ".c" => "text/plain",
- ".cpp" => "text/plain",
- ".log" => "text/plain",
- ".conf" => "text/plain",
- ".text" => "text/plain",
- ".txt" => "text/plain",
- ".dtd" => "text/xml",
- ".xml" => "text/xml",
- ".mpeg" => "video/mpeg",
- ".mpg" => "video/mpeg",
- ".mov" => "video/quicktime",
- ".qt" => "video/quicktime",
- ".avi" => "video/x-msvideo",
- ".asf" => "video/x-ms-asf",
- ".asx" => "video/x-ms-asf",
- ".wmv" => "video/x-ms-wmv",
- ".bz2" => "application/x-bzip",
- ".tbz" => "application/x-bzip-compressed-tar",
- ".tar.bz2" => "application/x-bzip-compressed-tar"
-)
diff --git a/recipes-core/lighttpd/lighttpd_1.4.48.bb b/recipes-core/lighttpd/lighttpd_1.4.48.bb
deleted file mode 100644
index 0b9897a..0000000
--- a/recipes-core/lighttpd/lighttpd_1.4.48.bb
+++ /dev/null
@@ -1,100 +0,0 @@
-SUMMARY = "Lightweight high-performance web server"
-HOMEPAGE = "http://www.lighttpd.net/"
-BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
-
-PR .= ".mts21"
-
-SECTION = "net"
-DEPENDS = "zlib libpcre openssl"
-RDEPENDS_${PN} += " \
- lighttpd-module-access \
- lighttpd-module-accesslog \
- lighttpd-module-fastcgi \
- lighttpd-module-rewrite \
- lighttpd-module-redirect \
- lighttpd-module-alias \
- lighttpd-module-setenv \
- lighttpd-module-expire \
- lighttpd-module-openssl \
-"
-RDEPENDS_${PN} += " openssl"
-# for lighttpd_custom_images_setup script
-RDEPENDS_${PN} += "bash file file-magic-db-images"
-
-
-SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.gz \
- file://lighttpd.conf \
- file://lighttpd_nrs.conf \
- file://lighttpd.init \
- file://lighttpd_custom_images_setup \
- file://0001-lighttpd-pcre-use-pkg-config.patch;apply=true \
- file://0004_fastcgi_env_with_unixsocket.patch;apply=true \
-"
-
-
-SRC_URI[md5sum] = "fe9ea4dccacd9738be03245c364bc055"
-SRC_URI[sha256sum] = "fc36f82877284eb506356aa80f483f133a9e17ec7cb79acd7e5b7733768538ef"
-
-EXTRA_OECONF = " \
- --without-bzip2 \
- --without-ldap \
- --without-lua \
- --without-memcached \
- --with-pcre \
- --without-webdav-props \
- --without-webdav-locks \
- --with-openssl \
- --with-openssl-libs=${STAGING_LIBDIR} \
- --with-zlib \
- --disable-static \
-"
-
-inherit useradd autotools pkgconfig update-rc.d gettext systemd
-
-INITSCRIPT_NAME = "lighttpd"
-INITSCRIPT_PARAMS = "defaults 60 40"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system --gid 667 www"
-USERADD_PARAM_${PN} = "--system --gid 667 --uid 667 --groups 667 --no-create-home --home-dir /var/www --shell /bin/false --no-user-group www"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
- install -d 0644 ${D}${sysconfdir}/ssl
- install -m 0755 --group www -d ${D}${localstatedir}/www
- install -m 0755 ${WORKDIR}/lighttpd.init ${D}${sysconfdir}/init.d/lighttpd
- install -m 0644 --group www ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
- install -m 0644 --group www ${WORKDIR}/lighttpd_nrs.conf ${D}${sysconfdir}
-
- #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
- ln -sf ${localstatedir}/log ${D}/www/logs
- ln -sf ${localstatedir}/tmp ${D}/www/var
- ln -snf ../volatile/www/tmp ${D}${localstatedir}/www/tmp
-
- install -d ${D}/${base_sbindir}
- install -m 755 ${WORKDIR}/lighttpd_custom_images_setup ${D}/${base_sbindir}/lighttpd_custom_images_setup
-}
-
-do_install_append_mtr() {
- sed -i 's/^server.max-request-size.*/server.max-request-size = 60000/g' ${D}${sysconfdir}/lighttpd.conf
-}
-
-do_install_append_mtrv1() {
- sed -i 's/^server.max-request-size.*/server.max-request-size = 60000/g' ${D}${sysconfdir}/lighttpd.conf
-}
-
-FILES_${PN} += "${sysconfdir} /www"
-
-CONFFILES_${PN} = "${sysconfdir}/lighttpd.conf \
- ${sysconfdir}/lighttpd_nrs.conf \
- "
-
-PACKAGES_DYNAMIC += "^lighttpd-module-.*"
-
-python populate_packages_prepend () {
- lighttpd_libdir = d.expand('${libdir}')
- do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
-}
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-cell-radio-ready b/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-cell-radio-ready
deleted file mode 100644
index 42c5cdc..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-cell-radio-ready
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-# The timeout can be set in the environment or the
-# first parameter.
-
-COUNTER=0
-
-if [ $# -gt 1 ]; then
- echo "usage: $0 [timeout]"
- exit 1
-fi
-
-[ $# -eq 1 ] && TIMEOUT=$1
-
-# Set the default TIMEOUT
-: ${TIMEOUT:=60}
-
-# Wait for the radio to be ready before continuing
-while [ $COUNTER -lt $TIMEOUT ]; do
- TYPE=$(radio-query --type)
- MODEL=$(radio-query --model)
- if [ $? == 0 ]; then
- echo "Cellular radio is ready."
- exit 0
- fi
- let COUNTER=COUNTER+1
-
- echo "Waiting for radio to come up in order to identify type ..."
-
- sleep 1
-done
-
-echo "Cellular radio is not ready."
-exit 1
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-cell-router b/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-cell-router
deleted file mode 100755
index 1607c32..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-cell-router
+++ /dev/null
@@ -1,147 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright (C) 2014 Multi-Tech Systems
-
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-set -e
-
-do_start() {
- lan_interfaces=$(echo "$lan" | sed "s/,/ /g")
-
- echo "Configuring firewall rules..."
- # Flush all the tables first
- iptables -t filter -F
- iptables -t nat -F
- iptables -t mangle -F
-
- # Drop all incoming packets by default
- iptables -t filter -P INPUT DROP
- # Accept all on local loopback
- iptables -t filter -A INPUT -i lo -j ACCEPT
- # Allow packets in for existing socket connections
- iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-
- # Accept all from LAN interfaces
- for i in $lan_interfaces; do
- iptables -t filter -A INPUT -i $i -j ACCEPT
-
- # Accept ssh from the LAN (Wired)
- #iptables -t filter -A INPUT -i $i -p tcp --dport 22 -j ACCEPT
- # Accept http from the LAN (Wired)
- #iptables -t filter -A INPUT -i $i -p tcp --dport 80 -j ACCEPT
- # Accept tftp from the LAN (Wired)
- #iptables -t filter -A INPUT -i $i -p udp --dport 69 -j ACCEPT
- done
-
- # Accept ssh from the WAN (Wireless)
- #iptables -t filter -A INPUT -i $wan -p tcp --dport 22 -j ACCEPT
- # Accept http from the WAN (Wireless)
- #iptables -t filter -A INPUT -i $wan -p tcp --dport 80 -j ACCEPT
-
- # Allow packet fowarding from LAN interfaces to WAN (cell router)
- iptables -t filter -P FORWARD DROP
- iptables -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
- for i in $lan_interfaces; do
- iptables -t filter -A FORWARD -i $i -o $wan -j ACCEPT
- done
-
- # Allow all output packets
- iptables -t filter -P OUTPUT ACCEPT
-
- # enable NAT for cell router
- iptables -t nat -A POSTROUTING -o $wan -j MASQUERADE
-
- echo "Enabling packet forwarding..."
- # turn on packet forwarding last
- echo 1 > /proc/sys/net/ipv4/ip_forward
- echo "Done"
-}
-
-do_stop() {
- echo "Clearing firewall rules..."
- # clear all tables
- iptables -t filter -F
- iptables -t nat -F
- iptables -t mangle -F
- # reset policies to ACCEPT
- iptables -t filter -P INPUT ACCEPT
- iptables -t filter -P OUTPUT ACCEPT
- iptables -t filter -P FORWARD ACCEPT
-
- # turn off packet forwarding
- echo "Disabling packet forwarding..."
- echo 0 > /proc/sys/net/ipv4/ip_forward
- echo "Done"
-}
-
-usage() {
- echo "Usage: $(basename $0) start|stop [options]"
- echo " options:"
- echo " -l <lan-interfaces> LAN interfaces to allow, comma-separated (defaults to \"eth0\")"
- echo " -w <wan-interface> WAN interface to route out (defaults to \"ppp0\")"
- exit 1
-}
-
-# main
-if [[ $# < 1 ]]; then
- usage
-fi
-
-cmd=$1
-shift
-
-while getopts "l:w:h" opt; do
- case "$opt" in
- l)
- l=$OPTARG
- ;;
- w)
- w=$OPTARG
- ;;
- h)
- usage
- ;;
- *)
- usage
- ;;
- esac
-done
-
-# default lan to eth0 if not specified
-lan=${l-eth0}
-# default wan to ppp0 if not specified
-wan=${w-ppp0}
-
-case $cmd in
- start)
- echo "LAN: $lan"
- echo "WAN: $wan"
- do_start
- ;;
- stop)
- do_stop
- ;;
- *)
- usage
- ;;
-esac
-
-exit 0
-
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-dhcpd b/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-dhcpd
deleted file mode 100755
index 976b138..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-dhcpd
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2014 Multi-Tech Systems
-
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-do_start() {
- echo "starting dhcp daemon"
- udhcpd -S /etc/udhcpd.conf
-}
-
-do_stop() {
- echo "stopping dhcp daemon"
- killall udhcpd
-}
-
-usage() {
- echo "Usage: $(basename $0) start|stop|restart"
- exit 1
-}
-
-# main
-if [[ $# != 1 ]]; then
- usage
-fi
-
-case $1 in
- start)
- if [[ ! -f "/etc/udhcpd.conf" ]]
- then
- echo "/etc/udhcpd.conf does not exist"
- exit 1
- fi
- do_start
- ;;
- stop)
- do_stop
- ;;
- restart)
- do_stop
- sleep 1
- do_start
- ;;
- *)
- usage
- ;;
-esac
-
-exit 0
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-set-apn b/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-set-apn
deleted file mode 100755
index ebe8096..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-set-apn
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2014,2017,2019 Multi-Tech Systems
-
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-noapn_modems=(lvw2 lsp3 cdma)
-
-# Comment out AT+CGDCONT= statement
-remove_apn_sedcmd="s/^(OK[[:space:]]+'|#MT[[:space:]]+)(AT\+CGDCONT=[0-9]+[^\']*)'*/#comment by mlinux-set-apn \2/"
-
-
-
-function usage {
- echo "Usage: $(basename $0) [--] APN"
- echo "Or $(basename $0) -c to clear the APN line"
- echo "-- is requied if the APN begins with -"
- exit 1
-}
-
-
-((clear=0))
-if (($# < 1)); then
- usage
-fi
-if [[ $1 == "--" ]] ; then
- apn=$2
-elif [[ $1 == "-c" ]] ; then
- clear=1
-elif [[ $1 =~ ^- ]] ; then
- usage
-else
- apn=$1
-fi
-
-
-set_apn_sedcmd="s/^(#comment by mlinux-set-apn )*(OK[[:space:]]+'|#MT[[:space:]]+)*AT\+CGDCONT=([0-9]+),\"([^\"]*)\",\"[^\"]*\".*/#MT AT\+CGDCONT=\3,\"\4\",\"${apn}\"/"
-
-
-
-getmodem()
-{
- radioproduct=$(/usr/sbin/mts-io-sysfs show product-id) # LNA3?
- if (($? != 0)) ; then
- echo "Radio is not ready or not found and cannot determine the type"
- exit 1
- fi
- if [[ $radioproduct =~ [^-]*-([^-]*)- ]] ; then
- echo "${BASH_REMATCH[1]}"
- fi
-}
-function findItem
-{
- local s check="$1"
- shift
- for s ; do [[ "$s" == "$check" ]] && return 0; done
- return 1
-}
-
-
-cd /var/config/ppp/peers
-if ((clear != 1)) ; then
- for f in $noapn ; do
- echo "Not allowed to set APN for $f"
- done
-
- for f in *_chat *_chat_non_vz ; do
- if [[ -L $f ]] ; then
- continue
- fi
- [[ $f =~ ([^_]*) ]]
- m=${BASH_REMATCH[1]}
- if findItem "$m" "${noapn_modems[@]}" ; then
- continue
- fi
-
- if sed -r -i "${set_apn_sedcmd}" ${f}; then
- echo "Set APN to \"${apn}\" in ${f}"
- if ! grep -q /usr/libexec/ppp/chat_wrapper ${m} ; then
- sed -i "s?connect '/usr/sbin/chat?connect '/usr/libexec/ppp/chat_wrapper /usr/sbin/chat?" ${m}
- fi
- else
- echo "Failed to set APN in $f_chat"
- fi
- done
-else
- for f in *_chat *_chat_non_vz ; do
- if sed -i -r "${remove_apn_sedcmd}" $f ; then
- echo "Commented out APN in $f"
- else
- if [[ $f =~ ([^_]*) ]] ; then
- m=${BASH_REMATCH[1]}
- if ! findItem "$m" "${noapn_modems[@]}" ; then
- echo "Failed to remove APN setting in $f"
- fi
- fi
- fi
- done
-fi
-
-exit 0
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-switch-apn b/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-switch-apn
deleted file mode 100755
index be056eb..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-switch-apn
+++ /dev/null
@@ -1,161 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2014, 2017, 2019 Multi-Tech Systems
-
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-MTMODEMS=(LNA3 L4N1)
-MODEMS=(LE910-NA1 LE910C4-NF)
-
-function getactivefirmware
-{
- /usr/bin/radio-query ${RADIOOPTION} --active-firmware
-# FW=$(/usr/bin/radio-cmd ${RADIOOPTION} 'AT#FWSWITCH?' 2>/dev/null)
-# if (($? != 0)) ; then
-# >&2 echo "FW Query failed"
-# return 1
-# fi
-# [[ $FW =~ \#FWSWITCH:[[:space:]]*([^,]*) ]]
-# echo "${BASH_REMATCH[1]}"
-}
-
-# See if string is in array of strings
-# parm 1 String
-# parm 2 Arrays of strings
-function findItem {
- local s check="$1"
- shift
- for s ; do
- [[ "$s" == "$check" ]] && return 0;
- done
- return 1
-}
-
-function usage {
- >&2 echo "$(basename $0) [firmware image SKU]"
- >&2 echo "The firmware image SKU is optional."
- >&2 echo "If not specified, the image SKU will be determined"
- >&2 echo "from the SIM, and automatically switched with the"
- >&2 echo "APN. Current valid SKU's are 0, 1 and 2"
- exit 1
-}
-
-function setchat {
- m=$1
- m=${m,,}
- fw=$2
- silent=$3
- case $fw in
- 0)
- ending="non_vz"
- ;;
- 1)
- ending="vz"
- ;;
- 2)
- # Currently L4N1 only
- ending="non_vz"
- ;;
- *)
- >&2 echo 'Invalid firmware number $fw'
- usage
- exit 1
- ;;
- esac
- source="/etc/ppp/peers/${m}_chat_${ending}"
- target="/etc/ppp/peers/${m}_chat"
- canon_src=$(readlink -f "${source}")
- canon_target=$(readlink -f "${target}")
- if [[ ${canon_src} != ${canon_target} ]] ; then
- if ((silent == 0)) ; then
- echo "Setting chat script to ${source}"
- fi
- ln -sf "${source}" "${target}"
- fi
-}
-
-function not_ready {
- >&2 echo "Radio is not ready"
- >&2 echo "Try executing mlinux-switch-apn once the radio is ready"
- exit 1
-}
-
-productid=$(/usr/sbin/mts-io-sysfs show product-id)
-if [[ $productid =~ [^-]*-([^-]*)- ]] ; then
- mymtmodem="${BASH_REMATCH[1],,}"
-else
- >&2 echo "Cannot find the modem in the $productid string"
- exit 1
-fi
-
-if ! findItem "${mymtmodem^^}" "${MTMODEMS[@]}" ; then
- echo "Firmware switch is not supported on ${mymtmodem}."
- usage
- exit 1
-fi
-
-if (($# > 0)) ; then
- fw="$1"
- if [[ $fw =~ ^[0-9]+$ ]] ; then
- echo fw is $fw
- if ((fw < 0)) || ((fw > 2)) ; then
- usage
- fi
- else
- >&2 echo "Invalid firmware SKU value"
- usage
- fi
- echo "Switching chat script to firmware SKU $fw"
- setchat $mymtmodem $fw 0
- exit $?
-else
- if ! /usr/sbin/mlinux-cell-radio-ready ; then
- >&2 echo Radio is not ready
- >&2 echo Try again later
- exit 1
- fi
- MODEL=$(radio-query ${RADIOOPTION} --model 2>&1)
- result=$?
- if [[ $MODEL =~ [Ee][Rr][Rr][Oo][Rr] ]] ; then
- RADIOOPTION="${RADIOOPTION2}"
- MODEL=$(radio-query ${RADIOOPTION} --model 2>&1)
- result=$?
- fi
- if ((result != 0)) ; then
- >&2echo "No radio on this device."
- usage
- exit 1
- fi
- if ! findItem $MODEL "${MODEMS[@]}" ; then
- >&2 echo "Firmware switch is supported only on ${MODEMS[@]} and this modem is $MODEL"
- usage
- fi
-
- if fwreply=$(/usr/sbin/mlinux-switch-cell-fw -1); then
- if [[ $fwreply =~ Cellular[[:space:]]+radio[[:space:]]+firmware[[:space:]]+has[[:space:]]+(already[[:space:]]+)*been[[:space:]]+switched[[:space:]]+to[[:space:]]+([^[:space:]]*)[[:space:]]+image\. ]] ; then
- fw=${BASH_REMATCH[2]}
- setchat "${mymtmodem}" $fw 0
- else
- fw=$(getactivefirmware)
- if (($? == 0)) ; then
- setchat "${mymtmodem}" $fw 0
- fi
- fi
- fi
-fi \ No newline at end of file
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-switch-cell-fw b/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-switch-cell-fw
deleted file mode 100755
index 4065ccb..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-switch-cell-fw
+++ /dev/null
@@ -1,211 +0,0 @@
-#!/bin/bash
-# This script assumes Verizon SIMS ICCID start with 89148 and is firmware 1.
-# This script assumes T-Mobile SIMS start with 8901260 and is firmware 2.
-
-fwsw_modems=(LE910-NA1 LE910C4-NF)
-mt_modems=(lna3 l4n1)
-readme=/etc/ppp/peers/README.fwswitch
-function setactivefirmware
-{
- radio-cmd ${RADIOOPTION} --set-active-firmware $1
-# RESULT=$(radio-cmd ${RADIOOPTION} 'AT#FWSWITCH='$1',1' 2>&1)
-# if (($? != 0)) ; then
-# >&2 echo "FW Set failed"
-# return 1
-# fi
-# if [[ $RESULT =~ [Ee][Rr][Rr][Oo][Rr] ]] ; then
-# >&2 echo "FW Set failed"
-# return 1
-# fi
-}
-
-function getactivefirmware
-{
- /usr/bin/radio-query ${RADIOOPTION} --active-firmware
-# FW=$(/usr/bin/radio-cmd ${RADIOOPTION} 'AT#FWSWITCH?' 2>/dev/null)
-# if (($? != 0)) ; then
-# >&2 echo "FW Query failed"
-# return 1
-# fi
-# [[ $FW =~ \#FWSWITCH:[[:space:]]*([^,]*) ]]
-# echo "${BASH_REMATCH[1]}"
-}
-
-# See if string is in array of strings
-# parm 1 String
-# parm 2 Arrays of strings
-function findItem {
- local s check="$1"
- shift
- for s ; do
- [[ "$s" == "$check" ]] && return 0;
- done
- return 1
-}
-
-
-function usage {
->&2 echo "
-Usage: $0 <image_id> [timeout]
- image_id <0|1|2|-1> : for dual FW image SKU-s, the id of the image to switch to
- -1 is based on SIM
- timeout : wait time for radio to come up if set (default : 15 sec)
-
-"
- exit 1
-}
-
-if [ $# -gt 2 ] ; then
- usage
-fi
-
-#
-# Check if the radio present
-#
-MODEL=$(radio-query ${RADIOOPTION} --model 2>&1)
-result=$?
-if [[ $MCONTEXT =~ [Ee][Rr][Rr][Oo][Rr] ]] ; then
- RADIOOPTION="${RADIOOPTION2}"
- MODEL=$(radio-query ${RADIOOPTION} --model 2>&1)
- result=$?
-fi
-
-if ((result != 0)) ; then
- [ "$VERBOSE" ] && >&2 echo "Assume no radio on this device."
- exit 0
-fi
-
-#
-# Load args (don't wait for the radio by default)
-#
-FWIMAGE=$1
-if ((FWIMAGE < -2)) || ((FWIMAGE > 2)) ; then
- usage
-fi
-if ! >&2 /usr/sbin/mlinux-cell-radio-ready ; then
- [ "$VERBOSE" ] && >&2 echo Radio is not ready
- [ "$VERBOSE" ] && >&2 echo Try again later
- exit 1
-fi
-if ((FWIMAGE == -1)) ; then
- iccid=$(radio-query ${RADIOOPTION} --iccid)
- if (($? == 0)); then
- if ((${#iccid} == 0)) ; then
- [ "$VERBOSE" ] && >&2 echo "No carrier. Maybe no SIM?"
- [ "$VERBOSE" ] && >&2 echo "ERROR: Cannot decide on firmware"
- exit 1
- fi
- if [[ $iccid =~ ^89148.* ]] ; then
- # Verizon
- logger -s -t mlinux-sw-firmware -p daemon.info "Assuming $iccid is a Verizon SIM ICCID using Firmware 1"
- ((FWIMAGE=1))
- elif [[ $iccid =~ ^8901260.* ]] ; then
- # T-Mobile
- logger -s -t mlinux-sw-firmware -p daemon.info "Assuming $iccid is a T-Mobile SIM ICCID using Firmware 2"
- ((FWMAGE=2))
- if [[ $MODEL == LE910-NA1 ]] ; then # Assume LNA3 has no firmware image 2
- ((FWIMAGE=0))
- fi
- else
- # Everybody else
- logger -s -t mlinux-sw-firmware -p daemon.info "Assuming $iccid is a possibly AT&T SIM using Firmware 0"
- ((FWIMAGE=0))
- fi
- else
- >&2 echo "Cannot get ICCID from SIM"
- >&2 echo "Try again later"
- exit 1
- fi
-fi
-
-
-TIMEOUT=${2:-15}
-if [ "$VERBOSE" != "yes" ]; then
- VERBOSE=""
-fi
-
-[ "$VERBOSE" ] && >&2 echo -n "Switching the radio firmware image: "
-
-#
-# Applicable for LTE910-NA1 and LE910C4-NF with dual FW images only
-#
-if ! findItem "$MODEL" "${fwsw_modems[@]}" ; then
- echo "Firmware switch is not supported on ${MODEL}."
- exit 1
-fi
-
-#
-# Check if firmware switch is required
-#
-FWACTIVE=$(getactivefirmware)
-if [ $? -ne 0 ] || [ "$FWACTIVE" == "" ]; then
- [ "$VERBOSE" ] && >&2 echo "The $MODEL radio does not support firmware switching."
- exit 0
-fi
-
-if (( FWACTIVE == FWIMAGE )); then
- echo "Cellular radio firmware has already been switched to $FWIMAGE image."
- exit 0
-fi
-
-# Disable the LNA3 chat script in case of failure.
-for f in $mt_modems ; do
- linkf=/etc/ppp/peers/${f}_chat
- if ! [[ -L ${linkf} ]] || [[ $(basename $(readlink -f ${linkf})) != ${readme} ]] ; then
- ln -sf "${readme}" "${linkf}"
- echo "Chat script is now disabled."
- fi
-done
-
-#
-# Switch the firmware
-#
-RESULT=$(setactivefirmware "$FWIMAGE")
-if [ $? -ne 0 ]; then
- [ "$VERBOSE" ] && >&2 echo "$RESULT"
- exit 1
-fi
-
-
-#
-# Exit if no TIMEOUT set
-#
-# This is somewhat dangerous in that we assume the radio
-# will switch.
-if ((TIMEOUT == 0)) ; then
- if ((FWIMAGE == 0)) ; then
- [ "$VERBOSE" ] && >&2 echo "Use mlinux-switch-apn to switch the APN when the radio is ready, before dialing"
- exit 0
- fi
-fi
-#
-#
-# Wait for the radio to be ready before continuing
-#
-COUNTER=0
-
-[ "$VERBOSE" ] && echo -n "Wait..."
-
-#
-# Give it some time
-#
-sleep 5
-
-while [ $COUNTER -lt $TIMEOUT ]; do
- MODEL=$(radio-query ${RADIOOPTION} --model)
- if [ $? -eq 0 ]; then
- echo "Cellular radio firmware has been switched to $FWIMAGE image."
- exit 0
- fi
-
- let COUNTER=COUNTER+1
-
- [ "$VERBOSE" ] && echo -n "."
-
- sleep 1
-done
-
->&2 echo "Cellular radio is not ready."
->&2 echo "When it becomes ready, invoke /usr/sbin/mlinux-switch-apn"
->&2 echo "to set the APN"
-exit 1
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-wifi-ap b/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-wifi-ap
deleted file mode 100755
index ddbec95..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-wifi-ap
+++ /dev/null
@@ -1,165 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2014 Multi-Tech Systems
-
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-dhcpd_file=/etc/udhcpd.conf
-hostapd_file=/etc/hostapd.conf
-interface=wlan0
-bridge_mode=0
-
-do_start() {
- if [ "$bridge_mode" = 1 ]; then
- interface=$b
- if ! grep -E -q "^bridge=$interface\s*$" $hostapd_file; then
- echo "Enabling bridge=br0 in $hostapd_file"
- sed -r -i "s/^#?bridge=.*$/bridge=$interface/" $hostapd_file
- fi
- else
- if grep -E -q "^bridge=.*$" $hostapd_file; then
- echo "Disabling bridge in $hostapd_file"
- sed -r -i "s/^bridge=/#bridge=/" $hostapd_file
- fi
- fi
-
- echo "Starting hostap daemon"
- /etc/init.d/hostapd start
-
- if [ "$bridge_mode" != 1 ]; then
- echo "Setting IP address to $ip"
- ifconfig $interface $ip
- # strip off end of IP address to get subnet
- # assumes subnet of /24
- subnet=${ip%.*}
- # escape periods for regex
- subnet_regex=${subnet//./\\.}
- ip_regex=${ip//./\\.}
- # set default address range for dhcpd
- addr_start=100
- addr_end=254
- if ! grep -E -q "^start\s+$subnet_regex\." $dhcpd_file; then
- echo "Changing dhcpd start to $subnet.$addr_start"
- sed -r -i "s/^start\s+.*$/start $subnet.$addr_start/" $dhcpd_file
- fi
- if ! grep -E -q "^end\s+$subnet_regex\." $dhcpd_file; then
- echo "Changing dhcpd end to $subnet.$addr_end"
- sed -r -i "s/^end\s+.*$/end $subnet.$addr_end/" $dhcpd_file
- fi
- # update dhcpd addresses if needed
- if ! grep -E -q "^option\s+router\s+$ip_regex" $dhcpd_file; then
- echo "Changing dhcpd router to $ip"
- sed -r -i "s/^option\s+router\s+.*$/option router $ip/" $dhcpd_file
- fi
- else
- # unset ip address for bridge mode
- ifconfig wlan0 0.0.0.0
- fi
-
- if ! grep -E -q "^interface\s+$interface" $dhcpd_file; then
- echo "Changing dhcpd interface to $interface"
- sed -r -i "s/^interface\s+.*$/interface $interface/" $dhcpd_file
- fi
- mlinux-dhcpd start
-}
-
-do_stop() {
- echo "Stopping hostap daemon"
- /etc/init.d/hostapd stop
- mlinux-dhcpd stop
-}
-
-usage() {
- echo "Usage: $(basename $0) start|stop|restart [options]"
- echo " options:"
- echo " -a <address> Sets AP IP address (defaults to 192.168.3.1)"
- echo " -b <interface> Add AP to specified bridge interface (conflicts with -a)"
- exit 1
-}
-
-# main
-if [[ $# < 1 ]]; then
- usage
-fi
-
-cmd=$1
-shift
-
-while getopts "a:b:h" opt; do
- case "$opt" in
- a)
- a=$OPTARG
- ;;
- b)
- b=$OPTARG
- bridge_mode=1
- ;;
- h)
- usage
- ;;
- *)
- usage
- ;;
- esac
-done
-
-# can't specify both address and bridge mode
-if [ -n "$a" ] && [ -n "$b" ]; then
- usage
-fi
-
-if [ -n "$a" ]; then
- ret=1
- if [[ $a =~ ^([0-9]{1,3}\.){3,3}[0-9]{1,3}$ ]]
- then
- OIFS=$IFS
- IFS='.'
- ip=($a)
- IFS=$OFIS
- [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
- ret=$?
- fi
- if [[ ret -ne 0 ]]
- then
- echo "invalid IP address"
- exit 1
- fi
- ip=$a
-else
- ip="192.168.3.1"
-fi
-
-case $cmd in
- start)
- do_start
- ;;
- stop)
- do_stop
- ;;
- restart)
- do_stop
- sleep 1
- do_start
- ;;
- *)
- usage
- ;;
-esac
-
-exit 0
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts.inc b/recipes-core/mlinux-scripts/mlinux-scripts.inc
deleted file mode 100644
index 4e098aa..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-HOMEPAGE = "www.multitech.net"
-PRIORITY = "optional"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-RDEPENDS_${PN} += "bash"
-
-SRC_URI = "file://mlinux-wifi-ap \
- file://mlinux-dhcpd \
- file://mlinux-set-apn \
- file://mlinux-switch-apn \
- file://mlinux-switch-cell-fw \
- file://mlinux-cell-router \
- file://mlinux-cell-radio-ready \
- file://mlinux-firmware-upgrade \
-"
-
-
-do_install() {
- install -d ${D}${sbindir} ${D}${sbindir}
- install -m 755 ${WORKDIR}/mlinux-wifi-ap ${D}${sbindir}
- install -m 755 ${WORKDIR}/mlinux-dhcpd ${D}${sbindir}
- install -m 755 ${WORKDIR}/mlinux-set-apn ${D}${sbindir}
- install -m 755 ${WORKDIR}/mlinux-switch-apn ${D}${sbindir}
- install -m 755 ${WORKDIR}/mlinux-switch-cell-fw ${D}${sbindir}
- install -m 755 ${WORKDIR}/mlinux-cell-router ${D}${sbindir}
- install -m 755 ${WORKDIR}/mlinux-cell-radio-ready ${D}${sbindir}
- install -m 755 ${WORKDIR}/mlinux-firmware-upgrade ${D}${sbindir}
-}
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-firmware-upgrade b/recipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade
index a377309..a377309 100755
--- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-firmware-upgrade
+++ b/recipes-core/mlinux-scripts/mlinux-scripts/mlinux-firmware-upgrade
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts_%.bbappend b/recipes-core/mlinux-scripts/mlinux-scripts_%.bbappend
new file mode 100644
index 0000000..ecda287
--- /dev/null
+++ b/recipes-core/mlinux-scripts/mlinux-scripts_%.bbappend
@@ -0,0 +1,13 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+PR .= ".mlinux0"
+
+SRC_URI += " \
+ file://mlinux-firmware-upgrade \
+"
+
+do_install_append() {
+ install -d ${D}${sbindir} ${D}${sbindir}
+ install -m 755 ${WORKDIR}/mlinux-firmware-upgrade ${D}${sbindir}
+}
+
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb b/recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb
deleted file mode 100644
index 05c1b84..0000000
--- a/recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-DESCRIPTION = "Scripts to easily get started with common mLinux use cases"
-
-require mlinux-scripts.inc
-
-PR = "r1"
-
-S = "${WORKDIR}/mlinux-scripts-${PV}"
diff --git a/recipes-core/mlinux/mlinux-feed-configs.bb b/recipes-core/mlinux/mlinux-feed-configs.bb
deleted file mode 100644
index 4291f24..0000000
--- a/recipes-core/mlinux/mlinux-feed-configs.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Configuration files for online package repositories aka feeds"
-PR = "r1"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-feeds="all ${TUNE_PKGARCH} ${MACHINE_ARCH}"
-feed_file="mlinux-feed.conf"
-
-do_compile() {
- mkdir -p ${S}/${sysconfdir}/opkg
- rm -f ${S}/${sysconfdir}/opkg/${feed_file}
- for feed in ${feeds}; do
- echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" >> ${S}/${sysconfdir}/opkg/${feed_file}
- done
-}
-do_install () {
- install -d ${D}${sysconfdir}/opkg
- install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-CONFFILES_${PN} += "${sysconfdir}/opkg/${feed_file}"
diff --git a/recipes-core/mlinux/mlinux-version.bb b/recipes-core/mlinux/mlinux-version.bb
deleted file mode 100644
index 85adfbb..0000000
--- a/recipes-core/mlinux/mlinux-version.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit mlinux_metadata_scm
-
-# always parse this file so PV can change automatically
-BB_DONT_CACHE = "1"
-
-PV = "${DISTRO_VERSION}_${MLINUX_METADATA_REVISION}"
-PR = "r2"
-PE = "1"
-
-PACKAGES = "${PN}"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-do_install() {
- mkdir -p ${D}${sysconfdir}
- echo "mLinux ${DISTRO_VERSION}" > ${D}${sysconfdir}/mlinux-version
- echo "Built from branch: ${MLINUX_METADATA_BRANCH}" >> ${D}${sysconfdir}/mlinux-version
- echo "Revision: ${MLINUX_METADATA_REVISION}" >> ${D}${sysconfdir}/mlinux-version
- echo "${MLINUX_LAYERS}" > ${D}${sysconfdir}/mlinux-layers
-}
diff --git a/recipes-core/multitech/cell-radio-carrierswitch/cell-radio-carrierswitch.default b/recipes-core/multitech/cell-radio-carrierswitch/cell-radio-carrierswitch.default
deleted file mode 100644
index 7128721..0000000
--- a/recipes-core/multitech/cell-radio-carrierswitch/cell-radio-carrierswitch.default
+++ /dev/null
@@ -1,6 +0,0 @@
-# set to "no" to disable cell-radio-fwswitch on boot
-ENABLED="yes"
-
-# The default timeout is 60 seconds.
-# It depends on how long your radio takes to get ready.
-# export TIMEOUT 60
diff --git a/recipes-core/multitech/cell-radio-carrierswitch/cell-radio-carrierswitch.init b/recipes-core/multitech/cell-radio-carrierswitch/cell-radio-carrierswitch.init
deleted file mode 100644
index 6b8a640..0000000
--- a/recipes-core/multitech/cell-radio-carrierswitch/cell-radio-carrierswitch.init
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-# no firmware switch by default
-ENABLED="no"
-
-[ -r /etc/default/cell-radio-carrierswitch ] && source /etc/default/cell-radio-carrierswitch
-[ "$ENABLED" == "yes" ] || exit 0
-
-# It may take a couple of boots to get the APN straightened out.
-# mlinux-switch-apn is only effective for LNA3. It will only
-# take action if it detects a different SIM from the one
-# that is configured. It requires a RADIO that is active.
-# The script is executed in the background to prevent holding up the
-# boot.
-
-case $1 in
- start)
- (/usr/sbin/mlinux-switch-apn 2>&1 | logger -p daemon.notice) &
- ;;
-
- *)
- echo "Usage: $0 {start}"
- exit 2
- ;;
-esac
-
diff --git a/recipes-core/multitech/cell-radio-carrierswitch_1.0.bb b/recipes-core/multitech/cell-radio-carrierswitch_1.0.bb
deleted file mode 100644
index 0220dba..0000000
--- a/recipes-core/multitech/cell-radio-carrierswitch_1.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Radio firmware switching functionality for dual image units (only LNA3 radios for now)"
-SECTION = "base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PR = "r1"
-
-RDEPENDS_${PN} = "radio-query radio-cmd mlinux-scripts"
-
-inherit update-rc.d
-INITSCRIPT_NAME = "cell-radio-carrierswitch"
-INITSCRIPT_PARAMS = "start 63 5 ."
-
-SRC_URI = "\
- file://cell-radio-carrierswitch.default \
- file://cell-radio-carrierswitch.init \
-"
-
-do_install() {
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/cell-radio-carrierswitch.init ${D}${sysconfdir}/init.d/cell-radio-carrierswitch
-
- install -d ${D}${sysconfdir}/default
- install -m 0644 ${WORKDIR}/cell-radio-carrierswitch.default ${D}${sysconfdir}/default/cell-radio-carrierswitch
-}
-
diff --git a/recipes-core/multitech/commissioning_1.0.1.bb b/recipes-core/multitech/commissioning_1.0.1.bb
deleted file mode 100644
index 06e1904..0000000
--- a/recipes-core/multitech/commissioning_1.0.1.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-inherit update-rc.d
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=593c81e8a2bd8b4c4e310d8792372b13"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-DEPENDS = "fcgi jsoncpp shadow"
-RDEPENDS_${PN} += "jsoncpp lighttpd lighttpd-module-fastcgi lighttpd-module-openssl lighttpd-module-redirect bash"
-RDEPENDS_${PN}-php-fpm += "php-fpm ${PN}"
-PACKAGES =+ "${PN}-php-fpm"
-
-INITSCRIPT_PACKAGES = "${PN} ${PN}-php-fpm"
-INITSCRIPT_NAME_${PN} = "commission "
-INITSCRIPT_PARAMS_${PN} = "start 9 2 3 4 5 ."
-INITSCRIPT_NAME_${PN}-php-fpm = "commission-php-fpm"
-INITSCRIPT_PARAMS_${PN}-php-fpm = "start 9 2 3 4 5 ."
-
-PR = "r1"
-SRCREV = "${PV}"
-
-FILES_${PN}-php-fpm = "/etc/init.d/commission-php-fpm"
-FILES_${PN} += "/www/"
-
-SRC_URI = "git://git.multitech.net/commissioning;branch=master"
-
-S = "${WORKDIR}/git"
-do_compile() {
- oe_runmake all
-}
-do_install() {
-
- cp -a ${S}/${sysconfdir}/ ${D}/
- cp -a ${S}/www/ ${D}/
- cp -a ${S}/${prefix} ${D}/
- chmod 755 ${D}/etc/init.d/*
- chmod 755 ${D}/${libexecdir}/commission/*
- chown -R root:root ${D}/
-
- oe_runmake install DESTDIR=${D}
- chmod 755 ${D}/usr/bin/commissioning.fcgi
-}
diff --git a/recipes-core/multitech/config/99_radio b/recipes-core/multitech/config/99_radio
deleted file mode 100644
index c2aa885..0000000
--- a/recipes-core/multitech/config/99_radio
+++ /dev/null
@@ -1,24 +0,0 @@
-# This configuration file lists filesystem objects that should get verified
-# during startup and be created if missing.
-#
-# Every line must either be a comment starting with #
-# or a definition of format:
-# <type> <owner> <group> <mode> <path> <linksource>
-# where the items are separated by whitespace !
-#
-# <type> : d|f|l : (d)irectory|(f)ile|(l)ink
-#
-# A linking example:
-# l root root 0777 /var/test /tmp/testfile
-# f root root 0644 /var/test none
-#
-# Understanding links:
-# When populate-volatile is to verify/create a directory or file, it will first
-# check it's existence. If a link is found to exist in the place of the target,
-# the path of the target is replaced with the target the link points to.
-# Thus, if a link is in the place to be verified, the object will be created
-# in the place the link points to instead.
-# This explains the order of "link before object" as in the example above, where
-# a link will be created at /var/test pointing to /tmp/testfile and due to this
-# link the file defined as /var/test will actually be created as /tmp/testfile.
-d root dialout 2775 /run/radio none
diff --git a/recipes-core/multitech/config/chat_wrapper b/recipes-core/multitech/config/chat_wrapper
deleted file mode 100755
index f1fd30c..0000000
--- a/recipes-core/multitech/config/chat_wrapper
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/bin/bash
-
-# Rules for chat scripts
-# No comments allowed at the end of AT+CGDCONT in chat script
-# The last AT+CGDCONT= must use the same context as the dialer.
-# If desired, The AT+CGDCONT may be prefixed by #MT[[:space:]]+
-# Example:
-#MT AT+CGDCONT="IPV6","data","192.168.2.1",0,1,"EXTRA"
-#
-# If you do not use a comment, the entire AT+CGDCONT command
-# must be surrounded by apostrophes. This command will be executed
-# twice, once in the chat wrapper, and a 2nd time in the chat
-# itself.
-#
-# The space after "#MT" may be any number including tabs.
-# If #MT AT+CGDCONT= is found, only the last one is chosen.
-# Any uncommented AT+CGDCONT= is then ignored.
-# If there are not #MT AT+CGDCONT= lines, then any line without
-# a comment chararacter before AT+CGDONT= is accepted, but only the
-# last one in the file.
-
-NAME=chat_wrapper
-CONFIG=/etc/default/${NAME}
-function finish
-{
- ${LOG} "Launch:" "$@"
- exec "$@"
- # NOTREACHED
-}
-
-[[ -f $CONFIG ]] || exit 1
-
-. ${CONFIG}
-
-: ${REGWAITTIME:=300}
-: ${FINALWAIT:=5}
-
-: ${LOG:="/usr/bin/logger -t ${NAME} -p daemon.notice"}
-
-${LOG} Timeout is $REGWAITTIME, execute "$@"
-((i=$#))
-chatscript="${!i}"
-${LOG} Parsing chat script "$chatscript"
-
-# CONTEXT is last context string in chat script
-CONTEXT=$(egrep "^#MT[[:space:]]+(AT\+CGDCONT=.*)" ${chatscript} | tail -1)
-if ((${#CONTEXT} == 0)) ; then
- CONTEXT=$(egrep "^[^#]+AT\+CGDCONT=" ${chatscript} | tail -1)
- [[ $CONTEXT =~ \'(AT\+CGDCONT=([0-9]+)[^$\']+) ]]
-else
- [[ $CONTEXT =~ (AT\+CGDCONT=([0-9]+).*)$ ]]
-fi
-
-# CONTEXTNUM is the context number that is configured in the dialer.
-CONTEXT="${BASH_REMATCH[1]}"
-if ((${#CONTEXT} == 0)) ; then
- ${LOG} No context specifiction in the chat script
- finish "$@"
- # NOTREACHED
-fi
-((CONTEXTNUM=${BASH_REMATCH[2]}))
-
-
-${LOG} "Using Context ${CONTEXTNUM} based on chat script: ${CONTEXT}"
-
-# At this point if there is no context number, we can skip everything else.
-
-# Get Modem's context settings
-MCONTEXT=$(/usr/bin/radio-cmd ${RADIOOPTION} -t10000 'AT+CGDCONT?' 2>&1 | tr -d '\r')
-if [[ $MCONTEXT =~ [Ee][Rr][Rr][Oo][Rr] ]] ; then
- RADIOOPTION="${RADIOOPTION2}"
- MCONTEXT=$(/usr/bin/radio-cmd ${RADIOOPTION} -t10000 'AT+CGDCONT?' 2>&1 | tr -d '\r')
-fi
-
-if ! [[ $MCONTEXT =~ \+CGDCONT:[[:space:]]+${CONTEXTNUM},\"([^\"]*)\",\"([^\"]*)\",\"([^\"]*)\",([0-9]+),([0-9]+)([^$'\n']*) ]] ; then
- logger -s -p daemon.error "No valid context in modem. Is it ready?"
- echo "$MCONTEXT" | logger -s -p daemon.error
-fi
-
-MPDP="${BASH_REMATCH[1]}"
-MAPN="${BASH_REMATCH[2]}"
-MADDR="${BASH_REMATCH[3]}"
-MDCOMP="${BASH_REMATCH[4]}"
-MHCOMP="${BASH_REMATCH[5]}"
-MFULLBOAT="${BASH_REMATCH[6]}"
-
-[[ $CONTEXT =~ AT\+CGDCONT=${CONTEXTNUM},\"([^\"]*)\",\"([^\"]*)\"(,\"([^\"]*)\"(,([0-9]+)(,([0-9]+)(,[^\']*))*)*)* ]]
-PDP="${BASH_REMATCH[1]}"
-APN="${BASH_REMATCH[2]}"
-ADDR="${BASH_REMATCH[4]}" # Optional
-DCOMP="${BASH_REMATCH[6]}" # Optional
-HCOMP="${BASH_REMATCH[8]}" # Optional
-FULLBOAT="${BASH_REMATCH[9]}" # Optional
-
-# On some modems there are more parameters than others.
-if [[ $MFULLBOAT != $FULLBOAT ]] ; then
- ${LOG} "Only the first five context parameters are considered. The rest will be ignored."
- ${LOG} "modem: \"$MFULLBOAT\""
- ${LOG} "chat script: \"$FULLBOAT\""
-fi
-
-if ((${#DCOMP} == 0)) ; then
- ((DCOMP=0)) # Default
-fi
-if ((${#HCOMP} == 0)) ; then
- ((HCOMP=0)) # Default
-fi
-
-# Only update context on a mismatch between chat and modem.
-if [[ $MPDP != $PDP ]] || [[ $MAPN != $APN ]] || \
- [[ $MADDR != $ADDR ]] || ((MDCOMP != DCOMP)) || \
- ((MHCOMP != HCOMP)) ; then
- ${LOG} "Modem context $MPDP,$MAPN,$MADDR,$MDCOMP,$MHCOMP does not match chat script"
- ${LOG} "Chat script context $PDP,$APN,$ADDR,$DCOMP,$HCOMP does not match the modem"
- if [[ $MPDP != $PDP ]] ; then
- ${LOG} "PDP mismatch"
- fi
- if [[ $MAPN != $APN ]] ; then
- ${LOG} "APN mismatch"
- fi
- if [[ $MADDR != $ADDR ]] ; then
- ${LOG} "ADDR mismatch"
- fi
- if [[ $MDCOMP != $DCOMP ]] ; then
- ${LOG} "DCOMP mismatch"
- fi
- if [[ $MHCOMP != $HCOMP ]] ; then
- ${LOG} "HCOMP mismatch"
- fi
- if [[ $MFULLBOAT != $FULLBOAT ]] ; then
- ${LOG} "Final parameter mismatches ignored"
- ${LOG} "Parameter 6 and up on the modem:"
- ${LOG} "\"${MFULLBOAT}\""
- ${LOG} "Parameter 6 and up on the chat script:"
- ${LOG} "\"${FULLBOAT}\""
- fi
- ${LOG} "$MCONTEXT"
- ${LOG} "Dropping registration with carrier to set context"
- # Need to deregister
- /usr/bin/radio-cmd ${RADIOOPTION} -t10000 'AT+COPS=2'
- # H5 radios do not like addresses that are empty with ""
- if ((${#ADDR} == 0)) ; then
- CMDSTR="AT+CGDCONT=${CONTEXTNUM},\"${PDP}\",\"${APN}\",,$DCOMP,${HCOMP}${FULLBOAT}"
- else
- CMDSTR="AT+CGDCONT=${CONTEXTNUM},\"${PDP}\",\"${APN}\",\"${ADDR}\",$DCOMP,${HCOMP}${FULLBOAT}"
- fi
- ${LOG} "Issued command /usr/bin/radio-cmd ${RADIOOPTION} -t10000 ..."
- ${LOG} "... ${CMDSTR}"
-
- # If we fail to set the APN, sleep and try it again for up to 10 seconds.
- result=1
- count=10
- while ((result != 0)) && ((count > 0)) ; do
- ((count--)) || true
- LOGMSG=$(/usr/bin/radio-cmd ${RADIOOPTION} -t10000 "${CMDSTR}" 2>&1)
- result=$?
- ${LOG} "Result ${result}, Got response ${LOGMSG}"
- if [[ $LOGMSG =~ ERROR ]] ; then
- result=1
- fi
- sleep 1
- done
-
- # re-enable the modem to defaults.
- /usr/bin/radio-cmd ${RADIOOPTION} -t10000 'AT+COPS=0'
- sleep 1
-
- # Some older modems will not re-register after the COPS
- # command if you do not reset them using CFUN.
- /usr/bin/radio-cmd ${RADIOOPTION} -t10000 'AT+CFUN=0'
- /usr/bin/radio-cmd ${RADIOOPTION} -t10000 'AT+CFUN=1'
-
- # Abort PPP if the Context is not correct. We don't want
- # to cause the carrier to disable the account by dialing
- # out with a bad APN.
- if ((result != 0)) ; then
- ${LOG} "AT+CGDCONT failed, aborting"
- exit $result
- fi
- sleep 1
- ${LOG} "New context is set. Wait up to $REGWAITTIME seconds to register"
- # Wait for registration
- uptime=$(cat /proc/uptime)
- [[ $uptime =~ ^([^\.]*) ]]
- t0=${BASH_REMATCH[1]}
- while ! [[ $(/usr/bin/radio-query ${RADIOOPTION} --netreg) =~ ^REGISTERED$ ]] ; do
- sleep 5
- uptime=$(cat /proc/uptime)
- [[ $uptime =~ ^([^\.]*) ]]
- t1=${BASH_REMATCH[1]}
- if ((t1-t0 > REGWAITTIME)) ; then
- ${LOG} "$((t1-t0)) seconds has expired"
- exit 1
- fi
- done
- uptime=$(cat /proc/uptime)
- [[ $uptime =~ ^([^\.]*) ]]
- t1=${BASH_REMATCH[1]}
- ${LOG} "Re-registered in $((t1-t0)) seconds -- wait ${FINALWAIT} more seconds"
- sleep $FINALWAIT
-else
- ${LOG} "Context $CONTEXTNUM matches and nothing to do."
-fi
-finish "$@"
-# NOTREACHED
diff --git a/recipes-core/multitech/config/chat_wrapper.default b/recipes-core/multitech/config/chat_wrapper.default
deleted file mode 100644
index a1b4e41..0000000
--- a/recipes-core/multitech/config/chat_wrapper.default
+++ /dev/null
@@ -1,20 +0,0 @@
-# The maximum time to wait for registration
-# when changing the modem context parameters.
-# This is ignored if the context is
-# already set correctly in the modem.
-REGWAITTIME=300
-
-# The time to wait after registration
-# when setting the context
-# before attempting a PPP connection.
-# This is ignored if the context is
-# already set correctly in the modem.
-FINALWAIT=5
-
-# Option for radio-query, radio-cmd
-# Used by /usr/libexec/ppp/chat_wrapper,
-# mlinux-switch-apn, mlinux-switch-cell-fw
-RADIOOPTION="-d /dev/modem_at1"
-
-# Device to use if RADIOOPTION fails:
-RADIOOPTION2="-d /dev/modem_at0"
diff --git a/recipes-core/multitech/config/config-mths/default/bluetooth b/recipes-core/multitech/config/config-mths/default/bluetooth
deleted file mode 100644
index ec46cfd..0000000
--- a/recipes-core/multitech/config/config-mths/default/bluetooth
+++ /dev/null
@@ -1,8 +0,0 @@
-# Set to 1 to enable bluetooth daemon
-BLUETOOTH_ENABLED=1
-
-# Use the following to setup bluetooth usability
-BLUETOOTHCTL_CMD="power on\ndiscoverable on\npairable on\n"
-
-#Compatilitity mode
-#MOREOPTIONS="-C"
diff --git a/recipes-core/multitech/config/config-mths/default/dnsmasq b/recipes-core/multitech/config/config-mths/default/dnsmasq
deleted file mode 100644
index 129fda1..0000000
--- a/recipes-core/multitech/config/config-mths/default/dnsmasq
+++ /dev/null
@@ -1,27 +0,0 @@
-# MTHS dnsmasq
-# and a hook to set up config files for MTHS
-ENABLED="yes"
-
-# This configuration is for manufacturing test.
-# Factory resets should not put back wifi defaults.
-if [[ -f /var/config/.defaults2.tar.gz ]] ; then
- rm /var/config/.defaults2.tar.gz
-fi
-
-# Stop ntpd. ntpd default is in root.
-sed -i 's/ENABLED="yes"/ENABLED="no"/' /etc/default/ntpd
-# Use the ifplugd in /var/config
-if ! [[ -L /etc/ifplugd ]] ; then
- rm -rf /etc/ifplugd
- ln -s /var/config/ifplugd /etc/ifplugd
- # ifplugd is already started (and probably bombed)
- # restart it.
- /etc/init.d/ifplugd stop
- /etc/init.d/ifplugd start
-fi
-
-if ! [[ -L /etc/default/usb-gadget ]] && [[ -f /var/config/default/usb-gadget ]] ; then
- rm -rf /etc/default/usb-gadget
- ln -s /var/config/default/usb-gadget /etc/default/usb-gadget
-fi
-
diff --git a/recipes-core/multitech/config/config-mths/default/hostapd b/recipes-core/multitech/config/config-mths/default/hostapd
deleted file mode 100644
index 75c1c8a..0000000
--- a/recipes-core/multitech/config/config-mths/default/hostapd
+++ /dev/null
@@ -1,11 +0,0 @@
-# set to "yes" to start hostapd on boot
-START_ON_BOOT="yes"
-DEVICEID=$(cat /sys/devices/platform/mts-io/device-id)
-SSID="hs-${DEVICEID}"
-CONF=/etc/hostapd.conf
-
-PREUP="ifdown wifi1
- ifup wifi1
- sed -ri 's/^ssid=.*/ssid=hs-'${DEVICEID}/ ${CONF}
- logger -s -t hostapd -p daemon.alert 'hostapd SSID line is '${SSID}"
-
diff --git a/recipes-core/multitech/config/config-mths/default/ntpd b/recipes-core/multitech/config/config-mths/default/ntpd
deleted file mode 100644
index a0d3bcf..0000000
--- a/recipes-core/multitech/config/config-mths/default/ntpd
+++ /dev/null
@@ -1,36 +0,0 @@
-ENABLED="no"
-
-
-CONFIGFILE=/etc/ntp.conf
-
-# The GPSD_* parameters in this file are ignored
-# if the uBlox GPS is not present.
-
-# Require a GPS lock/fix before starting NTP
-# This is needed if we are not using NTP servers.
-# NTP will not work with the GPS if the GPS is not
-# locked before starting.
-# See /etc/default/gpsd for the states required.
-GPSD_REQUIRED=0
-
-# Number of seconds between testing for a GPS
-# lock prior to calling ntpd.
-GPSD_WAIT_TIME=120
-
-# Since the HW Clock could be off by a second or
-# so, our GPS might get marked as a false ticker
-# if we do not set the system clock to the GPS
-# first. The current correct way to do this
-# according to the ntp doc is ntpd -gq -c conffile
-# which must be done before ntpd is started.
-# conffile should exclude the local clock, so it is
-# ignored while doing the initial sync.
-# ntpd -gq apparently does not work with the GPS
-# when tested with the clock more than one day off
-# and no ntpd. The gps shared memory is never polled.
-#
-# If there is a uBlox GPS present, the time is
-# read from the GPS to initialize the system time
-# before NTP is started.
-SET_SYSTEM_CLOCK=1
-
diff --git a/recipes-core/multitech/config/config-mths/default/rs9113 b/recipes-core/multitech/config/config-mths/default/rs9113
deleted file mode 100644
index 2594625..0000000
--- a/recipes-core/multitech/config/config-mths/default/rs9113
+++ /dev/null
@@ -1,14 +0,0 @@
-RS9113_LOAD=1
-RSI_ANTENNA_DIVERSITY=0
-COEX_MODE=6
-WLAN_RF_PWR_MODE=0x00
-BT_RF_PWR_MODE=0x00
-BT_RF_TX_POWER_MODE=0
-BT_RF_RX_POWER_MODE=0
-SET_COUNTRY_CODE=0
-ANT_SEL_VAL=2
-ONBOARD_ANT_SEL=1
-SET_RETRY_COUNT=15
-SLEEPTIME=100000
-INTSLEEPTIME=100000
-
diff --git a/recipes-core/multitech/config/config-mths/default/usb-gadget b/recipes-core/multitech/config/config-mths/default/usb-gadget
deleted file mode 100644
index 944ef8a..0000000
--- a/recipes-core/multitech/config/config-mths/default/usb-gadget
+++ /dev/null
@@ -1,6 +0,0 @@
-# set to "no" to disable usb-gadget
-ENABLED="yes"
-
-USB_MODE="networking"
-MODULE_OPTIONS=""
-
diff --git a/recipes-core/multitech/config/config-mths/dnsmasq.d/dhcp.conf b/recipes-core/multitech/config/config-mths/dnsmasq.d/dhcp.conf
deleted file mode 100644
index 47eb1c0..0000000
--- a/recipes-core/multitech/config/config-mths/dnsmasq.d/dhcp.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-interface=wifi1
-dhcp-range=10.0.0.100,10.0.0.250,12h
-dhcp-lease-max=200
-dhcp-leasefile=/var/config/dnsmasq_dhcp_wifi1.leases
-dhcp-option=option:netmask,255.255.255.0
-dhcp-option=option:router,10.0.0.1
-dhcp-option=option:dns-server,10.0.0.1
-dhcp-authoritative
-interface=usb0
-dhcp-range=192.168.3.100,192.168.3.250,12h
-dhcp-option=option:router,192.168.3.1
-dhcp-option=option:dns-server,192.168.3.1
diff --git a/recipes-core/multitech/config/config-mths/hostapd.conf b/recipes-core/multitech/config/config-mths/hostapd.conf
deleted file mode 100644
index 8acd72b..0000000
--- a/recipes-core/multitech/config/config-mths/hostapd.conf
+++ /dev/null
@@ -1,1996 +0,0 @@
-##### hostapd configuration file ##############################################
-# Empty lines and lines starting with # are ignored
-
-# AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for
-# management frames with the Host AP driver); wlan0 with many nl80211 drivers
-# Note: This attribute can be overridden by the values supplied with the '-i'
-# command line parameter.
-interface=wifi1
-
-# In case of atheros and nl80211 driver interfaces, an additional
-# configuration parameter, bridge, may be used to notify hostapd if the
-# interface is included in a bridge. This parameter is not used with Host AP
-# driver. If the bridge parameter is not set, the drivers will automatically
-# figure out the bridge interface (assuming sysfs is enabled and mounted to
-# /sys) and this parameter may not be needed.
-#
-# For nl80211, this parameter can be used to request the AP interface to be
-# added to the bridge automatically (brctl may refuse to do this before hostapd
-# has been started to change the interface mode). If needed, the bridge
-# interface is also created.
-#bridge=br0
-
-# Driver interface type (hostap/wired/none/nl80211/bsd);
-# default: hostap). nl80211 is used with all Linux mac80211 drivers.
-# Use driver=none if building hostapd as a standalone RADIUS server that does
-# not control any wireless/wired driver.
-# driver=hostap
-
-# Driver interface parameters (mainly for development testing use)
-# driver_params=<params>
-
-# hostapd event logger configuration
-#
-# Two output method: syslog and stdout (only usable if not forking to
-# background).
-#
-# Module bitfield (ORed bitfield of modules that will be logged; -1 = all
-# modules):
-# bit 0 (1) = IEEE 802.11
-# bit 1 (2) = IEEE 802.1X
-# bit 2 (4) = RADIUS
-# bit 3 (8) = WPA
-# bit 4 (16) = driver interface
-# bit 5 (32) = IAPP
-# bit 6 (64) = MLME
-#
-# Levels (minimum value for logged events):
-# 0 = verbose debugging
-# 1 = debugging
-# 2 = informational messages
-# 3 = notification
-# 4 = warning
-#
-logger_syslog=-1
-logger_syslog_level=2
-logger_stdout=-1
-logger_stdout_level=2
-
-# Interface for separate control program. If this is specified, hostapd
-# will create this directory and a UNIX domain socket for listening to requests
-# from external programs (CLI/GUI, etc.) for status information and
-# configuration. The socket file will be named based on the interface name, so
-# multiple hostapd processes/interfaces can be run at the same time if more
-# than one interface is used.
-# /var/run/hostapd is the recommended directory for sockets and by default,
-# hostapd_cli will use it when trying to connect with hostapd.
-ctrl_interface=/var/run/hostapd
-
-# Access control for the control interface can be configured by setting the
-# directory to allow only members of a group to use sockets. This way, it is
-# possible to run hostapd as root (since it needs to change network
-# configuration and open raw sockets) and still allow GUI/CLI components to be
-# run as non-root users. However, since the control interface can be used to
-# change the network configuration, this access needs to be protected in many
-# cases. By default, hostapd is configured to use gid 0 (root). If you
-# want to allow non-root users to use the contron interface, add a new group
-# and change this value to match with that group. Add users that should have
-# control interface access to this group.
-#
-# This variable can be a group name or gid.
-#ctrl_interface_group=wheel
-ctrl_interface_group=0
-
-
-##### IEEE 802.11 related configuration #######################################
-
-# SSID to be used in IEEE 802.11 management frames
-ssid=hs-
-# Alternative formats for configuring SSID
-# (double quoted string, hexdump, printf-escaped string)
-#ssid2="test"
-#ssid2=74657374
-#ssid2=P"hello\nthere"
-
-# UTF-8 SSID: Whether the SSID is to be interpreted using UTF-8 encoding
-#utf8_ssid=1
-
-# Country code (ISO/IEC 3166-1). Used to set regulatory domain.
-# Set as needed to indicate country in which device is operating.
-# This can limit available channels and transmit power.
-country_code=US
-
-# Enable IEEE 802.11d. This advertises the country_code and the set of allowed
-# channels and transmit power levels based on the regulatory limits. The
-# country_code setting must be configured with the correct country for
-# IEEE 802.11d functions.
-# (default: 0 = disabled)
-#ieee80211d=1
-
-# Enable IEEE 802.11h. This enables radar detection and DFS support if
-# available. DFS support is required on outdoor 5 GHz channels in most countries
-# of the world. This can be used only with ieee80211d=1.
-# (default: 0 = disabled)
-#ieee80211h=1
-
-# Add Power Constraint element to Beacon and Probe Response frames
-# This config option adds Power Constraint element when applicable and Country
-# element is added. Power Constraint element is required by Transmit Power
-# Control. This can be used only with ieee80211d=1.
-# Valid values are 0..255.
-#local_pwr_constraint=3
-
-# Set Spectrum Management subfield in the Capability Information field.
-# This config option forces the Spectrum Management bit to be set. When this
-# option is not set, the value of the Spectrum Management bit depends on whether
-# DFS or TPC is required by regulatory authorities. This can be used only with
-# ieee80211d=1 and local_pwr_constraint configured.
-#spectrum_mgmt_required=1
-
-# Operation mode (a = IEEE 802.11a (5 GHz), b = IEEE 802.11b (2.4 GHz),
-# g = IEEE 802.11g (2.4 GHz), ad = IEEE 802.11ad (60 GHz); a/g options are used
-# with IEEE 802.11n (HT), too, to specify band). For IEEE 802.11ac (VHT), this
-# needs to be set to hw_mode=a. When using ACS (see channel parameter), a
-# special value "any" can be used to indicate that any support band can be used.
-# This special case is currently supported only with drivers with which
-# offloaded ACS is used.
-# Default: IEEE 802.11b
-hw_mode=g
-
-# Channel number (IEEE 802.11)
-# (default: 0, i.e., not set)
-# Please note that some drivers do not use this value from hostapd and the
-# channel will need to be configured separately with iwconfig.
-#
-# If CONFIG_ACS build option is enabled, the channel can be selected
-# automatically at run time by setting channel=acs_survey or channel=0, both of
-# which will enable the ACS survey based algorithm.
-channel=10
-
-# ACS tuning - Automatic Channel Selection
-# See: http://wireless.kernel.org/en/users/Documentation/acs
-#
-# You can customize the ACS survey algorithm with following variables:
-#
-# acs_num_scans requirement is 1..100 - number of scans to be performed that
-# are used to trigger survey data gathering of an underlying device driver.
-# Scans are passive and typically take a little over 100ms (depending on the
-# driver) on each available channel for given hw_mode. Increasing this value
-# means sacrificing startup time and gathering more data wrt channel
-# interference that may help choosing a better channel. This can also help fine
-# tune the ACS scan time in case a driver has different scan dwell times.
-#
-# acs_chan_bias is a space-separated list of <channel>:<bias> pairs. It can be
-# used to increase (or decrease) the likelihood of a specific channel to be
-# selected by the ACS algorithm. The total interference factor for each channel
-# gets multiplied by the specified bias value before finding the channel with
-# the lowest value. In other words, values between 0.0 and 1.0 can be used to
-# make a channel more likely to be picked while values larger than 1.0 make the
-# specified channel less likely to be picked. This can be used, e.g., to prefer
-# the commonly used 2.4 GHz band channels 1, 6, and 11 (which is the default
-# behavior on 2.4 GHz band if no acs_chan_bias parameter is specified).
-#
-# Defaults:
-#acs_num_scans=5
-#acs_chan_bias=1:0.8 6:0.8 11:0.8
-
-# Channel list restriction. This option allows hostapd to select one of the
-# provided channels when a channel should be automatically selected.
-# Channel list can be provided as range using hyphen ('-') or individual
-# channels can be specified by space (' ') separated values
-# Default: all channels allowed in selected hw_mode
-#chanlist=100 104 108 112 116
-#chanlist=1 6 11-13
-
-# Beacon interval in kus (1.024 ms) (default: 100; range 15..65535)
-beacon_int=100
-
-# DTIM (delivery traffic information message) period (range 1..255):
-# number of beacons between DTIMs (1 = every beacon includes DTIM element)
-# (default: 2)
-dtim_period=2
-
-# Maximum number of stations allowed in station table. New stations will be
-# rejected after the station table is full. IEEE 802.11 has a limit of 2007
-# different association IDs, so this number should not be larger than that.
-# (default: 2007)
-max_num_sta=255
-
-# RTS/CTS threshold; -1 = disabled (default); range -1..65535
-# If this field is not included in hostapd.conf, hostapd will not control
-# RTS threshold and 'iwconfig wlan# rts <val>' can be used to set it.
-rts_threshold=-1
-
-# Fragmentation threshold; -1 = disabled (default); range -1, 256..2346
-# If this field is not included in hostapd.conf, hostapd will not control
-# fragmentation threshold and 'iwconfig wlan# frag <val>' can be used to set
-# it.
-fragm_threshold=-1
-
-# Rate configuration
-# Default is to enable all rates supported by the hardware. This configuration
-# item allows this list be filtered so that only the listed rates will be left
-# in the list. If the list is empty, all rates are used. This list can have
-# entries that are not in the list of rates the hardware supports (such entries
-# are ignored). The entries in this list are in 100 kbps, i.e., 11 Mbps = 110.
-# If this item is present, at least one rate have to be matching with the rates
-# hardware supports.
-# default: use the most common supported rate setting for the selected
-# hw_mode (i.e., this line can be removed from configuration file in most
-# cases)
-#supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
-
-# Basic rate set configuration
-# List of rates (in 100 kbps) that are included in the basic rate set.
-# If this item is not included, usually reasonable default set is used.
-#basic_rates=10 20
-#basic_rates=10 20 55 110
-#basic_rates=60 120 240
-
-# Short Preamble
-# This parameter can be used to enable optional use of short preamble for
-# frames sent at 2 Mbps, 5.5 Mbps, and 11 Mbps to improve network performance.
-# This applies only to IEEE 802.11b-compatible networks and this should only be
-# enabled if the local hardware supports use of short preamble. If any of the
-# associated STAs do not support short preamble, use of short preamble will be
-# disabled (and enabled when such STAs disassociate) dynamically.
-# 0 = do not allow use of short preamble (default)
-# 1 = allow use of short preamble
-#preamble=1
-
-# Station MAC address -based authentication
-# Please note that this kind of access control requires a driver that uses
-# hostapd to take care of management frame processing and as such, this can be
-# used with driver=hostap or driver=nl80211, but not with driver=atheros.
-# 0 = accept unless in deny list
-# 1 = deny unless in accept list
-# 2 = use external RADIUS server (accept/deny lists are searched first)
-macaddr_acl=0
-
-# Accept/deny lists are read from separate files (containing list of
-# MAC addresses, one per line). Use absolute path name to make sure that the
-# files can be read on SIGHUP configuration reloads.
-#accept_mac_file=/etc/hostapd.accept
-#deny_mac_file=/etc/hostapd.deny
-
-# IEEE 802.11 specifies two authentication algorithms. hostapd can be
-# configured to allow both of these or only one. Open system authentication
-# should be used with IEEE 802.1X.
-# Bit fields of allowed authentication algorithms:
-# bit 0 = Open System Authentication
-# bit 1 = Shared Key Authentication (requires WEP)
-auth_algs=3
-
-# Send empty SSID in beacons and ignore probe request frames that do not
-# specify full SSID, i.e., require stations to know SSID.
-# default: disabled (0)
-# 1 = send empty (length=0) SSID in beacon and ignore probe request for
-# broadcast SSID
-# 2 = clear SSID (ASCII 0), but keep the original length (this may be required
-# with some clients that do not support empty SSID) and ignore probe
-# requests for broadcast SSID
-ignore_broadcast_ssid=0
-
-# Do not reply to broadcast Probe Request frames from unassociated STA if there
-# is no room for additional stations (max_num_sta). This can be used to
-# discourage a STA from trying to associate with this AP if the association
-# would be rejected due to maximum STA limit.
-# Default: 0 (disabled)
-#no_probe_resp_if_max_sta=0
-
-# Additional vendor specific elements for Beacon and Probe Response frames
-# This parameter can be used to add additional vendor specific element(s) into
-# the end of the Beacon and Probe Response frames. The format for these
-# element(s) is a hexdump of the raw information elements (id+len+payload for
-# one or more elements)
-#vendor_elements=dd0411223301
-
-# Additional vendor specific elements for (Re)Association Response frames
-# This parameter can be used to add additional vendor specific element(s) into
-# the end of the (Re)Association Response frames. The format for these
-# element(s) is a hexdump of the raw information elements (id+len+payload for
-# one or more elements)
-#assocresp_elements=dd0411223301
-
-# TX queue parameters (EDCF / bursting)
-# tx_queue_<queue name>_<param>
-# queues: data0, data1, data2, data3, after_beacon, beacon
-# (data0 is the highest priority queue)
-# parameters:
-# aifs: AIFS (default 2)
-# cwmin: cwMin (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191,
-# 16383, 32767)
-# cwmax: cwMax (same values as cwMin, cwMax >= cwMin)
-# burst: maximum length (in milliseconds with precision of up to 0.1 ms) for
-# bursting
-#
-# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
-# These parameters are used by the access point when transmitting frames
-# to the clients.
-#
-# Low priority / AC_BK = background
-#tx_queue_data3_aifs=7
-#tx_queue_data3_cwmin=15
-#tx_queue_data3_cwmax=1023
-#tx_queue_data3_burst=0
-# Note: for IEEE 802.11b mode: cWmin=31 cWmax=1023 burst=0
-#
-# Normal priority / AC_BE = best effort
-#tx_queue_data2_aifs=3
-#tx_queue_data2_cwmin=15
-#tx_queue_data2_cwmax=63
-#tx_queue_data2_burst=0
-# Note: for IEEE 802.11b mode: cWmin=31 cWmax=127 burst=0
-#
-# High priority / AC_VI = video
-#tx_queue_data1_aifs=1
-#tx_queue_data1_cwmin=7
-#tx_queue_data1_cwmax=15
-#tx_queue_data1_burst=3.0
-# Note: for IEEE 802.11b mode: cWmin=15 cWmax=31 burst=6.0
-#
-# Highest priority / AC_VO = voice
-#tx_queue_data0_aifs=1
-#tx_queue_data0_cwmin=3
-#tx_queue_data0_cwmax=7
-#tx_queue_data0_burst=1.5
-# Note: for IEEE 802.11b mode: cWmin=7 cWmax=15 burst=3.3
-
-# 802.1D Tag (= UP) to AC mappings
-# WMM specifies following mapping of data frames to different ACs. This mapping
-# can be configured using Linux QoS/tc and sch_pktpri.o module.
-# 802.1D Tag 802.1D Designation Access Category WMM Designation
-# 1 BK AC_BK Background
-# 2 - AC_BK Background
-# 0 BE AC_BE Best Effort
-# 3 EE AC_BE Best Effort
-# 4 CL AC_VI Video
-# 5 VI AC_VI Video
-# 6 VO AC_VO Voice
-# 7 NC AC_VO Voice
-# Data frames with no priority information: AC_BE
-# Management frames: AC_VO
-# PS-Poll frames: AC_BE
-
-# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
-# for 802.11a or 802.11g networks
-# These parameters are sent to WMM clients when they associate.
-# The parameters will be used by WMM clients for frames transmitted to the
-# access point.
-#
-# note - txop_limit is in units of 32microseconds
-# note - acm is admission control mandatory flag. 0 = admission control not
-# required, 1 = mandatory
-# note - Here cwMin and cmMax are in exponent form. The actual cw value used
-# will be (2^n)-1 where n is the value given here. The allowed range for these
-# wmm_ac_??_{cwmin,cwmax} is 0..15 with cwmax >= cwmin.
-#
-wmm_enabled=1
-#
-# WMM-PS Unscheduled Automatic Power Save Delivery [U-APSD]
-# Enable this flag if U-APSD supported outside hostapd (eg., Firmware/driver)
-#uapsd_advertisement_enabled=1
-#
-# Low priority / AC_BK = background
-wmm_ac_bk_cwmin=4
-wmm_ac_bk_cwmax=10
-wmm_ac_bk_aifs=7
-wmm_ac_bk_txop_limit=0
-wmm_ac_bk_acm=0
-# Note: for IEEE 802.11b mode: cWmin=5 cWmax=10
-#
-# Normal priority / AC_BE = best effort
-wmm_ac_be_aifs=3
-wmm_ac_be_cwmin=4
-wmm_ac_be_cwmax=10
-wmm_ac_be_txop_limit=0
-wmm_ac_be_acm=0
-# Note: for IEEE 802.11b mode: cWmin=5 cWmax=7
-#
-# High priority / AC_VI = video
-wmm_ac_vi_aifs=2
-wmm_ac_vi_cwmin=3
-wmm_ac_vi_cwmax=4
-wmm_ac_vi_txop_limit=94
-wmm_ac_vi_acm=0
-# Note: for IEEE 802.11b mode: cWmin=4 cWmax=5 txop_limit=188
-#
-# Highest priority / AC_VO = voice
-wmm_ac_vo_aifs=2
-wmm_ac_vo_cwmin=2
-wmm_ac_vo_cwmax=3
-wmm_ac_vo_txop_limit=47
-wmm_ac_vo_acm=0
-# Note: for IEEE 802.11b mode: cWmin=3 cWmax=4 burst=102
-
-# Static WEP key configuration
-#
-# The key number to use when transmitting.
-# It must be between 0 and 3, and the corresponding key must be set.
-# default: not set
-#wep_default_key=0
-# The WEP keys to use.
-# A key may be a quoted string or unquoted hexadecimal digits.
-# The key length should be 5, 13, or 16 characters, or 10, 26, or 32
-# digits, depending on whether 40-bit (64-bit), 104-bit (128-bit), or
-# 128-bit (152-bit) WEP is used.
-# Only the default key must be supplied; the others are optional.
-# default: not set
-#wep_key0=123456789a
-#wep_key1="vwxyz"
-#wep_key2=0102030405060708090a0b0c0d
-#wep_key3=".2.4.6.8.0.23"
-
-# Station inactivity limit
-#
-# If a station does not send anything in ap_max_inactivity seconds, an
-# empty data frame is sent to it in order to verify whether it is
-# still in range. If this frame is not ACKed, the station will be
-# disassociated and then deauthenticated. This feature is used to
-# clear station table of old entries when the STAs move out of the
-# range.
-#
-# The station can associate again with the AP if it is still in range;
-# this inactivity poll is just used as a nicer way of verifying
-# inactivity; i.e., client will not report broken connection because
-# disassociation frame is not sent immediately without first polling
-# the STA with a data frame.
-# default: 300 (i.e., 5 minutes)
-#ap_max_inactivity=300
-#
-# The inactivity polling can be disabled to disconnect stations based on
-# inactivity timeout so that idle stations are more likely to be disconnected
-# even if they are still in range of the AP. This can be done by setting
-# skip_inactivity_poll to 1 (default 0).
-#skip_inactivity_poll=0
-
-# Disassociate stations based on excessive transmission failures or other
-# indications of connection loss. This depends on the driver capabilities and
-# may not be available with all drivers.
-#disassoc_low_ack=1
-
-# Maximum allowed Listen Interval (how many Beacon periods STAs are allowed to
-# remain asleep). Default: 65535 (no limit apart from field size)
-#max_listen_interval=100
-
-# WDS (4-address frame) mode with per-station virtual interfaces
-# (only supported with driver=nl80211)
-# This mode allows associated stations to use 4-address frames to allow layer 2
-# bridging to be used.
-#wds_sta=1
-
-# If bridge parameter is set, the WDS STA interface will be added to the same
-# bridge by default. This can be overridden with the wds_bridge parameter to
-# use a separate bridge.
-#wds_bridge=wds-br0
-
-# Start the AP with beaconing disabled by default.
-#start_disabled=0
-
-# Client isolation can be used to prevent low-level bridging of frames between
-# associated stations in the BSS. By default, this bridging is allowed.
-#ap_isolate=1
-
-# BSS Load update period (in BUs)
-# This field is used to enable and configure adding a BSS Load element into
-# Beacon and Probe Response frames.
-#bss_load_update_period=50
-
-# Fixed BSS Load value for testing purposes
-# This field can be used to configure hostapd to add a fixed BSS Load element
-# into Beacon and Probe Response frames for testing purposes. The format is
-# <station count>:<channel utilization>:<available admission capacity>
-#bss_load_test=12:80:20000
-
-##### IEEE 802.11n related configuration ######################################
-
-# ieee80211n: Whether IEEE 802.11n (HT) is enabled
-# 0 = disabled (default)
-# 1 = enabled
-# Note: You will also need to enable WMM for full HT functionality.
-# Note: hw_mode=g (2.4 GHz) and hw_mode=a (5 GHz) is used to specify the band.
-#ieee80211n=1
-
-# ht_capab: HT capabilities (list of flags)
-# LDPC coding capability: [LDPC] = supported
-# Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary
-# channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz
-# with secondary channel above the primary channel
-# (20 MHz only if neither is set)
-# Note: There are limits on which channels can be used with HT40- and
-# HT40+. Following table shows the channels that may be available for
-# HT40- and HT40+ use per IEEE 802.11n Annex J:
-# freq HT40- HT40+
-# 2.4 GHz 5-13 1-7 (1-9 in Europe/Japan)
-# 5 GHz 40,48,56,64 36,44,52,60
-# (depending on the location, not all of these channels may be available
-# for use)
-# Please note that 40 MHz channels may switch their primary and secondary
-# channels if needed or creation of 40 MHz channel maybe rejected based
-# on overlapping BSSes. These changes are done automatically when hostapd
-# is setting up the 40 MHz channel.
-# Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC]
-# (SMPS disabled if neither is set)
-# HT-greenfield: [GF] (disabled if not set)
-# Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set)
-# Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set)
-# Tx STBC: [TX-STBC] (disabled if not set)
-# Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial
-# streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC
-# disabled if none of these set
-# HT-delayed Block Ack: [DELAYED-BA] (disabled if not set)
-# Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not
-# set)
-# DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set)
-# 40 MHz intolerant [40-INTOLERANT] (not advertised if not set)
-# L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set)
-#ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
-
-# Require stations to support HT PHY (reject association if they do not)
-#require_ht=1
-
-# If set non-zero, require stations to perform scans of overlapping
-# channels to test for stations which would be affected by 40 MHz traffic.
-# This parameter sets the interval in seconds between these scans. Setting this
-# to non-zero allows 2.4 GHz band AP to move dynamically to a 40 MHz channel if
-# no co-existence issues with neighboring devices are found.
-#obss_interval=0
-
-##### IEEE 802.11ac related configuration #####################################
-
-# ieee80211ac: Whether IEEE 802.11ac (VHT) is enabled
-# 0 = disabled (default)
-# 1 = enabled
-# Note: You will also need to enable WMM for full VHT functionality.
-# Note: hw_mode=a is used to specify that 5 GHz band is used with VHT.
-#ieee80211ac=1
-
-# vht_capab: VHT capabilities (list of flags)
-#
-# vht_max_mpdu_len: [MAX-MPDU-7991] [MAX-MPDU-11454]
-# Indicates maximum MPDU length
-# 0 = 3895 octets (default)
-# 1 = 7991 octets
-# 2 = 11454 octets
-# 3 = reserved
-#
-# supported_chan_width: [VHT160] [VHT160-80PLUS80]
-# Indicates supported Channel widths
-# 0 = 160 MHz & 80+80 channel widths are not supported (default)
-# 1 = 160 MHz channel width is supported
-# 2 = 160 MHz & 80+80 channel widths are supported
-# 3 = reserved
-#
-# Rx LDPC coding capability: [RXLDPC]
-# Indicates support for receiving LDPC coded pkts
-# 0 = Not supported (default)
-# 1 = Supported
-#
-# Short GI for 80 MHz: [SHORT-GI-80]
-# Indicates short GI support for reception of packets transmitted with TXVECTOR
-# params format equal to VHT and CBW = 80Mhz
-# 0 = Not supported (default)
-# 1 = Supported
-#
-# Short GI for 160 MHz: [SHORT-GI-160]
-# Indicates short GI support for reception of packets transmitted with TXVECTOR
-# params format equal to VHT and CBW = 160Mhz
-# 0 = Not supported (default)
-# 1 = Supported
-#
-# Tx STBC: [TX-STBC-2BY1]
-# Indicates support for the transmission of at least 2x1 STBC
-# 0 = Not supported (default)
-# 1 = Supported
-#
-# Rx STBC: [RX-STBC-1] [RX-STBC-12] [RX-STBC-123] [RX-STBC-1234]
-# Indicates support for the reception of PPDUs using STBC
-# 0 = Not supported (default)
-# 1 = support of one spatial stream
-# 2 = support of one and two spatial streams
-# 3 = support of one, two and three spatial streams
-# 4 = support of one, two, three and four spatial streams
-# 5,6,7 = reserved
-#
-# SU Beamformer Capable: [SU-BEAMFORMER]
-# Indicates support for operation as a single user beamformer
-# 0 = Not supported (default)
-# 1 = Supported
-#
-# SU Beamformee Capable: [SU-BEAMFORMEE]
-# Indicates support for operation as a single user beamformee
-# 0 = Not supported (default)
-# 1 = Supported
-#
-# Compressed Steering Number of Beamformer Antennas Supported:
-# [BF-ANTENNA-2] [BF-ANTENNA-3] [BF-ANTENNA-4]
-# Beamformee's capability indicating the maximum number of beamformer
-# antennas the beamformee can support when sending compressed beamforming
-# feedback
-# If SU beamformer capable, set to maximum value minus 1
-# else reserved (default)
-#
-# Number of Sounding Dimensions:
-# [SOUNDING-DIMENSION-2] [SOUNDING-DIMENSION-3] [SOUNDING-DIMENSION-4]
-# Beamformer's capability indicating the maximum value of the NUM_STS parameter
-# in the TXVECTOR of a VHT NDP
-# If SU beamformer capable, set to maximum value minus 1
-# else reserved (default)
-#
-# MU Beamformer Capable: [MU-BEAMFORMER]
-# Indicates support for operation as an MU beamformer
-# 0 = Not supported or sent by Non-AP STA (default)
-# 1 = Supported
-#
-# VHT TXOP PS: [VHT-TXOP-PS]
-# Indicates whether or not the AP supports VHT TXOP Power Save Mode
-# or whether or not the STA is in VHT TXOP Power Save mode
-# 0 = VHT AP doesn't support VHT TXOP PS mode (OR) VHT STA not in VHT TXOP PS
-# mode
-# 1 = VHT AP supports VHT TXOP PS mode (OR) VHT STA is in VHT TXOP power save
-# mode
-#
-# +HTC-VHT Capable: [HTC-VHT]
-# Indicates whether or not the STA supports receiving a VHT variant HT Control
-# field.
-# 0 = Not supported (default)
-# 1 = supported
-#
-# Maximum A-MPDU Length Exponent: [MAX-A-MPDU-LEN-EXP0]..[MAX-A-MPDU-LEN-EXP7]
-# Indicates the maximum length of A-MPDU pre-EOF padding that the STA can recv
-# This field is an integer in the range of 0 to 7.
-# The length defined by this field is equal to
-# 2 pow(13 + Maximum A-MPDU Length Exponent) -1 octets
-#
-# VHT Link Adaptation Capable: [VHT-LINK-ADAPT2] [VHT-LINK-ADAPT3]
-# Indicates whether or not the STA supports link adaptation using VHT variant
-# HT Control field
-# If +HTC-VHTcapable is 1
-# 0 = (no feedback) if the STA does not provide VHT MFB (default)
-# 1 = reserved
-# 2 = (Unsolicited) if the STA provides only unsolicited VHT MFB
-# 3 = (Both) if the STA can provide VHT MFB in response to VHT MRQ and if the
-# STA provides unsolicited VHT MFB
-# Reserved if +HTC-VHTcapable is 0
-#
-# Rx Antenna Pattern Consistency: [RX-ANTENNA-PATTERN]
-# Indicates the possibility of Rx antenna pattern change
-# 0 = Rx antenna pattern might change during the lifetime of an association
-# 1 = Rx antenna pattern does not change during the lifetime of an association
-#
-# Tx Antenna Pattern Consistency: [TX-ANTENNA-PATTERN]
-# Indicates the possibility of Tx antenna pattern change
-# 0 = Tx antenna pattern might change during the lifetime of an association
-# 1 = Tx antenna pattern does not change during the lifetime of an association
-#vht_capab=[SHORT-GI-80][HTC-VHT]
-#
-# Require stations to support VHT PHY (reject association if they do not)
-#require_vht=1
-
-# 0 = 20 or 40 MHz operating Channel width
-# 1 = 80 MHz channel width
-# 2 = 160 MHz channel width
-# 3 = 80+80 MHz channel width
-#vht_oper_chwidth=1
-#
-# center freq = 5 GHz + (5 * index)
-# So index 42 gives center freq 5.210 GHz
-# which is channel 42 in 5G band
-#
-#vht_oper_centr_freq_seg0_idx=42
-#
-# center freq = 5 GHz + (5 * index)
-# So index 159 gives center freq 5.795 GHz
-# which is channel 159 in 5G band
-#
-#vht_oper_centr_freq_seg1_idx=159
-
-# Workaround to use station's nsts capability in (Re)Association Response frame
-# This may be needed with some deployed devices as an interoperability
-# workaround for beamforming if the AP's capability is greater than the
-# station's capability. This is disabled by default and can be enabled by
-# setting use_sta_nsts=1.
-#use_sta_nsts=0
-
-##### IEEE 802.1X-2004 related configuration ##################################
-
-# Require IEEE 802.1X authorization
-#ieee8021x=1
-
-# IEEE 802.1X/EAPOL version
-# hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL
-# version 2. However, there are many client implementations that do not handle
-# the new version number correctly (they seem to drop the frames completely).
-# In order to make hostapd interoperate with these clients, the version number
-# can be set to the older version (1) with this configuration value.
-#eapol_version=2
-
-# Optional displayable message sent with EAP Request-Identity. The first \0
-# in this string will be converted to ASCII-0 (nul). This can be used to
-# separate network info (comma separated list of attribute=value pairs); see,
-# e.g., RFC 4284.
-#eap_message=hello
-#eap_message=hello\0networkid=netw,nasid=foo,portid=0,NAIRealms=example.com
-
-# WEP rekeying (disabled if key lengths are not set or are set to 0)
-# Key lengths for default/broadcast and individual/unicast keys:
-# 5 = 40-bit WEP (also known as 64-bit WEP with 40 secret bits)
-# 13 = 104-bit WEP (also known as 128-bit WEP with 104 secret bits)
-#wep_key_len_broadcast=5
-#wep_key_len_unicast=5
-# Rekeying period in seconds. 0 = do not rekey (i.e., set keys only once)
-#wep_rekey_period=300
-
-# EAPOL-Key index workaround (set bit7) for WinXP Supplicant (needed only if
-# only broadcast keys are used)
-eapol_key_index_workaround=0
-
-# EAP reauthentication period in seconds (default: 3600 seconds; 0 = disable
-# reauthentication).
-#eap_reauth_period=3600
-
-# Use PAE group address (01:80:c2:00:00:03) instead of individual target
-# address when sending EAPOL frames with driver=wired. This is the most common
-# mechanism used in wired authentication, but it also requires that the port
-# is only used by one station.
-#use_pae_group_addr=1
-
-# EAP Re-authentication Protocol (ERP) authenticator (RFC 6696)
-#
-# Whether to initiate EAP authentication with EAP-Initiate/Re-auth-Start before
-# EAP-Identity/Request
-#erp_send_reauth_start=1
-#
-# Domain name for EAP-Initiate/Re-auth-Start. Omitted from the message if not
-# set (no local ER server). This is also used by the integrated EAP server if
-# ERP is enabled (eap_server_erp=1).
-#erp_domain=example.com
-
-##### Integrated EAP server ###################################################
-
-# Optionally, hostapd can be configured to use an integrated EAP server
-# to process EAP authentication locally without need for an external RADIUS
-# server. This functionality can be used both as a local authentication server
-# for IEEE 802.1X/EAPOL and as a RADIUS server for other devices.
-
-# Use integrated EAP server instead of external RADIUS authentication
-# server. This is also needed if hostapd is configured to act as a RADIUS
-# authentication server.
-eap_server=0
-
-# Path for EAP server user database
-# If SQLite support is included, this can be set to "sqlite:/path/to/sqlite.db"
-# to use SQLite database instead of a text file.
-#eap_user_file=/etc/hostapd.eap_user
-
-# CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
-#ca_cert=/etc/hostapd.ca.pem
-
-# Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
-#server_cert=/etc/hostapd.server.pem
-
-# Private key matching with the server certificate for EAP-TLS/PEAP/TTLS
-# This may point to the same file as server_cert if both certificate and key
-# are included in a single file. PKCS#12 (PFX) file (.p12/.pfx) can also be
-# used by commenting out server_cert and specifying the PFX file as the
-# private_key.
-#private_key=/etc/hostapd.server.prv
-
-# Passphrase for private key
-#private_key_passwd=secret passphrase
-
-# Server identity
-# EAP methods that provide mechanism for authenticated server identity delivery
-# use this value. If not set, "hostapd" is used as a default.
-#server_id=server.example.com
-
-# Enable CRL verification.
-# Note: hostapd does not yet support CRL downloading based on CDP. Thus, a
-# valid CRL signed by the CA is required to be included in the ca_cert file.
-# This can be done by using PEM format for CA certificate and CRL and
-# concatenating these into one file. Whenever CRL changes, hostapd needs to be
-# restarted to take the new CRL into use.
-# 0 = do not verify CRLs (default)
-# 1 = check the CRL of the user certificate
-# 2 = check all CRLs in the certificate path
-#check_crl=1
-
-# TLS Session Lifetime in seconds
-# This can be used to allow TLS sessions to be cached and resumed with an
-# abbreviated handshake when using EAP-TLS/TTLS/PEAP.
-# (default: 0 = session caching and resumption disabled)
-#tls_session_lifetime=3600
-
-# Cached OCSP stapling response (DER encoded)
-# If set, this file is sent as a certificate status response by the EAP server
-# if the EAP peer requests certificate status in the ClientHello message.
-# This cache file can be updated, e.g., by running following command
-# periodically to get an update from the OCSP responder:
-# openssl ocsp \
-# -no_nonce \
-# -CAfile /etc/hostapd.ca.pem \
-# -issuer /etc/hostapd.ca.pem \
-# -cert /etc/hostapd.server.pem \
-# -url http://ocsp.example.com:8888/ \
-# -respout /tmp/ocsp-cache.der
-#ocsp_stapling_response=/tmp/ocsp-cache.der
-
-# Cached OCSP stapling response list (DER encoded OCSPResponseList)
-# This is similar to ocsp_stapling_response, but the extended version defined in
-# RFC 6961 to allow multiple OCSP responses to be provided.
-#ocsp_stapling_response_multi=/tmp/ocsp-multi-cache.der
-
-# dh_file: File path to DH/DSA parameters file (in PEM format)
-# This is an optional configuration file for setting parameters for an
-# ephemeral DH key exchange. In most cases, the default RSA authentication does
-# not use this configuration. However, it is possible setup RSA to use
-# ephemeral DH key exchange. In addition, ciphers with DSA keys always use
-# ephemeral DH keys. This can be used to achieve forward secrecy. If the file
-# is in DSA parameters format, it will be automatically converted into DH
-# params. This parameter is required if anonymous EAP-FAST is used.
-# You can generate DH parameters file with OpenSSL, e.g.,
-# "openssl dhparam -out /etc/hostapd.dh.pem 2048"
-#dh_file=/etc/hostapd.dh.pem
-
-# OpenSSL cipher string
-#
-# This is an OpenSSL specific configuration option for configuring the default
-# ciphers. If not set, "DEFAULT:!EXP:!LOW" is used as the default.
-# See https://www.openssl.org/docs/apps/ciphers.html for OpenSSL documentation
-# on cipher suite configuration. This is applicable only if hostapd is built to
-# use OpenSSL.
-#openssl_ciphers=DEFAULT:!EXP:!LOW
-
-# Fragment size for EAP methods
-#fragment_size=1400
-
-# Finite cyclic group for EAP-pwd. Number maps to group of domain parameters
-# using the IANA repository for IKE (RFC 2409).
-#pwd_group=19
-
-# Configuration data for EAP-SIM database/authentication gateway interface.
-# This is a text string in implementation specific format. The example
-# implementation in eap_sim_db.c uses this as the UNIX domain socket name for
-# the HLR/AuC gateway (e.g., hlr_auc_gw). In this case, the path uses "unix:"
-# prefix. If hostapd is built with SQLite support (CONFIG_SQLITE=y in .config),
-# database file can be described with an optional db=<path> parameter.
-#eap_sim_db=unix:/tmp/hlr_auc_gw.sock
-#eap_sim_db=unix:/tmp/hlr_auc_gw.sock db=/tmp/hostapd.db
-
-# EAP-SIM DB request timeout
-# This parameter sets the maximum time to wait for a database request response.
-# The parameter value is in seconds.
-#eap_sim_db_timeout=1
-
-# Encryption key for EAP-FAST PAC-Opaque values. This key must be a secret,
-# random value. It is configured as a 16-octet value in hex format. It can be
-# generated, e.g., with the following command:
-# od -tx1 -v -N16 /dev/random | colrm 1 8 | tr -d ' '
-#pac_opaque_encr_key=000102030405060708090a0b0c0d0e0f
-
-# EAP-FAST authority identity (A-ID)
-# A-ID indicates the identity of the authority that issues PACs. The A-ID
-# should be unique across all issuing servers. In theory, this is a variable
-# length field, but due to some existing implementations requiring A-ID to be
-# 16 octets in length, it is strongly recommended to use that length for the
-# field to provid interoperability with deployed peer implementations. This
-# field is configured in hex format.
-#eap_fast_a_id=101112131415161718191a1b1c1d1e1f
-
-# EAP-FAST authority identifier information (A-ID-Info)
-# This is a user-friendly name for the A-ID. For example, the enterprise name
-# and server name in a human-readable format. This field is encoded as UTF-8.
-#eap_fast_a_id_info=test server
-
-# Enable/disable different EAP-FAST provisioning modes:
-#0 = provisioning disabled
-#1 = only anonymous provisioning allowed
-#2 = only authenticated provisioning allowed
-#3 = both provisioning modes allowed (default)
-#eap_fast_prov=3
-
-# EAP-FAST PAC-Key lifetime in seconds (hard limit)
-#pac_key_lifetime=604800
-
-# EAP-FAST PAC-Key refresh time in seconds (soft limit on remaining hard
-# limit). The server will generate a new PAC-Key when this number of seconds
-# (or fewer) of the lifetime remains.
-#pac_key_refresh_time=86400
-
-# EAP-SIM and EAP-AKA protected success/failure indication using AT_RESULT_IND
-# (default: 0 = disabled).
-#eap_sim_aka_result_ind=1
-
-# Trusted Network Connect (TNC)
-# If enabled, TNC validation will be required before the peer is allowed to
-# connect. Note: This is only used with EAP-TTLS and EAP-FAST. If any other
-# EAP method is enabled, the peer will be allowed to connect without TNC.
-#tnc=1
-
-# EAP Re-authentication Protocol (ERP) - RFC 6696
-#
-# Whether to enable ERP on the EAP server.
-#eap_server_erp=1
-
-##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) #######################
-
-# Interface to be used for IAPP broadcast packets
-#iapp_interface=eth0
-
-
-##### RADIUS client configuration #############################################
-# for IEEE 802.1X with external Authentication Server, IEEE 802.11
-# authentication with external ACL for MAC addresses, and accounting
-
-# The own IP address of the access point (used as NAS-IP-Address)
-own_ip_addr=127.0.0.1
-
-# NAS-Identifier string for RADIUS messages. When used, this should be unique
-# to the NAS within the scope of the RADIUS server. Please note that hostapd
-# uses a separate RADIUS client for each BSS and as such, a unique
-# nas_identifier value should be configured separately for each BSS. This is
-# particularly important for cases where RADIUS accounting is used
-# (Accounting-On/Off messages are interpreted as clearing all ongoing sessions
-# and that may get interpreted as applying to all BSSes if the same
-# NAS-Identifier value is used.) For example, a fully qualified domain name
-# prefixed with a unique identifier of the BSS (e.g., BSSID) can be used here.
-#
-# When using IEEE 802.11r, nas_identifier must be set and must be between 1 and
-# 48 octets long.
-#
-# It is mandatory to configure either own_ip_addr or nas_identifier to be
-# compliant with the RADIUS protocol. When using RADIUS accounting, it is
-# strongly recommended that nas_identifier is set to a unique value for each
-# BSS.
-#nas_identifier=ap.example.com
-
-# RADIUS client forced local IP address for the access point
-# Normally the local IP address is determined automatically based on configured
-# IP addresses, but this field can be used to force a specific address to be
-# used, e.g., when the device has multiple IP addresses.
-#radius_client_addr=127.0.0.1
-
-# RADIUS authentication server
-#auth_server_addr=127.0.0.1
-#auth_server_port=1812
-#auth_server_shared_secret=secret
-
-# RADIUS accounting server
-#acct_server_addr=127.0.0.1
-#acct_server_port=1813
-#acct_server_shared_secret=secret
-
-# Secondary RADIUS servers; to be used if primary one does not reply to
-# RADIUS packets. These are optional and there can be more than one secondary
-# server listed.
-#auth_server_addr=127.0.0.2
-#auth_server_port=1812
-#auth_server_shared_secret=secret2
-#
-#acct_server_addr=127.0.0.2
-#acct_server_port=1813
-#acct_server_shared_secret=secret2
-
-# Retry interval for trying to return to the primary RADIUS server (in
-# seconds). RADIUS client code will automatically try to use the next server
-# when the current server is not replying to requests. If this interval is set,
-# primary server will be retried after configured amount of time even if the
-# currently used secondary server is still working.
-#radius_retry_primary_interval=600
-
-
-# Interim accounting update interval
-# If this is set (larger than 0) and acct_server is configured, hostapd will
-# send interim accounting updates every N seconds. Note: if set, this overrides
-# possible Acct-Interim-Interval attribute in Access-Accept message. Thus, this
-# value should not be configured in hostapd.conf, if RADIUS server is used to
-# control the interim interval.
-# This value should not be less 600 (10 minutes) and must not be less than
-# 60 (1 minute).
-#radius_acct_interim_interval=600
-
-# Request Chargeable-User-Identity (RFC 4372)
-# This parameter can be used to configure hostapd to request CUI from the
-# RADIUS server by including Chargeable-User-Identity attribute into
-# Access-Request packets.
-#radius_request_cui=1
-
-# Dynamic VLAN mode; allow RADIUS authentication server to decide which VLAN
-# is used for the stations. This information is parsed from following RADIUS
-# attributes based on RFC 3580 and RFC 2868: Tunnel-Type (value 13 = VLAN),
-# Tunnel-Medium-Type (value 6 = IEEE 802), Tunnel-Private-Group-ID (value
-# VLANID as a string). Optionally, the local MAC ACL list (accept_mac_file) can
-# be used to set static client MAC address to VLAN ID mapping.
-# 0 = disabled (default)
-# 1 = option; use default interface if RADIUS server does not include VLAN ID
-# 2 = required; reject authentication if RADIUS server does not include VLAN ID
-#dynamic_vlan=0
-
-# Per-Station AP_VLAN interface mode
-# If enabled, each station is assigned its own AP_VLAN interface.
-# This implies per-station group keying and ebtables filtering of inter-STA
-# traffic (when passed through the AP).
-# If the sta is not assigned to any VLAN, then its AP_VLAN interface will be
-# added to the bridge given by the "bridge" configuration option (see above).
-# Otherwise, it will be added to the per-VLAN bridge.
-# 0 = disabled (default)
-# 1 = enabled
-#per_sta_vif=0
-
-# VLAN interface list for dynamic VLAN mode is read from a separate text file.
-# This list is used to map VLAN ID from the RADIUS server to a network
-# interface. Each station is bound to one interface in the same way as with
-# multiple BSSIDs or SSIDs. Each line in this text file is defining a new
-# interface and the line must include VLAN ID and interface name separated by
-# white space (space or tab).
-# If no entries are provided by this file, the station is statically mapped
-# to <bss-iface>.<vlan-id> interfaces.
-#vlan_file=/etc/hostapd.vlan
-
-# Interface where 802.1q tagged packets should appear when a RADIUS server is
-# used to determine which VLAN a station is on. hostapd creates a bridge for
-# each VLAN. Then hostapd adds a VLAN interface (associated with the interface
-# indicated by 'vlan_tagged_interface') and the appropriate wireless interface
-# to the bridge.
-#vlan_tagged_interface=eth0
-
-# Bridge (prefix) to add the wifi and the tagged interface to. This gets the
-# VLAN ID appended. It defaults to brvlan%d if no tagged interface is given
-# and br%s.%d if a tagged interface is given, provided %s = tagged interface
-# and %d = VLAN ID.
-#vlan_bridge=brvlan
-
-# When hostapd creates a VLAN interface on vlan_tagged_interfaces, it needs
-# to know how to name it.
-# 0 = vlan<XXX>, e.g., vlan1
-# 1 = <vlan_tagged_interface>.<XXX>, e.g. eth0.1
-#vlan_naming=0
-
-# Arbitrary RADIUS attributes can be added into Access-Request and
-# Accounting-Request packets by specifying the contents of the attributes with
-# the following configuration parameters. There can be multiple of these to
-# add multiple attributes. These parameters can also be used to override some
-# of the attributes added automatically by hostapd.
-# Format: <attr_id>[:<syntax:value>]
-# attr_id: RADIUS attribute type (e.g., 26 = Vendor-Specific)
-# syntax: s = string (UTF-8), d = integer, x = octet string
-# value: attribute value in format indicated by the syntax
-# If syntax and value parts are omitted, a null value (single 0x00 octet) is
-# used.
-#
-# Additional Access-Request attributes
-# radius_auth_req_attr=<attr_id>[:<syntax:value>]
-# Examples:
-# Operator-Name = "Operator"
-#radius_auth_req_attr=126:s:Operator
-# Service-Type = Framed (2)
-#radius_auth_req_attr=6:d:2
-# Connect-Info = "testing" (this overrides the automatically generated value)
-#radius_auth_req_attr=77:s:testing
-# Same Connect-Info value set as a hexdump
-#radius_auth_req_attr=77:x:74657374696e67
-
-#
-# Additional Accounting-Request attributes
-# radius_acct_req_attr=<attr_id>[:<syntax:value>]
-# Examples:
-# Operator-Name = "Operator"
-#radius_acct_req_attr=126:s:Operator
-
-# Dynamic Authorization Extensions (RFC 5176)
-# This mechanism can be used to allow dynamic changes to user session based on
-# commands from a RADIUS server (or some other disconnect client that has the
-# needed session information). For example, Disconnect message can be used to
-# request an associated station to be disconnected.
-#
-# This is disabled by default. Set radius_das_port to non-zero UDP port
-# number to enable.
-#radius_das_port=3799
-#
-# DAS client (the host that can send Disconnect/CoA requests) and shared secret
-#radius_das_client=192.168.1.123 shared secret here
-#
-# DAS Event-Timestamp time window in seconds
-#radius_das_time_window=300
-#
-# DAS require Event-Timestamp
-#radius_das_require_event_timestamp=1
-#
-# DAS require Message-Authenticator
-#radius_das_require_message_authenticator=1
-
-##### RADIUS authentication server configuration ##############################
-
-# hostapd can be used as a RADIUS authentication server for other hosts. This
-# requires that the integrated EAP server is also enabled and both
-# authentication services are sharing the same configuration.
-
-# File name of the RADIUS clients configuration for the RADIUS server. If this
-# commented out, RADIUS server is disabled.
-#radius_server_clients=/etc/hostapd.radius_clients
-
-# The UDP port number for the RADIUS authentication server
-#radius_server_auth_port=1812
-
-# The UDP port number for the RADIUS accounting server
-# Commenting this out or setting this to 0 can be used to disable RADIUS
-# accounting while still enabling RADIUS authentication.
-#radius_server_acct_port=1813
-
-# Use IPv6 with RADIUS server (IPv4 will also be supported using IPv6 API)
-#radius_server_ipv6=1
-
-
-##### WPA/IEEE 802.11i configuration ##########################################
-
-# Enable WPA. Setting this variable configures the AP to require WPA (either
-# WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either
-# wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK.
-# Instead of wpa_psk / wpa_passphrase, wpa_psk_radius might suffice.
-# For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys),
-# RADIUS authentication server must be configured, and WPA-EAP must be included
-# in wpa_key_mgmt.
-# This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0)
-# and/or WPA2 (full IEEE 802.11i/RSN):
-# bit0 = WPA
-# bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
-#wpa=1
-
-# WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
-# secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
-# (8..63 characters) that will be converted to PSK. This conversion uses SSID
-# so the PSK changes when ASCII passphrase is used and the SSID is changed.
-# wpa_psk (dot11RSNAConfigPSKValue)
-# wpa_passphrase (dot11RSNAConfigPSKPassPhrase)
-#wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
-#wpa_passphrase=secret passphrase
-
-# Optionally, WPA PSKs can be read from a separate text file (containing list
-# of (PSK,MAC address) pairs. This allows more than one PSK to be configured.
-# Use absolute path name to make sure that the files can be read on SIGHUP
-# configuration reloads.
-#wpa_psk_file=/etc/hostapd.wpa_psk
-
-# Optionally, WPA passphrase can be received from RADIUS authentication server
-# This requires macaddr_acl to be set to 2 (RADIUS)
-# 0 = disabled (default)
-# 1 = optional; use default passphrase/psk if RADIUS server does not include
-# Tunnel-Password
-# 2 = required; reject authentication if RADIUS server does not include
-# Tunnel-Password
-#wpa_psk_radius=0
-
-# Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The
-# entries are separated with a space. WPA-PSK-SHA256 and WPA-EAP-SHA256 can be
-# added to enable SHA256-based stronger algorithms.
-# (dot11RSNAConfigAuthenticationSuitesTable)
-#wpa_key_mgmt=WPA-PSK WPA-EAP
-
-# Set of accepted cipher suites (encryption algorithms) for pairwise keys
-# (unicast packets). This is a space separated list of algorithms:
-# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
-# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
-# Group cipher suite (encryption algorithm for broadcast and multicast frames)
-# is automatically selected based on this configuration. If only CCMP is
-# allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise,
-# TKIP will be used as the group cipher.
-# (dot11RSNAConfigPairwiseCiphersTable)
-# Pairwise cipher for WPA (v1) (default: TKIP)
-#wpa_pairwise=TKIP CCMP
-# Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value)
-#rsn_pairwise=CCMP
-
-# Time interval for rekeying GTK (broadcast/multicast encryption keys) in
-# seconds. (dot11RSNAConfigGroupRekeyTime)
-#wpa_group_rekey=600
-
-# Rekey GTK when any STA that possesses the current GTK is leaving the BSS.
-# (dot11RSNAConfigGroupRekeyStrict)
-#wpa_strict_rekey=1
-
-# Time interval for rekeying GMK (master key used internally to generate GTKs
-# (in seconds).
-#wpa_gmk_rekey=86400
-
-# Maximum lifetime for PTK in seconds. This can be used to enforce rekeying of
-# PTK to mitigate some attacks against TKIP deficiencies.
-#wpa_ptk_rekey=600
-
-# Enable IEEE 802.11i/RSN/WPA2 pre-authentication. This is used to speed up
-# roaming be pre-authenticating IEEE 802.1X/EAP part of the full RSN
-# authentication and key handshake before actually associating with a new AP.
-# (dot11RSNAPreauthenticationEnabled)
-#rsn_preauth=1
-#
-# Space separated list of interfaces from which pre-authentication frames are
-# accepted (e.g., 'eth0' or 'eth0 wlan0wds0'. This list should include all
-# interface that are used for connections to other APs. This could include
-# wired interfaces and WDS links. The normal wireless data interface towards
-# associated stations (e.g., wlan0) should not be added, since
-# pre-authentication is only used with APs other than the currently associated
-# one.
-#rsn_preauth_interfaces=eth0
-
-# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e) is
-# allowed. This is only used with RSN/WPA2.
-# 0 = disabled (default)
-# 1 = enabled
-#peerkey=1
-
-# ieee80211w: Whether management frame protection (MFP) is enabled
-# 0 = disabled (default)
-# 1 = optional
-# 2 = required
-#ieee80211w=0
-
-# Group management cipher suite
-# Default: AES-128-CMAC (BIP)
-# Other options (depending on driver support):
-# BIP-GMAC-128
-# BIP-GMAC-256
-# BIP-CMAC-256
-# Note: All the stations connecting to the BSS will also need to support the
-# selected cipher. The default AES-128-CMAC is the only option that is commonly
-# available in deployed devices.
-#group_mgmt_cipher=AES-128-CMAC
-
-# Association SA Query maximum timeout (in TU = 1.024 ms; for MFP)
-# (maximum time to wait for a SA Query response)
-# dot11AssociationSAQueryMaximumTimeout, 1...4294967295
-#assoc_sa_query_max_timeout=1000
-
-# Association SA Query retry timeout (in TU = 1.024 ms; for MFP)
-# (time between two subsequent SA Query requests)
-# dot11AssociationSAQueryRetryTimeout, 1...4294967295
-#assoc_sa_query_retry_timeout=201
-
-# disable_pmksa_caching: Disable PMKSA caching
-# This parameter can be used to disable caching of PMKSA created through EAP
-# authentication. RSN preauthentication may still end up using PMKSA caching if
-# it is enabled (rsn_preauth=1).
-# 0 = PMKSA caching enabled (default)
-# 1 = PMKSA caching disabled
-#disable_pmksa_caching=0
-
-# okc: Opportunistic Key Caching (aka Proactive Key Caching)
-# Allow PMK cache to be shared opportunistically among configured interfaces
-# and BSSes (i.e., all configurations within a single hostapd process).
-# 0 = disabled (default)
-# 1 = enabled
-#okc=1
-
-# SAE threshold for anti-clogging mechanism (dot11RSNASAEAntiCloggingThreshold)
-# This parameter defines how many open SAE instances can be in progress at the
-# same time before the anti-clogging mechanism is taken into use.
-#sae_anti_clogging_threshold=5
-
-# Enabled SAE finite cyclic groups
-# SAE implementation are required to support group 19 (ECC group defined over a
-# 256-bit prime order field). All groups that are supported by the
-# implementation are enabled by default. This configuration parameter can be
-# used to specify a limited set of allowed groups. The group values are listed
-# in the IANA registry:
-# http://www.iana.org/assignments/ipsec-registry/ipsec-registry.xml#ipsec-registry-9
-#sae_groups=19 20 21 25 26
-
-##### IEEE 802.11r configuration ##############################################
-
-# Mobility Domain identifier (dot11FTMobilityDomainID, MDID)
-# MDID is used to indicate a group of APs (within an ESS, i.e., sharing the
-# same SSID) between which a STA can use Fast BSS Transition.
-# 2-octet identifier as a hex string.
-#mobility_domain=a1b2
-
-# PMK-R0 Key Holder identifier (dot11FTR0KeyHolderID)
-# 1 to 48 octet identifier.
-# This is configured with nas_identifier (see RADIUS client section above).
-
-# Default lifetime of the PMK-RO in minutes; range 1..65535
-# (dot11FTR0KeyLifetime)
-#r0_key_lifetime=10000
-
-# PMK-R1 Key Holder identifier (dot11FTR1KeyHolderID)
-# 6-octet identifier as a hex string.
-# Defaults to BSSID.
-#r1_key_holder=000102030405
-
-# Reassociation deadline in time units (TUs / 1.024 ms; range 1000..65535)
-# (dot11FTReassociationDeadline)
-#reassociation_deadline=1000
-
-# List of R0KHs in the same Mobility Domain
-# format: <MAC address> <NAS Identifier> <128-bit key as hex string>
-# This list is used to map R0KH-ID (NAS Identifier) to a destination MAC
-# address when requesting PMK-R1 key from the R0KH that the STA used during the
-# Initial Mobility Domain Association.
-#r0kh=02:01:02:03:04:05 r0kh-1.example.com 000102030405060708090a0b0c0d0e0f
-#r0kh=02:01:02:03:04:06 r0kh-2.example.com 00112233445566778899aabbccddeeff
-# And so on.. One line per R0KH.
-
-# List of R1KHs in the same Mobility Domain
-# format: <MAC address> <R1KH-ID> <128-bit key as hex string>
-# This list is used to map R1KH-ID to a destination MAC address when sending
-# PMK-R1 key from the R0KH. This is also the list of authorized R1KHs in the MD
-# that can request PMK-R1 keys.
-#r1kh=02:01:02:03:04:05 02:11:22:33:44:55 000102030405060708090a0b0c0d0e0f
-#r1kh=02:01:02:03:04:06 02:11:22:33:44:66 00112233445566778899aabbccddeeff
-# And so on.. One line per R1KH.
-
-# Whether PMK-R1 push is enabled at R0KH
-# 0 = do not push PMK-R1 to all configured R1KHs (default)
-# 1 = push PMK-R1 to all configured R1KHs whenever a new PMK-R0 is derived
-#pmk_r1_push=1
-
-# Whether to enable FT-over-DS
-# 0 = FT-over-DS disabled
-# 1 = FT-over-DS enabled (default)
-#ft_over_ds=1
-
-##### Neighbor table ##########################################################
-# Maximum number of entries kept in AP table (either for neigbor table or for
-# detecting Overlapping Legacy BSS Condition). The oldest entry will be
-# removed when adding a new entry that would make the list grow over this
-# limit. Note! WFA certification for IEEE 802.11g requires that OLBC is
-# enabled, so this field should not be set to 0 when using IEEE 802.11g.
-# default: 255
-#ap_table_max_size=255
-
-# Number of seconds of no frames received after which entries may be deleted
-# from the AP table. Since passive scanning is not usually performed frequently
-# this should not be set to very small value. In addition, there is no
-# guarantee that every scan cycle will receive beacon frames from the
-# neighboring APs.
-# default: 60
-#ap_table_expiration_time=3600
-
-# Maximum number of stations to track on the operating channel
-# This can be used to detect dualband capable stations before they have
-# associated, e.g., to provide guidance on which colocated BSS to use.
-# Default: 0 (disabled)
-#track_sta_max_num=100
-
-# Maximum age of a station tracking entry in seconds
-# Default: 180
-#track_sta_max_age=180
-
-# Do not reply to group-addressed Probe Request from a station that was seen on
-# another radio.
-# Default: Disabled
-#
-# This can be used with enabled track_sta_max_num configuration on another
-# interface controlled by the same hostapd process to restrict Probe Request
-# frame handling from replying to group-addressed Probe Request frames from a
-# station that has been detected to be capable of operating on another band,
-# e.g., to try to reduce likelihood of the station selecting a 2.4 GHz BSS when
-# the AP operates both a 2.4 GHz and 5 GHz BSS concurrently.
-#
-# Note: Enabling this can cause connectivity issues and increase latency for
-# discovering the AP.
-#no_probe_resp_if_seen_on=wlan1
-
-# Reject authentication from a station that was seen on another radio.
-# Default: Disabled
-#
-# This can be used with enabled track_sta_max_num configuration on another
-# interface controlled by the same hostapd process to reject authentication
-# attempts from a station that has been detected to be capable of operating on
-# another band, e.g., to try to reduce likelihood of the station selecting a
-# 2.4 GHz BSS when the AP operates both a 2.4 GHz and 5 GHz BSS concurrently.
-#
-# Note: Enabling this can cause connectivity issues and increase latency for
-# connecting with the AP.
-#no_auth_if_seen_on=wlan1
-
-##### Wi-Fi Protected Setup (WPS) #############################################
-
-# WPS state
-# 0 = WPS disabled (default)
-# 1 = WPS enabled, not configured
-# 2 = WPS enabled, configured
-#wps_state=2
-
-# Whether to manage this interface independently from other WPS interfaces
-# By default, a single hostapd process applies WPS operations to all configured
-# interfaces. This parameter can be used to disable that behavior for a subset
-# of interfaces. If this is set to non-zero for an interface, WPS commands
-# issued on that interface do not apply to other interfaces and WPS operations
-# performed on other interfaces do not affect this interface.
-#wps_independent=0
-
-# AP can be configured into a locked state where new WPS Registrar are not
-# accepted, but previously authorized Registrars (including the internal one)
-# can continue to add new Enrollees.
-#ap_setup_locked=1
-
-# Universally Unique IDentifier (UUID; see RFC 4122) of the device
-# This value is used as the UUID for the internal WPS Registrar. If the AP
-# is also using UPnP, this value should be set to the device's UPnP UUID.
-# If not configured, UUID will be generated based on the local MAC address.
-#uuid=12345678-9abc-def0-1234-56789abcdef0
-
-# Note: If wpa_psk_file is set, WPS is used to generate random, per-device PSKs
-# that will be appended to the wpa_psk_file. If wpa_psk_file is not set, the
-# default PSK (wpa_psk/wpa_passphrase) will be delivered to Enrollees. Use of
-# per-device PSKs is recommended as the more secure option (i.e., make sure to
-# set wpa_psk_file when using WPS with WPA-PSK).
-
-# When an Enrollee requests access to the network with PIN method, the Enrollee
-# PIN will need to be entered for the Registrar. PIN request notifications are
-# sent to hostapd ctrl_iface monitor. In addition, they can be written to a
-# text file that could be used, e.g., to populate the AP administration UI with
-# pending PIN requests. If the following variable is set, the PIN requests will
-# be written to the configured file.
-#wps_pin_requests=/var/run/hostapd_wps_pin_requests
-
-# Device Name
-# User-friendly description of device; up to 32 octets encoded in UTF-8
-#device_name=Wireless AP
-
-# Manufacturer
-# The manufacturer of the device (up to 64 ASCII characters)
-#manufacturer=Company
-
-# Model Name
-# Model of the device (up to 32 ASCII characters)
-#model_name=WAP
-
-# Model Number
-# Additional device description (up to 32 ASCII characters)
-#model_number=123
-
-# Serial Number
-# Serial number of the device (up to 32 characters)
-#serial_number=12345
-
-# Primary Device Type
-# Used format: <categ>-<OUI>-<subcateg>
-# categ = Category as an integer value
-# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for
-# default WPS OUI
-# subcateg = OUI-specific Sub Category as an integer value
-# Examples:
-# 1-0050F204-1 (Computer / PC)
-# 1-0050F204-2 (Computer / Server)
-# 5-0050F204-1 (Storage / NAS)
-# 6-0050F204-1 (Network Infrastructure / AP)
-#device_type=6-0050F204-1
-
-# OS Version
-# 4-octet operating system version number (hex string)
-#os_version=01020300
-
-# Config Methods
-# List of the supported configuration methods
-# Available methods: usba ethernet label display ext_nfc_token int_nfc_token
-# nfc_interface push_button keypad virtual_display physical_display
-# virtual_push_button physical_push_button
-#config_methods=label virtual_display virtual_push_button keypad
-
-# WPS capability discovery workaround for PBC with Windows 7
-# Windows 7 uses incorrect way of figuring out AP's WPS capabilities by acting
-# as a Registrar and using M1 from the AP. The config methods attribute in that
-# message is supposed to indicate only the configuration method supported by
-# the AP in Enrollee role, i.e., to add an external Registrar. For that case,
-# PBC shall not be used and as such, the PushButton config method is removed
-# from M1 by default. If pbc_in_m1=1 is included in the configuration file,
-# the PushButton config method is left in M1 (if included in config_methods
-# parameter) to allow Windows 7 to use PBC instead of PIN (e.g., from a label
-# in the AP).
-#pbc_in_m1=1
-
-# Static access point PIN for initial configuration and adding Registrars
-# If not set, hostapd will not allow external WPS Registrars to control the
-# access point. The AP PIN can also be set at runtime with hostapd_cli
-# wps_ap_pin command. Use of temporary (enabled by user action) and random
-# AP PIN is much more secure than configuring a static AP PIN here. As such,
-# use of the ap_pin parameter is not recommended if the AP device has means for
-# displaying a random PIN.
-#ap_pin=12345670
-
-# Skip building of automatic WPS credential
-# This can be used to allow the automatically generated Credential attribute to
-# be replaced with pre-configured Credential(s).
-#skip_cred_build=1
-
-# Additional Credential attribute(s)
-# This option can be used to add pre-configured Credential attributes into M8
-# message when acting as a Registrar. If skip_cred_build=1, this data will also
-# be able to override the Credential attribute that would have otherwise been
-# automatically generated based on network configuration. This configuration
-# option points to an external file that much contain the WPS Credential
-# attribute(s) as binary data.
-#extra_cred=hostapd.cred
-
-# Credential processing
-# 0 = process received credentials internally (default)
-# 1 = do not process received credentials; just pass them over ctrl_iface to
-# external program(s)
-# 2 = process received credentials internally and pass them over ctrl_iface
-# to external program(s)
-# Note: With wps_cred_processing=1, skip_cred_build should be set to 1 and
-# extra_cred be used to provide the Credential data for Enrollees.
-#
-# wps_cred_processing=1 will disabled automatic updates of hostapd.conf file
-# both for Credential processing and for marking AP Setup Locked based on
-# validation failures of AP PIN. An external program is responsible on updating
-# the configuration appropriately in this case.
-#wps_cred_processing=0
-
-# AP Settings Attributes for M7
-# By default, hostapd generates the AP Settings Attributes for M7 based on the
-# current configuration. It is possible to override this by providing a file
-# with pre-configured attributes. This is similar to extra_cred file format,
-# but the AP Settings attributes are not encapsulated in a Credential
-# attribute.
-#ap_settings=hostapd.ap_settings
-
-# WPS UPnP interface
-# If set, support for external Registrars is enabled.
-#upnp_iface=br0
-
-# Friendly Name (required for UPnP)
-# Short description for end use. Should be less than 64 characters.
-#friendly_name=WPS Access Point
-
-# Manufacturer URL (optional for UPnP)
-#manufacturer_url=http://www.example.com/
-
-# Model Description (recommended for UPnP)
-# Long description for end user. Should be less than 128 characters.
-#model_description=Wireless Access Point
-
-# Model URL (optional for UPnP)
-#model_url=http://www.example.com/model/
-
-# Universal Product Code (optional for UPnP)
-# 12-digit, all-numeric code that identifies the consumer package.
-#upc=123456789012
-
-# WPS RF Bands (a = 5G, b = 2.4G, g = 2.4G, ag = dual band, ad = 60 GHz)
-# This value should be set according to RF band(s) supported by the AP if
-# hw_mode is not set. For dual band dual concurrent devices, this needs to be
-# set to ag to allow both RF bands to be advertized.
-#wps_rf_bands=ag
-
-# NFC password token for WPS
-# These parameters can be used to configure a fixed NFC password token for the
-# AP. This can be generated, e.g., with nfc_pw_token from wpa_supplicant. When
-# these parameters are used, the AP is assumed to be deployed with a NFC tag
-# that includes the matching NFC password token (e.g., written based on the
-# NDEF record from nfc_pw_token).
-#
-#wps_nfc_dev_pw_id: Device Password ID (16..65535)
-#wps_nfc_dh_pubkey: Hexdump of DH Public Key
-#wps_nfc_dh_privkey: Hexdump of DH Private Key
-#wps_nfc_dev_pw: Hexdump of Device Password
-
-##### Wi-Fi Direct (P2P) ######################################################
-
-# Enable P2P Device management
-#manage_p2p=1
-
-# Allow cross connection
-#allow_cross_connection=1
-
-#### TDLS (IEEE 802.11z-2010) #################################################
-
-# Prohibit use of TDLS in this BSS
-#tdls_prohibit=1
-
-# Prohibit use of TDLS Channel Switching in this BSS
-#tdls_prohibit_chan_switch=1
-
-##### IEEE 802.11v-2011 #######################################################
-
-# Time advertisement
-# 0 = disabled (default)
-# 2 = UTC time at which the TSF timer is 0
-#time_advertisement=2
-
-# Local time zone as specified in 8.3 of IEEE Std 1003.1-2004:
-# stdoffset[dst[offset][,start[/time],end[/time]]]
-#time_zone=EST5
-
-# WNM-Sleep Mode (extended sleep mode for stations)
-# 0 = disabled (default)
-# 1 = enabled (allow stations to use WNM-Sleep Mode)
-#wnm_sleep_mode=1
-
-# BSS Transition Management
-# 0 = disabled (default)
-# 1 = enabled
-#bss_transition=1
-
-# Proxy ARP
-# 0 = disabled (default)
-# 1 = enabled
-#proxy_arp=1
-
-# IPv6 Neighbor Advertisement multicast-to-unicast conversion
-# This can be used with Proxy ARP to allow multicast NAs to be forwarded to
-# associated STAs using link layer unicast delivery.
-# 0 = disabled (default)
-# 1 = enabled
-#na_mcast_to_ucast=0
-
-##### IEEE 802.11u-2011 #######################################################
-
-# Enable Interworking service
-#interworking=1
-
-# Access Network Type
-# 0 = Private network
-# 1 = Private network with guest access
-# 2 = Chargeable public network
-# 3 = Free public network
-# 4 = Personal device network
-# 5 = Emergency services only network
-# 14 = Test or experimental
-# 15 = Wildcard
-#access_network_type=0
-
-# Whether the network provides connectivity to the Internet
-# 0 = Unspecified
-# 1 = Network provides connectivity to the Internet
-#internet=1
-
-# Additional Step Required for Access
-# Note: This is only used with open network, i.e., ASRA shall ne set to 0 if
-# RSN is used.
-#asra=0
-
-# Emergency services reachable
-#esr=0
-
-# Unauthenticated emergency service accessible
-#uesa=0
-
-# Venue Info (optional)
-# The available values are defined in IEEE Std 802.11u-2011, 7.3.1.34.
-# Example values (group,type):
-# 0,0 = Unspecified
-# 1,7 = Convention Center
-# 1,13 = Coffee Shop
-# 2,0 = Unspecified Business
-# 7,1 Private Residence
-#venue_group=7
-#venue_type=1
-
-# Homogeneous ESS identifier (optional; dot11HESSID)
-# If set, this shall be identifical to one of the BSSIDs in the homogeneous
-# ESS and this shall be set to the same value across all BSSs in homogeneous
-# ESS.
-#hessid=02:03:04:05:06:07
-
-# Roaming Consortium List
-# Arbitrary number of Roaming Consortium OIs can be configured with each line
-# adding a new OI to the list. The first three entries are available through
-# Beacon and Probe Response frames. Any additional entry will be available only
-# through ANQP queries. Each OI is between 3 and 15 octets and is configured as
-# a hexstring.
-#roaming_consortium=021122
-#roaming_consortium=2233445566
-
-# Venue Name information
-# This parameter can be used to configure one or more Venue Name Duples for
-# Venue Name ANQP information. Each entry has a two or three character language
-# code (ISO-639) separated by colon from the venue name string.
-# Note that venue_group and venue_type have to be set for Venue Name
-# information to be complete.
-#venue_name=eng:Example venue
-#venue_name=fin:Esimerkkipaikka
-# Alternative format for language:value strings:
-# (double quoted string, printf-escaped string)
-#venue_name=P"eng:Example\nvenue"
-
-# Network Authentication Type
-# This parameter indicates what type of network authentication is used in the
-# network.
-# format: <network auth type indicator (1-octet hex str)> [redirect URL]
-# Network Authentication Type Indicator values:
-# 00 = Acceptance of terms and conditions
-# 01 = On-line enrollment supported
-# 02 = http/https redirection
-# 03 = DNS redirection
-#network_auth_type=00
-#network_auth_type=02http://www.example.com/redirect/me/here/
-
-# IP Address Type Availability
-# format: <1-octet encoded value as hex str>
-# (ipv4_type & 0x3f) << 2 | (ipv6_type & 0x3)
-# ipv4_type:
-# 0 = Address type not available
-# 1 = Public IPv4 address available
-# 2 = Port-restricted IPv4 address available
-# 3 = Single NATed private IPv4 address available
-# 4 = Double NATed private IPv4 address available
-# 5 = Port-restricted IPv4 address and single NATed IPv4 address available
-# 6 = Port-restricted IPv4 address and double NATed IPv4 address available
-# 7 = Availability of the address type is not known
-# ipv6_type:
-# 0 = Address type not available
-# 1 = Address type available
-# 2 = Availability of the address type not known
-#ipaddr_type_availability=14
-
-# Domain Name
-# format: <variable-octet str>[,<variable-octet str>]
-#domain_name=example.com,another.example.com,yet-another.example.com
-
-# 3GPP Cellular Network information
-# format: <MCC1,MNC1>[;<MCC2,MNC2>][;...]
-#anqp_3gpp_cell_net=244,91;310,026;234,56
-
-# NAI Realm information
-# One or more realm can be advertised. Each nai_realm line adds a new realm to
-# the set. These parameters provide information for stations using Interworking
-# network selection to allow automatic connection to a network based on
-# credentials.
-# format: <encoding>,<NAI Realm(s)>[,<EAP Method 1>][,<EAP Method 2>][,...]
-# encoding:
-# 0 = Realm formatted in accordance with IETF RFC 4282
-# 1 = UTF-8 formatted character string that is not formatted in
-# accordance with IETF RFC 4282
-# NAI Realm(s): Semi-colon delimited NAI Realm(s)
-# EAP Method: <EAP Method>[:<[AuthParam1:Val1]>][<[AuthParam2:Val2]>][...]
-# EAP Method types, see:
-# http://www.iana.org/assignments/eap-numbers/eap-numbers.xhtml#eap-numbers-4
-# AuthParam (Table 8-188 in IEEE Std 802.11-2012):
-# ID 2 = Non-EAP Inner Authentication Type
-# 1 = PAP, 2 = CHAP, 3 = MSCHAP, 4 = MSCHAPV2
-# ID 3 = Inner authentication EAP Method Type
-# ID 5 = Credential Type
-# 1 = SIM, 2 = USIM, 3 = NFC Secure Element, 4 = Hardware Token,
-# 5 = Softoken, 6 = Certificate, 7 = username/password, 9 = Anonymous,
-# 10 = Vendor Specific
-#nai_realm=0,example.com;example.net
-# EAP methods EAP-TLS with certificate and EAP-TTLS/MSCHAPv2 with
-# username/password
-#nai_realm=0,example.org,13[5:6],21[2:4][5:7]
-
-# Arbitrary ANQP-element configuration
-# Additional ANQP-elements with arbitrary values can be defined by specifying
-# their contents in raw format as a hexdump of the payload. Note that these
-# values will override ANQP-element contents that may have been specified in the
-# more higher layer configuration parameters listed above.
-# format: anqp_elem=<InfoID>:<hexdump of payload>
-# For example, AP Geospatial Location ANQP-element with unknown location:
-#anqp_elem=265:0000
-# For example, AP Civic Location ANQP-element with unknown location:
-#anqp_elem=266:000000
-
-# GAS Address 3 behavior
-# 0 = P2P specification (Address3 = AP BSSID) workaround enabled by default
-# based on GAS request Address3
-# 1 = IEEE 802.11 standard compliant regardless of GAS request Address3
-# 2 = Force non-compliant behavior (Address3 = AP BSSID for all cases)
-#gas_address3=0
-
-# QoS Map Set configuration
-#
-# Comma delimited QoS Map Set in decimal values
-# (see IEEE Std 802.11-2012, 8.4.2.97)
-#
-# format:
-# [<DSCP Exceptions[DSCP,UP]>,]<UP 0 range[low,high]>,...<UP 7 range[low,high]>
-#
-# There can be up to 21 optional DSCP Exceptions which are pairs of DSCP Value
-# (0..63 or 255) and User Priority (0..7). This is followed by eight DSCP Range
-# descriptions with DSCP Low Value and DSCP High Value pairs (0..63 or 255) for
-# each UP starting from 0. If both low and high value are set to 255, the
-# corresponding UP is not used.
-#
-# default: not set
-#qos_map_set=53,2,22,6,8,15,0,7,255,255,16,31,32,39,255,255,40,47,255,255
-
-##### Hotspot 2.0 #############################################################
-
-# Enable Hotspot 2.0 support
-#hs20=1
-
-# Disable Downstream Group-Addressed Forwarding (DGAF)
-# This can be used to configure a network where no group-addressed frames are
-# allowed. The AP will not forward any group-address frames to the stations and
-# random GTKs are issued for each station to prevent associated stations from
-# forging such frames to other stations in the BSS.
-#disable_dgaf=1
-
-# OSU Server-Only Authenticated L2 Encryption Network
-#osen=1
-
-# ANQP Domain ID (0..65535)
-# An identifier for a set of APs in an ESS that share the same common ANQP
-# information. 0 = Some of the ANQP information is unique to this AP (default).
-#anqp_domain_id=1234
-
-# Deauthentication request timeout
-# If the RADIUS server indicates that the station is not allowed to connect to
-# the BSS/ESS, the AP can allow the station some time to download a
-# notification page (URL included in the message). This parameter sets that
-# timeout in seconds.
-#hs20_deauth_req_timeout=60
-
-# Operator Friendly Name
-# This parameter can be used to configure one or more Operator Friendly Name
-# Duples. Each entry has a two or three character language code (ISO-639)
-# separated by colon from the operator friendly name string.
-#hs20_oper_friendly_name=eng:Example operator
-#hs20_oper_friendly_name=fin:Esimerkkioperaattori
-
-# Connection Capability
-# This can be used to advertise what type of IP traffic can be sent through the
-# hotspot (e.g., due to firewall allowing/blocking protocols/ports).
-# format: <IP Protocol>:<Port Number>:<Status>
-# IP Protocol: 1 = ICMP, 6 = TCP, 17 = UDP
-# Port Number: 0..65535
-# Status: 0 = Closed, 1 = Open, 2 = Unknown
-# Each hs20_conn_capab line is added to the list of advertised tuples.
-#hs20_conn_capab=1:0:2
-#hs20_conn_capab=6:22:1
-#hs20_conn_capab=17:5060:0
-
-# WAN Metrics
-# format: <WAN Info>:<DL Speed>:<UL Speed>:<DL Load>:<UL Load>:<LMD>
-# WAN Info: B0-B1: Link Status, B2: Symmetric Link, B3: At Capabity
-# (encoded as two hex digits)
-# Link Status: 1 = Link up, 2 = Link down, 3 = Link in test state
-# Downlink Speed: Estimate of WAN backhaul link current downlink speed in kbps;
-# 1..4294967295; 0 = unknown
-# Uplink Speed: Estimate of WAN backhaul link current uplink speed in kbps
-# 1..4294967295; 0 = unknown
-# Downlink Load: Current load of downlink WAN connection (scaled to 255 = 100%)
-# Uplink Load: Current load of uplink WAN connection (scaled to 255 = 100%)
-# Load Measurement Duration: Duration for measuring downlink/uplink load in
-# tenths of a second (1..65535); 0 if load cannot be determined
-#hs20_wan_metrics=01:8000:1000:80:240:3000
-
-# Operating Class Indication
-# List of operating classes the BSSes in this ESS use. The Global operating
-# classes in Table E-4 of IEEE Std 802.11-2012 Annex E define the values that
-# can be used in this.
-# format: hexdump of operating class octets
-# for example, operating classes 81 (2.4 GHz channels 1-13) and 115 (5 GHz
-# channels 36-48):
-#hs20_operating_class=5173
-
-# OSU icons
-# <Icon Width>:<Icon Height>:<Language code>:<Icon Type>:<Name>:<file path>
-#hs20_icon=32:32:eng:image/png:icon32:/tmp/icon32.png
-#hs20_icon=64:64:eng:image/png:icon64:/tmp/icon64.png
-
-# OSU SSID (see ssid2 for format description)
-# This is the SSID used for all OSU connections to all the listed OSU Providers.
-#osu_ssid="example"
-
-# OSU Providers
-# One or more sets of following parameter. Each OSU provider is started by the
-# mandatory osu_server_uri item. The other parameters add information for the
-# last added OSU provider.
-#
-#osu_server_uri=https://example.com/osu/
-#osu_friendly_name=eng:Example operator
-#osu_friendly_name=fin:Esimerkkipalveluntarjoaja
-#osu_nai=anonymous@example.com
-#osu_method_list=1 0
-#osu_icon=icon32
-#osu_icon=icon64
-#osu_service_desc=eng:Example services
-#osu_service_desc=fin:Esimerkkipalveluja
-#
-#osu_server_uri=...
-
-##### Fast Session Transfer (FST) support #####################################
-#
-# The options in this section are only available when the build configuration
-# option CONFIG_FST is set while compiling hostapd. They allow this interface
-# to be a part of FST setup.
-#
-# FST is the transfer of a session from a channel to another channel, in the
-# same or different frequency bands.
-#
-# For detals, see IEEE Std 802.11ad-2012.
-
-# Identifier of an FST Group the interface belongs to.
-#fst_group_id=bond0
-
-# Interface priority within the FST Group.
-# Announcing a higher priority for an interface means declaring it more
-# preferable for FST switch.
-# fst_priority is in 1..255 range with 1 being the lowest priority.
-#fst_priority=100
-
-# Default LLT value for this interface in milliseconds. The value used in case
-# no value provided during session setup. Default is 50 ms.
-# fst_llt is in 1..4294967 range (due to spec limitation, see 10.32.2.2
-# Transitioning between states).
-#fst_llt=100
-
-##### Radio measurements / location ###########################################
-
-# The content of a LCI measurement subelement
-#lci=<Hexdump of binary data of the LCI report>
-
-# The content of a location civic measurement subelement
-#civic=<Hexdump of binary data of the location civic report>
-
-# Enable neighbor report via radio measurements
-#rrm_neighbor_report=1
-
-# Publish fine timing measurement (FTM) responder functionality
-# This parameter only controls publishing via Extended Capabilities element.
-# Actual functionality is managed outside hostapd.
-#ftm_responder=0
-
-# Publish fine timing measurement (FTM) initiator functionality
-# This parameter only controls publishing via Extended Capabilities element.
-# Actual functionality is managed outside hostapd.
-#ftm_initiator=0
-
-##### TESTING OPTIONS #########################################################
-#
-# The options in this section are only available when the build configuration
-# option CONFIG_TESTING_OPTIONS is set while compiling hostapd. They allow
-# testing some scenarios that are otherwise difficult to reproduce.
-#
-# Ignore probe requests sent to hostapd with the given probability, must be a
-# floating point number in the range [0, 1).
-#ignore_probe_probability=0.0
-#
-# Ignore authentication frames with the given probability
-#ignore_auth_probability=0.0
-#
-# Ignore association requests with the given probability
-#ignore_assoc_probability=0.0
-#
-# Ignore reassociation requests with the given probability
-#ignore_reassoc_probability=0.0
-#
-# Corrupt Key MIC in GTK rekey EAPOL-Key frames with the given probability
-#corrupt_gtk_rekey_mic_probability=0.0
-#
-# Include only ECSA IE without CSA IE where possible
-# (channel switch operating class is needed)
-#ecsa_ie_only=0
-
-##### Multiple BSSID support ##################################################
-#
-# Above configuration is using the default interface (wlan#, or multi-SSID VLAN
-# interfaces). Other BSSIDs can be added by using separator 'bss' with
-# default interface name to be allocated for the data packets of the new BSS.
-#
-# hostapd will generate BSSID mask based on the BSSIDs that are
-# configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is
-# not the case, the MAC address of the radio must be changed before starting
-# hostapd (ifconfig wlan0 hw ether <MAC addr>). If a BSSID is configured for
-# every secondary BSS, this limitation is not applied at hostapd and other
-# masks may be used if the driver supports them (e.g., swap the locally
-# administered bit)
-#
-# BSSIDs are assigned in order to each BSS, unless an explicit BSSID is
-# specified using the 'bssid' parameter.
-# If an explicit BSSID is specified, it must be chosen such that it:
-# - results in a valid MASK that covers it and the dev_addr
-# - is not the same as the MAC address of the radio
-# - is not the same as any other explicitly specified BSSID
-#
-# Alternatively, the 'use_driver_iface_addr' parameter can be used to request
-# hostapd to use the driver auto-generated interface address (e.g., to use the
-# exact MAC addresses allocated to the device).
-#
-# Not all drivers support multiple BSSes. The exact mechanism for determining
-# the driver capabilities is driver specific. With the current (i.e., a recent
-# kernel) drivers using nl80211, this information can be checked with "iw list"
-# (search for "valid interface combinations").
-#
-# Please note that hostapd uses some of the values configured for the first BSS
-# as the defaults for the following BSSes. However, it is recommended that all
-# BSSes include explicit configuration of all relevant configuration items.
-#
-#bss=wlan0_0
-#ssid=test2
-# most of the above items can be used here (apart from radio interface specific
-# items, like channel)
-
-#bss=wlan0_1
-#bssid=00:13:10:95:fe:0b
-# ...
diff --git a/recipes-core/multitech/config/config-mths/ifplugd/ifplugd.action b/recipes-core/multitech/config/config-mths/ifplugd/ifplugd.action
deleted file mode 100755
index e7184c7..0000000
--- a/recipes-core/multitech/config/config-mths/ifplugd/ifplugd.action
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# $Id: ifplugd.action 99 2004-02-08 20:17:59Z lennart $
-
-# This file is part of ifplugd.
-#
-# ifplugd is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2 of the License, or (at your
-# option) any later version.
-#
-# ifplugd is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with ifplugd; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-
-set -e
-
-if [ -z "$1" ] || [ -z "$2" ] ; then
- echo "Wrong arguments" > /dev/stderr
- exit 1
-fi
-
-[ "$2" = "up" ] && exec /sbin/ifup $1
-[ "$2" = "down" ] && exec /sbin/ifdown $1
-
-exit 0
diff --git a/recipes-core/multitech/config/config-mths/ifplugd/usb0.conf b/recipes-core/multitech/config/config-mths/ifplugd/usb0.conf
deleted file mode 100644
index 2fa70b3..0000000
--- a/recipes-core/multitech/config/config-mths/ifplugd/usb0.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-INTERFACE="usb0"
-ARGS="-M -fI -i ${INTERFACE} -u 0 -d 10 -r /etc/ifplugd/ifplugd.action"
diff --git a/recipes-core/multitech/config/config-mths/ifplugd/usb1.conf b/recipes-core/multitech/config/config-mths/ifplugd/usb1.conf
deleted file mode 100644
index df70933..0000000
--- a/recipes-core/multitech/config/config-mths/ifplugd/usb1.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-INTERFACE="usb1"
-ARGS="-M -fI -i ${INTERFACE} -u 0 -d 10 -r /etc/ifplugd/ifplugd.action"
diff --git a/recipes-core/multitech/config/config-mths/modprobe.d/cfg80211.conf b/recipes-core/multitech/config/config-mths/modprobe.d/cfg80211.conf
deleted file mode 100644
index 4b6d264..0000000
--- a/recipes-core/multitech/config/config-mths/modprobe.d/cfg80211.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# IEEE 802.11 Regulatory Domain for cfg80211 driver
-# AU -- Australia
-# AT -- Austria
-# BE -- Belgium
-# US -- USA
-# 00 -- World
-options cfg80211 ieee80211_regdom=00
diff --git a/recipes-core/multitech/config/config-mths/modprobe.d/mts-io.conf b/recipes-core/multitech/config/config-mths/modprobe.d/mts-io.conf
deleted file mode 100644
index 7421ac4..0000000
--- a/recipes-core/multitech/config/config-mths/modprobe.d/mts-io.conf
+++ /dev/null
@@ -1 +0,0 @@
-blacklist mts-io
diff --git a/recipes-core/multitech/config/config-mths/network/interfaces.mths b/recipes-core/multitech/config/config-mths/network/interfaces.mths
deleted file mode 100644
index 2463e0a..0000000
--- a/recipes-core/multitech/config/config-mths/network/interfaces.mths
+++ /dev/null
@@ -1,12 +0,0 @@
-auto wifi1
-iface wifi1 inet static
-address 10.0.0.1
-netmask 255.0.0.0
-pre-up bash -c '([[ -d /sys/class/net/wifi1 ]] || /opt/rs9113/onebox_util rpine0 create_vap wifi1 ap)'
-
-# Gadget USB
-auto usb0
-iface usb0 inet static
-address 192.168.3.1
-netmask 255.255.255.0
-
diff --git a/recipes-core/multitech/config/config.init b/recipes-core/multitech/config/config.init
deleted file mode 100644
index d821f4c..0000000
--- a/recipes-core/multitech/config/config.init
+++ /dev/null
@@ -1,185 +0,0 @@
-#!/bin/sh
-
-CONFIG_MTDC=/dev/mtd6
-CONFIG_MTDB=/dev/mtdblock6
-CONFIG_DIR=/var/config
-RUN_CONF_DIR=/run/config
-
-OEM_MTDC=/dev/mtd7
-OEM_MTDB=/dev/mtdblock7
-OEM_DIR=/var/oem
-
-FILES="network/interfaces \
-ppp/options \
-ppp/pap-secrets \
-ppp/chap-secrets \
-ppp/peers \
-"
-
-# Files used by bluetooth or wifi.
-BTWIFIFILES="\
-bluetooth/ \
-default/bluetooth \
-default/bt-pan \
-default/dnsmasq \
-default/hostapd \
-default/ifplugd \
-default/rs9113 \
-dnsmasq.d/ \
-hosts \
-hostname \
-hostapd.conf \
-modprobe.d/ \
-wpa_supplicant.conf \
-"
-
-# File hidden so it is not removed on hardware reset
-WIFITAR=".defaults2.tar.gz"
-
-mount_config() {
- echo "Mounting ${CONFIG_DIR}"
- mkdir -p ${CONFIG_DIR}
- mount ${CONFIG_DIR}
-
- # Prepare flash for JFFS2 if mount fails
- if [ $? -ne 0 ]; then
- echo "Creating ${CONFIG_DIR}"
- flash_erase -j ${CONFIG_MTDC} 0 0
- mount ${CONFIG_DIR}
- fi
-}
-
-mount_oem() {
- echo "Mounting ${OEM_DIR}"
- mkdir -p ${OEM_DIR}
- mount ${OEM_DIR}
-
- # Prepare flash for JFFS2 if mount fails
- if [ $? -ne 0 ]; then
- echo "Creating ${OEM_DIR}"
- flash_erase -j ${OEM_MTDC} 0 0
- mount ${OEM_DIR}
- fi
-}
-
-case $1 in
- start)
- # mount config if not already mounted
- if ! grep -q "^${CONFIG_MTDB} " /proc/mounts; then
- mount_config
- else
- echo "$CONFIG_DIR already mounted"
- fi
-
- # mount oem if specified in /etc/fstab and it isn't already mounted
- if grep -qE "^${OEM_MTDB}\s+${OEM_DIR}\s+" /etc/fstab; then
- if ! grep -q "^${OEM_MTDB} " /proc/mounts; then
- mount_oem
- else
- echo "$OEM_DIR already mounted"
- fi
- fi
-
- # Default all config files if requested
- cd ${CONFIG_DIR}
- if [ -f force_defaults ]; then
- echo "Extracting default config files"
- tar -xvf /etc/defaults.tar.gz
- if [[ -f ${WIFITAR} ]] ; then
- echo "Extract original wifi related files"
- tar -xvf ${WIFITAR}
- fi
- if [ -f /etc/default_pass ]; then
- echo "Defaulting root password"
- PASSHASH=`cat /etc/default_pass`
- PASSFILE=/etc/shadow
- if [ ! -e /etc/shadow ]; then
- PASSFILE=/etc/passwd
- fi
- sed -i "s%^root:[^:]*:%root:${PASSHASH}:%" $PASSFILE
- fi
-
- rm -f force_defaults
- fi
-
- # Extract any missing files
- TARFILES=`tar -tf /etc/defaults.tar.gz`
- for file in $TARFILES; do
- if [ ! -e $file ]; then
- tar -xvf /etc/defaults.tar.gz $file
- fi
- done
-
- # Create links in /etc
- for file in $FILES; do
- if [ ! -L /etc/$file ]; then
- echo "Creating link to ${CONFIG_DIR}/$file"
- rm -rf /etc/$file
- ln -sf ${CONFIG_DIR}/$file /etc/$file
- fi
- done
-
- # Move bluetooth wifi stuff to config directory.
- # We don't have factory defaults.
- ((dobackup=1))
- for file in ${BTWIFIFILES}; do
- if [[ -L /etc/$file ]]; then
- ((dobackup=0))
- break
- fi
- done
- if ((dobackup==1)) ; then
- tar -C /etc -czf ${CONFIG_DIR}/${WIFITAR} ${BTWIFIFILES}
- fi
-
- for file in ${BTWIFIFILES}; do
- # If last character is /, make the CONFIG directory.
- if [[ ${file: -1} == / ]] ; then
- file=${file%?}
- echo directory $file operations
- if ! [[ -d ${CONFIG_DIR}/$file ]] ; then
- rm -f ${CONFIG_DIR}/$file 2>/dev/null || true
- mkdir ${CONFIG_DIR}/$file
- fi
- fi
- if [[ ! -L /etc/$file ]]; then
- echo "Creating link to ${CONFIG_DIR}/$file"
- dir=$(dirname $file)
- if [[ $dir != '.' ]] ; then
- mkdir -p "$dir"
- fi
- rm -rf old
- mkdir old
- if ! [[ -f $file ]] ; then
- # Need to preserve old files which is difficult with busybox!
- if [[ -d $file ]] || [[ -f $file ]] ; then
- cp --parents -a $file old || true
- fi
- (
- cd /etc
- if [[ -d $file ]] || [[ -f $file ]] ; then
- cp --parents -a $file ${CONFIG_DIR} || true
- fi
- )
- (
- cd old
- if [[ -d $file ]] || [[ -f $file ]] ; then
- cp --parents -a $file .. || true
- fi
- )
- rm -rf old
- fi
- rm -rf /etc/$file
- ln -sf ${CONFIG_DIR}/$file /etc/$file
- fi
- done
-
-
- ;;
-
- *)
- echo "Usage: $0 {start}"
- exit 2
- ;;
-
-esac
diff --git a/recipes-core/multitech/config/network/interfaces b/recipes-core/multitech/config/network/interfaces
deleted file mode 100644
index 67c934b..0000000
--- a/recipes-core/multitech/config/network/interfaces
+++ /dev/null
@@ -1,81 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-# Wired interface
-auto eth0
-iface eth0 inet static
-address 192.168.2.1
-netmask 255.255.255.0
-# Forwarding packets on eth0
-# gateway 192.168.2.2
-# pre-up bash -c 'echo 1 >/proc/sys/net/ipv4/ip_forward'
-# post-up iptables -F
-# post-up iptables -t nat -F
-# post-up iptables -t mangle -F
-# post-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
-
-# Bridge interface with eth0 (comment out eth0 lines above to use with bridge)
-# iface eth0 inet manual
-#
-# auto br0
-# iface br0 inet static
-# bridge_ports eth0
-# address 192.168.2.1
-# netmask 255.255.255.0
-
-# Wifi client
-#
-# For MTR WiFi only:
-# NOTE: udev rules will bring up wlan0 automatically if a wifi device is detected
-# and the wlan0 interface is defined, therefore an "auto wlan0" line is not needed.
-# If "auto wlan0" is also specified, startup conflicts may result.
-#iface wlan0 inet dhcp
-#wpa-conf /var/config/wpa_supplicant.conf
-#wpa-driver nl80211
-#
-# For Conduit WiFi:
-# You must configure wpa_supplicant.conf as appropriate for your WiFi access point
-# and its security. The "pre-up" section is needed to create the VAP device,
-# wifi0. udhcpc_opts should be used to prevent DHCP from giving up too soon. The
-# default timeout is less than 10 seconds, and in some circumstances is not enough
-# time for wifi to connect. The udhcpc options specified below are in addition to
-# those preconfigured in the ifup program. The option "-t" specifies the number
-# of DHCP retries. By default each trial is 3 seconds long. As specified here,
-# udhcpc will try for thirty seconds. The option "-b" specifies that if the
-# attempts are made and all fail, the boot will proceed, and the udhcpc program
-# will continue to periodically attempt to reach the DHCP server. Without the -b
-# option, udhcpc will fail and abort if the server is not reached within the
-# specified timeout. The boot will continue after the timeout, but the network
-# will never be connected without some other intervention.
-#
-# Specifying "-t 0" results in udhcpc not running in the background, regardless
-# of the presence of "-b". This causes udhcpc to enter a loop trying to reach
-# the DHCP server, and only relinquising control to the boot (or ifup) if the
-# server responds.
-#
-# The udhcpc_opts parameter will result in the following invocation
-# of udhcpc from ifup:
-# udhcpc -R -n -p /var/run/udhcpc.wifi0.pid -i wifi0 -t 10 -b
-#
-# See https://busybox.net/downloads/BusyBox.html for more information.
-#
-# auto wifi0
-# iface wifi0 inet dhcp
-# wpa-conf /etc/wpa_supplicant.conf
-# wpa-driver nl80211
-# pre-up bash -c '([[ -d /sys/class/net/wifi0 ]] || /opt/rs9113/onebox_util rpine0 create_vap wifi0 sta sw_bmiss)'
-# udhcpc_opts -t 10 -b
-
-# The pan0 interface purpose is to support bluetooth pand
-# If access to another network is required, the ip forwarding
-# for eth0 could be enabled.
-# auto pan0
-# iface pan0 inet static
-# address 10.1.0.1
-# netmask 255.255.255.0
-# pre-up brctl addbr pan0
-# pre-up brctl setfd pan0 0
-# pre-up brctl stp pan0 off
diff --git a/recipes-core/multitech/config/ppp/chap-secrets b/recipes-core/multitech/config/ppp/chap-secrets
deleted file mode 100644
index 60efe8f..0000000
--- a/recipes-core/multitech/config/ppp/chap-secrets
+++ /dev/null
@@ -1,3 +0,0 @@
-# Secrets for authentication using CHAP
-# client server secret IP addresses
-* * "" *
diff --git a/recipes-core/multitech/config/ppp/options b/recipes-core/multitech/config/ppp/options
deleted file mode 100644
index 3b69f47..0000000
--- a/recipes-core/multitech/config/ppp/options
+++ /dev/null
@@ -1,27 +0,0 @@
-# Select tty device
-#
-# First modem AT command port (symlink to actual device)
-/dev/modem_at0
-
-# Uncomment below to run in foreground
-#nodetach
-
-# Uncomment below to emit debug
-#debug
-
-# Uncomment to keep pppd up if the connection terminates
-#persist
-# Uncomment for unlimited connection attempts
-#maxfail 0
-
-# disable logging to /etc/ppp/connect-errors
-# and only log to syslog
-logfile /dev/null
-
-lock
-
-# Sprint modems in some cases require IPV6 to use IPV4.
-# It probably doesn't hurt to try to get IPV6, even
-# if the carrier doesn't support it.
-+ipv6
-ipv6cp-use-ipaddr
diff --git a/recipes-core/multitech/config/ppp/pap-secrets b/recipes-core/multitech/config/ppp/pap-secrets
deleted file mode 100644
index f782b4a..0000000
--- a/recipes-core/multitech/config/ppp/pap-secrets
+++ /dev/null
@@ -1,3 +0,0 @@
-# Secrets for authentication using PAP
-# client server secret IP addresses
-* * "" *
diff --git a/recipes-core/multitech/config/ppp/peers/README.fwswitch b/recipes-core/multitech/config/ppp/peers/README.fwswitch
deleted file mode 100644
index 47ef5ef..0000000
--- a/recipes-core/multitech/config/ppp/peers/README.fwswitch
+++ /dev/null
@@ -1,76 +0,0 @@
-LNA3/L4N1 firmware/SIM switching instructions
-
-To automatically set the APN, bring up the system
-with the desired SIM installed (AT&T or Verizon).
-
-Execute with a Verizon SIM installed
-(switch to Verizon Firmware and Chat):
-
-root@mtcap:~# /usr/sbin/mlinux-switch-apn
-Cellular radio is ready.
-Setting chat script to /etc/ppp/peers/lna3_chat_vz
-
-root@mtcap:~# ls -ld /etc/ppp/peers/lna3_chat
-lrwxrwxrwx 1 root root 27 Aug 31 16:30 /etc/ppp/peers/lna3_chat -> /etc/ppp/peers/lna3_chat_vz
-
-root@mtcap:~# radio-query --active-firmware
-1
-
-Firmware image 1 is Verizon, and lna3_chat should point at the Verizon chat scripts lna3_chat_vz.
-
-To switch to an AT&T SIM (the default):
-
-root@mtcap:~# mlinux-switch-apn
-Cellular radio is ready.
-Setting chat script to /etc/ppp/peers/lna3_chat_non_vz
-
-It is critical that you do not use an AT&T chat script with a Verizon SIM,
-because it will set the wrong APN, and it will be remembered as belonging
-to the SIM/device combination.
-
-
-The following are not recommended:
-To manually set the chat script:
-
-mlinux-switch-apn [0|1]
-
-To manually switch the firmware setting:
-mlinux-switch-cell-fw [0|1|-1] [timeout]
-
-This command sets the chat to this readme file. Then it will be needed to
-set the symlink for the chat script, which can be done by using mlinux-switch-apn
-with 0 for AT&T, and 1 for Verizon.
-
-
-
-
-
-
-Put the desired SIM into the device.
-
-The default APN is "phone" for the LNA3.
-
-Set the APN using (does nothing for Sprint or Verizon chat scripts):
-
-# mlinux-set-apn "YOURAPN"
-
-Do not put a "AT+CGDCONT" in the lna3_chat_vz script or
-l4n1_chat_vz script. It will cause trouble.
-
-To pick a firmware based on the
-
-To switch to the Verizon firmware and chat script:
-
- # mlinux-switch-cell-fw 1
-
-To switch to the non-Verizon firmware and chat script:
-
- # mlinux-switch-cell-fw 0
-
-Verizon provided APN setting over the air. If you set the APN on a Verizon SIM,
-and they push a new APN, you will need to change the APN on the device.
-
-It is best not to set the APN. To switch from a manually set APN or incorrect APN
-to letting Verizon set the APN, remove the SIM, and put it in another device.
-Then register with the Verizon network. With the APN setting removed, put the SIM
-back into this device.
diff --git a/recipes-core/multitech/config/ppp/peers/cdma b/recipes-core/multitech/config/ppp/peers/cdma
deleted file mode 100644
index 3fc231f..0000000
--- a/recipes-core/multitech/config/ppp/peers/cdma
+++ /dev/null
@@ -1,9 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-noauth
-crtscts
-novj
-connect '/usr/sbin/chat -v -t 90 -f /etc/ppp/peers/cdma_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/cdma_chat b/recipes-core/multitech/config/ppp/peers/cdma_chat
deleted file mode 100644
index 6ff750e..0000000
--- a/recipes-core/multitech/config/ppp/peers/cdma_chat
+++ /dev/null
@@ -1,18 +0,0 @@
-SAY "CDMA chat\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-SAY "Dialing...\n"
-OK 'ATD#777'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/gsm b/recipes-core/multitech/config/ppp/peers/gsm
deleted file mode 100644
index 4fc4361..0000000
--- a/recipes-core/multitech/config/ppp/peers/gsm
+++ /dev/null
@@ -1,11 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-ipcp-max-failure 10
-ipcp-restart 10
-noauth
-crtscts
-novj
-connect '/usr/libexec/ppp/chat_wrapper /usr/sbin/chat -v -t 90 -f /etc/ppp/peers/gsm_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/gsm_chat b/recipes-core/multitech/config/ppp/peers/gsm_chat
deleted file mode 100644
index d952a89..0000000
--- a/recipes-core/multitech/config/ppp/peers/gsm_chat
+++ /dev/null
@@ -1,47 +0,0 @@
-SAY "GSM chat\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# ----------------------------------
-# Set the APN for your provider here
-# Note that a comment starting with
-# #MT AT+CGDCONT=
-# will be interpretted by
-# /usr/libexec/ppp/chat_wrapper
-# as the intended context
-# setting. Make the context number
-# (after the =) match the
-# dialer number context.
-# If the context changes, ppp/chat_wrapper
-# handles disconnecting the modem
-# from the network during the update,
-# which is required
-# by some modem firmware.
-# The chat script will be executed
-# after the ppp/chat_wrapper script
-# re-registers the modem.
-# The context will only be set if the
-# modem settings do not match the
-# settings here.
-# Lines starting with # MT are ignored.
-# ----------------------------------
-# MT AT+CGDCONT=1,"IP","proxy"
-# MT AT+CGDCONT=1,"IP","ISP.CINGULAR"
-# MT AT+CGDCONT=1,"IP","internet2.voicestream.com"
-#MT AT+CGDCONT=1,"IP","internet"
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-#OK 'ATD*99#'
-OK 'ATD*99***1#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/l4e1 b/recipes-core/multitech/config/ppp/peers/l4e1
deleted file mode 100644
index 9638398..0000000
--- a/recipes-core/multitech/config/ppp/peers/l4e1
+++ /dev/null
@@ -1,11 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-ipcp-max-failure 10
-ipcp-restart 10
-noauth
-crtscts
-novj
-connect '/usr/libexec/ppp/chat_wrapper /usr/sbin/chat -v -t 90 -f /etc/ppp/peers/l4e1_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/l4e1_chat b/recipes-core/multitech/config/ppp/peers/l4e1_chat
deleted file mode 100644
index bb95881..0000000
--- a/recipes-core/multitech/config/ppp/peers/l4e1_chat
+++ /dev/null
@@ -1,43 +0,0 @@
-SAY "L4E1 chat\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# ----------------------------------
-# Set the APN for your provider here
-# Note that a comment starting with
-# #MT AT+CGDCONT=
-# will be interpretted by
-# /usr/libexec/ppp/chat_wrapper
-# as the intended context
-# setting. Make the context number
-# (after the =) match the
-# dialer number context.
-# If the context changes, ppp/chat_wrapper
-# handles disconnecting the modem
-# from the network during the update,
-# which is required
-# by some modem firmware.
-# The chat script will be executed
-# after the ppp/chat_wrapper script
-# re-registers the modem.
-# The context will only be set if the
-# modem settings do not match the
-# settings here.
-# Lines starting with # MT are ignored.
-# ----------------------------------
-#MT AT+CGDCONT=1,"IP","internet"
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-OK 'ATD*99***1#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/l4n1 b/recipes-core/multitech/config/ppp/peers/l4n1
deleted file mode 100644
index 5c011e0..0000000
--- a/recipes-core/multitech/config/ppp/peers/l4n1
+++ /dev/null
@@ -1,11 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-ipcp-max-failure 10
-ipcp-restart 10
-noauth
-crtscts
-novj
-connect '/usr/libexec/ppp/chat_wrapper /usr/sbin/chat -v -t 90 -f /etc/ppp/peers/l4n1_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/l4n1_chat b/recipes-core/multitech/config/ppp/peers/l4n1_chat
deleted file mode 120000
index 36db4e2..0000000
--- a/recipes-core/multitech/config/ppp/peers/l4n1_chat
+++ /dev/null
@@ -1 +0,0 @@
-l4n1_chat_non_vz \ No newline at end of file
diff --git a/recipes-core/multitech/config/ppp/peers/l4n1_chat_non_vz b/recipes-core/multitech/config/ppp/peers/l4n1_chat_non_vz
deleted file mode 100644
index 76f3aae..0000000
--- a/recipes-core/multitech/config/ppp/peers/l4n1_chat_non_vz
+++ /dev/null
@@ -1,67 +0,0 @@
-#----------------------------------------
-# Do NOT use this CHAT script with
-# Verizon wireless. It will bind
-# this SIM and device to the wrong
-# APN.
-#
-# mlinux-set-apn can be used to set
-# the APN.
-#
-# mlinux-switch-cell-fw can be used
-# to switch the firmware settings
-# and set the correct CHAT script.
-#
-# # mlinux-set-apn "APN"
-#
-# And to switch the firmware to Verizon:
-# # mlinux-switch-cell-fw 1
-#
-# And to switch to AT&T:
-# # mlinux-switch-cell-fw 0
-#----------------------------------------
-SAY "L4N1 chat not for Verizon\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# ----------------------------------
-# Set the APN for your provider here
-# Note that a comment starting with
-# #MT AT+CGDCONT=
-# will be interpretted by
-# /usr/libexec/ppp/chat_wrapper
-# as the intended context
-# setting. Make the context number
-# (after the =) match the
-# dialer number context.
-# If the context changes, ppp/chat_wrapper
-# handles disconnecting the modem
-# from the network during the update,
-# which is required
-# by some modem firmware.
-# The chat script will be executed
-# after the ppp/chat_wrapper script
-# re-registers the modem.
-# The context will only be set if the
-# modem settings do not match the
-# settings here.
-# Lines starting with # MT are ignored.
-# ----------------------------------
-# MT AT+CGDCONT=1,"IP","proxy"
-# MT AT+CGDCONT=1,"IP","ISP.CINGULAR"
-# MT AT+CGDCONT=1,"IP","internet2.voicestream.com"
-#MT AT+CGDCONT=1,"IP","phone"
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-OK 'ATD*99***1#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/l4n1_chat_vz b/recipes-core/multitech/config/ppp/peers/l4n1_chat_vz
deleted file mode 100644
index 1bc3652..0000000
--- a/recipes-core/multitech/config/ppp/peers/l4n1_chat_vz
+++ /dev/null
@@ -1,44 +0,0 @@
-#----------------------------
-# This chat script has no
-# APN because Verizon
-# requires the chat script
-# not set the APN.
-# This is because Verizon
-# pushes the APN from their
-# network. Image 1 on an
-# LNA3 product is used
-# with a Verizon SIM.
-#----------------------------
-SAY "L4N1 chat Verizon\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# -----------------------------------------
-# Do not enter the AT+CGDCONT, because it
-# will cause
-# a fault for a Verizon SIM and will push
-# the new APN to the network, which will
-# cause failures.
-# To switch the firmware to Verizon:
-# mlinux-switch-cell-fw 1
-# And to switch to AT&T (non-Verizon):
-# mlinux-switch-cell-fw 0
-# -----------------------------------------
-# Log APN (current context) for
-# diagnostic purposes
-#-----------------------------------
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-OK 'ATD*99***3#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/lap3 b/recipes-core/multitech/config/ppp/peers/lap3
deleted file mode 100644
index ddd75a5..0000000
--- a/recipes-core/multitech/config/ppp/peers/lap3
+++ /dev/null
@@ -1,11 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-ipcp-max-failure 10
-ipcp-restart 10
-noauth
-crtscts
-novj
-connect '/usr/libexec/ppp/chat_wrapper /usr/sbin/chat -v -t 90 -f /etc/ppp/peers/lap3_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/lap3_chat b/recipes-core/multitech/config/ppp/peers/lap3_chat
deleted file mode 100644
index 0f7adf6..0000000
--- a/recipes-core/multitech/config/ppp/peers/lap3_chat
+++ /dev/null
@@ -1,43 +0,0 @@
-SAY "LAP3 chat\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# ----------------------------------
-# Set the APN for your provider here
-# Note that a comment starting with
-# #MT AT+CGDCONT=
-# will be interpretted by
-# /usr/libexec/ppp/chat_wrapper
-# as the intended context
-# setting. Make the context number
-# (after the =) match the
-# dialer number context.
-# If the context changes, ppp/chat_wrapper
-# handles disconnecting the modem
-# from the network during the update,
-# which is required
-# by some modem firmware.
-# The chat script will be executed
-# after the ppp/chat_wrapper script
-# re-registers the modem.
-# The context will only be set if the
-# modem settings do not match the
-# settings here.
-# Lines starting with # MT are ignored.
-# ----------------------------------
-#MT AT+CGDCONT=1,"IP","internet"
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-OK 'ATD*99***1#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/leu1 b/recipes-core/multitech/config/ppp/peers/leu1
deleted file mode 100644
index 5a3baec..0000000
--- a/recipes-core/multitech/config/ppp/peers/leu1
+++ /dev/null
@@ -1,11 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-ipcp-max-failure 10
-ipcp-restart 10
-noauth
-crtscts
-novj
-connect '/usr/libexec/ppp/chat_wrapper /usr/sbin/chat -v -t 90 -f /etc/ppp/peers/leu1_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/leu1_chat b/recipes-core/multitech/config/ppp/peers/leu1_chat
deleted file mode 100644
index 6aef877..0000000
--- a/recipes-core/multitech/config/ppp/peers/leu1_chat
+++ /dev/null
@@ -1,43 +0,0 @@
-SAY "LEU1 chat\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# ----------------------------------
-# Set the APN for your provider here
-# Note that a comment starting with
-# #MT AT+CGDCONT=
-# will be interpretted by
-# /usr/libexec/ppp/chat_wrapper
-# as the intended context
-# setting. Make the context number
-# (after the =) match the
-# dialer number context.
-# If the context changes, ppp/chat_wrapper
-# handles disconnecting the modem
-# from the network during the update,
-# which is required
-# by some modem firmware.
-# The chat script will be executed
-# after the ppp/chat_wrapper script
-# re-registers the modem.
-# The context will only be set if the
-# modem settings do not match the
-# settings here.
-# Lines starting with # MT are ignored.
-# ----------------------------------
-#MT AT+CGDCONT=1,"IP","internet"
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-OK 'ATD*99***1#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/lna3 b/recipes-core/multitech/config/ppp/peers/lna3
deleted file mode 100644
index 4f6a628..0000000
--- a/recipes-core/multitech/config/ppp/peers/lna3
+++ /dev/null
@@ -1,11 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-ipcp-max-failure 10
-ipcp-restart 10
-noauth
-crtscts
-novj
-connect '/usr/libexec/ppp/chat_wrapper /usr/sbin/chat -v -t 90 -f /etc/ppp/peers/lna3_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/lna3_chat b/recipes-core/multitech/config/ppp/peers/lna3_chat
deleted file mode 120000
index e736424..0000000
--- a/recipes-core/multitech/config/ppp/peers/lna3_chat
+++ /dev/null
@@ -1 +0,0 @@
-lna3_chat_non_vz \ No newline at end of file
diff --git a/recipes-core/multitech/config/ppp/peers/lna3_chat_non_vz b/recipes-core/multitech/config/ppp/peers/lna3_chat_non_vz
deleted file mode 100644
index a3da519..0000000
--- a/recipes-core/multitech/config/ppp/peers/lna3_chat_non_vz
+++ /dev/null
@@ -1,68 +0,0 @@
-#----------------------------------------
-# Do NOT use this CHAT script with
-# Verizon wireless. It will bind
-# this SIM and device to the wrong
-# APN.
-#
-# mlinux-set-apn can be used to set
-# the APN.
-#
-# mlinux-switch-cell-fw can be used
-# to switch the firmware settings
-# and set the correct CHAT script.
-#
-# # mlinux-set-apn "APN"
-#
-# And to switch the firmware to Verizon:
-# # mlinux-switch-cell-fw 1
-#
-# And to switch to AT&T:
-# # mlinux-switch-cell-fw 0
-#----------------------------------------
-SAY "LNA3 chat not for Verizon\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# ----------------------------------
-# Set the APN for your provider here
-# Note that a comment starting with
-# #MT AT+CGDCONT=
-# will be interpretted by
-# /usr/libexec/ppp/chat_wrapper
-# as the intended context
-# setting. Make the context number
-# (after the =) match the
-# dialer number context.
-# If the context changes, ppp/chat_wrapper
-# handles disconnecting the modem
-# from the network during the update,
-# which is required
-# by some modem firmware.
-# The chat script will be executed
-# after the ppp/chat_wrapper script
-# re-registers the modem.
-# The context will only be set if the
-# modem settings do not match the
-# settings here.
-# Lines starting with # MT are ignored.
-# ----------------------------------
-# MT AT+CGDCONT=3,"IP","proxy"
-# MT AT+CGDCONT=3,"IP","ISP.CINGULAR"
-# MT AT+CGDCONT=3,"IP","internet2.voicestream.com"
-#MT AT+CGDCONT=3,"IP","phone"
-OK 'AT+CGDCONT?'
-OK 'AT+COPS=0'
-SAY "Dialing...\n"
-OK 'ATD*99***3#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/lna3_chat_vz b/recipes-core/multitech/config/ppp/peers/lna3_chat_vz
deleted file mode 100644
index 1d2178d..0000000
--- a/recipes-core/multitech/config/ppp/peers/lna3_chat_vz
+++ /dev/null
@@ -1,44 +0,0 @@
-#----------------------------
-# This chat script has no
-# APN because Verizon
-# requires the chat script
-# not set the APN.
-# This is because Verizon
-# pushes the APN from their
-# network. Image 1 on an
-# LNA3 product is used
-# with a Verizon SIM.
-#----------------------------
-SAY "LNA3 chat Verizon\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# -----------------------------------------
-# Do not enter the AT+CGDCONT, because it
-# will cause
-# a fault for a Verizon SIM and will push
-# the new APN to the network, which will
-# cause failures.
-# To switch the firmware to Verizon:
-# mlinux-switch-cell-fw 1
-# And to switch to AT&T (non-Verizon):
-# mlinux-switch-cell-fw 0
-# -----------------------------------------
-# Log APN (current context) for
-# diagnostic purposes
-#-----------------------------------
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-OK 'ATD*99***3#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/lsp3 b/recipes-core/multitech/config/ppp/peers/lsp3
deleted file mode 100644
index 50433ab..0000000
--- a/recipes-core/multitech/config/ppp/peers/lsp3
+++ /dev/null
@@ -1,11 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-ipcp-max-failure 10
-ipcp-restart 10
-noauth
-crtscts
-novj
-connect '/usr/libexec/ppp/chat_wrapper /usr/sbin/chat -v -t 90 -f /etc/ppp/peers/lsp3_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/lsp3_chat b/recipes-core/multitech/config/ppp/peers/lsp3_chat
deleted file mode 100644
index 3fcdfc2..0000000
--- a/recipes-core/multitech/config/ppp/peers/lsp3_chat
+++ /dev/null
@@ -1,19 +0,0 @@
-SAY "LSP3 chat\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-OK 'ATD*99***2#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config/ppp/peers/lvw2 b/recipes-core/multitech/config/ppp/peers/lvw2
deleted file mode 100644
index 773f1dd..0000000
--- a/recipes-core/multitech/config/ppp/peers/lvw2
+++ /dev/null
@@ -1,11 +0,0 @@
-linkname ppp0
-230400
-defaultroute
-replacedefaultroute
-usepeerdns
-ipcp-max-failure 10
-ipcp-restart 10
-noauth
-crtscts
-novj
-connect '/usr/sbin/chat -v -t 90 -f /etc/ppp/peers/lvw2_chat'
diff --git a/recipes-core/multitech/config/ppp/peers/lvw2_chat b/recipes-core/multitech/config/ppp/peers/lvw2_chat
deleted file mode 100644
index c7aede7..0000000
--- a/recipes-core/multitech/config/ppp/peers/lvw2_chat
+++ /dev/null
@@ -1,27 +0,0 @@
-SAY "LVW2 chat\n"
-ECHO OFF
-ABORT 'NO DIAL TONE'
-ABORT 'NO DIALTONE'
-ABORT 'NO ANSWER'
-ABORT 'NO CARRIER'
-ABORT 'DELAYED'
-ABORT 'VOICE'
-ABORT 'BUSY'
-'' 'AT'
-OK 'ATZ'
-OK 'AT+CSQ'
-# ----------------------------------
-# Do not set the APN for Verizon.
-# It must be loaded dynamically
-# from the network.
-# ----------------------------------
-# Log APN (current context) for
-# diagnostic purposes
-#-----------------------------------
-OK 'AT+CGDCONT?'
-SAY "Dialing...\n"
-OK 'ATD*99***3#'
-SAY "Waiting for CONNECT...\n"
-TIMEOUT 120
-CONNECT ''
-SAY "Connected\n"
diff --git a/recipes-core/multitech/config_2.3.bb b/recipes-core/multitech/config_2.3.bb
deleted file mode 100644
index 3e9733a..0000000
--- a/recipes-core/multitech/config_2.3.bb
+++ /dev/null
@@ -1,95 +0,0 @@
-DESCRIPTION = "Provides default system config files and /var/config fs"
-SECTION = "base"
-LICENSE = "MIT"
-RDEPENDS_${PN} += "bash"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PACKAGE_ARCH = "all"
-PR = "r7"
-PACKAGES =+ "${PN}-mths"
-inherit update-rc.d
-
-INITSCRIPT_NAME = "config"
-INITSCRIPT_PARAMS = "start 31 S ."
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/config:"
-FILESEXTRAPATHS_prepend_${PN} := "${THISDIR}/mths_config:"
-
-SRC_URI = "\
- file://network \
- file://ppp \
- file://config.init \
- file://config-mths \
- file://chat_wrapper \
- file://chat_wrapper.default \
- file://99_radio \
-"
-
-RDEPENDS_${PN}-mths += "${PN}"
-
-CONFFILES_${PN} += "${sysconfdir}/defaults.tar.gz"
-CONFIGFILES = "network/interfaces ppp"
-
-CONFIGFILES_MTHS = "config-mths"
-
-fakeroot do_install () {
- cd ${WORKDIR}
-
- # default config files
- rm -f defaults.tar.gz
- chown root:root -R ${CONFIGFILES}
- tar czf defaults.tar.gz ${CONFIGFILES}
- install -d ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/defaults.tar.gz ${D}${sysconfdir}/defaults.tar.gz
-
- # save root password for resetting to defaults
- echo -n '${ROOT_PASSWORD_HASH}' > ${D}${sysconfdir}/default_pass
- chmod 400 ${D}${sysconfdir}/default_pass
-
- # init script
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/config.init ${D}${sysconfdir}/init.d/config
-
- # mths adjustments
- tar -C ${CONFIGFILES_MTHS} -czf defaults-mths.tar.gz .
- install -m 0644 ${WORKDIR}/defaults-mths.tar.gz ${D}${sysconfdir}/defaults-mths.tar.gz
-
- install -d ${D}${sysconfdir}/default
- install -d ${D}${sysconfdir}/default/volatiles
- install -d ${D}${libexecdir}/ppp
- install -m 0755 ${WORKDIR}/chat_wrapper ${D}${libexecdir}/ppp/
- install -m 0644 ${WORKDIR}/chat_wrapper.default ${D}${sysconfdir}/default/chat_wrapper
- install -m 0644 ${WORKDIR}/99_radio ${D}${sysconfdir}/default/volatiles
-}
-
-FILES_${PN} = "${sysconfdir}/defaults.tar.gz ${sysconfdir}/default_pass"
-FILES_${PN} += "${sysconfdir}/init.d/config ${sysconfdir}/default ${libexecdir}/ppp/chat_wrapper"
-FILES_${PN} += "${sysconfdir}/default/volatiles"
-
-FILES_${PN}-mths = "${sysconfdir}/defaults-mths.tar.gz"
-
-# Create the hotspot version of defaults.tar.gz
-pkg_postinst_${PN}-mths() {
- X=$D/tmp/mths
- mkdir -p $X
- export X
- (
-
- set -x
- if tar -tf $D${sysconfdir}/defaults.tar.gz | grep dnsmasq ; then
- :
- else
- tb=$X/tarball # Tarball directory
- mkdir $tb
- tar -C $tb -xf $D/etc/defaults.tar.gz
- tar -C $tb -xf $D/etc/defaults-mths.tar.gz
- if ! grep '^auto wifi1' $tb/network/interfaces ; then
- cat $tb/network/interfaces $tb/network/interfaces.mths >$tb/network/interfaces.new
- mv $tb/network/interfaces $tb/network/interfaces.old
- mv $tb/network/interfaces.new $tb/network/interfaces
- fi
- tar -C $tb -cf $D/etc/defaults.tar.gz .
- fi
- ) >$X/postinsttrace.txt 2>&1
- # Comment out the final line for a trace.
- rm -rf $X
-}
diff --git a/recipes-core/multitech/reset-handler/reset-handler.default b/recipes-core/multitech/reset-handler/reset-handler.default
deleted file mode 100644
index 71b3e24..0000000
--- a/recipes-core/multitech/reset-handler/reset-handler.default
+++ /dev/null
@@ -1,2 +0,0 @@
-# set to "no" to disable reset-handler starting on boot
-ENABLED="yes"
diff --git a/recipes-core/multitech/reset-handler/reset-handler.init b/recipes-core/multitech/reset-handler/reset-handler.init
deleted file mode 100644
index b50e7b8..0000000
--- a/recipes-core/multitech/reset-handler/reset-handler.init
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-DAEMON=/usr/sbin/reset-handler
-PIDFILE=/var/run/reset-handler.pid
-ENABLED="yes"
-
-[ -r /etc/default/reset-handler ] && . /etc/default/reset-handler
-[ -x $DAEMON ] || exit 0
-[ "$ENABLED" = "yes" ] || exit 0
-
-case "$1" in
- start)
- if [ -f $PIDFILE ]; then
- echo "reset-handler pid file exists, not starting"
- exit 1
- else
- echo "Starting reset-handler"
- start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON
- fi
- ;;
- stop)
- echo "Stopping reset-handler"
- start-stop-daemon --stop --oknodo --pidfile $PIDFILE
- rm -f $PIDFILE
- ;;
- *)
- echo "Usage: $0 {start|stop}"
- exit 2
- ;;
-esac
diff --git a/recipes-core/multitech/reset-handler/reset-handler.sh b/recipes-core/multitech/reset-handler/reset-handler.sh
deleted file mode 100755
index 50a6783..0000000
--- a/recipes-core/multitech/reset-handler/reset-handler.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2014 Multi-Tech Systems
-
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-name="reset-handler"
-log="logger -t $name -s"
-pid="$$"
-
-short_signal=10 # SIGUSR1
-long_signal=12 # SIGUSR2
-extralong_signal=1 # SIGHUP
-
-do_reboot() {
- $log "Rebooting on button press"
- sleep 1
- reboot
-}
-
-do_restore_defaults() {
- $log "Removing /var/config contents"
- rm -rf /var/config/*
- $log "Setting restore defaults on reboot"
- touch /var/config/force_defaults
- $log "Rebooting"
- sleep 1
- reboot
-}
-
-log_exit() {
- $log "Exiting on SIGTERM"
- exit 0
-}
-
-idle_wait() {
- pipe=/var/tmp/$name.fifo
- rm -f $pipe
- mkfifo -m 400 $pipe
-
- # sneaky way to do nothing forever
- while true; do
- read < $pipe
- done
-}
-
-trap do_reboot $short_signal
-trap do_restore_defaults $long_signal
-trap do_restore_defaults $extralong_signal
-trap log_exit TERM
-
-$log "Enabling reset-monitor for pid $pid"
-mts-io-sysfs store reset-monitor "$pid $short_signal $long_signal $extralong_signal"
-# set long press to 5 seconds for reset to defaults
-mts-io-sysfs store reset-monitor-intervals "5 30"
-
-# wait for signals
-idle_wait
diff --git a/recipes-core/multitech/reset-handler_1.0.bb b/recipes-core/multitech/reset-handler_1.0.bb
deleted file mode 100644
index 39abaab..0000000
--- a/recipes-core/multitech/reset-handler_1.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "Default reset button handler"
-SECTION = "base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-PR = "r1"
-RDEPENDS_${PN} += "bash"
-
-inherit update-rc.d
-
-INITSCRIPT_NAME = "reset-handler"
-INITSCRIPT_PARAMS = "start 95 2 3 4 5 ."
-CONFFILES_${PN} = "${sysconfdir}/default/reset-handler"
-
-SRC_URI = "\
- file://reset-handler.sh \
- file://reset-handler.init \
- file://reset-handler.default \
-"
-
-do_install () {
- install -d ${D}${sbindir}
- install -m 0755 ${WORKDIR}/reset-handler.sh ${D}${sbindir}/reset-handler
-
- # init script
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/reset-handler.init ${D}${sysconfdir}/init.d/reset-handler
-
- install -d ${D}${sysconfdir}/default
- install -m 0644 ${WORKDIR}/reset-handler.default ${D}${sysconfdir}/default/reset-handler
-}
diff --git a/recipes-core/multitech/upgrade-reboot_1.0.0.bb b/recipes-core/multitech/upgrade-reboot_1.0.0.bb
deleted file mode 100644
index c506db3..0000000
--- a/recipes-core/multitech/upgrade-reboot_1.0.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Reboot command to run after firmware upgrade"
-HOMEPAGE = "http://www.multitech.net/"
-SECTION = "console/utils"
-PRIORITY = "optional"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r0"
-
-# tag 1.0.0
-SRCREV = "6b917d88f41a4694a85b86cd047e10ddbd8c691f"
-
-SRC_URI = "git://git.multitech.net/upgrade-reboot.git;protocol=git"
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-PARALLEL_MAKE = ""
diff --git a/recipes-core/sysvinit/files/start_getty_open b/recipes-core/sysvinit/files/start_getty_open
deleted file mode 100644
index 3afce00..0000000
--- a/recipes-core/sysvinit/files/start_getty_open
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Open console for testing
-if [ -c /dev/$2 ]
-then
- /sbin/getty -L $1 $2 xterm -n -l /bin/bash
-fi
diff --git a/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend b/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend
deleted file mode 100644
index be33f10..0000000
--- a/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend
+++ /dev/null
@@ -1,25 +0,0 @@
-# enable gadget serial console for supported hardware
-SUMMARY_${PN}-start-open = "Open debug console for development only"
-SUMMARY_${PN}-start = "Production console"
-SERIAL_CONSOLES_append_mtcdt = " 115200;ttyGS0"
-PACKAGES =+ "${PN}-start ${PN}-start-open"
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += "file://start_getty_open"
-
-FILES_${PN} = "${sysconfdir}/inittab"
-FILES_${PN}-start = "${base_bindir}/start_getty"
-FILES_${PN}-start-open = "${base_bindir}/start_getty_open"
-RCONFLICTS_${PN}-start = "${PN}-start-open"
-RCONFLICTS_${PN}-start-open = "${PN}-start"
-RDEPENDS_${PN}-start-open = "${PN}"
-
-do_install_append() {
- install -m 0755 ${WORKDIR}/start_getty_open ${D}${base_bindir}/start_getty_open
-}
-pkg_postinst_${PN}-start-open() {
- sed -i 's?^S0:.*?S0:12345:respawn:/bin/start_getty_open 115200 ttyS0?' $D/etc/inittab
-}
-
-pkg_prerm_${PN}-start-open() {
- sed -i 's?^S0:.*?S0:12345:respawn:/bin/start_getty 115200 ttyS0?' $D/etc/inittab
-}
diff --git a/recipes-core/udev/udev-extraconf/mount.patch b/recipes-core/udev/udev-extraconf/mount.patch
index 71ccc56..1b475f3 100644
--- a/recipes-core/udev/udev-extraconf/mount.patch
+++ b/recipes-core/udev/udev-extraconf/mount.patch
@@ -1,44 +1,81 @@
-diff -Naru old/mount.sh new/mount.sh
---- old/mount.sh 2018-05-15 09:07:02.814673114 -0500
-+++ new/mount.sh 2018-05-15 09:06:30.862674060 -0500
-@@ -4,7 +4,6 @@
- #
- # Attempt to mount any added block devices and umount any removed devices
+diff -Naru orig/mount.blacklist new/mount.blacklist
+--- orig/mount.blacklist 2019-10-24 17:08:59.796796272 -0500
++++ new/mount.blacklist 2019-10-24 17:16:31.768782892 -0500
+@@ -3,3 +3,16 @@
+ /dev/mtdblock
+ /dev/md
+ /dev/dm-*
++# These should all be mounted in fstab or not at all.
++[PARTLABEL=uboot]
++[PARTLABEL=root]
++[PARTLABEL=root1]
++[PARTLABEL=root2]
++[PARTLABEL=uboot]
++[PARTLABEL=oem]
++[PARTLABEL=oem1]
++[PARTLABEL=oem2]
++[PARTLABEL=config]
++[PARTLABEL=config1]
++[PARTLABEL=config2]
++[PARTLABEL=user_data]
+diff -Naru orig/mount.sh new/mount.sh
+--- orig/mount.sh 2019-10-24 17:09:11.344795931 -0500
++++ new/mount.sh 2019-10-24 18:11:38.612684994 -0500
+@@ -25,9 +25,32 @@
+ fi
--
- MOUNT="/bin/mount"
PMOUNT="/usr/bin/pmount"
- UMOUNT="/bin/umount"
-@@ -21,6 +20,10 @@
- name="`basename "$DEVNAME"`"
-
- ! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
-+ if [ "$name" = mmcblk0p1 ] ;
-+ then
-+ ln -sf /run/media/$name /run/media/card
-+ fi
- # Silent util-linux's version of mounting auto
- if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
+-
+-for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*`
++for line in `grep -h -v '^#$' /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/* 2>/dev/null`
+ do
++ if [[ $line =~ ^\[([^=]*)=([^\]]*)\] ]] ; then
++ fsspectype=${BASH_REMATCH[1]}
++ tmp="$(lsblk -o $fsspectype $DEVNAME | sed -e '1d')"
++ case $fsspectype in
++ PARTLABEL)
++ if [[ ${BASH_REMATCH[2]} == $tmp ]] ; then
++ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring"
++ logger "$line"
++ exit 0
++ fi
++ ;;
++
++ PARTUUID)
++ if [[ ${BASH_REMATCH[2]^^} == $tmp ]] ; then
++ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring"
++ logger "$line"
++ exit 0
++ fi
++ ;;
++ *)
++ logger "[$fsspectype] is unsupported in blacklist -- ignoring blacklist item"
++ ;;
++ esac
++ fi
+ if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
then
-@@ -31,7 +34,7 @@
- # grant it with w/r/x permissions.
- case $ID_FS_TYPE in
- vfat|fat)
-- MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
-+ MOUNT="$MOUNT -o errors=continue -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
- ;;
- # TODO
- *)
-@@ -66,7 +69,11 @@
+ logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring"
+@@ -49,6 +72,10 @@
+
+ [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name"
+
++ if [ "$name" = mmcblk0p1 ] ; then
++ ln -sf /run/media/$name /run/media/card
++ fi
++
+ MOUNT="$MOUNT -o silent"
+
+ # If filesystemtype is vfat, change the ownership group to 'disk', and
+@@ -78,7 +105,11 @@
if [ -x "$PMOUNT" ]; then
$PMOUNT $DEVNAME 2> /dev/null
elif [ -x $MOUNT ]; then
-- $MOUNT $DEVNAME 2> /dev/null
-+ if [[ $ID_FS_TYPE =~ fat ]] ; then
-+ $MOUNT -o umask=002,gid=disk $DEVNAME 2> /dev/null
-+ else
-+ $MOUNT $DEVNAME 2> /dev/null
-+ fi
++ if [[ $ID_FS_TYPE =~ fat ]] ; then
++ $MOUNT -o umask=002,gid=disk $DEVNAME 2> /dev/null
++ else
+ $MOUNT $DEVNAME 2> /dev/null
++ fi
fi
-
+
# If the device isn't mounted at this point, it isn't
diff --git a/recipes-core/useradd/useradd.bb b/recipes-core/useradd/useradd.bb
deleted file mode 100644
index d229a2f..0000000
--- a/recipes-core/useradd/useradd.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Add mtadm user"
-DESCRIPTION = "Add mtadm user for security purposes"
-SECTION = "mtadm"
-PR = "r4"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
- file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-S = "${WORKDIR}"
-
-inherit useradd
-
-# You must set USERADD_PACKAGES when you inherit useradd. This
-# lists which output packages will include the user/group
-# creation code.
-#USERADD_PACKAGES = "${PN} ${PN}-user3"
-USERADD_PACKAGES = "${PN}"
-
-# You must also set USERADD_PARAM and/or GROUPADD_PARAM when
-# you inherit useradd.
-
-# GROUPADD_PARAM works the same way, which you set to the options
-# you'd normally pass to the groupadd command. This will create
-# groups group1 and group2:
-GROUPADD_PARAM_${PN} = "-r -g 27 sudo"
-
-# USERADD_PARAM specifies command line options to pass to the
-# useradd command. Multiple users can be created by separating
-# the commands with a semicolon. Here we'll create two users,
-# user1 and user2:
-USERADD_PARAM_${PN} = "-u 50 -G sudo,disk,dialout -m -r -s /bin/bash mtadm"
-
-do_install () {
- # If the recipe doesn't have a file, the ipk
- # is deleted, and it does nothing.
- # Create a .ssh directory for mtadm.
- install -d 0700 ${D}/home/mtadm/.ssh
- chown mtadm:mtadm ${D}/home/mtadm
- chown mtadm:mtadm ${D}/home/mtadm/.ssh
-}
-
-FILES_${PN} = "/home/mtadm/.ssh"
-
-# Prevents do_package failures with:
-# debugsources.list: No such file or directory:
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-pkg_postinst_${PN} () {
- profile=$D/home/mtadm/.profile
- if ! grep 'sbin' ${profile} ; then
- Sub='${PA'
- Sub=${Sub}'TH}:/sbin:/usr/sbin'
- echo 'PATH='${Sub} >>${profile}
- echo 'export PATH' >>${profile}
- fi
- # If doing an update, we need to add mtadm to dialout.
- # If the admin has been changed, then the user must
- # do something himself.
- if [[ -z $D ]] ; then
- sudo groupmems -a mtadm -g dialout || true
- fi
-}
-