mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-24 02:54:09 +08:00
Compare commits
5 Commits
rtl_433
...
devel-netm
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b861b97bb | ||
|
|
ccb4e65f34 | ||
|
|
011f586731 | ||
|
|
90aff84618 | ||
|
|
e81718ab54 |
31
4g-support/Makefile
Normal file
31
4g-support/Makefile
Normal file
@@ -0,0 +1,31 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=4g-support
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/4g-support
|
||||
CATEGORY:=Network
|
||||
TITLE:=4G Network Setup Tools
|
||||
endef
|
||||
|
||||
define Package/4g-support/description
|
||||
4g-support contains necessary tools to setup 4G WAN connection
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
mkdir -p $(PKG_BUILD_DIR)
|
||||
$(CP) ./files/* $(PKG_BUILD_DIR)/
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/4g-support/install
|
||||
$(CP) ./files/* $(1)/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,4g-support))
|
||||
62
4g-support/files/etc/gcom/ncmconnection.gcom
Normal file
62
4g-support/files/etc/gcom/ncmconnection.gcom
Normal file
@@ -0,0 +1,62 @@
|
||||
opengt
|
||||
set com 115200n81
|
||||
set comecho off
|
||||
set senddelay 0.05
|
||||
waitquiet 1 0.2
|
||||
|
||||
:start
|
||||
if $env("USE_DISCONNECT")="1" goto disconnect
|
||||
send "AT^^NDISDUP=1,1,\""
|
||||
send $env("USE_APN")
|
||||
|
||||
if $env("USE_AUTHTYPE")="-1" goto noauth
|
||||
else goto auth
|
||||
|
||||
:noauth
|
||||
send "\"^m"
|
||||
goto result
|
||||
|
||||
:auth
|
||||
send "\",\""
|
||||
send $env("USE_USERID")
|
||||
send "\",\""
|
||||
send $env("USE_PASSWORD")
|
||||
send "\","
|
||||
send $env("USE_AUTHTYPE")
|
||||
send "^m"
|
||||
goto result
|
||||
|
||||
:result
|
||||
waitfor 5 "OK","ERR","ERROR"
|
||||
if % = 0 goto connok
|
||||
if % = 1 goto connerr
|
||||
if % = 2 goto connerr
|
||||
|
||||
:connok
|
||||
print "WWAN connection established.\r\n"
|
||||
goto done
|
||||
|
||||
:connerr
|
||||
print "WWAN error. Connection failed.\r\n"
|
||||
exit 1
|
||||
|
||||
:disconnect
|
||||
send "AT^^NDISDUP=1,0,\""
|
||||
send $env("USE_APN")
|
||||
send "\"^m"
|
||||
|
||||
waitfor 5 "OK","ERR","ERROR"
|
||||
if % = 0 goto disconnok
|
||||
if % = 1 goto disconnerr
|
||||
if % = 2 goto disconnerr
|
||||
|
||||
:disconnok
|
||||
print "WWAN connection disconnected.\r\n"
|
||||
goto done
|
||||
|
||||
:disconnerr
|
||||
print "WWAN disconnection error.\r\n"
|
||||
exit 1
|
||||
|
||||
:done
|
||||
exit 0
|
||||
35
4g-support/files/etc/hotplug.d/net/05-mobile
Normal file
35
4g-support/files/etc/hotplug.d/net/05-mobile
Normal file
@@ -0,0 +1,35 @@
|
||||
. /lib/network/config.sh
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
iface_status() {
|
||||
local iface=$1
|
||||
local up
|
||||
json_load "$(ifstatus $iface)"
|
||||
json_get_var up up
|
||||
json_close_object
|
||||
return $up
|
||||
}
|
||||
|
||||
case "$ACTION" in
|
||||
add|register)
|
||||
if [ "${INTERFACE:0:4}" == "wwan" ]; then
|
||||
netname=$(get_network_of "$INTERFACE")
|
||||
for net in $netname; do
|
||||
local service=$(uci -q get network.$net.service)
|
||||
local cnt=0
|
||||
while $(iface_status $net); do
|
||||
ifup $net
|
||||
if [ "$service" == "qmi" ]; then
|
||||
cnt=$(($cnt+1))
|
||||
# quit trying if still not online after three times
|
||||
[ $cnt -eq 3 ] && break
|
||||
sleep 5
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
74
4g-support/files/etc/hotplug.d/usb/30-usbnet
Normal file
74
4g-support/files/etc/hotplug.d/usb/30-usbnet
Normal file
@@ -0,0 +1,74 @@
|
||||
#!/bin/sh
|
||||
|
||||
local usb_dir uVid uPid uMa uPr uSe bConf bNumConfs vendor product mdmtyp netdev comdev cdcdev ttydev interface usbno usbbr
|
||||
|
||||
sanitize() {
|
||||
sed -e 's/[[:space:]]\+$//; s/[[:space:]]\+/_/g' "$@"
|
||||
}
|
||||
|
||||
find_usb_attrs() {
|
||||
usb_dir="/sys/$DEVPATH"
|
||||
[ -f "$usb_dir/idVendor" ] || usb_dir="${usb_dir%/*}"
|
||||
|
||||
uVid=$(cat "$usb_dir/idVendor")
|
||||
uPid=$(cat "$usb_dir/idProduct")
|
||||
uMa=$(sanitize "$usb_dir/manufacturer")
|
||||
uPr=$(sanitize "$usb_dir/product")
|
||||
uSe=$(sanitize "$usb_dir/serial")
|
||||
bNumConfs=$(cat "$usb_dir/bNumConfigurations")
|
||||
bConf=$(cat "$usb_dir/bConfigurationValue")
|
||||
netdev=$(find $usb_dir -name wwan* | awk -F'/' '{print$NF}' | head -2 | tail -1)
|
||||
cdcdev=$(find $usb_dir -name cdc-wdm* | awk -F'/' '{print$NF}' | head -2 | tail -1)
|
||||
ttydev=$(ls $(find $usb_dir -name tty | head -2 | tail -1) | tail -1)
|
||||
interface=$(cat $usb_dir/interface)
|
||||
if [ -n "$cdcdev" ]; then
|
||||
comdev=$cdcdev
|
||||
mdmtyp=$(grep $uVid:$uPid /etc/modemdb | grep 'qmi\|mbim' | awk '{print$2}' | head -1)
|
||||
vendor=$(grep $uVid:$uPid /etc/modemdb | grep 'qmi\|mbim' | awk '{print$3}' | head -1)
|
||||
product=$(grep $uVid:$uPid /etc/modemdb | grep 'qmi\|mbim' | awk '{print$4}' | head -1)
|
||||
else
|
||||
comdev=$ttydev
|
||||
mdmtyp=$(grep $uVid:$uPid /etc/modemdb | grep 'ncm' | awk '{print$2}' | head -1)
|
||||
vendor=$(grep $uVid:$uPid /etc/modemdb | grep 'ncm' | awk '{print$3}' | head -1)
|
||||
product=$(grep $uVid:$uPid /etc/modemdb | grep 'ncm' | awk '{print$4}' | head -1)
|
||||
fi
|
||||
[ -n "$mdmtyp" ] || mdmtyp=$(grep $uVid:$uPid /etc/modemdb | awk '{print$2}' | head -1)
|
||||
[ -n "$vendor" ] || vendor=$(grep $uVid:$uPid /etc/modemdb | awk '{print$3}' | head -1)
|
||||
[ -n "$product" ] || product=$(grep $uVid:$uPid /etc/modemdb | awk '{print$4}' | head -1)
|
||||
}
|
||||
|
||||
convert_to_mbim() {
|
||||
if [ "$mdmtyp" == "mbim" ] && [ "$bNumConfs" == "2" ]; then
|
||||
[ "$bConf" == "2" ] || echo 2 > $usb_dir/bConfigurationValue
|
||||
fi
|
||||
}
|
||||
|
||||
usbno=$(echo $DEVPATH | cut -d'/' -f5)
|
||||
usbbr=$(echo $DEVPATH | cut -d'/' -f7)
|
||||
case "$usbbr" in
|
||||
*:*) usbbr=$(echo $DEVPATH | cut -d'/' -f6) ;;
|
||||
esac
|
||||
|
||||
#devno=$(basename $DEVPATH)
|
||||
|
||||
find_usb_attrs
|
||||
if [ "$ACTION" = add ]; then
|
||||
convert_to_mbim "$uVid:$uPid"
|
||||
if [ -n "$uVid" ] && [ -n "$uPid" ] && [ -n "$mdmtyp" ] && [ -n "$netdev" ] && [ -n "$comdev" ]; then
|
||||
if [ -n "$usbno" ] && [ -n "$usbbr" ]; then
|
||||
sed -i "/$usbno:$usbbr/ d" /var/usbnets
|
||||
echo $usbno:$usbbr $uVid:$uPid $uMa $uPr $netdev $comdev $mdmtyp $vendor $product >> /var/usbnets
|
||||
ubus send hotplug.usb "{'action': 'add', 'devpath': '$DEVPATH', 'manufacturer': '$uMa', 'product': '$uPr', 'serial': '$uSe', 'vendor_id': '$uVid', \
|
||||
'product_id': '$uPid', 'driver_interface': '$interface', 'driver': '$DRIVER', 'devtype': '$DEVTYPE'}"
|
||||
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$ACTION" = remove ]; then
|
||||
if [ -n "$usbno" ] && [ -n "$usbbr" ]; then
|
||||
sed -i "/$usbno:$usbbr/ d" /var/usbnets
|
||||
ubus send hotplug.usb "{'action': 'remove', 'devpath': '$DEVPATH', 'manufacturer': '$uMa', 'product': '$uPr', 'serial': '$uSe', 'vendor_id': '$uVid', \
|
||||
'product_id': '$uPid', 'driver_interface': '$interface', 'driver': '$DRIVER', 'devtype': '$DEVTYPE'}"
|
||||
fi
|
||||
fi
|
||||
100
4g-support/files/etc/modemdb
Normal file
100
4g-support/files/etc/modemdb
Normal file
@@ -0,0 +1,100 @@
|
||||
1bbb:011e qmi
|
||||
1a8d:1001 ecm
|
||||
1a8d:100c ecm
|
||||
1a8d:100d ecm
|
||||
16d8:6280 qmi
|
||||
16d8:6803 qmi
|
||||
16d8:6804 qmi
|
||||
16d8:7003 qmi
|
||||
16d8:700a qmi
|
||||
2001:7d01 mbim
|
||||
2001:7d02 mbim
|
||||
2001:7d03 mbim
|
||||
12d1:14ac qmi
|
||||
12d1:140c qmi
|
||||
12d1:1506 qmi Huawei E367/392/398
|
||||
12d1:1506 ncm Huawei E3276
|
||||
12d1:14d2 qmi
|
||||
12d1:1c07 ncm
|
||||
12d1:1436 ecm
|
||||
12d1:14c9 qmi
|
||||
12d1:14db ecm
|
||||
12d1:151d mbim
|
||||
12d1:151e qmi Huawei E353
|
||||
12d1:1c1e ncm
|
||||
12d1:150c qmi
|
||||
12d1:150f qmi
|
||||
12d1:151b qmi
|
||||
12d1:142d ecm
|
||||
12d1:1432 ecm
|
||||
12d1:1c1f ncm
|
||||
12d1:1433 qmi
|
||||
12d1:1465 ecm
|
||||
12d1:14ca qmi
|
||||
12d1:14cf ncm
|
||||
12d1:14bc ecm
|
||||
12d1:14ae ecm
|
||||
12d1:1576 mbim
|
||||
12d1:1577 mbim
|
||||
12d1:1400 mbim
|
||||
12d1:14f7 mbim
|
||||
12d1:1464 qmi
|
||||
12d1:14cb qmi
|
||||
12d1:14cc qmi
|
||||
12d1:14c6 qmi
|
||||
12d1:14fa mbim
|
||||
12d1:1578 mbim
|
||||
12d1:14c8 qmi
|
||||
12d1:14f8 mbim
|
||||
12d1:1575 mbim
|
||||
12d1:1579 mbim
|
||||
12d1:157a mbim
|
||||
12d1:157b mbim
|
||||
12d1:157f mbim
|
||||
12d1:1f16 mbim Vodafone K5150
|
||||
12d1:1404 qmi
|
||||
19f2:1700 ecm
|
||||
1410:b001 qmi
|
||||
1527:1000 ecm
|
||||
0b3c:c005 qmi
|
||||
0f3d:68a2 qmi
|
||||
1199:68a2 qmi SierraWireless M7710
|
||||
1199:68c0 qmi SierraWireless M7304
|
||||
1349:1100 qmi
|
||||
1349:1200 qmi
|
||||
1199:683c qmi
|
||||
2360:2100 qmi
|
||||
2360:2200 qmi
|
||||
2360:2300 qmi
|
||||
2507:0000 qmi
|
||||
19d2:0055 qmi
|
||||
19d2:0052 qmi
|
||||
19d2:0063 qmi
|
||||
19d2:1008 qmi
|
||||
19d2:1010 qmi
|
||||
19d2:2002 qmi
|
||||
19d2:1176 qmi
|
||||
19d2:1023 mbim
|
||||
19d2:0104 qmi
|
||||
19d2:1018 qmi
|
||||
19d2:1032 mbim
|
||||
19d2:1402 qmi
|
||||
19d2:1405 ecm
|
||||
19d2:1426 qmi
|
||||
19d2:0031 qmi
|
||||
19d2:0124 qmi
|
||||
19d2:1254 qmi
|
||||
19d2:0017 qmi
|
||||
19d2:0002 qmi
|
||||
19d2:0121 qmi
|
||||
19d2:1252 qmi
|
||||
19d2:0157 qmi
|
||||
19d2:0167 qmi
|
||||
19d2:0199 qmi
|
||||
19d2:0257 qmi
|
||||
19d2:0326 qmi
|
||||
19d2:0349 ecm
|
||||
19d2:1408 ecm
|
||||
19d2:0284 qmi
|
||||
19d2:0019 qmi
|
||||
19d2:0265 qmi
|
||||
159
4g-support/files/lib/netifd/proto/4g.sh
Executable file
159
4g-support/files/lib/netifd/proto/4g.sh
Executable file
@@ -0,0 +1,159 @@
|
||||
#!/bin/sh
|
||||
INCLUDE_ONLY=1
|
||||
|
||||
. /lib/functions.sh
|
||||
. ../netifd-proto.sh
|
||||
init_proto "$@"
|
||||
|
||||
proto_4g_init_config() {
|
||||
proto_config_add_string "modem"
|
||||
proto_config_add_string "service"
|
||||
proto_config_add_string "comdev"
|
||||
proto_config_add_string "ipaddr"
|
||||
proto_config_add_string "netmask"
|
||||
proto_config_add_string "hostname"
|
||||
proto_config_add_string "clientid"
|
||||
proto_config_add_string "vendorid"
|
||||
proto_config_add_boolean "broadcast"
|
||||
proto_config_add_string "reqopts"
|
||||
proto_config_add_string "apn"
|
||||
proto_config_add_string "username"
|
||||
proto_config_add_string "password"
|
||||
proto_config_add_boolean "lte_apn_use"
|
||||
proto_config_add_string "lte_apn"
|
||||
proto_config_add_string "lte_username"
|
||||
proto_config_add_string "lte_password"
|
||||
proto_config_add_string "pincode"
|
||||
proto_config_add_string "technology"
|
||||
proto_config_add_string "auto"
|
||||
}
|
||||
|
||||
proto_4g_setup() {
|
||||
local config="$1"
|
||||
local iface="$2"
|
||||
|
||||
local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone
|
||||
json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone
|
||||
|
||||
local opt dhcpopts
|
||||
for opt in $reqopts; do
|
||||
append dhcpopts "-O $opt"
|
||||
done
|
||||
|
||||
for opt in $sendopts; do
|
||||
append dhcpopts "-x $opt"
|
||||
done
|
||||
|
||||
[ "$broadcast" = 1 ] && broadcast="-B" || broadcast=
|
||||
[ -n "$clientid" ] && clientid="-x 0x3d:${clientid//:/}" || clientid="-C"
|
||||
[ -n "$iface6rd" ] && proto_export "IFACE6RD=$iface6rd"
|
||||
[ "$iface6rd" != 0 -a -f /lib/netifd/proto/6rd.sh ] && append dhcpopts "-O 212"
|
||||
[ -n "$zone6rd" ] && proto_export "ZONE6RD=$zone6rd"
|
||||
[ -n "$zone" ] && proto_export "ZONE=$zone"
|
||||
[ "$delegate" = "0" ] && proto_export "IFACE6RD_DELEGATE=0"
|
||||
|
||||
json_get_var comdev comdev
|
||||
json_get_var apn apn
|
||||
json_get_var service service
|
||||
json_get_var pincode pincode
|
||||
|
||||
|
||||
# if [ -n "$modem" ]; then
|
||||
# service=$(echo $modem | cut -d':' -f1)
|
||||
# comdev=$(echo $modem | cut -d':' -f2)
|
||||
# iface=$(echo $modem | cut -d':' -f3)
|
||||
# fi
|
||||
|
||||
case "$service" in
|
||||
ecm)
|
||||
;;
|
||||
eem)
|
||||
;;
|
||||
mbim)
|
||||
local mbimdev=/dev/$(basename $(ls /sys/class/net/${iface}/device/usb/cdc-wdm* -d))
|
||||
local comdev="${comdev:-$mbimdev}"
|
||||
[ -n "$pincode" ] && {
|
||||
if ! mbimcli -d $comdev --query-pin-state 2>&1 | grep -q "unlocked"; then
|
||||
set -o pipefail
|
||||
if ! mbimcli -d $comdev --enter-pin="${pincode}" 2>&1; then
|
||||
mbimcli -d $comdev --query-pin-state
|
||||
proto_notify_error "$config" PIN_FAILED
|
||||
proto_block_restart "$interface"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
APN="$apn" mbim-network $comdev start
|
||||
;;
|
||||
ncm)
|
||||
[ -n "$pincode" ] && echo $pincode | gcom -d $comdev
|
||||
USE_APN="$apn" gcom -d $comdev -s /etc/gcom/ncmconnection.gcom
|
||||
;;
|
||||
qmi)
|
||||
local qmidev=/dev/$(basename $(ls /sys/class/net/${iface}/device/usb/cdc-wdm* -d))
|
||||
local comdev="${comdev:-$qmidev}"
|
||||
[ -n "$pincode" ] && {
|
||||
if ! qmicli -d $comdev --dms-uim-get-pin-status 2>&1 | grep -q "enabled-verified\|disabled" >/dev/null; then
|
||||
set -o pipefail
|
||||
if ! qmicli -d $comdev --dms-uim-verify-pin="PIN,${pincode}" 2>&1; then
|
||||
qmicli -d $comdev --dms-uim-get-pin-status
|
||||
proto_notify_error "$config" PIN_FAILED
|
||||
proto_block_restart "$interface"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
APN="$apn" qmi-network $comdev start
|
||||
;;
|
||||
esac
|
||||
|
||||
proto_export "INTERFACE=$config"
|
||||
proto_run_command "$config" udhcpc -R \
|
||||
-p /var/run/udhcpc-$iface.pid \
|
||||
-s /lib/netifd/dhcp.script \
|
||||
-f -t 0 -i "$iface" \
|
||||
${ipaddr:+-r $ipaddr} \
|
||||
${hostname:+-H $hostname} \
|
||||
${vendorid:+-V $vendorid} \
|
||||
$clientid $broadcast $dhcpopts
|
||||
}
|
||||
|
||||
proto_4g_teardown() {
|
||||
local interface="$1"
|
||||
local iface="$2"
|
||||
local modem service comdev
|
||||
|
||||
config_load network
|
||||
config_get service $interface service
|
||||
config_get comdev $interface comdev
|
||||
|
||||
# config_get modem $interface modem
|
||||
# if [ -n "$modem" ]; then
|
||||
# service=$(echo $modem | cut -d':' -f1)
|
||||
# comdev=$(echo $modem | cut -d':' -f2)
|
||||
# iface=$(echo $modem | cut -d':' -f3)
|
||||
# fi
|
||||
|
||||
case "$service" in
|
||||
ecm)
|
||||
;;
|
||||
eem)
|
||||
;;
|
||||
mbim)
|
||||
local mbimdev=/dev/$(basename $(ls /sys/class/net/${iface}/device/usb/cdc-wdm* -d))
|
||||
local comdev="${comdev:-$mbimdev}"
|
||||
mbim-network $comdev stop
|
||||
;;
|
||||
ncm)
|
||||
USE_DISCONNECT=1 gcom -d $comdev -s /etc/gcom/ncmconnection.gcom
|
||||
;;
|
||||
qmi)
|
||||
local qmidev=/dev/$(basename $(ls /sys/class/net/${iface}/device/usb/cdc-wdm* -d))
|
||||
local comdev="${comdev:-$qmidev}"
|
||||
qmi-network $comdev stop
|
||||
;;
|
||||
esac
|
||||
proto_kill_command "$interface"
|
||||
}
|
||||
|
||||
add_protocol 4g
|
||||
773
asterisk-1.8.x-mod/Makefile
Normal file
773
asterisk-1.8.x-mod/Makefile
Normal file
@@ -0,0 +1,773 @@
|
||||
#
|
||||
# Copyright (C) 2008-2012 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=asterisk18-mod
|
||||
PKG_VERSION:=1.8.10.1
|
||||
|
||||
PKG_SOURCE_VERSION:=ee99af0d91a2197529b13075d802ebc37e644e40
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=http://public.inteno.se:/asterisk-1.8.x
|
||||
|
||||
PKG_RELEASE:=$(PKG_SOURCE_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION)-$(PKG_RELEASE).tar.gz
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
-include $(INCLUDE_DIR)/ltqtapi.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/asterisk18-mod/Default
|
||||
SUBMENU:=Telephony
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
URL:=http://www.asterisk.org/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod/Default/description
|
||||
Asterisk is a complete PBX in software. It provides all of the features
|
||||
you would expect from a PBX and more. Asterisk does voice over IP in three
|
||||
protocols, and can interoperate with almost all standards-based telephony
|
||||
equipment using relatively inexpensive hardware.
|
||||
endef
|
||||
|
||||
|
||||
define Package/asterisk18-mod
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Complete open source PBX, v1.8x
|
||||
MENU:=1
|
||||
DEPENDS:= +natalie-dect-h +PACKAGE_bcmkernel:bcmkernel +PACKAGE_bcmopen:bcmopen +libopenssl +libncurses +libpopt +libpthread +uci +ubus +zlib @!TARGET_avr32
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-sounds
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Sound files
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-sounds/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package contains sound files for Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-voicemail
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Voicemail support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-voicemail/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package contains voicemail related modules for Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-transfer
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Call transfer support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-transfer/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package contains the call transfer support module for Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-softhangup
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=SoftHangup application
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-softhangup/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package contains the SoftHangup support module for Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-meetme
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=conferencing support
|
||||
DEPENDS:= asterisk18-mod +dahdi-tools-libtonezone +dahdi
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-meetme/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides the MeetMe application driver Conferencing support to
|
||||
Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-iax2
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=IAX support
|
||||
DEPENDS:= asterisk18-mod +asterisk18-res-crypto
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-iax2/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides IAX support to
|
||||
Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-cdr
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=CDR support
|
||||
DEPENDS:= asterisk18-mod +libsqlite3
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-cdr/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides Call Detail Record support to
|
||||
Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-musiconhold
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=MOH support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-musiconhold/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides Music On Hold support to
|
||||
Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-voice
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Voice client/pbx support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-voice/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides Voice Client/pbx support to
|
||||
Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-srtp
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=SRTP support
|
||||
DEPENDS:= asterisk18-mod libsrtp +asterisk18-mod-res-crypto
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-srtp/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides SRTP support to
|
||||
Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-stun
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=STUN support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-queue
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Queue support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-gtalk
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=GTalk support
|
||||
DEPENDS:= asterisk18-mod +libiksemel
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-gtalk/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides the channel chan_gtalk and res_jabber for GTalk
|
||||
support to Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-timing-timerfd
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:= Timerfd Timing Interface
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-timing-pthread
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:= pthread Timing Interface
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-fax
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Generic FAX Resource for FAX technology resource modules
|
||||
DEPENDS:= asterisk18-mod +asterisk18-mod-res-timing-pthread
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-fax-spandsp
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Spandsp T.38 and G.711 FAX Resource
|
||||
DEPENDS:= asterisk18-mod +asterisk18-mod-res-fax +libspandsp
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-mgcp
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=MGCP channel support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-mgcp/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides the channel chan_mgcp support to Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-skinny
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Skinny channel support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-skinny/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides the channel chan_skinny support to Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-brcm
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Broadcom channel support
|
||||
DEPENDS:= asterisk18-mod
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-brcm/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides the channel chan_brcm support to Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-curl
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=CURL support
|
||||
DEPENDS:= asterisk18-mod +libcurl
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-curl/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides CURL
|
||||
support to Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-mysql
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=MySQL support
|
||||
DEPENDS:= asterisk18-mod +PACKAGE_asterisk18-mysql:libmysqlclient
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-mysql/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides MySQL
|
||||
support to Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-lantiq
|
||||
$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=Lantiq TAPI support
|
||||
DEPENDS:= asterisk18-mod $(LTQ_TAPI_DEPENDS)
|
||||
URL:=http://git.nanl.de/?p=asterisk_channel_lantiq.git
|
||||
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-lantiq/description
|
||||
$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides the channel chan_lantiq support to Asterisk.
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-inotify
|
||||
|
||||
ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-mod-app-meetme),)
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-dahdi="$(STAGING_DIR)/usr"
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-dahdi
|
||||
endif
|
||||
|
||||
ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-mod-chan-gtalk),)
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-gnutls="$(STAGING_DIR)/usr" \
|
||||
--with-iksemel="$(STAGING_DIR)/usr"
|
||||
SITE_VARS+= \
|
||||
ac_cv_lib_iksemel_iks_start_sasl=yes \
|
||||
ac_cv_lib_gnutls_gnutls_bye=yes
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-gnutls \
|
||||
--without-iksemel
|
||||
endif
|
||||
|
||||
ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-mod-curl),)
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-curl="$(STAGING_DIR)/usr"
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-curl
|
||||
endif
|
||||
|
||||
ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-mod-mysql),)
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-mysqlclient="$(STAGING_DIR)/usr/bin"
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-mysqlclient
|
||||
endif
|
||||
|
||||
ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-mod-res-fax-spandsp),)
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-spandsp="$(STAGING_DIR)/usr"
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-spandsp
|
||||
endif
|
||||
|
||||
ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-mod-res-srtp),)
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-srtp="$(STAGING_DIR)/usr"
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-srtp
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TARGET_IBOARDID),"D301")
|
||||
EXTRA_CFLAGS += -DNTR_SUPPORT
|
||||
endif
|
||||
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-curses \
|
||||
--with-gsm=internal \
|
||||
--without-cap \
|
||||
--without-gtk \
|
||||
--without-gtk2 \
|
||||
--without-isdnnet \
|
||||
--without-kde \
|
||||
--without-misdn \
|
||||
--without-nbs \
|
||||
--with-ncurses="$(STAGING_DIR)/usr" \
|
||||
--without-netsnmp \
|
||||
--without-newt \
|
||||
--without-odbc \
|
||||
--without-ogg \
|
||||
--without-osptk \
|
||||
--with-popt="$(STAGING_DIR)/usr" \
|
||||
--without-pri \
|
||||
--without-qt \
|
||||
--without-radius \
|
||||
--without-sdl \
|
||||
--without-suppserv \
|
||||
--without-tds \
|
||||
--without-termcap \
|
||||
--without-tinfo \
|
||||
--without-vorbis \
|
||||
--without-vpb \
|
||||
--with-z="$(STAGING_DIR)/usr" \
|
||||
--with-sounds-cache="$(DL_DIR)" \
|
||||
--disable-xmldoc
|
||||
|
||||
# I've had strange errors with -fno-caller-saves
|
||||
# in global CFLAGS so revert it. /Ronny
|
||||
EXTRA_CFLAGS+= -O2 -fcaller-saves
|
||||
EXTRA_CFLAGS+= $(TARGET_CPPFLAGS)
|
||||
EXTRA_LDFLAGS+= $(TARGET_LDFLAGS)
|
||||
|
||||
|
||||
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
ifneq ($(CONFIG_TARGET_lantiq),)
|
||||
$(CP) ./src-lantiq/* $(PKG_BUILD_DIR)/
|
||||
endif
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
-rm $(PKG_BUILD_DIR)/menuselect.makeopts
|
||||
$(call Build/Configure/Default,,$(SITE_VARS))
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C "$(PKG_BUILD_DIR)" \
|
||||
include/asterisk/version.h \
|
||||
include/asterisk/buildopts.h defaults.h \
|
||||
makeopts.embed_rules
|
||||
ASTCFLAGS="$(EXTRA_CFLAGS) -DLOW_MEMORY" \
|
||||
ASTLDFLAGS="$(EXTRA_LDFLAGS)" \
|
||||
$(MAKE) -C "$(PKG_BUILD_DIR)" \
|
||||
ASTVARLIBDIR="/usr/lib/asterisk" \
|
||||
ASTDATADIR="/usr/lib/asterisk" \
|
||||
ASTKEYDIR="/usr/lib/asterisk" \
|
||||
ASTDBDIR="/usr/lib/asterisk" \
|
||||
NOISY_BUILD="1" \
|
||||
DEBUG="" \
|
||||
OPTIMIZE="" \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||
all install samples
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/asterisk-1.8/include/asterisk/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk/*.h $(1)/usr/include/asterisk-1.8/include/asterisk/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk.h $(1)/usr/include/asterisk-1.8/include/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod/conffiles
|
||||
/etc/asterisk/asterisk.conf
|
||||
/etc/asterisk/modules.conf
|
||||
/etc/asterisk/extensions.conf
|
||||
/etc/asterisk/sip.conf
|
||||
/etc/asterisk/sip_notify.conf
|
||||
/etc/asterisk/features.conf
|
||||
/etc/asterisk/indications.conf
|
||||
/etc/asterisk/logger.conf
|
||||
/etc/asterisk/manager.conf
|
||||
/etc/asterisk/rtp.conf
|
||||
/etc/default/asterisk
|
||||
/etc/init.d/asterisk
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk/ssl
|
||||
for f in asterisk extensions features \
|
||||
indications logger manager modules \
|
||||
sip sip_notify rtp; do \
|
||||
$(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f.conf $(1)/etc/asterisk/ ; \
|
||||
done
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
for f in app_dial app_echo app_playback app_macro \
|
||||
chan_sip res_rtp_asterisk res_rtp_multicast \
|
||||
codec_ulaw codec_gsm \
|
||||
format_gsm format_pcm format_wav format_wav_gsm \
|
||||
pbx_config \
|
||||
func_strings func_timeout func_callerid func_logic; do \
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
|
||||
done
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/asterisk $(1)/usr/sbin/
|
||||
$(INSTALL_DIR) $(1)/etc/default
|
||||
$(INSTALL_DATA) ./files/asterisk.default $(1)/etc/default/asterisk
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/asterisk.init $(1)/etc/init.d/asterisk
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||
$(INSTALL_BIN) ./files/asterisk.hotplug $(1)/etc/hotplug.d/iface/80-asterisk
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-sounds/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/* $(1)/usr/lib/asterisk/sounds/
|
||||
rm -f $(1)/usr/lib/asterisk/sounds/vm-*
|
||||
rm -f $(1)/usr/lib/asterisk/sounds/conf-*
|
||||
endef
|
||||
|
||||
|
||||
define Package/asterisk18-mod-voicemail/conffiles
|
||||
/etc/asterisk/voicemail.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-voicemail/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/voicemail.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*voicemail.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_adsi.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_smdi.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/vm-*.gsm $(1)/usr/lib/asterisk/sounds/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-meetme/conffiles
|
||||
/etc/asterisk/meetme.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-meetme/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/meetme.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_meetme.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/conf-*.gsm $(1)/usr/lib/asterisk/sounds/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-iax2/conffiles
|
||||
/etc/asterisk/iax.conf
|
||||
/etc/asterisk/iaxprov.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-cdr/conffiles
|
||||
/etc/asterisk/cdr.conf
|
||||
/etc/asterisk/cdr_custom.conf
|
||||
/etc/asterisk/cdr_manager.conf
|
||||
/etc/asterisk/cdr_odbc.conf
|
||||
/etc/asterisk/cdr_pgsql.conf
|
||||
/etc/asterisk/cdr_tds.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-musiconhold/conffiles
|
||||
/etc/asterisk/musiconhold.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-iax2/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iax.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iaxprov.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_iax2.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-cdr/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/cdr*.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*cdr*.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-musiconhold/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_musiconhold.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-voice/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_voice.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-gtalk/conffiles
|
||||
/etc/asterisk/gtalk.conf
|
||||
/etc/asterisk/jabber.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-gtalk/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/gtalk.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/jabber.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_gtalk.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_jabber.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-timing-timerfd/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_timing_timerfd.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-timing-pthread/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_timing_pthread.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-fax/conffiles
|
||||
/etc/asterisk/res_fax.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-fax/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/res_fax.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_fax.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-fax-spandsp/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_fax_spandsp.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-mgcp/conffiles
|
||||
/etc/asterisk/mgcp.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-mgcp/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/mgcp.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_mgcp.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-skinny/conffiles
|
||||
/etc/asterisk/skinny.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-skinny/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/skinny.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_skinny.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-brcm/conffiles
|
||||
/etc/asterisk/brcm.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-brcm/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/brcm.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_brcm.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-curl/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/func_curl.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_curl.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-transfer/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_transfer.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-softhangup/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_softhangup.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-mysql/conffiles
|
||||
/etc/asterisk/app_mysql.conf
|
||||
/etc/asterisk/res_config_mysql.conf
|
||||
/etc/asterisk/cdr_mysql.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-mysql/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/app_mysql.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/res_config_mysql.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/cdr_mysql.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_mysql.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/cdr_mysql.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_config_mysql.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-lantiq/conffiles
|
||||
/etc/asterisk/lantiq.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-chan-lantiq/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/lantiq.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_lantiq.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-srtp/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_srtp.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-res-stun/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_stun_monitor.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-app-queue/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_queue.so $(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
define Buildasterisk18-modModuleTemplate
|
||||
|
||||
define Package/asterisk18-mod-$(subst _,-,$(1))
|
||||
$$(call Package/asterisk18-mod/Default)
|
||||
TITLE:=$(2) support
|
||||
DEPENDS:= asterisk18-mod $(4)
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-$(subst _,-,$(1))/description
|
||||
$$(call Package/asterisk18-mod/Default/description)
|
||||
This package provides support $(3) in Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk18-mod-$(subst _,-,$(1))/install
|
||||
$(INSTALL_DIR) $$(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$(1).so $$(1)/usr/lib/asterisk/modules/
|
||||
endef
|
||||
|
||||
$$(eval $$(call BuildPackage,asterisk18-mod-$(subst _,-,$(1))))
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,asterisk18-mod))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-voicemail))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-sounds))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-app-meetme))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-app-transfer))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-app-softhangup))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-chan-iax2))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-cdr))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-res-musiconhold))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-res-voice))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-chan-gtalk))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-res-fax))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-res-fax-spandsp))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-res-timing-timerfd))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-res-timing-pthread))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-chan-mgcp))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-chan-skinny))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-chan-brcm))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-curl))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-mysql))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-chan-lantiq))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-res-srtp))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-res-stun))
|
||||
$(eval $(call BuildPackage,asterisk18-mod-app-queue))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_authenticate,Authenticate,support for executing arbitrary authenticate commands))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_chanisavail,Channel availability check,support for checking if a channel is available))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_chanspy,Channel listen in,support for listening in on any channel))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_directed_pickup,Directed call pickup,support for directed call pickup))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_exec,Exec application,support for application execution))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_minivm,Minimal voicemail system,a voicemail system in small building blocks working together based on the Comedian Mail voicemail system))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_readexten,Extension to variable,a trivial application to read an extension into a variable))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_read,Variable read,a trivial application to read a variable))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_sayunixtime,Say Unix time,an application to say Unix time))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_sms,SMS,SMS support (ETSI ES 201 912 protocol 1)))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_stack,Stack applications, stack applications Gosub Return etc., +asterisk18-res-agi))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_system,System exec,support for executing system commands))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_talkdetect,File playback with audio detect,for file playback with audio detect))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_waituntil,Sleep,support sleeping until the given epoch))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_while,While loop,a while loop implementation))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,chan_agent,Agents proxy channel, an implementation of agents proxy channel))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,chan_local,Local proxy channel, an implementation of local proxy channel))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,codec_alaw,Signed linear to alaw translation,translation between signed linear and alaw codecs))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,codec_ulaw,Signed linear to ulaw translation,translation between signed linear and ulaw codecs))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,codec_a_mu,Alaw to ulaw translation,translation between alaw and ulaw codecs))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,codec_g722,G.722,a high bit rate 48/56/64Kbps ITU standard codec))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,codec_g726,Signed linear to G.726 translation,translation between signed linear and ITU G.726-32kbps codecs))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,codec_ilbc,iLBC,internet Low Bitrate Codec))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,codec_gsm,GSM,GSM codec))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,format_g726,G.726,support for headerless G.726 16/24/32/40kbps data format))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,format_g729,G.729,support for raw headerless G729 data))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,format_sln,Raw slinear format,support for raw slinear format))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,format_sln16,Raw slinear 16 format,support for Raw slinear 16 format))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_db,Database interaction,functions for interaction with the database))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_devstate,Blinky lights control,functions for manually controlled blinky lights))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_vmcount,vmcount dialplan,a vmcount dialplan function))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_extstate,Hinted extension state,retrieving the state of a hinted extension for dialplan control))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_global,Global variable,global variable dialplan functions))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_shell,Shell,support for shell execution))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,pbx_ael,Asterisk Extension Logic,support for symbolic Asterisk Extension Logic))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,res_ael_share,Shareable AEL code,support for shareable AEL code mainly between internal and external modules))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,pbx_spool,Call Spool,outgoing call spool support))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,res_agi,Asterisk Gateway Interface,support for the Asterisk Gateway Interface extension))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,res_crypto,Provide Crypto,Cryptographic Signature capability))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_alarmreceiver,Alarm receiver,Central Station Alarm receiver for Ademco Contact ID))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_setcallerid,Set callerid,support for setting callerid))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_verbose,Verbose logging,Verbose logging application))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_channel,Channel info,Channel info dialplan function))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_blacklist,Blacklist on callerid,looking up the callerid number and see if it is blacklisted))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_originate,Originate a call,originating an outbound call and connecting it to a specified extension or application))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_uri,URI encoding and decoding,Encodes and decodes URI-safe strings))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_disa,Direct Inward System Access,Direct Inward System Access))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_senddtmf,Send DTMF digits,Sends arbitrary DTMF digits))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,func_cut,CUT function,CUT function))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,res_clioriginate,Calls via CLI,Originate calls via the CLI))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_mixmonitor,Record a call and mix the audio,record a call and mix the audio during the recording))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_playtones,Playtones application,play a tone list))
|
||||
$(eval $(call Buildasterisk18-modModuleTemplate,app_record,Record sound file,to record a sound file))
|
||||
4
asterisk-1.8.x-mod/files/asterisk.default
Normal file
4
asterisk-1.8.x-mod/files/asterisk.default
Normal file
@@ -0,0 +1,4 @@
|
||||
## startup options for /etc/init.d/asterisk
|
||||
|
||||
ENABLE_ASTERISK="yes"
|
||||
OPTIONS=""
|
||||
19
asterisk-1.8.x-mod/files/asterisk.hotplug
Normal file
19
asterisk-1.8.x-mod/files/asterisk.hotplug
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ "$ACTION" = ifup ] || exit 0
|
||||
|
||||
config_load voice_client
|
||||
config_get bindintf SIP bindintf
|
||||
|
||||
[ "$INTERFACE" == "$bindintf" ] || exit 0
|
||||
|
||||
. /lib/functions/network.sh
|
||||
|
||||
if [ -n "$bindintf" ]; then
|
||||
network_get_ipaddr bindaddr "$bindintf"
|
||||
[ -z "$bindaddr" ] && network_get_ipaddr6 bindaddr "$bindintf"
|
||||
bindaddr="${bindaddr:-0.0.0.0}"
|
||||
sed -i "s/bindaddr=.*/bindaddr=$bindaddr/g" /etc/asterisk/sip.conf
|
||||
[ -e /var/run/asterisk/asterisk.ctl ] && /etc/init.d/asterisk reload
|
||||
fi
|
||||
|
||||
56
asterisk-1.8.x-mod/files/asterisk.init
Normal file
56
asterisk-1.8.x-mod/files/asterisk.init
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=98
|
||||
STOP=10
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
. /lib/functions/network.sh
|
||||
USE_PROCD=1
|
||||
NAME=asterisk
|
||||
PROG=/usr/sbin/asterisk
|
||||
DEFAULT=/etc/default/asterisk
|
||||
CONFDIR=/etc/asterisk
|
||||
|
||||
init_asterisk() {
|
||||
[ -f $DEFAULT ] && . $DEFAULT
|
||||
[ -d /var/run/asterisk ] || mkdir -p /var/run/asterisk
|
||||
[ -d /var/log/asterisk ] || mkdir -p /var/log/asterisk
|
||||
[ -d /var/spool/asterisk ] || mkdir -p /var/spool/asterisk
|
||||
|
||||
# does the board have a fxs relay?
|
||||
local fxsRelayGpio=$(db -q get hw.board.fxsRelayGpio)
|
||||
if [ "$fxsRelayGpio" != "" ]; then
|
||||
/sbin/brcm_fw_tool set -x $fxsRelayGpio -p 1
|
||||
fi
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger voice_client
|
||||
}
|
||||
|
||||
start_service() {
|
||||
init_asterisk
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command "$PROG" -f
|
||||
procd_set_param respawn
|
||||
procd_close_instance
|
||||
# service_start /usr/sbin/asterisk
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
asterisk -rx "config reload $CONFDIR/sip.conf"
|
||||
sleep 1
|
||||
asterisk -rx "core reload"
|
||||
asterisk -rx "dialplan reload"
|
||||
asterisk -rx "brcm reload"
|
||||
}
|
||||
|
||||
restart() {
|
||||
reload
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
service_stop /usr/sbin/asterisk
|
||||
}
|
||||
|
||||
47
brcmslic/Makefile
Normal file
47
brcmslic/Makefile
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=0.1
|
||||
PKG_SOURCE_URL:=git@private.inteno.se:brcmslic
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=837ec19e37650e424e77c921672a0806e198ba7b
|
||||
PKG_NAME:=brcmslic
|
||||
|
||||
|
||||
RSTRIP:=true
|
||||
export BUILD_DIR
|
||||
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/brcmslic
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Brcmslic
|
||||
URL:=
|
||||
DEPENDS:=
|
||||
endef
|
||||
|
||||
define Package/brcmslic/description
|
||||
Brcmslic
|
||||
endef
|
||||
|
||||
|
||||
define Package/brcmslic/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_DIR) $(1)/etc/init.d/
|
||||
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/brcmslic $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/endpt $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,brcmslic))
|
||||
66
dectmngr/Makefile
Normal file
66
dectmngr/Makefile
Normal file
@@ -0,0 +1,66 @@
|
||||
#
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.0.23
|
||||
PKG_SOURCE_URL:=http://public.inteno.se:/dectmngr
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=90aff0da98c626d58201c14c34b3b3a64878ceee
|
||||
PKG_NAME:=dectmngr
|
||||
|
||||
|
||||
LDFLAGS+= \
|
||||
-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
|
||||
-Wl,-rpath-link=$(STAGING_DIR)/lib
|
||||
|
||||
RSTRIP:=true
|
||||
export BUILD_DIR
|
||||
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/dectmngr
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Broadcom endpoint test application
|
||||
URL:=
|
||||
DEPENDS:= +libevent2 +libjson +natalie-dect-h bcmkernel
|
||||
endef
|
||||
|
||||
define Package/dectmngr/description
|
||||
Dect proxy, manager and tools
|
||||
endef
|
||||
|
||||
|
||||
define Package/dectmngr/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_DIR) $(1)/sbin
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/dect
|
||||
$(INSTALL_DIR) $(1)/etc/init.d/
|
||||
$(INSTALL_DIR) $(1)/etc/dect/
|
||||
$(INSTALL_DIR) $(1)/etc/config/
|
||||
|
||||
cp $(PKG_BUILD_DIR)/dectmngr $(1)/usr/bin/
|
||||
cp $(PKG_BUILD_DIR)/atohx $(1)/usr/bin/
|
||||
cp $(PKG_BUILD_DIR)/dectproxy $(1)/usr/bin/
|
||||
cp $(PKG_BUILD_DIR)/dectdbgd $(1)/usr/bin/
|
||||
cp $(PKG_BUILD_DIR)/dect $(1)/usr/bin/
|
||||
cp $(PKG_BUILD_DIR)/dectcalib $(1)/usr/bin/
|
||||
cp $(PKG_BUILD_DIR)/dect_testmode $(1)/usr/bin/
|
||||
cp files/etc/init.d/* $(1)/etc/init.d/
|
||||
cp files/etc/hotplug.d/dect/* $(1)/etc/hotplug.d/dect/
|
||||
cp files/etc/dect/* $(1)/etc/dect/
|
||||
cp files/etc/config/* $(1)/etc/config/
|
||||
cp files/sbin/dectreg $(1)/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,dectmngr))
|
||||
3
dectmngr/files/etc/config/dect
Executable file
3
dectmngr/files/etc/config/dect
Executable file
@@ -0,0 +1,3 @@
|
||||
config dect 'dect'
|
||||
option 'radio' 'auto'
|
||||
|
||||
BIN
dectmngr/files/etc/dect/dect_testmode.dat
Normal file
BIN
dectmngr/files/etc/dect/dect_testmode.dat
Normal file
Binary file not shown.
BIN
dectmngr/files/etc/dect/nvs_default
Normal file
BIN
dectmngr/files/etc/dect/nvs_default
Normal file
Binary file not shown.
15
dectmngr/files/etc/hotplug.d/dect/00-dectstate
Normal file
15
dectmngr/files/etc/hotplug.d/dect/00-dectstate
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$ACTION" == "led_blink" ]; then
|
||||
ubus call led.dect set '{"state":"notice"}'
|
||||
fi
|
||||
|
||||
if [ "$ACTION" == "led_on" ]; then
|
||||
ubus call led.dect set '{"state":"ok"}'
|
||||
fi
|
||||
|
||||
if [ "$ACTION" == "led_off" ]; then
|
||||
ubus call led.dect set '{"state":"off"}'
|
||||
fi
|
||||
|
||||
|
||||
60
dectmngr/files/etc/init.d/dect
Executable file
60
dectmngr/files/etc/init.d/dect
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=97
|
||||
STOP=10
|
||||
USE_PROCD=1
|
||||
|
||||
DEST=
|
||||
DEFAULT=
|
||||
OPTIONS=""
|
||||
|
||||
|
||||
start_service() {
|
||||
# avoid fp timing problem
|
||||
echo 1 > /proc/sys/kernel/printk_with_interrupt_enabled
|
||||
|
||||
# setup board specific dect parameters
|
||||
cat /proc/nvram/rfpi | tr -d ' ' | atohx > /tmp/rfpi
|
||||
cat /proc/nvram/fixed_emc | tr -d ' ' | atohx > /tmp/fixed_emc
|
||||
cat /proc/nvram/bcm_def_freq | tr -d ' ' | atohx > /tmp/bcm_def_freq
|
||||
DECTANTDIV=`db get hw.board.DectAntennaDiversity`
|
||||
case "$DECTANTDIV" in
|
||||
1|off) echo -ne "\x01" > /tmp/dect_antenna_diversity ;;
|
||||
2) echo -ne "\x02" > /tmp/dect_antenna_diversity ;;
|
||||
*) echo -ne "\x00" > /tmp/dect_antenna_diversity ;;
|
||||
esac
|
||||
|
||||
if [ ! -f /etc/dect/nvs ]; then
|
||||
cp /etc/dect/nvs_default /etc/dect/nvs
|
||||
dd of=/etc/dect/nvs if=/tmp/rfpi conv=notrunc bs=1 seek=0
|
||||
dd of=/etc/dect/nvs if=/tmp/fixed_emc conv=notrunc bs=1 seek=10
|
||||
dd of=/etc/dect/nvs if=/tmp/bcm_def_freq conv=notrunc bs=1 seek=6
|
||||
dd of=/etc/dect/nvs if=/tmp/dect_antenna_diversity conv=notrunc bs=1 seek=32
|
||||
fsync /etc/dect/nvs
|
||||
fi
|
||||
|
||||
# init dectproxy
|
||||
dectproxy > /dev/null 2>&1 &
|
||||
dectmngr > /tmp/dectmngr 2>&1 &
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
killall -9 dectproxy
|
||||
killall -9 dectmngr
|
||||
}
|
||||
|
||||
restart_service() {
|
||||
echo "restarting dect"
|
||||
killall dectmngr
|
||||
dectmngr > /tmp/dectmngr 2>&1 &
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
# reload config
|
||||
dect -c
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger dect
|
||||
}
|
||||
|
||||
17
dectmngr/files/sbin/dectreg
Executable file
17
dectmngr/files/sbin/dectreg
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script is likely not used. Just exit with
|
||||
# an error and see if someone screems... If not,
|
||||
# we can delete this file.
|
||||
exit 1
|
||||
|
||||
|
||||
[ -f /var/dectisregistering ] || {
|
||||
touch /var/dectisregistering 2>/dev/null
|
||||
/usr/bin/dectmngr -r
|
||||
ubus call led.dect set '{"state" : "notice"}'
|
||||
sleep 20
|
||||
rm /var/dectisregistering 2>/dev/null
|
||||
/usr/bin/dectmngr -s
|
||||
ubus call led.dect set '{"state" : "ok"}'
|
||||
}
|
||||
@@ -8,10 +8,10 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.2.0
|
||||
PKG_VERSION:=1.1.0
|
||||
PKG_SOURCE_URL:=http://public.inteno.se:/dectmngr2
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=dafaf749e89d1efaa7eb02709a3c0ef3e813c052
|
||||
PKG_SOURCE_VERSION:=13da1568d57b8e6732dadc16de828d64c81906b8
|
||||
PKG_NAME:=dectmngr2
|
||||
|
||||
|
||||
|
||||
0
endptmngr/Config.in → endptcfg/Config.in
Executable file → Normal file
0
endptmngr/Config.in → endptcfg/Config.in
Executable file → Normal file
92
endptcfg/Makefile
Normal file
92
endptcfg/Makefile
Normal file
@@ -0,0 +1,92 @@
|
||||
#
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=endptcfg
|
||||
PKG_VERSION:=0.2
|
||||
|
||||
PKG_SOURCE_VERSION:=1194b05278bd0945ca5c76436e56617b86871a65
|
||||
ifeq ($(CONFIG_ENDPT_OPEN),y)
|
||||
BRCM_KERNEL_PROFILE=$(shell echo $(CONFIG_BCM_KERNEL_PROFILE) | sed s/\"//g)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(BRCM_KERNEL_PROFILE)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://iopsys.inteno.se/iopsys/consumer/
|
||||
PKG_NAME:=endptcfg-open
|
||||
else
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=git@private.inteno.se:endptcfg
|
||||
PKG_SOURCE_PROTO:=git
|
||||
endif
|
||||
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
LDFLAGS+= \
|
||||
-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
|
||||
-Wl,-rpath-link=$(STAGING_DIR)/lib
|
||||
|
||||
BCMKERNEL_DIR:=$(BUILD_DIR)/bcmkernel/bcm963xx
|
||||
export BCMKERNEL_DIR
|
||||
|
||||
TARGET_LDFLAGS += $(BCMKERNEL_DIR)/userspace/private/apps/vodsl/telephonyProfiles/telephonyProfiles.o \
|
||||
$(BCMKERNEL_DIR)/userspace/private/apps/vodsl/voip/util/log/vodslLog.o \
|
||||
$(BCMKERNEL_DIR)/userspace/private/apps/vodsl/endpoint/endpoint_user.o \
|
||||
$(BCMKERNEL_DIR)/userspace/private/apps/vodsl/bos/bos.o \
|
||||
-lpthread
|
||||
|
||||
TARGET_CFLAGS += -DFAKE_SSP
|
||||
|
||||
RSTRIP:=true
|
||||
export BUILD_DIR
|
||||
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/endptcfg
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Broadcom endpoint driver configuration application
|
||||
URL:=
|
||||
DEPENDS:=+libpthread bcmkernel
|
||||
endef
|
||||
|
||||
define Package/endptcfg/description
|
||||
Broadcom endpoint driver configuration application
|
||||
endef
|
||||
|
||||
define Package/endptcfg/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
ifneq ($(CONFIG_ENDPT_OPEN),y)
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
$(TARGET_CONFIGURE_OPTS) LINUX_DIR=$(LINUX_DIR) LDFLAGS="$(TARGET_LDFLAGS)" CFLAGS="$(TARGET_CFLAGS) \
|
||||
-I$(LINUX_DIR)/include \
|
||||
-I$(STAGING_DIR)/usr/include \
|
||||
-DRS_ENDIAN_TYPE=RS_BIG_ENDIAN \
|
||||
-DBOS_OS_LINUXUSER -DBOS_CFG_TIME \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/broadcom/include/bcm963xx \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/xChange/dslx_common/voice_res_gw/endpt/inc \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/xChange/dslx_common/voice_res_gw/inc \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/xChange/dslx_common/voice_res_gw/codec \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/xChange/dslx_common/xchg_common/bos/publicInc \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/xChange/dslx_common/voice_res_gw/casCtl/inc \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/xChange/dslx_common/xchg_drivers/inc \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/userspace/private/apps/vodsl/voip/inc \
|
||||
-I$(STAGING_DIR)/usr/include/bcm963xx/xChange/dslx_common/xchg_common/bos/LinuxUser"
|
||||
endef
|
||||
else
|
||||
define Build/Compile
|
||||
endef
|
||||
endif
|
||||
|
||||
define Package/endptcfg/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
cp $(PKG_BUILD_DIR)/endptcfg $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,endptcfg))
|
||||
@@ -1,66 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=0.2
|
||||
PKG_SOURCE_VERSION:=0cb8accbac3355b97a17064ec7da010a2c42db7b
|
||||
|
||||
|
||||
ifeq ($(CONFIG_ENDPT_OPEN),y)
|
||||
BRCM_KERNEL_PROFILE=$(shell echo $(CONFIG_BCM_KERNEL_PROFILE) | sed s/\"//g)
|
||||
PKG_SOURCE:=endptmngr-$(BRCM_KERNEL_PROFILE)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://iopsys.inteno.se/iopsys/consumer/
|
||||
PKG_NAME:=endptmngr-open
|
||||
else
|
||||
PKG_SOURCE_URL:=git@private.inteno.se:endptmngr
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_NAME:=endptmngr
|
||||
endif
|
||||
|
||||
RSTRIP:=true
|
||||
export BUILD_DIR
|
||||
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/endptmngr/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
define Package/endptmngr
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Brcmslic
|
||||
URL:=
|
||||
DEPENDS:= +libubox +ubus +libpicoevent +PACKAGE_bcmkernel:bcmkernel +PACKAGE_bcmopen:bcmopen
|
||||
endef
|
||||
|
||||
define Package/endptmngr/description
|
||||
endptmngr
|
||||
endef
|
||||
|
||||
ifeq ($(CONFIG_ENDPT_OPEN),y)
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
endif
|
||||
|
||||
|
||||
define Package/endptmngr/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_DIR) $(1)/etc/init.d/
|
||||
cp $(PKG_BUILD_DIR)/files/etc/init.d/* $(1)/etc/init.d/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/endptmngr $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,endptmngr))
|
||||
@@ -19,21 +19,20 @@ export PLATFORM_INCLUDE:=platforms/iopsys/build.mk
|
||||
|
||||
export DATE:=$(shell date +%Y-%m-%d-%H-%M-%S)
|
||||
export LOGIN:=$(shell whoami)
|
||||
BASE_PKG_VERSION:=5.1.1
|
||||
PKG_RELEASE:=
|
||||
PKG_VERSION:=$(BASE_PKG_VERSION)$(PKG_RELEASE)_$(DATE)_$(LOGIN)
|
||||
BASE_PKG_VERSION:=5.0.1
|
||||
PKG_RELEASE:=RC0
|
||||
PKG_VERSION:=$(BASE_PKG_VERSION)-$(PKG_RELEASE)_$(DATE)_$(LOGIN)
|
||||
export PKG_VERSION
|
||||
|
||||
###########################--RELEASE--################################
|
||||
|
||||
PKG_SOURCE_VERSION:=e8bf50630e6ba12dc2d223112643077c4db49189
|
||||
PKG_SOURCE_VERSION:=4a0ebce9e55b0bd9b44bfe5e96e820336cc9dc0f
|
||||
ifeq ($(CONFIG_ICE_OPEN),y)
|
||||
TARGET_PROFILE=$(shell echo $(CONFIG_TARGET_BOARD) | sed s/\"//g)
|
||||
PKG_SOURCE_URL:=http://iopsys.inteno.se/iopsys/consumer/
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(TARGET_PROFILE)-$(BASE_PKG_VERSION)$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
SKIPHASH=1
|
||||
export SKIPHASH
|
||||
else
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=git@private.inteno.se:ice-client.git
|
||||
@@ -132,12 +131,12 @@ endef
|
||||
|
||||
ifeq ($(CONFIG_ICE_OPEN),y)
|
||||
define Package/ice-client/install
|
||||
#$(INSTALL_DIR) $(1)/bin
|
||||
#$(INSTALL_DIR) $(1)/etc
|
||||
#$(INSTALL_DIR) $(1)/usr
|
||||
#$(CP) $(PKG_BUILD_DIR)/bin/* $(1)/bin/
|
||||
#$(CP) $(PKG_BUILD_DIR)/etc/* $(1)/etc/
|
||||
#$(CP) $(PKG_BUILD_DIR)/usr/* $(1)/usr/
|
||||
$(INSTALL_DIR) $(1)/bin
|
||||
$(INSTALL_DIR) $(1)/etc
|
||||
$(INSTALL_DIR) $(1)/usr
|
||||
$(CP) $(PKG_BUILD_DIR)/bin/* $(1)/bin/
|
||||
$(CP) $(PKG_BUILD_DIR)/etc/* $(1)/etc/
|
||||
$(CP) $(PKG_BUILD_DIR)/usr/* $(1)/usr/
|
||||
endef
|
||||
else
|
||||
define Package/ice-client/install
|
||||
|
||||
28
icwmp/Config_cwmp.in → icwmp/Config.in
Executable file → Normal file
28
icwmp/Config_cwmp.in → icwmp/Config.in
Executable file → Normal file
@@ -15,21 +15,33 @@ config CWMP_ACS_HDM
|
||||
bool "HDM"
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Select Data Model"
|
||||
default tr098
|
||||
|
||||
config DATAMODEL_TR098
|
||||
bool "TR-098"
|
||||
|
||||
config DATAMODEL_TR181
|
||||
bool "TR-181"
|
||||
endchoice
|
||||
|
||||
config CWMP_DEBUG
|
||||
bool "Compile with debug options"
|
||||
default y
|
||||
|
||||
config XMPP_ENABLE
|
||||
bool "enable xmpp feature"
|
||||
default n
|
||||
choice
|
||||
prompt "enable xmpp feature"
|
||||
default disable
|
||||
|
||||
config XMPP_DISABLE
|
||||
bool "disable"
|
||||
|
||||
config XMPP_ENABLE
|
||||
bool "enable"
|
||||
endchoice
|
||||
config CWMP_DEVEL_DEBUG
|
||||
bool "Compile with development debug options"
|
||||
default n
|
||||
|
||||
config LIBDATAMODEL_VENDOR_PREFIX
|
||||
string "Vendor Prefix"
|
||||
default "X_Inteno_SE_"
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
if PACKAGE_libdatamodel
|
||||
|
||||
config UPNP_TR064
|
||||
bool "Compile with tr064 features"
|
||||
default n
|
||||
|
||||
endif
|
||||
@@ -8,11 +8,11 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=icwmp
|
||||
PKG_VERSION:=4.0-2018-07-16
|
||||
PKG_VERSION:=3.0-2017-11-24
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_SOURCE_URL:=http://public.inteno.se:/icwmp.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=d22821b251277584cfbcce98a98a4261813418ce
|
||||
PKG_SOURCE_VERSION:=d74b88913f676ebf9a210c4674555d080e57ff52
|
||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
@@ -30,19 +30,11 @@ CWMP_REVISION=$(shell svnversion ./src/ -n|cut -f2 -d:)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/libdatamodel
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=Library for broadband-forum data model
|
||||
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
|
||||
endef
|
||||
|
||||
|
||||
define Package/icwmp/Default
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=CWMP client
|
||||
DEPENDS:=+libuci +libmicroxml +libubox +jshn +libubus +libblobmsg-json +libpthread +ubusd +shflags +getopt +zlib +libjson-c +libopenssl +libexpat +libstrophe +curl +libtrace +libdatamodel
|
||||
DEPENDS:=+libuci +libmicroxml +libubox +jshn +libubus +libblobmsg-json +libpthread +ubusd +shflags +getopt +zlib +libjson-c +libopenssl +libexpat +libstrophe +curl +libtrace
|
||||
endef
|
||||
|
||||
define Package/icwmp/description
|
||||
@@ -64,11 +56,7 @@ define Package/icwmp-zstream
|
||||
endef
|
||||
|
||||
define Package/icwmp-zstream/config
|
||||
source "$(SOURCE)/Config_cwmp.in"
|
||||
endef
|
||||
|
||||
define Package/libdatamodel/config
|
||||
source "$(SOURCE)/Config_datamodel.in"
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
|
||||
@@ -78,12 +66,10 @@ define Build/Prepare
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
|
||||
ifeq ($(CONFIG_TARGET_IBOARDID),"EX400")
|
||||
TARGET_CFLAGS += -DEX400
|
||||
endif
|
||||
|
||||
TARGET_CFLAGS += -DCUSTOM_PREFIX=\\\"$(CONFIG_LIBDATAMODEL_VENDOR_PREFIX)\\\"
|
||||
|
||||
TARGET_CFLAGS += \
|
||||
-D_GNU_SOURCE -D_AADJ
|
||||
|
||||
@@ -103,17 +89,10 @@ CONFIGURE_ARGS += \
|
||||
--with-uci-include-path=$(STAGING_DIR)/usr/include \
|
||||
--with-libubox-include-path=$(STAGING_DIR)/usr/include \
|
||||
--with-libubus-include-path=$(STAGING_DIR)/usr/include
|
||||
|
||||
ifeq ($(CONFIG_UPNP_TR064),y)
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-upnptr064
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_XMPP_ENABLE),y)
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-xmpp
|
||||
endif
|
||||
|
||||
|
||||
CONFIGURE_ARGS += $(if $(CONFIG_DATAMODEL_TR181),--enable-datamodel=tr181,--enable-datamodel=tr098)
|
||||
CONFIGURE_ARGS += $(if $(CONFIG_XMPP_ENABLE),--enable-xmpp=enable,--enable-xmpp=disable)
|
||||
|
||||
ifeq ($(BUILD_VARIANT),zstream)
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-http=zstream \
|
||||
@@ -145,44 +124,30 @@ CONFIGURE_ARGS += \
|
||||
--enable-devel
|
||||
endif
|
||||
|
||||
define Package/libdatamodel/install
|
||||
$(INSTALL_DIR) $(1)/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.so* $(1)/lib/
|
||||
endef
|
||||
|
||||
define Package/icwmp-$(BUILD_VARIANT)/install
|
||||
$(INSTALL_DIR) $(1)/etc/icwmpd
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/dmmap $(1)/etc/icwmpd
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(CP) $(PKG_BUILD_DIR)/bin/.libs/icwmpd $(1)/usr/sbin
|
||||
$(CP) $(PKG_BUILD_DIR)/bin/icwmpd $(1)/usr/sbin
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp $(1)/etc/config
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/dmmap $(1)/etc/icwmpd
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/firewall.cwmp $(1)/etc/firewall.cwmp
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmpd.init $(1)/etc/init.d/icwmpd
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uci-defaults/90-cwmpfirewall $(1)/etc/uci-defaults/90-cwmpfirewall
|
||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||
$(CP) ./files/icwmp.hotplug $(1)/etc/hotplug.d/iface/90-icwmp
|
||||
ifeq ($(CONFIG_CWMP_SCRIPTS_FULL),y)
|
||||
$(INSTALL_DIR) $(1)/usr/share/icwmp
|
||||
$(CP) $(PKG_BUILD_DIR)/scripts/defaults $(1)/usr/share/icwmp
|
||||
$(CP) $(PKG_BUILD_DIR)/scripts/functions $(1)/usr/share/icwmp
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/icwmp.sh $(1)/usr/sbin/icwmp
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/iwepkeygen $(1)/usr/sbin/iwepkeygen
|
||||
endif
|
||||
$(CP) ./files/* $(1)/
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(INSTALL_DIR) $(1)/usr/include/libdatamodel
|
||||
$(CP) $(PKG_BUILD_DIR)/dm/*.h $(1)/usr/include/libdatamodel
|
||||
$(CP) $(PKG_BUILD_DIR)/dm/dmtree/common/root.h $(1)/usr/include/libdatamodel
|
||||
$(INSTALL_DIR) $(1)/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.so* $(1)/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.a $(1)/lib
|
||||
endef
|
||||
|
||||
|
||||
define Package/icwmp-$(BUILD_VARIANT)/postinst
|
||||
#!/bin/sh
|
||||
echo "$(CWMP_BKP_FILE)" >> $${IPKG_INSTROOT}/etc/sysupgrade.conf
|
||||
@@ -204,5 +169,4 @@ endef
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,icwmp-curl))
|
||||
$(eval $(call BuildPackage,libdatamodel))
|
||||
$(eval $(call BuildPackage,icwmp-zstream))
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions/network.sh
|
||||
|
||||
[ "$ACTION" == "ifup" ] || exit 0
|
||||
|
||||
[ -f /etc/config/cwmp ] || exit 0
|
||||
|
||||
handle_icwmp_restart() {
|
||||
[ -f /tmp/switching_mode ] && exit 0
|
||||
[ -f /tmp/wificontrol.txt -a -f /tmp/netmode-conf.pid ] && exit 0
|
||||
|
||||
[ "$INTERFACE" == "loopback" ] && exit 0
|
||||
|
||||
local defwan=$(uci -q get cwmp.cpe.default_wan_interface)
|
||||
[ -n "$defwan" -a "$(uci -q get network.$defwan)" == "interface" -a "$defwan" != "$INTERFACE" ] && exit 0
|
||||
|
||||
local islan="$(uci -q get network.$INTERFACE.is_lan)"
|
||||
[ "$islan" == "1" ] && exit 0
|
||||
|
||||
local proto="$(uci -q get network.$INTERFACE.proto)"
|
||||
[ "$proto" == "none" ] && exit 0
|
||||
|
||||
local ifname="$(uci -q get network.$INTERFACE.ifname)"
|
||||
[ "${ifname:0:1}" == "@" ] && exit 0
|
||||
|
||||
mkdir -p /tmp/ipv4
|
||||
|
||||
network_flush_cache
|
||||
|
||||
local previpaddr=""
|
||||
local curipaddr=""
|
||||
local ipaddrfile=/tmp/ipv4/$INTERFACE-ipaddr
|
||||
previpaddr=$(cat $ipaddrfile 2>/dev/null)
|
||||
network_get_ipaddr curipaddr $INTERFACE
|
||||
[ -n "$curipaddr" ] && echo $curipaddr > $ipaddrfile || rm -f $ipaddrfile
|
||||
|
||||
local prevgateway=""
|
||||
local curgateway=""
|
||||
local gatewayfile=/tmp/ipv4/$INTERFACE-gateway
|
||||
prevgateway=$(cat $gatewayfile 2>/dev/null)
|
||||
network_get_gateway curgateway $INTERFACE
|
||||
[ -n "$curgateway" ] && echo $curgateway > $gatewayfile || rm -f $gatewayfile
|
||||
|
||||
local prevsubnets=""
|
||||
local cursubnets=""
|
||||
local subnetsfile=/tmp/ipv4/$INTERFACE-subnets
|
||||
prevsubnets=$(cat $subnetsfile 2>/dev/null)
|
||||
network_get_subnets cursubnets $INTERFACE
|
||||
[ -n "$cursubnets" ] && echo $cursubnets > $subnetsfile || rm -f $subnetsfile
|
||||
|
||||
local prevdnsservers=""
|
||||
local curdnsservers=""
|
||||
local dnsserverfile=/tmp/ipv4/$INTERFACE-dnsservers
|
||||
prevdnsservers=$(cat $dnsserverfile 2>/dev/null)
|
||||
network_get_dnsserver curdnsservers $INTERFACE
|
||||
[ -n "$curdnsservers" ] && echo $curdnsservers > $dnsserverfile || rm -f $dnsserverfile
|
||||
|
||||
local prevdev=""
|
||||
local curdev=""
|
||||
local devfile=/tmp/ipv4/$INTERFACE-dev
|
||||
prevdev=$(cat $devfile 2>/dev/null)
|
||||
network_get_device curdev $INTERFACE
|
||||
[ -n "$curdev" ] && echo $curdev > $devfile || rm -f $devfile
|
||||
|
||||
[ \
|
||||
"$prevdev" == "$curdev" -a \
|
||||
"$previpaddr" = "$curipaddr" -a \
|
||||
"$prevgateway" = "$curgateway" -a \
|
||||
"$prevsubnets" = "$cursubnets" -a \
|
||||
"$prevdnsservers" = "$curdnsservers" \
|
||||
] && exit 0
|
||||
|
||||
/etc/init.d/icwmpd reload &
|
||||
}
|
||||
|
||||
handle_icwmp_restart
|
||||
@@ -1,44 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
set_cwmp_reqopts() {
|
||||
### Ask for DHCP Option 43 only if CWMP is enabled ###
|
||||
local wan=$(uci -q get cwmp.cpe.default_wan_interface)
|
||||
local dhcp_discovery=$(uci -q get cwmp.acs.dhcp_discovery)
|
||||
local discovery=0
|
||||
case $dhcp_discovery in
|
||||
enable|1) discovery=1 ;;
|
||||
esac
|
||||
|
||||
local newreqopts=
|
||||
local baseopts=
|
||||
local reqopts="$(uci -q get network.$wan.reqopts)"
|
||||
local proto="$(uci -q get network.$wan.proto)"
|
||||
local tropts="43"
|
||||
local oldreqopts="$reqopts"
|
||||
local ropt iopt
|
||||
for ropt in $reqopts; do
|
||||
case $ropt in
|
||||
43) ;;
|
||||
*) baseopts="$baseopts $ropt" ;;
|
||||
esac
|
||||
done
|
||||
ropt=""
|
||||
reqopts="$baseopts $tropts"
|
||||
for ropt in $reqopts; do
|
||||
case $ropt in
|
||||
43) [ $discovery -eq 1 ] && newreqopts="$newreqopts $ropt" ;;
|
||||
*) newreqopts="$newreqopts $ropt" ;;
|
||||
esac
|
||||
done
|
||||
if [ "$proto" == "dhcp" ]; then
|
||||
newreqopts="$(echo $newreqopts | tr ' ' '\n' | sort -n | tr '\n' ' ' | sed 's/^[ \t]*//;s/[ \t]*$//')"
|
||||
oldreqopts="$(echo $oldreqopts | tr ' ' '\n' | sort -n | tr '\n' ' ' | sed 's/^[ \t]*//;s/[ \t]*$//')"
|
||||
[ "$newreqopts" == "$oldreqopts" ] && return
|
||||
uci -q set network.$wan.reqopts="$newreqopts"
|
||||
uci commit network
|
||||
fi
|
||||
}
|
||||
|
||||
set_cwmp_reqopts
|
||||
44
icwmp/files/icwmp.hotplug
Normal file
44
icwmp/files/icwmp.hotplug
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
|
||||
grep -q "Designated" /etc/banner || exit 0
|
||||
|
||||
. /lib/functions/network.sh
|
||||
|
||||
[ "$ACTION" == "ifup" ] || exit 0
|
||||
|
||||
local islan="$(uci -q get network.$INTERFACE.is_lan)"
|
||||
[ "$islan" == "1" ] && exit 0
|
||||
|
||||
local proto="$(uci -q get network.$INTERFACE.proto)"
|
||||
[ "$proto" == "none" ] && exit 0
|
||||
|
||||
local ifname="$(uci -q get network.$INTERFACE.ifname)"
|
||||
[ "${ifname:0:1}" == "@" ] && exit 0
|
||||
|
||||
mkdir -p /tmp/ipv4
|
||||
|
||||
local previpaddr=""
|
||||
local curipaddr=""
|
||||
local ipaddrfile=/tmp/ipv4/$INTERFACE-ipaddr
|
||||
previpaddr=$(cat $ipaddrfile 2>/dev/null)
|
||||
network_get_ipaddr curipaddr $INTERFACE
|
||||
[ -n "$curipaddr" ] && echo $curipaddr > $ipaddrfile || rm -f $ipaddrfile
|
||||
|
||||
local prevgateway=""
|
||||
local curgateway=""
|
||||
local gatewayfile=/tmp/ipv4/$INTERFACE-gateway
|
||||
prevgateway=$(cat $gatewayfile 2>/dev/null)
|
||||
network_get_gateway curgateway $INTERFACE
|
||||
[ -n "$curgateway" ] && echo $curgateway > $gatewayfile || rm -f $gatewayfile
|
||||
|
||||
local prevsubnets=""
|
||||
local cursubnets=""
|
||||
local subnetsfile=/tmp/ipv4/$INTERFACE-subnets
|
||||
prevsubnets=$(cat $subnetsfile 2>/dev/null)
|
||||
network_get_subnets cursubnets $INTERFACE
|
||||
[ -n "$cursubnets" ] && echo $cursubnets > $subnetsfile || rm -f $subnetsfile
|
||||
|
||||
[ "$previpaddr" = "$curipaddr" -a "$prevgateway" = "$curgateway" -a "$prevsubnets" = "$cursubnets" ] && exit 0
|
||||
|
||||
[ -f /etc/config/cwmp ] && /etc/init.d/icwmpd reload &
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2018 Inteno
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=imonitor
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
PKG_SOURCE_PROTO=git
|
||||
PKG_SOURCE_URL:=http://public.inteno.se/imonitor.git
|
||||
PKG_SOURCE_VERSION:=532f4900862bcb45d8cd4bf37555fabda81750b6
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
|
||||
PKG_MAINTAINER:=Sartura Support for Inteno <support-inteno@sartura.hr>
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/imonitor
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Inteno process supervisor
|
||||
DEPENDS:=+ubox +uci +ubus +rpcd +rpcd-mod-file
|
||||
endef
|
||||
|
||||
define Package/imonitor/description
|
||||
imonitor is a process supervisor or a process control system similar to the Supervisor (http://supervisord.org/)
|
||||
endef
|
||||
|
||||
define Package/imonitor/install
|
||||
$(CP) ./files/* $(1)/
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/imonitor $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,imonitor))
|
||||
@@ -1,9 +0,0 @@
|
||||
config monitor
|
||||
option app 'test'
|
||||
option test 'echo test'
|
||||
option stream 'stdout'
|
||||
option string_match 'TEST'
|
||||
option execute 'echo executing test'
|
||||
option interval '10'
|
||||
option nr_tests '2'
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
#
|
||||
# Start the imonitor
|
||||
#
|
||||
|
||||
START=99
|
||||
STOP=01
|
||||
|
||||
USE_PROCD=1
|
||||
NAME=imonitor
|
||||
|
||||
start_service() {
|
||||
procd_open_instance
|
||||
procd_set_param command "imonitor"
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
procd_set_param respawn
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
stop() {
|
||||
service_stop imonitor
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ PKG_NAME:=inbd
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_VERSION:=f81c146f0b07540877545e5ab644ec8e29905a4d
|
||||
PKG_SOURCE_VERSION:=92f918d26c0ffc22d1704f5ea6cbb0bd7fdbdab9
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=http://public.inteno.se/inbd
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=inteno-netmodes
|
||||
PKG_VERSION:=0.2.0
|
||||
PKG_VERSION:=0.1.0
|
||||
|
||||
PKG_SOURCE_VERSION:=fbd7dcfab03df19b3c32675940e0aee708c7cf75
|
||||
PKG_SOURCE_VERSION:=8c97bebc03c1c61553c30b9fcdcd63bf9abe439d
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=http://public.inteno.se:/netmoded
|
||||
|
||||
@@ -19,7 +19,7 @@ include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/inteno-netmodes
|
||||
CATEGORY:=Base system
|
||||
DEPENDS:=+fping +ubus +libubox +libuci
|
||||
DEPENDS:=+fping +ubus +libubox
|
||||
TITLE:=Predefined Network Modes
|
||||
endef
|
||||
|
||||
@@ -29,8 +29,6 @@ endef
|
||||
|
||||
define Package/inteno-netmodes/install
|
||||
$(CP) ./files/* $(1)/
|
||||
$(INSTALL_DIR) $(1)/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/netmoded $(1)/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,inteno-netmodes))
|
||||
|
||||
@@ -2,46 +2,118 @@
|
||||
|
||||
[ "$INTERFACE" != "wan" ] && exit
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/network.sh
|
||||
. /lib/functions/netmode.sh
|
||||
|
||||
network_flush_cache
|
||||
network_get_ipaddr ipaddr $INTERFACE
|
||||
[ -z "$ipaddr" ] && exit
|
||||
|
||||
network_get_ipaddr ip $INTERFACE
|
||||
repeaterready="$(uci -q get netmode.setup.repeaterready)"
|
||||
curmode="$(uci -q get netmode.setup.curmode)"
|
||||
|
||||
if [ "$(netmode_get_ip_type $ipaddr)" == "private" ]; then
|
||||
if [ "$repeaterready" == "1" -o "${curmode:0:8}" == "repeater" ]; then
|
||||
# flush the ip on br-lan; br-lan will anyhow be deleted.
|
||||
# this is needed if the ip received on the wan is also from the same net
|
||||
logger -s -p user.info -t $0: [netmode] ip addr flush dev br-lan >/dev/console
|
||||
ip addr flush dev br-lan 2>/dev/null
|
||||
[ -z "$ip" ] && exit
|
||||
|
||||
# flush iptables in case the MASTER
|
||||
# tries to configure us before
|
||||
# firewall is disabled the proper way
|
||||
logger -s -p user.info -t $0: [netmode] iptables -F >/dev/console
|
||||
iptables -F
|
||||
|
||||
disable_firewall 1
|
||||
toggle_firewall() {
|
||||
local section=$1
|
||||
local disable=$2
|
||||
config_get name "$1" name
|
||||
if [ "$name" == "wan" ]; then
|
||||
uci -q set firewall.settings.disabled=$disable
|
||||
if [ "$disable" == "1" ]; then
|
||||
uci -q set firewall.$section.input="ACCEPT"
|
||||
else
|
||||
uci -q set firewall.$section.input="REJECT"
|
||||
fi
|
||||
uci -q commit firewall
|
||||
fi
|
||||
else
|
||||
disable_firewall 0
|
||||
fi
|
||||
}
|
||||
|
||||
case "$curmode" in
|
||||
repeater*)
|
||||
;;
|
||||
*)
|
||||
[ "$repeaterready" == "1" ] || return
|
||||
if [ "$(netmode_get_ip_type $ipaddr)" == "private" ]; then
|
||||
wificontrol_takes_over || switch_netmode repeater
|
||||
else
|
||||
switch_netmode routed
|
||||
fi
|
||||
;;
|
||||
set_disabled() {
|
||||
config_load firewall
|
||||
config_foreach toggle_firewall zone $1
|
||||
/etc/init.d/firewall reload
|
||||
}
|
||||
|
||||
is_inteno_macaddr()
|
||||
{
|
||||
macaddr=$1
|
||||
|
||||
echo $macaddr | grep -i -e "^00:22:07" \
|
||||
-e "^02:22:07" \
|
||||
-e "^44:D4:37" \
|
||||
-e "^00:0C:07" \
|
||||
-e "^02:0C:07" \
|
||||
-e "^06:0C:07" \
|
||||
-e "^00:0C:43" \
|
||||
-e "^02:0C:43" \
|
||||
-e "^06:0C:43" \
|
||||
&& return
|
||||
false
|
||||
}
|
||||
|
||||
switch_mode() {
|
||||
[ "$repeaterready" == "1" ] || return
|
||||
|
||||
# flush the ip on br-lan; br-lan will anyhow be deleted.
|
||||
# this is needed if the ip received on the wan is also from the same net
|
||||
ip addr flush dev br-lan
|
||||
|
||||
# flush iptables in case the MASTER
|
||||
# tries to configure us before
|
||||
# firewall is disabled the proper way
|
||||
iptables -F
|
||||
|
||||
ubus call leds set '{"state" : "allflash"}'
|
||||
|
||||
local ret=0
|
||||
# let netmode-conf up to 20 seconds before switching mode
|
||||
for tm in 2 4 6 8; do
|
||||
if [ -f /tmp/wificontrol.txt ]; then
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
sleep $tm
|
||||
done
|
||||
|
||||
# let netmode-conf take over
|
||||
[ $ret -eq 1 ] && return
|
||||
|
||||
# go head with switching mode
|
||||
touch -f /tmp/switching_mode
|
||||
echo "Switching to 'extender' mode" > /dev/console
|
||||
uci -q set netmode.setup.curmode='repeater'
|
||||
uci set netmode.setup.repeaterready=0
|
||||
uci commit netmode
|
||||
/etc/init.d/netmode reload
|
||||
echo "Restarting network services" > /dev/console
|
||||
ubus call network reload
|
||||
wifi reload nodat
|
||||
ubus call router.network reload
|
||||
ubus call leds set '{"state" : "normal"}'
|
||||
rm -f /tmp/switching_mode
|
||||
}
|
||||
|
||||
test_ip() {
|
||||
if [ -n "$(echo $ip | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)')" ]; then
|
||||
# private IP
|
||||
switch_mode
|
||||
set_disabled 1
|
||||
else
|
||||
# public IP
|
||||
set_disabled 0
|
||||
[ "$1" -eq "1" ] && {
|
||||
uci set netmode.setup.repeaterready=0
|
||||
uci commit netmode
|
||||
local pid="$(ps | grep wificontro[l] | awk '/repeater/ {print $1}')"
|
||||
[ "$pid" != "" ] && kill -9 $pid
|
||||
pid="$(pidof netmode-client-detect)"
|
||||
[ "$pid" == "" ] && /sbin/netmode-client-detect &
|
||||
|
||||
# set default JUCI page to overview
|
||||
uci -q set juci.juci.homepage="overview"
|
||||
uci commit juci
|
||||
}
|
||||
fi
|
||||
}
|
||||
|
||||
case "$(uci -q get netmode.setup.curmode)" in
|
||||
repeater*) test_ip ;;
|
||||
*) [ "$repeaterready" == "1" ] && test_ip 1;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ "$ACTION" == "ifup" -o "$ACTION" == "ifdown" ] || exit 0
|
||||
|
||||
interface_check() {
|
||||
local islan="$(uci -q get network.$INTERFACE.is_lan)"
|
||||
[ "$islan" == "1" ] && exit 0
|
||||
|
||||
local proto="$(uci -q get network.$INTERFACE.proto)"
|
||||
[ "$proto" == "none" ] && exit 0
|
||||
|
||||
local defroute="$(uci -q get network.$INTERFACE.defaultroute)"
|
||||
[ "$defroute" == "0" ] && exit 0
|
||||
}
|
||||
|
||||
interface_check
|
||||
if [ -n "$(pidof testnet)" ]; then
|
||||
testnet once
|
||||
else
|
||||
testnet &
|
||||
fi
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/network.sh
|
||||
|
||||
LOCKFILE="/tmp/70-shiftrange.lock"
|
||||
RESTRICTED_NETS=""
|
||||
ALL_NETS=""
|
||||
local lockfile="/tmp/70-shiftrange.lock"
|
||||
local restricted_nets=""
|
||||
local all_nets=""
|
||||
|
||||
|
||||
#####
|
||||
##### initial functions
|
||||
@@ -29,8 +30,8 @@ initial_check()
|
||||
|
||||
finish()
|
||||
{
|
||||
lock -u $LOCKFILE
|
||||
rm -f $LOCKFILE
|
||||
lock -u $lockfile
|
||||
rm -f $lockfile
|
||||
}
|
||||
|
||||
# just one instance of this script at a time
|
||||
@@ -40,13 +41,13 @@ just_one_instance()
|
||||
local limit=10
|
||||
|
||||
#wait for the lock to become free
|
||||
while [ -e $LOCKFILE ] ; do
|
||||
while [ -e $lockfile ] ; do
|
||||
sleep 1
|
||||
counter=$((counter + 1))
|
||||
[ "$counter" -gt "$limit" ] && exit 1
|
||||
done
|
||||
|
||||
lock $LOCKFILE
|
||||
lock $lockfile
|
||||
trap finish EXIT INT TERM
|
||||
}
|
||||
|
||||
@@ -94,7 +95,7 @@ next_network_address()
|
||||
local ip4=${ip%%/*}
|
||||
|
||||
local ip=$((($ip1 << 24) + ($ip2 << 16) + ($ip3 << 8) + $ip4))
|
||||
local one="$((1 << (32-$prefix)))"
|
||||
local one=$((1 << (32-$prefix)))
|
||||
local new=$(($ip + $one))
|
||||
|
||||
local n1=$((($new & 0xFF000000) >> 24))
|
||||
@@ -134,7 +135,7 @@ shift_range()
|
||||
{
|
||||
local net="$1"
|
||||
while true ; do
|
||||
if [ "$RESTRICTED_NETS" == "${RESTRICTED_NETS//$net/}" ] && [ "$ALL_NETS" == "${ALL_NETS//$net/}" ]; then
|
||||
if [ "$restricted_nets" == "${restricted_nets//$net/}" ] && [ "$all_nets" == "${all_nets//$net/}" ]; then
|
||||
# found a net that is not in restricted nets nor in all nets
|
||||
break
|
||||
fi
|
||||
@@ -149,8 +150,8 @@ shift_range()
|
||||
##### parse all interfaces section
|
||||
#####
|
||||
|
||||
# RESTRICTED_NETS = all the IPs on wan interfaces
|
||||
# ALL_NETS = all the IPs on any interface
|
||||
# restricted_nets = all the IPs on wan interfaces
|
||||
# all_nets = all the IPs on any interface
|
||||
parse_interface()
|
||||
{
|
||||
local interface=$1
|
||||
@@ -164,13 +165,13 @@ parse_interface()
|
||||
networks="$networks $(get_network_address $n)"
|
||||
done
|
||||
|
||||
[ "$is_lan" != "1" ] && RESTRICTED_NETS="$RESTRICTED_NETS $networks"
|
||||
ALL_NETS="$ALL_NETS $networks"
|
||||
[ "$is_lan" != "1" ] && restricted_nets="$restricted_nets $networks"
|
||||
all_nets="$all_nets $networks"
|
||||
}
|
||||
|
||||
# parse all the interfaces
|
||||
# get all the IPs on wan interfaces and store them in restrict_nets
|
||||
# get all the IPs on all interfaces and store them in ALL_NETS
|
||||
# get all the IPs on all interfaces and store them in all_nets
|
||||
parse_interfaces()
|
||||
{
|
||||
config_foreach parse_interface "interface"
|
||||
@@ -198,14 +199,14 @@ parse_lan()
|
||||
for ip in $ips ; do
|
||||
net="$(get_network_address $ip)"
|
||||
|
||||
if [ "$RESTRICTED_NETS" == "${RESTRICTED_NETS//$net/}" ] ; then
|
||||
if [ "$restricted_nets" == "${restricted_nets//$net/}" ] ; then
|
||||
# net is not in restricted nets
|
||||
# append ip to newips
|
||||
[ -z "$newips" ] && newips="${ip%/*}" || newips="$newips ${ip%/*}"
|
||||
continue
|
||||
fi
|
||||
|
||||
#net is in RESTRICTED_NETS
|
||||
#net is in restricted_nets
|
||||
local newnet=$(shift_range $net)
|
||||
local newip="$(first_host_in_network $newnet)"
|
||||
# append newip to newips
|
||||
@@ -228,6 +229,7 @@ parse_lans()
|
||||
config_foreach parse_lan "interface"
|
||||
}
|
||||
|
||||
|
||||
#####
|
||||
##### main
|
||||
#####
|
||||
|
||||
@@ -1,27 +1,102 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/netmode.sh
|
||||
include /lib/network
|
||||
|
||||
ps | grep hotplug | grep button && exit
|
||||
|
||||
[ -z "$INTERFACE" ] && exit
|
||||
MTK=0
|
||||
[ "$(db -q get hw.board.hardware)" == "EX400" ] && MTK=1
|
||||
|
||||
WANDEV="$(uci get layer2_interface_ethernet.Wan.ifname)"
|
||||
[ $MTK -eq 1 ] && WANDEV="eth0.2"
|
||||
|
||||
[ "$INTERFACE" != "$WANDEV" ] && exit
|
||||
|
||||
defroute=$(ip route | grep default | awk '{print$3}')
|
||||
|
||||
case "$(uci get netmode.setup.curmode)" in
|
||||
repeater*)
|
||||
echo "Preparing to switch mode"
|
||||
;;
|
||||
*)
|
||||
ping -c 1 -w 5 $defroute >/dev/null 2>&1 || {
|
||||
logger -s -t "80-repeater" "ping to $defroute failed, sending USR1 to udhcpc" >/dev/console
|
||||
killall -USR1 udhcpc
|
||||
}
|
||||
ping -c 1 -w 5 $defroute >/dev/null 2>&1 || killall -USR1 udhcpc
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
|
||||
get_wifi_wet_interface() {
|
||||
handle_interface() {
|
||||
config_get mode "$1" mode
|
||||
if [ "$mode" == "sta" -o "$mode" == "wet" ] ; then
|
||||
config_get ifname "$1" ifname
|
||||
echo "$ifname"
|
||||
fi
|
||||
}
|
||||
config_load wireless
|
||||
config_foreach handle_interface wifi-iface
|
||||
}
|
||||
|
||||
get_wifi_iface_cfgstr() {
|
||||
get_cfgno() {
|
||||
config_get ifname "$1" ifname
|
||||
[ "$ifname" == "$2" ] && echo "wireless.$1"
|
||||
}
|
||||
config_load wireless
|
||||
config_foreach get_cfgno wifi-iface $1
|
||||
}
|
||||
|
||||
link=$(cat /sys/class/net/${WANDEV:0:4}/operstate)
|
||||
[ $MTK -eq 1 ] && link=$(swconfig dev switch0 port 0 get link | awk '{print$2}' | cut -d':' -f2)
|
||||
|
||||
case "$ACTION" in
|
||||
add|register|remove|unregister) correct_uplink $INTERFACE;;
|
||||
add|register)
|
||||
[ "$link" == "down" ] && return
|
||||
ubus call leds set '{"state" : "allflash"}'
|
||||
echo "Autoswitch to Extender mode" > /dev/console
|
||||
sleep 2
|
||||
wetif="$(get_wifi_wet_interface)"
|
||||
# remove wifi client interface
|
||||
case "$(uci get netmode.setup.curmode)" in
|
||||
repeater*)
|
||||
uci -q set $(get_wifi_iface_cfgstr $wetif).disabled=1
|
||||
;;
|
||||
esac
|
||||
uci commit wireless
|
||||
#add wan ethernet port
|
||||
uci set network.wan.ifname="$(echo $WANDEV $(uci get network.wan.ifname) | sed 's/$/ /' | sed -r "s/$wetif //g" | tr ' ' '\n' | sort -u | tr '\n' ' ')"
|
||||
uci commit network
|
||||
ubus call network reload
|
||||
[ -f /usr/sbin/wlctl ] && wlctl -i $wetif bss down 2>/dev/null
|
||||
ping -c 1 -w 10 $defroute >/dev/null 2>&1 || killall -USR1 udhcpc
|
||||
ubus call router.network reload
|
||||
ubus call leds set '{"state" : "normal"}'
|
||||
;;
|
||||
remove|unregister)
|
||||
[ "$link" == "up" ] && return
|
||||
ubus call leds set '{"state" : "allflash"}'
|
||||
echo "Autoswitch to Repeater mode" > /dev/console
|
||||
sleep 2
|
||||
wetif="$(get_wifi_wet_interface)"
|
||||
# add wifi client interface
|
||||
case "$(uci get netmode.setup.curmode)" in
|
||||
repeater*)
|
||||
uci -q set $(get_wifi_iface_cfgstr $wetif).disabled=0
|
||||
;;
|
||||
esac
|
||||
uci commit wireless
|
||||
#remove wan ethernet port
|
||||
uci set network.wan.ifname="$(echo $wetif $(uci get network.wan.ifname) | sed 's/$/ /' | sed -r "s/$WANDEV //g" | tr ' ' '\n' | sort -u | tr '\n' ' ')"
|
||||
uci commit network
|
||||
ubus call network reload
|
||||
[ -f /usr/sbin/wlctl ] && wlctl -i $wetif bss up 2>/dev/null
|
||||
ping -c 1 -w 10 $defroute >/dev/null 2>&1 || {
|
||||
killall -9 wifi
|
||||
wifi reload nodat
|
||||
killall -USR1 udhcpc
|
||||
}
|
||||
ubus call router.network reload
|
||||
ubus call leds set '{"state" : "normal"}'
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -3,39 +3,321 @@
|
||||
START=10
|
||||
USE_PROCD=1
|
||||
|
||||
NETMODED="/sbin/netmoded"
|
||||
TMPDIR=/var/netmodes
|
||||
OLD_MODE_FILE=/var/netmodes/old_mode
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/netmode.sh
|
||||
. /usr/share/libubox/jshn.sh
|
||||
. /lib/network/config.sh
|
||||
|
||||
start_netmoded() {
|
||||
procd_open_instance
|
||||
procd_set_param command $NETMODED
|
||||
local modedir=$(uci -q get netmode.setup.dir)
|
||||
[ -n "$modedir" ] || modedir="/etc/netmodes"
|
||||
|
||||
procd_append_param command --verbose warning
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
get_device() {
|
||||
local PORT_NAMES=$(db get hw.board.ethernetPortNames)
|
||||
local PORT_ORDER=$(db get hw.board.ethernetPortOrder)
|
||||
local cnt=1
|
||||
local idx=0
|
||||
|
||||
procd_set_param respawn
|
||||
procd_close_instance
|
||||
local pnum=$(echo $PORT_NAMES | wc -w)
|
||||
|
||||
if [ $pnum -le 2 ]; then
|
||||
PORT_NAMES=$(echo $PORT_NAMES | sed 's/LAN/LAN1/g')
|
||||
fi
|
||||
|
||||
# get index of interface name
|
||||
for i in $PORT_NAMES; do
|
||||
if [ "$i" == "$1" ]; then
|
||||
idx=$cnt
|
||||
fi
|
||||
cnt=$((cnt+1))
|
||||
done
|
||||
|
||||
# get port name from index
|
||||
cnt=1
|
||||
for i in $PORT_ORDER; do
|
||||
if [ "$cnt" == "$idx" ]; then
|
||||
echo $i
|
||||
fi
|
||||
cnt=$((cnt+1))
|
||||
done
|
||||
}
|
||||
|
||||
populate_netmodes() {
|
||||
[ -f /etc/config/netmode -a -d $modedir ] || return
|
||||
local curmode
|
||||
|
||||
config_load netmode
|
||||
|
||||
config_get curmode setup curmode
|
||||
|
||||
mkdir -p $TMPDIR
|
||||
|
||||
if [ "$curmode" == "routed" ]; then
|
||||
local hw="$(db -q get hw.board.hardware)"
|
||||
if [ "$hw" == "EX400" ]; then
|
||||
curmode="routed_mtk"
|
||||
else
|
||||
curmode="routed_brcm"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo $curmode > $OLD_MODE_FILE
|
||||
|
||||
delete_netmode() {
|
||||
uci delete netmode.$1
|
||||
}
|
||||
|
||||
config_foreach delete_netmode netmode
|
||||
uci commit netmode
|
||||
|
||||
wan=$(get_device WAN)
|
||||
lan1=$(get_device LAN1)
|
||||
lan2=$(get_device LAN2)
|
||||
lan3=$(get_device LAN3)
|
||||
lan4=$(get_device LAN4)
|
||||
lan5=$(get_device LAN5)
|
||||
|
||||
for file in $(find $modedir -type f); do
|
||||
conf="$(echo $file | cut -d'/' -f5)"
|
||||
if [ "$conf" == "layer2_interface_ethernet" ]; then
|
||||
grep -q "\$WAN" $file && sed -i "s/\$WAN/$wan/g" $file
|
||||
fi
|
||||
if [ "$conf" == "network" ]; then
|
||||
grep -q "\$WAN" $file && sed -i "s/\$WAN/$wan/g" $file
|
||||
grep -q "\$LAN1" $file && sed -i "s/\$LAN1/$lan1/g" $file
|
||||
grep -q "\$LAN2" $file && sed -i "s/\$LAN2/$lan2/g" $file
|
||||
grep -q "\$LAN3" $file && sed -i "s/\$LAN3/$lan3/g" $file
|
||||
grep -q "\$LAN4" $file && sed -i "s/\$LAN4/$lan4/g" $file
|
||||
|
||||
ifname="$(uci -q get $file.wan.ifname | sed 's/[ \t]*$//')"
|
||||
uci -q set $file.wan.ifname="$ifname"
|
||||
uci -q commit $file
|
||||
fi
|
||||
done
|
||||
|
||||
local hardware=$(db get hw.board.hardware)
|
||||
local keys lang desc exp exclude
|
||||
for mode in $(ls $modedir); do
|
||||
|
||||
case "$mode" in
|
||||
repeater*)
|
||||
wlctl -i wl1 ap >/dev/null 2>&1 || ifconfig rai0 2>/dev/null | grep -q rai0 || continue
|
||||
;;
|
||||
esac
|
||||
|
||||
lang=""
|
||||
desc=""
|
||||
exp=""
|
||||
uci -q set netmode.$mode=netmode
|
||||
json_load "$(cat $modedir/$mode/DETAILS)"
|
||||
|
||||
if json_select excluded_boards; then
|
||||
exclude=0
|
||||
_i=1
|
||||
while json_get_var board $_i; do
|
||||
case "$hardware" in
|
||||
$board)
|
||||
uci -q delete netmode.$mode
|
||||
exclude=1
|
||||
break
|
||||
;;
|
||||
esac
|
||||
_i=$((_i+1))
|
||||
done
|
||||
json_select ..
|
||||
[ $exclude -eq 1 ] && continue
|
||||
fi
|
||||
|
||||
if json_select acl; then
|
||||
_i=1
|
||||
while json_get_var user $_i; do
|
||||
uci add_list netmode.$mode._access_r="$user"
|
||||
_i=$((_i+1))
|
||||
done
|
||||
json_select ..
|
||||
fi
|
||||
|
||||
json_select description
|
||||
json_get_keys keys
|
||||
for k in $keys; do
|
||||
json_get_keys lang $k
|
||||
lang=$(echo $lang | sed 's/^[ \t]*//;s/[ \t]*$//')
|
||||
json_select $k
|
||||
json_get_var desc $lang
|
||||
uci -q set netmode.$mode."desc_$lang"="$desc"
|
||||
[ "$lang" == "en" ] && uci -q set netmode.$mode."desc"="$desc"
|
||||
json_select ..
|
||||
done
|
||||
json_select ..
|
||||
|
||||
json_select explanation
|
||||
json_get_keys keys
|
||||
for k in $keys; do
|
||||
json_get_keys lang $k
|
||||
lang=$(echo $lang | sed 's/^[ \t]*//;s/[ \t]*$//')
|
||||
json_select $k
|
||||
json_get_var exp $lang
|
||||
uci -q set netmode.$mode."exp_$lang"="$exp"
|
||||
[ "$lang" == "en" ] && uci -q set netmode.$mode."exp"="$exp"
|
||||
json_select ..
|
||||
done
|
||||
json_select ..
|
||||
|
||||
json_get_var cred credentials
|
||||
uci -q set netmode.$mode.askcred="$cred"
|
||||
json_get_var ulb uplink_band
|
||||
uci -q set netmode.$mode.uplink_band="$ulb"
|
||||
json_get_var reboot reboot
|
||||
uci -q set netmode.$mode.reboot="$reboot"
|
||||
done
|
||||
|
||||
config_get curmode setup curmode
|
||||
[ -d /etc/netmodes/$curmode ] || {
|
||||
[ "$(db -q get hw.board.hardware)" == "EX400" ] && uci -q set netmode.setup.curmode="routed_mtk" || uci -q set netmode.setup.curmode="routed_brcm"
|
||||
}
|
||||
|
||||
uci commit netmode
|
||||
}
|
||||
|
||||
switch_netmode() {
|
||||
[ -f /etc/config/netmode -a -d $modedir ] || return
|
||||
|
||||
local netreload="$1"
|
||||
local curmode conf repeaterready old_mode
|
||||
|
||||
config_load netmode
|
||||
|
||||
config_get curmode setup curmode
|
||||
|
||||
config_get repeaterready setup repeaterready "0"
|
||||
if [ "$repeaterready" == "1" ] ; then
|
||||
uci -q set netmode.setup.repeaterready="0"
|
||||
uci commit netmode
|
||||
fi
|
||||
|
||||
if [ "$curmode" == "repeater" ]; then
|
||||
local hw="$(db -q get hw.board.hardware)"
|
||||
if [ "$hw" == "EX400" ]; then
|
||||
curmode="repeater_mtk_5g_up_dual_down"
|
||||
else
|
||||
curmode="repeater_brcm_2g_up_dual_down"
|
||||
fi
|
||||
uci set netmode.setup.curmode="$curmode"
|
||||
uci commit netmode
|
||||
fi
|
||||
if [ "$curmode" == "routed" ]; then
|
||||
local hw="$(db -q get hw.board.hardware)"
|
||||
if [ "$hw" == "EX400" ]; then
|
||||
curmode="routed_mtk"
|
||||
else
|
||||
curmode="routed_brcm"
|
||||
fi
|
||||
uci set netmode.setup.curmode="$curmode"
|
||||
uci commit netmode
|
||||
fi
|
||||
|
||||
old_mode=`cat $OLD_MODE_FILE 2>/dev/null`
|
||||
|
||||
# if curmode has not changed do not copy configs
|
||||
if [ "$curmode" == "$old_mode" ]; then
|
||||
/etc/init.d/enviroment reload
|
||||
return
|
||||
fi
|
||||
|
||||
echo $curmode >$OLD_MODE_FILE
|
||||
|
||||
[ -d "/etc/netmodes/$curmode" ] || return
|
||||
cp /etc/netmodes/$curmode/* /etc/config/
|
||||
rm -f /etc/config/DETAILS
|
||||
sync
|
||||
local reboot=$(uci -q get netmode.$curmode.reboot)
|
||||
local askcred=$(uci -q get netmode.$curmode.askcred)
|
||||
if [ "$reboot" == "0" ]; then
|
||||
/etc/init.d/enviroment reload
|
||||
case "$curmode" in
|
||||
routed*)
|
||||
ubus call uci commit '{"config":"network"}'
|
||||
;;
|
||||
repeater*)
|
||||
if [ -f /etc/init.d/omcproxy ]; then
|
||||
/etc/init.d/omcproxy stop
|
||||
fi
|
||||
if [ "$netreload" != "0" ]; then
|
||||
ubus call uci commit '{"config":"network"}'
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
else
|
||||
reboot &
|
||||
fi
|
||||
}
|
||||
|
||||
start_client_listener() {
|
||||
local curmode repeaterready ulcpid
|
||||
|
||||
config_load netmode
|
||||
config_get repeaterready setup repeaterready 0
|
||||
|
||||
ulcpid=$(ps | grep "ubus listen client" | grep -v grep | awk '{print$1}')
|
||||
|
||||
[ $repeaterready -eq 1 ] && {
|
||||
killall -SIGKILL netmode-client-detect >/dev/null 2>&1
|
||||
kill -9 $ulcpid >/dev/null 2>&1
|
||||
return
|
||||
}
|
||||
|
||||
config_get curmode setup curmode
|
||||
|
||||
case "$curmode" in
|
||||
repeater*)
|
||||
killall -SIGKILL netmode-client-detect >/dev/null 2>&1
|
||||
kill -9 $ulcpid >/dev/null 2>&1
|
||||
;;
|
||||
*)
|
||||
pidof netmode-client-detect || /sbin/netmode-client-detect &
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
start_netmode_discover() {
|
||||
local curmode repeaterready
|
||||
|
||||
killall -9 netmode-discover >/dev/null 2>&1
|
||||
|
||||
config_load netmode
|
||||
config_get repeaterready setup repeaterready 0
|
||||
|
||||
[ $repeaterready -eq 1 ] && return
|
||||
|
||||
config_get curmode setup curmode
|
||||
|
||||
case "$curmode" in
|
||||
repeater*)
|
||||
/sbin/netmode-discover &
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
start_service() {
|
||||
populate_netmodes
|
||||
|
||||
start_netmoded
|
||||
start_netmode_tools
|
||||
start_client_listener
|
||||
start_netmode_discover
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
switch_netmode
|
||||
switch_netmode "$1"
|
||||
|
||||
start_netmoded
|
||||
start_netmode_tools
|
||||
# set default JUCI page to overview
|
||||
uci -q set juci.juci.homepage="overview"
|
||||
uci commit juci
|
||||
|
||||
start_client_listener
|
||||
start_netmode_discover
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
stop_netmode_tools
|
||||
killall -SIGKILL netmode-client-detect >/dev/null 2>&1
|
||||
killall -9 netmode-discover >/dev/null 2>&1
|
||||
}
|
||||
|
||||
service_triggers()
|
||||
|
||||
@@ -11,8 +11,7 @@
|
||||
"excluded_boards" : [
|
||||
"CG300",
|
||||
"CG301",
|
||||
"EX400",
|
||||
"SDX810-AP"
|
||||
"EX400"
|
||||
],
|
||||
"acl" : [
|
||||
"admin",
|
||||
|
||||
@@ -28,39 +28,10 @@ config interface 'iptv'
|
||||
option proto 'dhcp'
|
||||
option gateway '0.0.0.0'
|
||||
option reqopts 'staticroutes'
|
||||
option ifname 'ptm0.100 $WAN.100 $LAN4'
|
||||
option ifname 'ptm0.100 atm1.1 $WAN.100 $LAN4'
|
||||
option defaultroute '0'
|
||||
|
||||
config interface 'wan6'
|
||||
option proto 'dhcpv6'
|
||||
option ifname '@wan'
|
||||
|
||||
config device 'atmwan'
|
||||
option type 'untagged'
|
||||
option ifname 'atm0'
|
||||
option name 'atm0.1'
|
||||
|
||||
config device 'ptmwan'
|
||||
option type 'untagged'
|
||||
option ifname 'ptm0'
|
||||
option name 'ptm0.1'
|
||||
|
||||
config device 'ethwan'
|
||||
option type 'untagged'
|
||||
option ifname '$WAN'
|
||||
option name '$WAN.1'
|
||||
|
||||
config device 'ethtv'
|
||||
option type '8021q'
|
||||
option name '$WAN.100'
|
||||
option ifname '$WAN'
|
||||
option vid '100'
|
||||
option priority '0'
|
||||
|
||||
config device 'ptmtv'
|
||||
option type '8021q'
|
||||
option name 'ptm0.100'
|
||||
option ifname 'ptm0'
|
||||
option vid '100'
|
||||
option priority '0'
|
||||
|
||||
|
||||
@@ -51,7 +51,6 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl0'
|
||||
|
||||
config wifi-device 'wl1'
|
||||
option type 'broadcom'
|
||||
@@ -91,5 +90,4 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl1'
|
||||
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
"CG300",
|
||||
"CG301",
|
||||
"EX400",
|
||||
"F*",
|
||||
"SDX810-AP"
|
||||
"F*"
|
||||
],
|
||||
"acl" : [
|
||||
"admin",
|
||||
|
||||
@@ -28,7 +28,7 @@ config interface 'iptv'
|
||||
option proto 'dhcp'
|
||||
option gateway '0.0.0.0'
|
||||
option reqopts 'staticroutes'
|
||||
option ifname 'ptm0.100 $WAN.100 $LAN4'
|
||||
option ifname 'ptm0.100 atm1.1 $WAN.100 $LAN4'
|
||||
option defaultroute '0'
|
||||
|
||||
config interface 'voip'
|
||||
@@ -36,53 +36,10 @@ config interface 'voip'
|
||||
option proto 'dhcp'
|
||||
option gateway '0.0.0.0'
|
||||
option reqopts 'staticroutes'
|
||||
option ifname 'ptm0.200 $WAN.200'
|
||||
option ifname 'ptm0.200 atm2.1 $WAN.200'
|
||||
option defaultroute '0'
|
||||
|
||||
config interface 'wan6'
|
||||
option proto 'dhcpv6'
|
||||
option ifname '@wan'
|
||||
|
||||
config device 'atmwan'
|
||||
option type 'untagged'
|
||||
option ifname 'atm0'
|
||||
option name 'atm0.1'
|
||||
|
||||
config device 'ptmwan'
|
||||
option type 'untagged'
|
||||
option ifname 'ptm0'
|
||||
option name 'ptm0.1'
|
||||
|
||||
config device 'ethwan'
|
||||
option type 'untagged'
|
||||
option ifname '$WAN'
|
||||
option name '$WAN.1'
|
||||
|
||||
config device 'ethtv'
|
||||
option type '8021q'
|
||||
option name '$WAN.100'
|
||||
option ifname '$WAN'
|
||||
option vid '100'
|
||||
option priority '0'
|
||||
|
||||
config device 'ptmtv'
|
||||
option type '8021q'
|
||||
option name 'ptm0.100'
|
||||
option ifname 'ptm0'
|
||||
option vid '100'
|
||||
option priority '0'
|
||||
|
||||
config device 'ethvoip'
|
||||
option type '8021q'
|
||||
option name '$WAN.200'
|
||||
option ifname '$WAN'
|
||||
option vid '200'
|
||||
option priority '0'
|
||||
|
||||
config device 'ptmvoip'
|
||||
option type '8021q'
|
||||
option name 'ptm0.200'
|
||||
option ifname 'ptm0'
|
||||
option vid '200'
|
||||
option priority '0'
|
||||
|
||||
|
||||
@@ -51,7 +51,6 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl0'
|
||||
|
||||
config wifi-device 'wl1'
|
||||
option type 'broadcom'
|
||||
@@ -91,5 +90,4 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl1'
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
"DG40*",
|
||||
"EG40*",
|
||||
"EX40*",
|
||||
"SDX*",
|
||||
"F*"
|
||||
],
|
||||
"uplink_band" : "b",
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
config ethernet_interface 'Wan'
|
||||
option baseifname '$WAN'
|
||||
option ifname '$WAN.1'
|
||||
option name 'WAN'
|
||||
option bridge '1'
|
||||
|
||||
@@ -13,8 +13,3 @@ config interface 'wan'
|
||||
option ifname '$WAN.1 $LAN1 $LAN2 $LAN3 $LAN4'
|
||||
option reqopts '43'
|
||||
|
||||
config device 'ethwan'
|
||||
option type 'untagged'
|
||||
option ifname '$WAN'
|
||||
option name '$WAN.1'
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
config owsd 'global'
|
||||
option sock '/var/run/ubus.sock'
|
||||
option www '/www'
|
||||
option redirect '/cgi-bin/luci:/cacheflush.html'
|
||||
|
||||
config owsd-listen 'loopback'
|
||||
option port '80'
|
||||
option interface 'loopback'
|
||||
option ipv6 'on'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'lan'
|
||||
option port '80'
|
||||
option interface 'lan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
option whitelist_dhcp_domains '1'
|
||||
|
||||
config owsd-listen 'wan'
|
||||
option port '80'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'wan_8080'
|
||||
option port '8080'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'wan_8181'
|
||||
option port '8181'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
@@ -51,7 +51,7 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl0'
|
||||
option autoconf '1'
|
||||
|
||||
config wifi-device 'wl1'
|
||||
option type 'broadcom'
|
||||
@@ -89,5 +89,5 @@ config wifi-iface
|
||||
option cipher 'auto'
|
||||
option wps_pbc '0'
|
||||
option wmf_bss_enable '1'
|
||||
option ifname 'wl1'
|
||||
option autoconf '1'
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
"DG40*",
|
||||
"EG40*",
|
||||
"EX40*",
|
||||
"SDX*",
|
||||
"F*"
|
||||
],
|
||||
"uplink_band" : "b",
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
config ethernet_interface 'Wan'
|
||||
option baseifname '$WAN'
|
||||
option ifname '$WAN.1'
|
||||
option name 'WAN'
|
||||
option bridge '1'
|
||||
|
||||
@@ -13,8 +13,3 @@ config interface 'wan'
|
||||
option ifname '$WAN.1 $LAN1 $LAN2 $LAN3 $LAN4'
|
||||
option reqopts '43'
|
||||
|
||||
config device 'ethwan'
|
||||
option type 'untagged'
|
||||
option ifname '$WAN'
|
||||
option name '$WAN.1'
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
config owsd 'global'
|
||||
option sock '/var/run/ubus.sock'
|
||||
option www '/www'
|
||||
option redirect '/cgi-bin/luci:/cacheflush.html'
|
||||
|
||||
config owsd-listen 'loopback'
|
||||
option port '80'
|
||||
option interface 'loopback'
|
||||
option ipv6 'on'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'lan'
|
||||
option port '80'
|
||||
option interface 'lan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
option whitelist_dhcp_domains '1'
|
||||
|
||||
config owsd-listen 'wan'
|
||||
option port '80'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'wan_8080'
|
||||
option port '8080'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'wan_8181'
|
||||
option port '8181'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
@@ -51,7 +51,7 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl0'
|
||||
option autoconf '1'
|
||||
|
||||
config wifi-device 'wl1'
|
||||
option type 'broadcom'
|
||||
@@ -104,5 +104,5 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl1'
|
||||
option autoconf '1'
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ config interface 'loopback'
|
||||
config device 'lan_dev'
|
||||
option name 'eth0.1'
|
||||
option macaddr '$MACLAN'
|
||||
option vid 1
|
||||
|
||||
config interface 'wan'
|
||||
option type 'bridge'
|
||||
@@ -20,7 +19,6 @@ config interface 'wan'
|
||||
config device 'wan_dev'
|
||||
option name 'eth0.2'
|
||||
option macaddr '$MACWAN'
|
||||
option vid 2
|
||||
|
||||
config interface 'wan6'
|
||||
option ifname '@wan'
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
config owsd 'global'
|
||||
option sock '/var/run/ubus.sock'
|
||||
option www '/www'
|
||||
option redirect '/cgi-bin/luci:/cacheflush.html'
|
||||
|
||||
config owsd-listen 'loopback'
|
||||
option port '80'
|
||||
option interface 'loopback'
|
||||
option ipv6 'on'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'lan'
|
||||
option port '80'
|
||||
option interface 'lan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
option whitelist_dhcp_domains '1'
|
||||
|
||||
config owsd-listen 'wan'
|
||||
option port '80'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'wan_8080'
|
||||
option port '8080'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'wan_8181'
|
||||
option port '8181'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
"F*"
|
||||
],
|
||||
"uplink_band" : 'a',
|
||||
"downlink_band" : 'a b',
|
||||
"credentials" : 1,
|
||||
"reboot" : 0
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ config interface 'loopback'
|
||||
config device 'lan_dev'
|
||||
option name 'eth0.1'
|
||||
option macaddr '$MACLAN'
|
||||
option vid 1
|
||||
|
||||
config interface 'wan'
|
||||
option type 'bridge'
|
||||
@@ -20,7 +19,6 @@ config interface 'wan'
|
||||
config device 'wan_dev'
|
||||
option name 'eth0.2'
|
||||
option macaddr '$MACWAN'
|
||||
option vid 2
|
||||
|
||||
config interface 'wan6'
|
||||
option ifname '@wan'
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
config owsd 'global'
|
||||
option sock '/var/run/ubus.sock'
|
||||
option www '/www'
|
||||
option redirect '/cgi-bin/luci:/cacheflush.html'
|
||||
|
||||
config owsd-listen 'loopback'
|
||||
option port '80'
|
||||
option interface 'loopback'
|
||||
option ipv6 'on'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'lan'
|
||||
option port '80'
|
||||
option interface 'lan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
option whitelist_dhcp_domains '1'
|
||||
|
||||
config owsd-listen 'wan'
|
||||
option port '80'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'wan_8080'
|
||||
option port '8080'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
config owsd-listen 'wan_8181'
|
||||
option port '8181'
|
||||
option interface 'wan'
|
||||
option ipv6 'on'
|
||||
option whitelist_interface_as_origin '1'
|
||||
list origin '*'
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
{ "sv" : "" }
|
||||
],
|
||||
"excluded_boards" : [
|
||||
"EX4*",
|
||||
"SDX810-AP"
|
||||
"EX4*"
|
||||
],
|
||||
"credentials" : 0
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
|
||||
config atm_bridge
|
||||
option link_type 'EoA'
|
||||
option encapseoa 'llcsnap_eth'
|
||||
option unit '0'
|
||||
option ifname 'atm0.1'
|
||||
option baseifname 'atm0'
|
||||
option atmtype 'ubr'
|
||||
option name 'atm_inet'
|
||||
option vpi '8'
|
||||
option vci '35'
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
config ethernet_interface 'Wan'
|
||||
option baseifname '$WAN'
|
||||
option ifname '$WAN.1'
|
||||
option name 'WAN'
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
config vdsl_interface
|
||||
option unit '0'
|
||||
option ifname 'ptm0.1'
|
||||
option baseifname 'ptm0'
|
||||
option name 'VDSL2'
|
||||
option dslat '1'
|
||||
option ptmprio '1'
|
||||
option ipqos '1'
|
||||
|
||||
@@ -27,18 +27,3 @@ config interface 'wan6'
|
||||
option proto 'dhcpv6'
|
||||
option ifname '@wan'
|
||||
|
||||
config device 'atmwan'
|
||||
option type 'untagged'
|
||||
option ifname 'atm0'
|
||||
option name 'atm0.1'
|
||||
|
||||
config device 'ptmwan'
|
||||
option type 'untagged'
|
||||
option ifname 'ptm0'
|
||||
option name 'ptm0.1'
|
||||
|
||||
config device 'ethwan'
|
||||
option type 'untagged'
|
||||
option ifname '$WAN'
|
||||
option name '$WAN.1'
|
||||
|
||||
|
||||
@@ -51,7 +51,6 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl0'
|
||||
|
||||
config wifi-device 'wl1'
|
||||
option type 'broadcom'
|
||||
@@ -91,5 +90,4 @@ config wifi-iface
|
||||
option wps_pbc '1'
|
||||
option wmf_bss_enable '1'
|
||||
option bss_max '32'
|
||||
option ifname 'wl1'
|
||||
|
||||
|
||||
@@ -11,24 +11,20 @@ config interface 'lan'
|
||||
option ipaddr '192.168.1.1'
|
||||
option netmask '255.255.255.0'
|
||||
option ip6assign '60'
|
||||
option ifname 'eth0.1'
|
||||
option ifname 'eth0.1 ra0 rai0'
|
||||
|
||||
config device 'lan_dev'
|
||||
option name 'eth0.1'
|
||||
option macaddr '$MACLAN'
|
||||
option vid 1
|
||||
|
||||
config interface 'wan'
|
||||
option ifname 'eth0.2'
|
||||
option proto 'dhcp'
|
||||
option hostname '$IOPHOSTNAME-$MAC'
|
||||
option vendorid '$HARDWAREID-INTENO'
|
||||
option reqopts '66 67 128 224'
|
||||
|
||||
config device 'wan_dev'
|
||||
option name 'eth0.2'
|
||||
option macaddr '$MACWAN'
|
||||
option vid 2
|
||||
|
||||
config interface 'wan6'
|
||||
option ifname '@wan'
|
||||
|
||||
@@ -27,7 +27,6 @@ config wifi-iface
|
||||
option encryption psk2
|
||||
option key $WPAKEY
|
||||
option wps_pbc 1
|
||||
option ifname ra0
|
||||
|
||||
config wifi-device rai0
|
||||
option band a
|
||||
@@ -46,5 +45,4 @@ config wifi-iface
|
||||
option encryption psk2
|
||||
option key $WPAKEY
|
||||
option wps_pbc 1
|
||||
option ifname rai0
|
||||
|
||||
|
||||
@@ -1,430 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
NMTMPDIR=/var/netmodes
|
||||
OLD_MODE_FILE=/var/netmodes/old_mode
|
||||
SWITCHMODELOCK="/tmp/switching_mode"
|
||||
MODEDIR=$(uci -q get netmode.setup.dir)
|
||||
MTK=0
|
||||
|
||||
opkg list-installed | grep -q kmod-mt.*mtk && MTK=1
|
||||
|
||||
[ -n "$MODEDIR" ] || MODEDIR="/etc/netmodes"
|
||||
|
||||
toggle_firewall() {
|
||||
local section=$1
|
||||
local disable=$2
|
||||
config_get name "$1" name
|
||||
if [ "$name" == "wan" ]; then
|
||||
uci -q set firewall.settings.disabled=$disable
|
||||
if [ "$disable" == "1" ]; then
|
||||
uci -q set firewall.$section.input="ACCEPT"
|
||||
else
|
||||
uci -q set firewall.$section.input="REJECT"
|
||||
fi
|
||||
uci -q commit firewall
|
||||
fi
|
||||
}
|
||||
|
||||
disable_firewall() {
|
||||
config_load firewall
|
||||
config_foreach toggle_firewall zone $1
|
||||
/etc/init.d/firewall reload
|
||||
}
|
||||
|
||||
is_inteno_macaddr()
|
||||
{
|
||||
macaddr=$1
|
||||
|
||||
echo $macaddr | grep -i -e "^00:22:07" \
|
||||
-e "^02:22:07" \
|
||||
-e "^44:D4:37" \
|
||||
-e "^00:0C:07" \
|
||||
-e "^02:0C:07" \
|
||||
-e "^06:0C:07" \
|
||||
-e "^00:0C:43" \
|
||||
-e "^02:0C:43" \
|
||||
-e "^06:0C:43" \
|
||||
&& return
|
||||
false
|
||||
}
|
||||
|
||||
get_wifi_wet_interface() {
|
||||
local ifname=""
|
||||
handle_interface() {
|
||||
[ -n "$ifname" ] && return
|
||||
config_get mode "$1" mode
|
||||
if [ "$mode" == "sta" -o "$mode" == "wet" ]; then
|
||||
config_get ifname "$1" ifname
|
||||
fi
|
||||
}
|
||||
config_load wireless
|
||||
config_foreach handle_interface wifi-iface
|
||||
echo "$ifname"
|
||||
}
|
||||
|
||||
get_wifi_iface_cfgstr() {
|
||||
get_cfgno() {
|
||||
config_get ifname "$1" ifname
|
||||
[ "$ifname" == "$2" ] && echo "wireless.$1"
|
||||
}
|
||||
config_load wireless
|
||||
config_foreach get_cfgno wifi-iface $1
|
||||
}
|
||||
|
||||
correct_uplink() {
|
||||
local IFACE="$1"
|
||||
local WANDEV="$(db -q get hw.board.ethernetWanPort)"
|
||||
local WETIF="$(get_wifi_wet_interface)"
|
||||
local link wetcfg wetnet wetmac
|
||||
|
||||
[ $MTK -eq 1 ] || WANDEV="$WANDEV.1"
|
||||
|
||||
[ -n "$IFACE" -a "$IFACE" != "$WANDEV" -a "$IFACE" != "$WETIF" ] && return
|
||||
|
||||
link=$(cat /sys/class/net/${WANDEV:0:4}/operstate)
|
||||
[ $MTK -eq 1 ] && link=$(swconfig dev switch0 port 0 get link | awk '{print$2}' | cut -d':' -f2)
|
||||
|
||||
if [ ! -f /tmp/netmodes/uplink-macaddr-corrected ]; then
|
||||
wetcfg="$(get_wifi_iface_cfgstr $WETIF)"
|
||||
wetnet="$(uci -q get $wetcfg.network)"
|
||||
wetmac="$(ifconfig $WETIF | grep HWaddr | awk '{print$NF}')"
|
||||
if [ -d /sys/class/net/br-$wetnet ]; then
|
||||
ifconfig br-$wetnet hw ether $wetmac
|
||||
#touch -f /tmp/netmodes/uplink-macaddr-corrected
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$link" == "up" ]; then
|
||||
ubus call network.device set_state "{\"name\":\"$WETIF\", \"defer\":true}"
|
||||
ubus call network.device set_state "{\"name\":\"$WANDEV\", \"defer\":false}"
|
||||
else
|
||||
ubus call network.device set_state "{\"name\":\"$WETIF\", \"defer\":false}"
|
||||
ubus call network.device set_state "{\"name\":\"$WANDEV\", \"defer\":true}"
|
||||
ubus call led.internet set '{"state" : "notice"}'
|
||||
fi
|
||||
}
|
||||
|
||||
switch_netmode() {
|
||||
local newmode="$1"
|
||||
|
||||
[ -f /etc/config/netmode -a -d $MODEDIR ] || return
|
||||
|
||||
[ -n "$newmode" ] && uci -q set netmode.setup.curmode="$newmode"
|
||||
|
||||
local curmode conf old_mode
|
||||
|
||||
# NETMODE CONFIG #
|
||||
config_load netmode
|
||||
config_get curmode setup curmode
|
||||
uci -q set netmode.setup.repeaterready="0"
|
||||
|
||||
# set default JUCI page to overview
|
||||
uci -q set juci.juci.homepage="overview"
|
||||
uci commit juci
|
||||
|
||||
if [ "$curmode" == "repeater" ]; then
|
||||
if [ $MTK -eq 1 ]; then
|
||||
curmode="repeater_mtk_5g_up_dual_down"
|
||||
else
|
||||
curmode="repeater_brcm_2g_up_dual_down"
|
||||
fi
|
||||
uci set netmode.setup.curmode="$curmode"
|
||||
fi
|
||||
if [ "$curmode" == "routed" ]; then
|
||||
if [ $MTK -eq 1 ]; then
|
||||
curmode="routed_mtk"
|
||||
else
|
||||
curmode="routed_brcm"
|
||||
fi
|
||||
uci set netmode.setup.curmode="$curmode"
|
||||
fi
|
||||
uci commit netmode
|
||||
# end of NETMODE CONFIG #
|
||||
|
||||
old_mode="$(cat $OLD_MODE_FILE 2>/dev/null)"
|
||||
|
||||
# if curmode has not changed do not copy configs
|
||||
if [ "$curmode" == "$old_mode" ]; then
|
||||
/etc/init.d/environment reload
|
||||
return
|
||||
fi
|
||||
|
||||
echo $curmode >$OLD_MODE_FILE
|
||||
|
||||
[ -d "/etc/netmodes/$curmode" ] || return
|
||||
logger -s -p user.info -t $0 "[netmode] Copying /etc/netmodes/$curmode in /etc/config" >/dev/console
|
||||
cp /etc/netmodes/$curmode/* /etc/config/
|
||||
rm -f /etc/config/DETAILS
|
||||
sync
|
||||
|
||||
local reboot=$(uci -q get netmode.$curmode.reboot)
|
||||
|
||||
if [ "$reboot" != "0" ]; then
|
||||
reboot &
|
||||
exit
|
||||
fi
|
||||
|
||||
/etc/init.d/environment reload
|
||||
case "$curmode" in
|
||||
repeater*)
|
||||
touch $SWITCHMODELOCK
|
||||
logger -s -p user.info -t $0 "Switching to $curmode mode" > /dev/console
|
||||
ubus call leds set '{"state" : "allflash"}'
|
||||
[ -f /etc/init.d/omcproxy ] && /etc/init.d/omcproxy stop
|
||||
[ -f /etc/init.d/layer2 ] && /etc/init.d/layer2 reload
|
||||
ubus call network reload
|
||||
wifi reload nodat
|
||||
ubus call router.network reload
|
||||
rm -f /tmp/netmodes/uplink-macaddr-corrected
|
||||
correct_uplink
|
||||
ubus call leds set '{"state" : "normal"}'
|
||||
rm -f $SWITCHMODELOCK
|
||||
;;
|
||||
*)
|
||||
[ -f /etc/init.d/layer2 ] && /etc/init.d/layer2 reload
|
||||
ubus call uci commit '{"config":"network"}'
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
wificontrol_takes_over() {
|
||||
local ret
|
||||
[ -f /sbin/wificontrol ] || return
|
||||
|
||||
ubus call leds set '{"state" : "allflash"}'
|
||||
|
||||
if pidof wificontrol >/dev/null; then
|
||||
ret=0
|
||||
# let netmode-conf up to 20 seconds before switching mode
|
||||
for tm in 2 4 6 8; do
|
||||
if [ -f /tmp/wificontrol.txt ]; then
|
||||
ret=1
|
||||
break
|
||||
fi
|
||||
sleep $tm
|
||||
done
|
||||
# let netmode-conf take over
|
||||
[ $ret -eq 1 ] && return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
wait_for_netmode_handler() {
|
||||
for tm in 2 4 6 8; do
|
||||
if [ ! -f $SWITCHMODELOCK ]; then
|
||||
break
|
||||
fi
|
||||
sleep $tm
|
||||
done
|
||||
}
|
||||
|
||||
netmode_get_ip_type() {
|
||||
[ -n "$(echo $1 | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)')" ] && {
|
||||
logger -t "[netmode]" "netmode_get_ip_type: ip $1 is private"
|
||||
echo "private"
|
||||
} || {
|
||||
logger -t "[netmode]" "netmode_get_ip_type: ip $1 is public"
|
||||
echo "public"
|
||||
}
|
||||
}
|
||||
|
||||
get_device_of() {
|
||||
local PORT_NAMES=$(db get hw.board.ethernetPortNames)
|
||||
local PORT_ORDER=$(db get hw.board.ethernetPortOrder)
|
||||
local cnt=1
|
||||
local idx=0
|
||||
|
||||
local pnum=$(echo $PORT_NAMES | wc -w)
|
||||
|
||||
if [ $pnum -le 2 ]; then
|
||||
PORT_NAMES=$(echo $PORT_NAMES | sed 's/LAN/LAN1/g')
|
||||
fi
|
||||
|
||||
# get index of interface name
|
||||
for i in $PORT_NAMES; do
|
||||
if [ "$i" == "$1" ]; then
|
||||
idx=$cnt
|
||||
fi
|
||||
cnt=$((cnt+1))
|
||||
done
|
||||
|
||||
# get port name from index
|
||||
cnt=1
|
||||
for i in $PORT_ORDER; do
|
||||
if [ "$cnt" == "$idx" ]; then
|
||||
echo $i
|
||||
fi
|
||||
cnt=$((cnt+1))
|
||||
done
|
||||
}
|
||||
|
||||
populate_netmodes() {
|
||||
[ -f /etc/config/netmode -a -d $MODEDIR ] || return
|
||||
local curmode
|
||||
|
||||
config_load netmode
|
||||
|
||||
config_get curmode setup curmode
|
||||
|
||||
mkdir -p $NMTMPDIR
|
||||
|
||||
if [ "$curmode" == "routed" ]; then
|
||||
if [ $MTK -eq 1 ]; then
|
||||
curmode="routed_mtk"
|
||||
else
|
||||
curmode="routed_brcm"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo $curmode > $OLD_MODE_FILE
|
||||
|
||||
delete_netmode() {
|
||||
uci delete netmode.$1
|
||||
}
|
||||
|
||||
config_foreach delete_netmode netmode
|
||||
uci commit netmode
|
||||
|
||||
wan=$(get_device_of WAN)
|
||||
lan1=$(get_device_of LAN1)
|
||||
lan2=$(get_device_of LAN2)
|
||||
lan3=$(get_device_of LAN3)
|
||||
lan4=$(get_device_of LAN4)
|
||||
lan5=$(get_device_of LAN5)
|
||||
|
||||
for file in $(find $MODEDIR -type f); do
|
||||
conf="$(echo $file | cut -d'/' -f5)"
|
||||
if [ "$conf" == "layer2_interface_ethernet" ]; then
|
||||
grep -q "\$WAN" $file && sed -i "s/\$WAN/$wan/g" $file
|
||||
fi
|
||||
if [ "$conf" == "network" ]; then
|
||||
grep -q "\$WAN" $file && sed -i "s/\$WAN/$wan/g" $file
|
||||
grep -q "\$LAN1" $file && sed -i "s/\$LAN1/$lan1/g" $file
|
||||
grep -q "\$LAN2" $file && sed -i "s/\$LAN2/$lan2/g" $file
|
||||
grep -q "\$LAN3" $file && sed -i "s/\$LAN3/$lan3/g" $file
|
||||
grep -q "\$LAN4" $file && sed -i "s/\$LAN4/$lan4/g" $file
|
||||
|
||||
ifname="$(uci -q get $file.wan.ifname | sed 's/[ \t]*$//')"
|
||||
uci -q set $file.wan.ifname="$ifname"
|
||||
uci -q commit $file
|
||||
fi
|
||||
done
|
||||
|
||||
local hardware=$(db get hw.board.hardware)
|
||||
local keys lang desc exp exclude
|
||||
for mode in $(ls $MODEDIR); do
|
||||
|
||||
case "$mode" in
|
||||
repeater*)
|
||||
wlctl -i wl1 ap >/dev/null 2>&1 || ifconfig rai0 2>/dev/null | grep -q rai0 || continue
|
||||
;;
|
||||
esac
|
||||
|
||||
lang=""
|
||||
desc=""
|
||||
exp=""
|
||||
uci -q set netmode.$mode=netmode
|
||||
json_load "$(cat $MODEDIR/$mode/DETAILS)"
|
||||
|
||||
if json_select excluded_boards; then
|
||||
exclude=0
|
||||
_i=1
|
||||
while json_get_var board $_i; do
|
||||
case "$hardware" in
|
||||
$board)
|
||||
uci -q delete netmode.$mode
|
||||
exclude=1
|
||||
break
|
||||
;;
|
||||
esac
|
||||
_i=$((_i+1))
|
||||
done
|
||||
json_select ..
|
||||
[ $exclude -eq 1 ] && continue
|
||||
fi
|
||||
|
||||
if json_select acl; then
|
||||
_i=1
|
||||
while json_get_var user $_i; do
|
||||
uci add_list netmode.$mode._access_r="$user"
|
||||
_i=$((_i+1))
|
||||
done
|
||||
json_select ..
|
||||
fi
|
||||
|
||||
json_select description
|
||||
json_get_keys keys
|
||||
for k in $keys; do
|
||||
json_get_keys lang $k
|
||||
lang=$(echo $lang | sed 's/^[ \t]*//;s/[ \t]*$//')
|
||||
json_select $k
|
||||
json_get_var desc $lang
|
||||
uci -q set netmode.$mode."desc_$lang"="$desc"
|
||||
[ "$lang" == "en" ] && uci -q set netmode.$mode."desc"="$desc"
|
||||
json_select ..
|
||||
done
|
||||
json_select ..
|
||||
|
||||
json_select explanation
|
||||
json_get_keys keys
|
||||
for k in $keys; do
|
||||
json_get_keys lang $k
|
||||
lang=$(echo $lang | sed 's/^[ \t]*//;s/[ \t]*$//')
|
||||
json_select $k
|
||||
json_get_var exp $lang
|
||||
uci -q set netmode.$mode."exp_$lang"="$exp"
|
||||
[ "$lang" == "en" ] && uci -q set netmode.$mode."exp"="$exp"
|
||||
json_select ..
|
||||
done
|
||||
json_select ..
|
||||
|
||||
json_get_var cred credentials
|
||||
uci -q set netmode.$mode.askcred="$cred"
|
||||
json_get_var ulb uplink_band
|
||||
uci -q set netmode.$mode.uplink_band="$ulb"
|
||||
json_get_var reboot reboot
|
||||
uci -q set netmode.$mode.reboot="$reboot"
|
||||
done
|
||||
|
||||
config_get curmode setup curmode
|
||||
[ -d /etc/netmodes/$curmode ] || {
|
||||
[ $MTK -eq 1 ] && uci -q set netmode.setup.curmode="routed_mtk" || uci -q set netmode.setup.curmode="routed_brcm"
|
||||
}
|
||||
|
||||
uci commit netmode
|
||||
}
|
||||
|
||||
start_netmode_tools() {
|
||||
local curmode repeaterready
|
||||
|
||||
killall -9 wificontrol >/dev/null 2>&1
|
||||
killall -9 netmode-discover >/dev/null 2>&1
|
||||
|
||||
config_load netmode
|
||||
config_get_bool repeaterready setup repeaterready 0
|
||||
|
||||
[ $repeaterready -eq 1 ] && {
|
||||
/sbin/netmode-discover &
|
||||
/sbin/wificontrol --repeater &
|
||||
return
|
||||
}
|
||||
|
||||
config_get curmode setup curmode
|
||||
|
||||
case "$curmode" in
|
||||
repeater*)
|
||||
/sbin/netmode-discover &
|
||||
/sbin/wificontrol --repeater &
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
stop_netmode_tools() {
|
||||
killall -9 netmode-discover >/dev/null 2>&1
|
||||
killall -9 wificontrol >/dev/null 2>&1
|
||||
}
|
||||
|
||||
@@ -5,10 +5,7 @@
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
action=
|
||||
ipaddr=
|
||||
macaddr=
|
||||
network=
|
||||
local action ipaddr macaddr network
|
||||
|
||||
timed_check() {
|
||||
while true; do
|
||||
@@ -51,7 +48,7 @@ while true ; do
|
||||
json_get_var network network "lan"
|
||||
|
||||
if is_inteno_macaddr $macaddr; then
|
||||
logger -s -p user.info -t $0 "netmode-client-detect: a new Inteno device detected on '$network' network (MACAddr:$macaddr IPAddr:$ipaddr)" >/dev/console
|
||||
echo "netmode-client-detect: a new Inteno device detected on '$network' network (MACAddr:$macaddr IPAddr:$ipaddr)" >/dev/console
|
||||
ubus call repeater get_creds '{"network":"'$network'","file":"/tmp/wificontrol.txt"}'
|
||||
/sbin/wificontrol --router --destination $ipaddr
|
||||
fi
|
||||
|
||||
@@ -2,24 +2,11 @@
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/netmode.sh
|
||||
|
||||
state="exit"
|
||||
TMPPATH="/tmp/netmode_config_backup"
|
||||
CURMODE=""
|
||||
SLEEPTIME=300
|
||||
pid_file=/tmp/netmode-conf.pid
|
||||
|
||||
echo "$$" >$pid_file
|
||||
|
||||
cleanup(){
|
||||
rm -rf $pid_file
|
||||
# we need to trigger a reload of icwmp but ONLY if ip or device has changed
|
||||
[ -f "/etc/hotplug.d/iface/90-icwmp" ] && INTERFACE=wan ACTION=ifup sh /etc/hotplug.d/iface/90-icwmp
|
||||
exit
|
||||
}
|
||||
|
||||
trap cleanup SIGHUP SIGINT SIGTERM SIGSTOP
|
||||
|
||||
set_wireless_values() {
|
||||
local iface_num="$1"
|
||||
@@ -99,7 +86,6 @@ restore() {
|
||||
uci set juci.juci.homepage='netmode-wizard'
|
||||
uci commit juci
|
||||
cp $TMPPATH/* /etc/config/
|
||||
sync
|
||||
uci set netmode.setup.curmode=$CURMODE
|
||||
uci commit netmode
|
||||
ubus call network reload
|
||||
@@ -122,18 +108,22 @@ backup() {
|
||||
file="$1"
|
||||
from_gui="$2"
|
||||
|
||||
[ -f "$file" ] || cleanup
|
||||
[ -f "$file" ] || exit
|
||||
|
||||
# let netmode-handler up to 20 seconds to finish switching mode
|
||||
wait_for_netmode_handler
|
||||
for tm in 2 4 6 8; do
|
||||
if [ ! -f /tmp/switching_mode ]; then
|
||||
break
|
||||
fi
|
||||
sleep $tm
|
||||
done
|
||||
|
||||
[ "$from_gui" == "true" ] && backup
|
||||
|
||||
json_load "`cat $file`"
|
||||
json_select "wifi_ifaces"
|
||||
|
||||
curmode=""
|
||||
repmode=""
|
||||
local curmode repmode
|
||||
config_load netmode
|
||||
config_get curmode setup curmode
|
||||
|
||||
@@ -148,20 +138,14 @@ case $curmode in
|
||||
;;
|
||||
esac
|
||||
|
||||
apcliband="a"
|
||||
local apcliband="a"
|
||||
case $curmode in
|
||||
*_2g_*) apcliband="b";;
|
||||
esac
|
||||
|
||||
i=1
|
||||
|
||||
dummy=
|
||||
band=
|
||||
ssid=
|
||||
key=
|
||||
encryption=
|
||||
device=
|
||||
iface_num=
|
||||
local dummy band ssid key encryption device iface_num
|
||||
|
||||
while json_get_var dummy $i; do
|
||||
json_select $i
|
||||
@@ -173,14 +157,14 @@ done
|
||||
|
||||
[ "$apcliband" == "$band" -o "$band" == "" ] || {
|
||||
[ "$from_gui" == "true" ] && restore "back"
|
||||
cleanup
|
||||
exit
|
||||
}
|
||||
|
||||
repeater_iface_num=$(uci -q show wireless | grep -e ".mode='wet'" -e ".mode='sta'" | sed 's/.*\[\([0-9]\)\].*/\1/')
|
||||
|
||||
[ -z "$repeater_iface_num" ] && {
|
||||
[ "$from_gui" == "true" ] && restore "back"
|
||||
cleanup
|
||||
exit
|
||||
}
|
||||
|
||||
json_get_var ssid ssid
|
||||
@@ -193,8 +177,8 @@ json_load "`cat $file`"
|
||||
json_select "wifi_ifaces"
|
||||
|
||||
config_load wireless
|
||||
b_num=0
|
||||
a_num=0
|
||||
local b_num=0
|
||||
local a_num=0
|
||||
|
||||
i=1
|
||||
while json_get_var dummy $i; do
|
||||
@@ -209,7 +193,7 @@ while json_get_var dummy $i; do
|
||||
a_num=$((a_num+1))
|
||||
[ -z $iface_num ] && {
|
||||
[ "$from_gui" == "true" ] && restore "back"
|
||||
cleanup
|
||||
exit
|
||||
}
|
||||
set_wireless_values "$iface_num" "$ssid" "$key" "$encryption" "$device"
|
||||
get_device "b" device
|
||||
@@ -217,7 +201,7 @@ while json_get_var dummy $i; do
|
||||
b_num=$((b_num+1))
|
||||
[ -z $iface_num ] && {
|
||||
[ "$from_gui" == "true" ] && restore "back"
|
||||
cleanup
|
||||
exit
|
||||
}
|
||||
set_wireless_values "$iface_num" "$ssid" "$key" "$encryption" "$device"
|
||||
else
|
||||
@@ -234,7 +218,7 @@ while json_get_var dummy $i; do
|
||||
esac
|
||||
[ -z $iface_num ] && {
|
||||
[ "$from_gui" == "true" ] && restore "back"
|
||||
cleanup
|
||||
exit
|
||||
}
|
||||
set_wireless_values "$iface_num" "$ssid" "$key" "$encryption" "$device"
|
||||
fi
|
||||
@@ -267,9 +251,8 @@ uci commit wireless
|
||||
if [ "$from_gui" == "true" ]; then
|
||||
# check for connectivity
|
||||
wifi reload
|
||||
[ -f /etc/init.d/layer2 ] && /etc/init.d/layer2 reload
|
||||
correct_uplink
|
||||
i=$SLEEPTIME
|
||||
[ -f /etc/init.d/layer2_interface_ethernet -a -f /etc/config/layer2_interface_ethernet ] && /etc/init.d/layer2_interface_ethernet reload
|
||||
i=$SLEEPTIME;
|
||||
|
||||
while [ $i -gt 0 ]; do
|
||||
ip=`route -n | awk '/^0.0.0.0/{print $2}'`
|
||||
@@ -281,7 +264,7 @@ if [ "$from_gui" == "true" ]; then
|
||||
ping -w1 $ip
|
||||
if [ $? -eq 0 ]; then
|
||||
restore
|
||||
cleanup
|
||||
exit
|
||||
else
|
||||
i=$((i-10))
|
||||
sleep 9
|
||||
@@ -290,7 +273,7 @@ if [ "$from_gui" == "true" ]; then
|
||||
restore "back"
|
||||
else
|
||||
if [ "$state" == "exit" ]; then
|
||||
cleanup
|
||||
return
|
||||
fi
|
||||
ubus call leds set '{"state":"allflash"}'
|
||||
if [ "$state" == "apply" ]; then
|
||||
@@ -300,9 +283,6 @@ else
|
||||
# wifi reload
|
||||
wifi reload
|
||||
fi
|
||||
[ -f /etc/init.d/layer2 ] && /etc/init.d/layer2 reload
|
||||
correct_uplink
|
||||
[ -f /etc/init.d/layer2_interface_ethernet -a -f /etc/config/layer2_interface_ethernet ] && /etc/init.d/layer2_interface_ethernet reload
|
||||
ubus call leds set '{"state":"normal"}'
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
local unlisted mac ipaddr netmask mask
|
||||
|
||||
mask_to_cidr() {
|
||||
nbits=0
|
||||
IFS=.
|
||||
@@ -21,14 +23,9 @@ mask_to_cidr() {
|
||||
}
|
||||
|
||||
while true; do
|
||||
[ -e /sys/class/net/br-wan ] || {
|
||||
sleep 5
|
||||
continue
|
||||
}
|
||||
|
||||
unlisted=0
|
||||
|
||||
ps | grep wifi | grep -q reload || {
|
||||
ps | grep -q wifi | grep -q reload || {
|
||||
for mac in $(brctl showmacs br-wan 2>/dev/null | tail -n +2 | grep no | awk '{print$2}'); do
|
||||
grep -q "$mac" /proc/net/arp || unlisted=$((unlisted+1))
|
||||
done
|
||||
@@ -38,10 +35,10 @@ while true; do
|
||||
mask=$(mask_to_cidr $netmask)
|
||||
}
|
||||
|
||||
if [ $unlisted -gt 0 -a -n "$ipaddr" -a -n "$netmask" -a $mask -ge 24 ]; then
|
||||
if [ $unlisted -gt 0 -a -n "$ipaddr" -a -n "$netmask" ]; then
|
||||
fping -c 1 -t 1000 -g $ipaddr/$mask -q >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
sleep 30
|
||||
sleep 20
|
||||
done
|
||||
|
||||
|
||||
19
inteno-netmodes/files/sbin/netmode-repeater-correction
Executable file
19
inteno-netmodes/files/sbin/netmode-repeater-correction
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
MTK=0
|
||||
[ "$(db -q get hw.board.hardware)" == "EX400" ] && MTK=1
|
||||
|
||||
if [ $MTK -eq 1 ]; then
|
||||
WANDEV="eth0.2"
|
||||
link=$(swconfig dev switch0 port 0 get link | awk '{print$2}' | cut -d':' -f2)
|
||||
else
|
||||
WANDEV="$(uci get layer2_interface_ethernet.Wan.ifname)"
|
||||
link=$(cat /sys/class/net/${WANDEV:0:4}/operstate)
|
||||
fi
|
||||
|
||||
[ "$link" == "up" ] && action=add
|
||||
[ "$link" == "down" ] && action=remove
|
||||
[ -z "$action" ] && exit
|
||||
|
||||
# trigger a fake hotplug net event
|
||||
INTERFACE=$WANDEV ACTION=$action /sbin/hotplug-call net
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
netmode-conf "$1" "$2" &
|
||||
@@ -1,257 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
NETCON=0
|
||||
TVCON=0
|
||||
WANIP=0
|
||||
LASTSTATUS=""
|
||||
CURSTATUS=""
|
||||
ETHWAN="$(db -q get hw.board.ethernetWanPort)"
|
||||
|
||||
SLEEP_TIME=30
|
||||
enableCounter=0
|
||||
AccessPolicy=0
|
||||
|
||||
get_wifi_iface_cfgstr() {
|
||||
get_cfgno() {
|
||||
config_get ifname "$1" ifname
|
||||
[ "$ifname" == "$2" ] && echo "wireless.$1"
|
||||
}
|
||||
config_load wireless
|
||||
config_foreach get_cfgno wifi-iface $1
|
||||
}
|
||||
|
||||
ping_uplink()
|
||||
{
|
||||
local hasip hasdev hasmode
|
||||
local ipaddr=""
|
||||
local device=""
|
||||
local rready=""
|
||||
local wetif=""
|
||||
local assoclist=""
|
||||
local rv=0
|
||||
|
||||
[ -f /tmp/wps_client_mode_active ] && {
|
||||
ubus call led.internet set '{"state" : "off"}'
|
||||
return
|
||||
}
|
||||
|
||||
ipaddr="$(ip r | grep default | awk '{print$3}')"
|
||||
[ -n "$ipaddr" ] && hasip=1 || hasip=0
|
||||
|
||||
device="$(ip r | grep default | awk '{print$5}')"
|
||||
[ -n "$device" ] && hasdev=1 || hasdev=0
|
||||
|
||||
rready="$(uci -q get netmode.setup.repeaterready)"
|
||||
[ "$rready" == "1" ] && hasmode=0 || hasmode=1
|
||||
|
||||
if [ "$hasmode" == "1" ] && [ "$hasip" == "0" -o "$hasdev" == "0" ]; then
|
||||
rv=0
|
||||
elif [ "$hasmode" == "1" ]; then
|
||||
arping -f -q -c1 -w3 -I $device $ipaddr
|
||||
[ $? -eq 1 ] && rv=0 || rv=1
|
||||
else
|
||||
SLEEP_TIME=5
|
||||
ubus call led.internet set '{"state" : "off"}'
|
||||
return
|
||||
fi
|
||||
|
||||
if [ $rv -eq 0 ]; then
|
||||
echo "{ \"online\" : false }" > /tmp/internet_connection_status
|
||||
|
||||
SLEEP_TIME=10
|
||||
|
||||
wetif="$(uci -q get wireless.$(uci show wireless | grep 'mode=.*wet.*' | cut -d'.' -f2 | head -1).ifname)"
|
||||
# If there is an uplink IP address but no connection for 5 minutes, reboot
|
||||
if [ $enableCounter -gt 32 ]; then
|
||||
logger -s -p user.info -t "testnet" "No uplink connection; reboot" >/dev/console
|
||||
ubus call led.internet set '{"state" : "error"}'
|
||||
reboot &
|
||||
elif [ $((enableCounter % 8)) -eq 0 -a $enableCounter -ge 8 -o $enableCounter -eq 0 ]; then
|
||||
ps | grep -v grep | grep -q 'wifi reload\|wifi import\|wifi.credentials\|iwpriv' && return
|
||||
|
||||
logger -s -p user.info -t "testnet" "No uplink connection; try to re-connect" >/dev/console
|
||||
|
||||
if [ -f /usr/sbin/wlctl ]; then
|
||||
assoclist="$(wlctl -i $wetif assoclist | head -1 | awk '{print$2}')"
|
||||
wlctl -i $wetif reassoc $assoclsit
|
||||
elif [ -f /usr/sbin/iwpriv ]; then
|
||||
wetcfg="$(get_wifi_iface_cfgstr $wetif)"
|
||||
wetssid="$(uci -q get $wetcfg.ssid)"
|
||||
wetkey="$(uci -q get $wetcfg.key)"
|
||||
if [ -n "$wetkey" ]; then
|
||||
wetauth="WPA2PSK"
|
||||
wetenc="AES"
|
||||
else
|
||||
wetauth="OPEN"
|
||||
wetenc="NONE"
|
||||
fi
|
||||
iwpriv $wetif set ApCliEnable=0
|
||||
iwpriv $wetif set ApCliSsid="$wetssid"
|
||||
iwpriv $wetif set ApCliAuthMode="$wetauth"
|
||||
iwpriv $wetif set ApCliEncrypType="$wetenc"
|
||||
iwpriv $wetif set ApCliWPAPSK="$wetkey"
|
||||
iwpriv $wetif set ApCliEnable=1
|
||||
iwpriv $wetif set ApCliAutoConnect=1
|
||||
fi
|
||||
ubus call led.internet set '{"state" : "notice"}'
|
||||
# touch /tmp/netmodes/repeater_trying_to_connect
|
||||
# else
|
||||
# if [ -f /tmp/netmodes/repeater_trying_to_connect ]; then
|
||||
# rm -f /tmp/netmodes/repeater_trying_to_connect
|
||||
# else
|
||||
# ubus call led.internet set '{"state" : "error"}'
|
||||
# fi
|
||||
fi
|
||||
|
||||
enableCounter=$((enableCounter+1))
|
||||
|
||||
if [ $AccessPolicy -eq 1 ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
AccessPolicy=1
|
||||
if [ -f /usr/sbin/iwpriv ]; then
|
||||
grep -q up /sys/class/net/$ETHWAN/operstate 2>/dev/null || {
|
||||
logger -s -p user.info -t "testnet" "Disconnect all stations and disable WiFi access on downlink wireless interfaces" >/dev/console
|
||||
# Do not allow clients to connect on 2.4GHz radio
|
||||
iwpriv ra0 set AccessPolicy=$AccessPolicy
|
||||
# Do not allow clients to connect on 5GHz radio
|
||||
iwpriv rai0 set AccessPolicy=$AccessPolicy
|
||||
# Disconnect clients on 2.4GHz radio
|
||||
iwpriv ra0 set DisConnectAllSta=2
|
||||
# Disconnect clients on 5GHz radio
|
||||
iwpriv rai0 set DisConnectAllSta=2
|
||||
}
|
||||
fi
|
||||
else
|
||||
grep -q "true" /tmp/internet_connection_status 2>/dev/null || logger -s -p user.info -t "testnet" "Uplink connection is gained" >/dev/console
|
||||
echo "{ \"online\" : true }" > /tmp/internet_connection_status
|
||||
ubus call led.internet set '{"state" : "eok"}'
|
||||
|
||||
SLEEP_TIME=5
|
||||
|
||||
enableCounter=0
|
||||
if [ $AccessPolicy -eq 0 ]; then
|
||||
return
|
||||
fi
|
||||
# Uplink working, allow clients to connect
|
||||
AccessPolicy=0
|
||||
|
||||
if [ -f /usr/sbin/iwpriv ]; then
|
||||
logger -s -p user.info -t "testnet" "Enable WiFi access on downlink wireless interfaces" >/dev/console
|
||||
iwpriv ra0 set AccessPolicy=$AccessPolicy
|
||||
iwpriv rai0 set AccessPolicy=$AccessPolicy
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
test_connection() {
|
||||
local addr="$1"
|
||||
local defroute="$(ip r | grep default | awk '{print$3}' | head -1)"
|
||||
local def6route="$(ip -f inet6 r | grep default | awk '{print$3}')"
|
||||
local ping6dev="$(ip -f inet6 r | grep default | awk '{print$5}')"
|
||||
|
||||
if [ -n "$addr" ]; then
|
||||
ping -q -w 5 -c 1 $addr >/dev/null 2>&1 && return 0
|
||||
elif [ -n "$defroute" ]; then
|
||||
ping -q -w 5 -c 1 $defroute >/dev/null 2>&1 && return 0
|
||||
for nmsrv in $(grep nameserver /var/resolv.conf.auto | awk '{print$2}'); do
|
||||
ping -q -w 5 -c 1 $nmsrv >/dev/null 2>&1 && return 0
|
||||
done
|
||||
elif [ -n "$def6route" ] && [ -n "$ping6dev" ]; then
|
||||
ndisc6 -w 5 -1 $def6route $ping6dev >/dev/null 2>&1 && return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
wan_have_ip() {
|
||||
[ -d /sys/class/net/$ETHWAN ] || return
|
||||
ubus list led.wan >/dev/null 2>&1 || return
|
||||
|
||||
local addr=$(ip a show dev $ETHWAN | grep "inet "| awk '{print $2}')
|
||||
|
||||
if [ -n "$addr" ]; then
|
||||
WANIP=1
|
||||
ubus call led.wan set '{"state" : "ok"}'
|
||||
else
|
||||
WANIP=0
|
||||
fi
|
||||
# don't set wan here status is set from hotplug, only set when ip is detected.
|
||||
}
|
||||
|
||||
internet_test() {
|
||||
local link dest
|
||||
|
||||
dest="$(uci -q get system.@system[0].netping_addr)"
|
||||
|
||||
test_connection $dest
|
||||
|
||||
if [ "$?" -eq 0 ]; then
|
||||
NETCON=1
|
||||
ubus call led.internet set '{"state" : "ok"}'
|
||||
echo "{ \"online\" : true }" > /tmp/internet_connection_status
|
||||
else
|
||||
NETCON=0
|
||||
ubus call led.internet set '{"state" : "error"}'
|
||||
echo "{ \"online\" : false }" > /tmp/internet_connection_status
|
||||
fi
|
||||
}
|
||||
|
||||
iptvtest() {
|
||||
ubus list led.ext >/dev/null 2>&1 && TVCON=1 || return
|
||||
|
||||
local dest="$(uci -q get system.@system[0].tvping_addr)"
|
||||
|
||||
test_connection $dest
|
||||
|
||||
if [ "$?" -eq 0 ]; then
|
||||
TVCON=1
|
||||
[ -n "$dest" ] && ubus call led.ext set '{"state" : "ok"}'
|
||||
else
|
||||
TVCON=0
|
||||
[ -n "$dest" ] && ubus call led.ext set '{"state" : "off"}'
|
||||
fi
|
||||
}
|
||||
|
||||
netmode_check() {
|
||||
local curmode="$(uci -q get netmode.setup.curmode)"
|
||||
local uplinkband="$(uci -q get netmode.$curmode.uplink_band)"
|
||||
local rready="$(uci -q get netmode.setup.repeaterready)"
|
||||
|
||||
[ "$rready" == "1" ] && uplinkband="a"
|
||||
|
||||
echo "$uplinkband"
|
||||
}
|
||||
|
||||
connectivity_test() {
|
||||
if [ "$(netmode_check)" != "" ]; then
|
||||
ping_uplink
|
||||
return
|
||||
fi
|
||||
|
||||
SLEEP_TIME=30
|
||||
|
||||
internet_test
|
||||
|
||||
if [ $NETCON -eq 1 ]; then
|
||||
CURSTATUS=1
|
||||
[ "$CURSTATUS" == "$LASTSTATUS" ] || ubus send internet '{"status" : "online"}'
|
||||
LASTSTATUS=1
|
||||
else
|
||||
CURSTATUS=0
|
||||
[ "$CURSTATUS" == "$LASTSTATUS" ] || ubus send internet '{"status" : "offline"}'
|
||||
LASTSTATUS=0
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$1" == "once" ]; then
|
||||
connectivity_test
|
||||
exit 0
|
||||
fi
|
||||
|
||||
while true; do
|
||||
connectivity_test
|
||||
sleep $SLEEP_TIME
|
||||
done
|
||||
@@ -129,12 +129,12 @@ case "$1" in
|
||||
json_load "`cat $file`" || write_error "invalid file content"
|
||||
json_select "wifi_ifaces" || write_error "invalid file content"
|
||||
|
||||
start-netmode-conf "$file" "$from_gui" >/dev/null 2>/dev/null
|
||||
|
||||
json_init
|
||||
json_add_string "status" success
|
||||
json_dump
|
||||
|
||||
netmode-conf "$file" "$from_gui" >/dev/null 2>&1 &
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
menu "Library options"
|
||||
|
||||
config IOP_LLA_LIBS_DEBUG
|
||||
bool "Enable debug support"
|
||||
default n
|
||||
|
||||
endmenu
|
||||
@@ -1,131 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2018 Iopsys
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=iop-lla-libs
|
||||
PKG_VERSION:=1.0.0
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=cf38a6165251709c0d60b33eafd7f32dcc0675d7
|
||||
PKG_SOURCE_URL:=http://public.inteno.se:/iop-lla-libs
|
||||
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@inteno.se>
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/iop-lla-libs
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
SUBMENU:=IOPSYS low level libraries
|
||||
DEPENDS:=+libopenssl
|
||||
endef
|
||||
|
||||
define Package/libwifi
|
||||
$(call Package/iop-lla-libs)
|
||||
TITLE:= WiFi library (libwifi)
|
||||
endef
|
||||
|
||||
define Package/libdsl
|
||||
$(call Package/iop-lla-libs)
|
||||
TITLE:= XDSL library (libdsl)
|
||||
endef
|
||||
|
||||
define Package/libethernet
|
||||
$(call Package/iop-lla-libs)
|
||||
TITLE:= Ethernet library (libethernet)
|
||||
DEPENDS:=+TARGET_iopsys_ramips:swconfig
|
||||
endef
|
||||
|
||||
define Package/iop-lla-libs/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
|
||||
TARGET_PLATFORM=BROADCOM
|
||||
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138
|
||||
KERNEL_DIR:=$(BUILD_DIR)/bcmkernel/bcm963xx
|
||||
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
|
||||
TARGET_PLATFORM=BROADCOM
|
||||
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138
|
||||
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
|
||||
TARGET_PLATFORM=MEDIATEK
|
||||
TARGET_CFLAGS +=-DIOPSYS_MEDIATEK
|
||||
else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
|
||||
TARGET_PLATFORM=MARVELL
|
||||
TARGET_CFLAGS +=-DIOPSYS_MARVELL
|
||||
else ifeq ($(CONFIG_TARGET_lantiq_xrx500),y)
|
||||
TARGET_PLATFORM=LANTIQ
|
||||
TARGET_CFLAGS +=-DIOPSYS_LANTIQ
|
||||
else
|
||||
$(info (UNEXPECTED CONFIG TARGET))
|
||||
endif
|
||||
|
||||
ifdef CONFIG_IOP_LLA_LIBS_DEBUG
|
||||
TARGET_CFLAGS += -DIOP_LLA_LIBS_DEBUG
|
||||
endif
|
||||
|
||||
subdirs := \
|
||||
$(if $(CONFIG_PACKAGE_libwifi),libwifi) \
|
||||
$(if $(CONFIG_PACKAGE_libdsl),libdsl) \
|
||||
$(if $(CONFIG_PACKAGE_libethernet),libethernet)
|
||||
|
||||
TARGET_CFLAGS += \
|
||||
-I$(STAGING_DIR)/usr/include \
|
||||
-I$(STAGING_DIR)/usr/include/libnl3
|
||||
|
||||
MAKE_FLAGS += \
|
||||
CFLAGS="$(TARGET_CFLAGS)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
FPIC="$(FPIC)" \
|
||||
PLATFORM="$(TARGET_PLATFORM)" \
|
||||
subdirs="$(subdirs)"
|
||||
|
||||
define Build/InstallDev/libwifi
|
||||
echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX $(1)"
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/libwifi/wifi.h $(1)/usr/include/
|
||||
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Build/InstallDev/libdsl
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/libdsl/xdsl.h $(1)/usr/include/
|
||||
$(CP) $(PKG_BUILD_DIR)/libdsl/libdsl.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Build/InstallDev/libethernet
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/libethernet/ethernet.h $(1)/usr/include/
|
||||
$(CP) $(PKG_BUILD_DIR)/libethernet/libethernet.so $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
|
||||
define Build/InstallDev
|
||||
$(foreach dir,$(subdirs),$(call Build/InstallDev/$(dir),$(1),$(2));)
|
||||
endef
|
||||
|
||||
define Package/libwifi/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libethernet/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/libethernet/libethernet.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libdsl/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/libdsl/libdsl.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libwifi))
|
||||
$(eval $(call BuildPackage,libdsl))
|
||||
$(eval $(call BuildPackage,libethernet))
|
||||
@@ -32,8 +32,6 @@ CONFIG_PACKAGE_ice-client-netrounds=m
|
||||
CONFIG_PACKAGE_ice-client-rshell=m
|
||||
CONFIG_PACKAGE_ice-client-texec=m
|
||||
CONFIG_PACKAGE_icwmp-curl=y
|
||||
CONFIG_PACKAGE_imonitor=y
|
||||
CONFIG_PACKAGE_inbd=y
|
||||
CONFIG_PACKAGE_inteno-netmodes=y
|
||||
CONFIG_PACKAGE_iperf-mt=y
|
||||
CONFIG_PACKAGE_ipset=y
|
||||
@@ -44,34 +42,35 @@ CONFIG_PACKAGE_iptables-mod-ipopt=y
|
||||
CONFIG_PACKAGE_iup=y
|
||||
CONFIG_PACKAGE_iwatchdog=y
|
||||
CONFIG_PACKAGE_juci=y
|
||||
CONFIG_PACKAGE_juci-broadcom-dsl=y
|
||||
CONFIG_PACKAGE_juci-broadcom-ethernet=y
|
||||
CONFIG_PACKAGE_juci-broadcom-iptv=y
|
||||
CONFIG_PACKAGE_juci-broadcom-pwrmgmt=y
|
||||
CONFIG_PACKAGE_juci-broadcom-vlan=y
|
||||
CONFIG_PACKAGE_juci-wireless=y
|
||||
CONFIG_PACKAGE_juci-broadcom-xdsl=y
|
||||
CONFIG_PACKAGE_juci-ddns=y
|
||||
CONFIG_PACKAGE_juci-diagnostics=y
|
||||
CONFIG_PACKAGE_juci-dnsmasq-dhcp=y
|
||||
CONFIG_PACKAGE_juci-dropbear=y
|
||||
CONFIG_PACKAGE_juci-ethernet=y
|
||||
CONFIG_PACKAGE_juci-event=y
|
||||
CONFIG_PACKAGE_juci-firewall-fw3=y
|
||||
CONFIG_PACKAGE_juci-ice-client=y
|
||||
CONFIG_PACKAGE_juci-icwmp=y
|
||||
CONFIG_PACKAGE_juci-igmpinfo=y
|
||||
CONFIG_PACKAGE_juci-config-backup=y
|
||||
CONFIG_PACKAGE_juci-inteno-backup=y
|
||||
CONFIG_PACKAGE_juci-mwan3=y
|
||||
CONFIG_PACKAGE_juci-iup=y
|
||||
# CONFIG_PACKAGE_juci-qos is not set
|
||||
CONFIG_PACKAGE_juci-voice-client=y
|
||||
CONFIG_PACKAGE_juci-inteno-provisioning=y
|
||||
CONFIG_PACKAGE_juci-inteno-qos=y
|
||||
CONFIG_PACKAGE_juci-inteno-voice-client=y
|
||||
CONFIG_PACKAGE_juci-macdb=y
|
||||
CONFIG_PACKAGE_juci-minidlna=y
|
||||
CONFIG_PACKAGE_juci-mod-status=y
|
||||
CONFIG_PACKAGE_juci-mod-system=y
|
||||
CONFIG_PACKAGE_juci-natalie-dect=y
|
||||
CONFIG_PACKAGE_juci-netmode=y
|
||||
CONFIG_PACKAGE_juci-network-device=y
|
||||
CONFIG_PACKAGE_juci-network-dsl=y
|
||||
CONFIG_PACKAGE_juci-network-netifd=y
|
||||
CONFIG_PACKAGE_juci-network-port=y
|
||||
CONFIG_PACKAGE_juci-openvpn=y
|
||||
CONFIG_PACKAGE_juci-owsd=y
|
||||
CONFIG_PACKAGE_juci-printer=y
|
||||
CONFIG_PACKAGE_juci-realtime-graphs=y
|
||||
@@ -87,6 +86,7 @@ CONFIG_PACKAGE_juci-utils=y
|
||||
# CONFIG_PACKAGE_kmod-ipt-nathelper is not set
|
||||
CONFIG_PACKAGE_kmod-nls-base=y
|
||||
CONFIG_PACKAGE_kmod-siit=y
|
||||
CONFIG_PACKAGE_layer2interface=y
|
||||
CONFIG_PACKAGE_libcgroup-daemon=y
|
||||
CONFIG_PACKAGE_libcgroup=y
|
||||
# CONFIG_PACKAGE_libcgroup-utils is not set
|
||||
@@ -104,34 +104,29 @@ CONFIG_PACKAGE_mtd-utils-imagewrite=y
|
||||
CONFIG_PACKAGE_mtd-utils-mkfs.jffs2=y
|
||||
CONFIG_PACKAGE_mtd-utils-nanddump=y
|
||||
CONFIG_PACKAGE_mwan3=y
|
||||
CONFIG_PACKAGE_nand-utils=y
|
||||
CONFIG_PACKAGE_ndisc6=y
|
||||
CONFIG_PACKAGE_ntfs-3g=y
|
||||
CONFIG_PACKAGE_ntpd=y
|
||||
CONFIG_PACKAGE_odhcp6c=y
|
||||
CONFIG_PACKAGE_odhcpd=y
|
||||
CONFIG_PACKAGE_openssl-util=y
|
||||
CONFIG_OPENSSL_WITH_COMPRESSION=y
|
||||
CONFIG_PACKAGE_openvpn-easy-rsa=y
|
||||
CONFIG_PACKAGE_openvpn-openssl=y
|
||||
# CONFIG_PACKAGE_p910nd is not set
|
||||
CONFIG_PACKAGE_p910nd=y
|
||||
CONFIG_PACKAGE_peripheral_manager=y
|
||||
CONFIG_PACKAGE_port-management=y
|
||||
CONFIG_PACKAGE_power-management=y
|
||||
CONFIG_PACKAGE_ppp-mod-pppoa=y
|
||||
CONFIG_PACKAGE_ppp-mod-pppoe=y
|
||||
CONFIG_PACKAGE_ppp-mod-pppol2tp=y
|
||||
CONFIG_PACKAGE_ppp-mod-pptp=y
|
||||
CONFIG_PACKAGE_ppp-multilink=y
|
||||
# CONFIG_PACKAGE_ppp is not set
|
||||
# CONFIG_PACKAGE_qos-scripts is not set
|
||||
CONFIG_PACKAGE_qos-scripts=y
|
||||
CONFIG_PACKAGE_questd=y
|
||||
CONFIG_PACKAGE_rdisc6=y
|
||||
CONFIG_PACKAGE_rdnssd=y
|
||||
CONFIG_PACKAGE_relayd=y
|
||||
CONFIG_PACKAGE_resolveip=y
|
||||
CONFIG_PACKAGE_rpcd=y
|
||||
CONFIG_PACKAGE_rulengd=y
|
||||
CONFIG_PACKAGE_samba3=y
|
||||
CONFIG_PACKAGE_samba3-nmbd=y
|
||||
CONFIG_PACKAGE_snmpd=y
|
||||
@@ -157,7 +152,6 @@ CONFIG_TARGET_ROOTFS_TARGZ=y
|
||||
CONFIG_USE_STRIP=y
|
||||
CONFIG_BUILD_LOG=y
|
||||
CONFIG_BUSYBOX_CONFIG_ADDUSER=y
|
||||
CONFIG_BUSYBOX_CONFIG_ARPING=y
|
||||
CONFIG_BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT=y
|
||||
CONFIG_BUSYBOX_CONFIG_CTTYHACK=y
|
||||
CONFIG_BUSYBOX_CONFIG_DELUSER=y
|
||||
@@ -165,9 +159,9 @@ CONFIG_BUSYBOX_CONFIG_DELUSER=y
|
||||
CONFIG_BUSYBOX_CONFIG_FEATURE_UDHCP_8021Q=y
|
||||
CONFIG_BUSYBOX_CONFIG_FIRST_SYSTEM_ID=100
|
||||
CONFIG_BUSYBOX_CONFIG_HTTPD=y
|
||||
# CONFIG_BUSYBOX_CONFIG_INSMOD is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_MODINFO is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_MODPROBE is not set
|
||||
CONFIG_BUSYBOX_CONFIG_INSMOD=y
|
||||
CONFIG_BUSYBOX_CONFIG_MODINFO=y
|
||||
CONFIG_BUSYBOX_CONFIG_MODPROBE=y
|
||||
CONFIG_BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST=y
|
||||
CONFIG_BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
|
||||
CONFIG_BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS=y
|
||||
@@ -176,11 +170,11 @@ CONFIG_BUSYBOX_CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
|
||||
CONFIG_BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
|
||||
CONFIG_BUSYBOX_CONFIG_LAST_SYSTEM_ID=999
|
||||
CONFIG_BUSYBOX_CONFIG_LOGIN=y
|
||||
# CONFIG_BUSYBOX_CONFIG_LSMOD is not set
|
||||
CONFIG_BUSYBOX_CONFIG_LSMOD=y
|
||||
CONFIG_BUSYBOX_CONFIG_LSPCI=y
|
||||
CONFIG_BUSYBOX_CONFIG_LSUSB=y
|
||||
CONFIG_BUSYBOX_CONFIG_MICROCOM=y
|
||||
# CONFIG_BUSYBOX_CONFIG_RMMOD is not set
|
||||
CONFIG_BUSYBOX_CONFIG_RMMOD=y
|
||||
CONFIG_BUSYBOX_CONFIG_STTY=y
|
||||
CONFIG_BUSYBOX_CONFIG_TFTP=y
|
||||
# CONFIG_BUSYBOX_CONFIG_FEATURE_2_4_MODULES is not set
|
||||
@@ -210,11 +204,7 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_PUT=y
|
||||
# CONFIG_BUSYBOX_CONFIG_LOGIN_SESSION_AS_CHILD is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_PAM is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_TFTP_DEBUG is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_NTPD is not set
|
||||
# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
|
||||
CONFIG_LIBCURL_CRYPTO_AUTH=y
|
||||
# CONFIG_LIBCURL_MBEDTLS is not set
|
||||
CONFIG_LIBCURL_OPENSSL=y
|
||||
CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
|
||||
# CONFIG_SAMBA3_CONFIG_NO_PRINTING is not set
|
||||
# CONFIG_SIGNED_PACKAGES is not set
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
# CONFIG_PACKAGE_libcgroup-daemon is not set
|
||||
# CONFIG_PACKAGE_libcgroup is not set
|
||||
|
||||
# CONFIG_PACKAGE_juci-broadcom-wl is not set
|
||||
# CONFIG_PACKAGE_juci-minisnmpd is not set
|
||||
# CONFIG_PACKAGE_juci-router-openwrt is not set
|
||||
# CONFIG_PACKAGE_speedsvc is not set
|
||||
|
||||
# CONFIG_juci_broadcom_wl is not set
|
||||
# CONFIG_juci_minisnmpd is not set
|
||||
# CONFIG_juci_router_openwrt is not set
|
||||
|
||||
# CONFIG_PACKAGE_brcminfo is not set
|
||||
CONFIG_PACKAGE_brcm_fw_tool=y
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
# Disable kernel internal Dect. External Dect can still operate.
|
||||
CONFIG_TARGET_NO_DECT=y
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
# Disable kernel internal Dect. External Dect can still operate.
|
||||
CONFIG_TARGET_NO_DECT=y
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
CONFIG_BCM_I2C=y
|
||||
|
||||
# Disable kernel internal Dect. External Dect can still operate.
|
||||
CONFIG_TARGET_NO_DECT=y
|
||||
|
||||
CONFIG_TARGET_NO_DSL=y
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
|
||||
# Disable kernel internal Dect. External Dect can still operate.
|
||||
CONFIG_TARGET_NO_DECT=y
|
||||
|
||||
CONFIG_USE_DSL=y
|
||||
CONFIG_TARGET_DSL_GFAST=y
|
||||
@@ -1,6 +0,0 @@
|
||||
|
||||
# Disable kernel internal Dect. External Dect can still operate.
|
||||
CONFIG_TARGET_NO_DECT=y
|
||||
|
||||
CONFIG_USE_DSL=y
|
||||
CONFIG_TARGET_DSL_GFAST=y
|
||||
@@ -1,5 +0,0 @@
|
||||
|
||||
# Disable kernel internal Dect. External Dect can still operate.
|
||||
CONFIG_TARGET_NO_DECT=y
|
||||
|
||||
CONFIG_TARGET_NO_DSL=y
|
||||
@@ -1,3 +0,0 @@
|
||||
CONFIG_TARGET_NO_DSL=y
|
||||
CONFIG_BCM_I2C=y
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# CONFIG_PACKAGE_libcgroup-daemon is not set
|
||||
# CONFIG_PACKAGE_libcgroup is not set
|
||||
|
||||
# CONFIG_PACKAGE_natalie-dect is not set
|
||||
# CONFIG_PACKAGE_juci-broadcom-wl is not set
|
||||
# CONFIG_PACKAGE_juci-minisnmpd is not set
|
||||
# CONFIG_PACKAGE_juci-router-openwrt is not set
|
||||
# CONFIG_PACKAGE_speedsvc is not set
|
||||
|
||||
# CONFIG_juci_broadcom_wl is not set
|
||||
# CONFIG_juci_minisnmpd is not set
|
||||
# CONFIG_juci_router_openwrt is not set
|
||||
|
||||
# CONFIG_PACKAGE_brcminfo is not set
|
||||
CONFIG_PACKAGE_brcm_fw_tool=y
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
CONFIG_BCM_I2C=y
|
||||
CONFIG_TARGET_NO_DECT=y
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
CONFIG_TARGET_NO_VOICE=y
|
||||
CONFIG_BCM_I2C=y
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
CONFIG_BCM_I2C=y
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
CONFIG_TARGET_NO_VOICE=y
|
||||
CONFIG_BCM_I2C=y
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user