Compare commits

..

57 Commits
vcl ... devops

Author SHA1 Message Date
Philippe Blavier
70f0315d8d Rename auto_feeds_conf to auto_feeds_conf.sh 2019-08-21 13:23:31 +02:00
Philippe Blavier
f3f3f69789 Create iop plugin auto_feeds_conf 2019-08-20 16:34:07 +02:00
Philippe Blavier
cf2c8972b3 Update feed [ iopsys ] package [ imonitor ]
-------------------------------------------------------------------------------
* cea6063 Update copyright year
-------------------------------------------------------------------------------
commit cea60630cfac1d3c70f486acea6663d339b7d444
Author: Philippe Blavier <philippe@southpole.se>
Date: 2019-05-23 15:03:28 +0200

    Update copyright year

Base directory -> /
 src/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-05-23 15:05:57 +02:00
Philippe Blavier
5d8dcb76df Remove trailing white spaces 2019-05-23 14:12:00 +02:00
Sukru Senli
525d55177a icwmp: fix tr-181 Device.Routing issues 2019-04-10 15:13:01 +02:00
Sukru Senli
5b69874139 iop: update_package: ignore the feed if not hash is used 2019-04-08 15:59:36 +02:00
Anjan Chanda
92c7c24a43 Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* c7228ea fix array size bounds for max interfaces
-------------------------------------------------------------------------------
commit c7228ea031f407580ff8e4801e0ba544aeadd050
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-04-08 13:40:40 +0200

    fix array size bounds for max interfaces

Base directory -> /
 wifimngr.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
-------------------------------------------------------------------------------
2019-04-08 13:50:19 +02:00
Sachin Singla
906f7881c7 ifbt: add syslog debugging feature 2019-04-08 12:06:22 +02:00
Sukru Senli
1cec925bbb netmode: fix acl for netmodes 2019-04-02 13:04:27 +02:00
Sachin Singla
bd6aa7ed3d ifbt: change event name to wifi.fbt 2019-03-29 17:56:08 +01:00
Sukru Senli
4e3fbdb5b3 icwmp-4.0-2019-03-29 2019-03-29 17:30:56 +01:00
Anjan Chanda
02363930c1 Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* 1de666d match iftype in uci_wifi_get_interfaces function
-------------------------------------------------------------------------------
commit 1de666d20954b818c075c9166a005d1ae13526d6
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-03-29 14:49:03 +0100

    match iftype in uci_wifi_get_interfaces function

Base directory -> /
 wifimngr.c | 31 +++++++++++++++++++++----------
 1 file changed, 21 insertions(+), 10 deletions(-)
-------------------------------------------------------------------------------
2019-03-29 14:54:10 +01:00
Sukru Senli
c35f3b1ca1 Revert "netmode: disable wificontrol by default"
This reverts commit bcba464917.
2019-03-28 18:52:57 +01:00
Jakob Olsson
da88558c98 questd: update pkg to adapt to mobility domain id 2019-03-28 18:51:50 +01:00
Sachin Singla
3fa918aacc ifbt: fix issues in ifbt 2019-03-28 16:45:07 +01:00
Sachin Singla
406002c5b0 ifbt: fix ifbt issues 2019-03-28 12:13:06 +01:00
Anjan Chanda
e4df6d3814 Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* 4b4087d account for vifs in wildcard dumps
-------------------------------------------------------------------------------
commit 4b4087d3970258c2fd7e90e65df923e3f699189e
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-03-28 11:50:50 +0100

    account for vifs in wildcard dumps

Base directory -> /
 wifimngr.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 65 insertions(+), 7 deletions(-)
-------------------------------------------------------------------------------
2019-03-28 11:56:37 +01:00
Anjan Chanda
52a8c3b217 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 9a75b71 disable legacy_steer by default
* 47c680d don't btm steer if retry reached
-------------------------------------------------------------------------------
commit 9a75b717d3cd95d88e394f5bcd8b4006dfa450ba
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-03-28 10:35:00 +0100

    disable legacy_steer by default

Base directory -> /
 src/config.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 47c680d59d1db7e2a4b801d3d7cef1829e29c4d6
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-03-28 09:21:37 +0100

    don't btm steer if retry reached

Base directory -> /
 src/agent.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
2019-03-28 11:56:00 +01:00
Sachin Singla
9c4252e918 add PMK_R0 for 11r 2019-03-28 10:41:35 +01:00
Sachin Singla
39d7ee1f1a increase inbd buffer 2019-03-28 10:29:55 +01:00
Sukru Senli
e446abffd3 ice-client: restrict access to ice user password 2019-03-27 18:05:51 +00:00
Jakob Olsson
a35497685b questd: update pkg to include wificontrol compilation fixes 2019-03-27 16:24:36 +01:00
Jakob Olsson
c364bb7f82 Revert "Revert "netmode: disable wificontrol by default""
This reverts commit 8c272d3613.
2019-03-27 16:12:54 +01:00
Jakob Olsson
0440496d16 Revert "questd: remove wificontrol"
This reverts commit 7513d32e91.
2019-03-27 16:12:51 +01:00
Jakob Olsson
981d4b0b7d questd: update pkg to include wificontrol re-addition to makefile 2019-03-27 16:12:39 +01:00
Jakob Olsson
7513d32e91 questd: remove wificontrol 2019-03-27 15:49:12 +01:00
Jakob Olsson
45c4d8dc39 questd: update pkg to include router.network refactor #17078 #17081
Primarily a router.network overhaul, but also minor router.system
info fix.
2019-03-27 15:47:46 +01:00
Jakob Olsson
1fa45afa52 wifilife: update pkg to include legacy steer options #17100 2019-03-27 12:35:50 +01:00
Sukru Senli
8c272d3613 Revert "netmode: disable wificontrol by default"
This reverts commit bcba464917.
2019-03-23 11:48:58 +01:00
Sukru Senli
8de301e38b wifilife: set dnsmasq lease hwmask according to mobility domain id 2019-03-23 11:47:34 +01:00
Jakob Olsson
f91e7063ca wifimngr: update pkg to include data model change to assoclist #17078 2019-03-21 13:10:19 +01:00
Sukru Senli
bcba464917 netmode: disable wificontrol by default 2019-03-21 11:29:57 +01:00
Jakob Olsson
b1d03ebb60 samba: use hex_filter when creating user and password #17065 2019-03-20 13:56:00 +01:00
Jakob Olsson
833e1b90c5 Revert "quest: update pkg to fix router.network for repeated clients"
This reverts commit f8857b208d.
2019-03-19 16:21:59 +01:00
Jakob Olsson
206370c994 netmode: update pkg removal of perror on fopen 2019-03-19 10:35:41 +01:00
Sukru Senli
ad4d329dc1 voice-client: reload asterisk upon ifup even if not bound to a specific interface 2019-03-19 08:44:14 +01:00
Jakob Olsson
f8857b208d quest: update pkg to fix router.network for repeated clients 2019-03-15 09:55:50 +01:00
Sachin Singla
f072c81d04 add EX400 master support 2019-03-14 14:17:27 +01:00
Jakob Olsson
7799804f1d wifilife: update pkg to include fix that exits on wifix radios timeout #16739 2019-03-13 10:14:07 +01:00
Jakob Olsson
6d5130e982 wifilife: update pkg hash to fix agent crash on cleaned timeouts #17005 2019-03-12 13:33:28 +01:00
Jakob Olsson
b08f86d209 netmode: run save/apply _wet_cfg through pre and post scripts #16601 2019-03-12 09:59:17 +01:00
Jakob Olsson
a9976f626b netmode: update pkg to include flashing led change #16963 2019-03-04 16:47:01 +01:00
Jakob Olsson
223f025b72 wifilife: update pkg to include minor memory leak fix 2019-03-04 12:25:21 +01:00
Jakob Olsson
c8ba536d59 netmode: update pkg ot include flashing leds during zero-touch #16963 2019-03-04 12:16:50 +01:00
Jakob Olsson
6781aad52e netmode: do ubus call commit owsd after writing to owsd config #16739
Daemons such as wifilife are dependent on owsd configuration. Wifilife
was started with the controller running and it was never being stopped,
despite owsd config being changed.
2019-02-25 12:38:27 +01:00
Jakob Olsson
133ab71018 samba: add hex filter to discard newline section or config #16885 2019-02-21 16:37:43 +01:00
Jakob Olsson
e3c43d892f Revert "samba: prevent mulitple lines from being written to an option in smb.conf"
This reverts commit 88291c196a.
2019-02-21 15:37:56 +01:00
Jakob Olsson
d9380968a1 Revert "samba: prevent multiple lines from being written from uci to smb.conf #16885"
This reverts commit 8784439985.
2019-02-21 15:37:52 +01:00
Jakob Olsson
8784439985 samba: prevent multiple lines from being written from uci to smb.conf #16885 2019-02-20 14:42:41 +01:00
Amin Ben Ramdhane
d1ad9dc34f icwmp-4.0-2019-02-19 2019-02-19 13:53:10 +01:00
Reidar Cederqvist
c430a0f15e ice-client: update to version 5.3.6 refs #16174 2019-02-14 08:34:45 +01:00
Jakob Olsson
800728c7aa owsd: wifilife: prevent procd crash loop error 2019-02-12 14:18:47 +01:00
Jakob Olsson
38668ee8d9 wifilife: add reload trigger on owsd.ubusproxy.enable change 2019-02-12 14:18:47 +01:00
Jakob Olsson
e9d00040a7 netmode: update pkg to include status method 2019-02-12 08:52:49 +01:00
Jakob Olsson
bc5fad2c76 wifilife: update pkg to include workaround for stale clients when roaming 2019-02-11 13:13:09 +01:00
Jakob Olsson
52ea555ffb wifimngr: update hash to include disconnect_sta function 2019-02-11 13:13:09 +01:00
Amin Ben Ramdhane
eeecaa27de icwmp-4.0-2019-02-07 2019-02-07 16:17:16 +01:00
78 changed files with 656 additions and 2315 deletions

View File

@@ -8,10 +8,10 @@
include $(TOPDIR)/rules.mk
PKG_RELEASE:=1
PKG_VERSION:=1.3.0
PKG_VERSION:=1.2.0
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5a5c94b289c79bc3a635b8d742dd9b73dcc0615f
PKG_SOURCE_VERSION:=0c029ed2486342e7e7687631b702d5c743f3c41a
PKG_NAME:=dectmngr2

View File

@@ -1,78 +0,0 @@
#
# Copyright (C) 2018 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=dslmngr
PKG_VERSION:=1.0.0
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=7522faab4142fe2c0ac8cbf71bb0cc5bd49f0750
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dslmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM=BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM=MEDIATEK
else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
TARGET_PLATFORM=MARVELL
else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM=INTEL
else
$(info Unexpected CONFIG_TARGET)
endif
export TARGET_PLATFORM
define Package/dslmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=XDSL status and configration utility
DEPENDS:=+libdsl +libuci +libubox +ubus +libpthread +libnl-genl +easy-soc-libs
endef
define Package/dslmngr/description
This package can be used to configure and provide status about
the XDSL subsystem through UBUS.
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
FPIC="$(FPIC)"
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/dslmngr/ $(PKG_BUILD_DIR)/
endef
endif
define Build/Compile
+$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS)
endef
define Package/dslmngr/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/dslmngr $(1)/sbin/
endef
$(eval $(call BuildPackage,dslmngr))

View File

@@ -1,37 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-qos
PKG_VERSION:=1.0
PKG_RELEASE:=0
include $(INCLUDE_DIR)/package.mk
define Package/easy-qos
SECTION:=net
CATEGORY:=Network
TITLE:=Easy QoS
endef
define Package/easy-qos/description
This package contains Easy QoS utitie
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./files/* $(PKG_BUILD_DIR)/
endef
define Build/Compile
endef
define Package/easy-qos/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(CP) ./files/etc/config/easy_qos $(1)/etc/config/
$(CP) ./files/etc/init.d/easy_qos.iptables $(1)/etc/init.d/easy_qos
$(CP) ./files/etc/uci-defaults/* $(1)/etc/uci-defaults/
$(CP) ./files/etc/firewall.easyqos $(1)/etc/firewall.easyqos
endef
$(eval $(call BuildPackage,easy-qos))

View File

@@ -1 +0,0 @@
/etc/init.d/easy_qos reload

View File

@@ -1,140 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
log() {
echo "${@}"|logger -t easy_qos.ebtable -p debug
}
exec_log() {
${@}
if [ "${?}" -ne 0 ]; then
log "Failed to create ${@}";
fi
}
get_priority() {
local prio=$(echo $1|tr [A-Z] [a-z]);
case "${prio}" in
"lowest")
echo 0;;
"low")
echo 1;;
"besteffort")
echo 2;;
"normal")
echo 3;;
"video")
echo 4;;
"medium")
echo 5;;
"high")
echo 6;;
"highest")
echo 7;;
esac
}
validate_rule_section()
{
uci_validate_section easy_qos rule "${1}" \
'priority:string' \
'macaddr:string' \
'proto:string:none' \
'port:list(uinteger)' \
'comment:string:none'
}
# Clear existing rules before applying new rules
clear_existing_rules() {
local rule=$(ebtables -t broute -L BROUTING|grep -m 1 mark)
while [ -n "${rule}" ]; do
exec_log ebtables -t broute -D BROUTING ${rule}
rule=$(ebtables -t broute -L BROUTING|grep -m 1 mark)
done
}
create_rule() {
local protocol=$1; shift
local mac=$1; shift
local mark="0x$1"; shift
local forward_port=$1;
local cmd="";
local protocol_number
cmd="-j mark --mark-or ${mark}";
if [ -n "${forward_port}" ]; then
cmd="--ip-destination-port ${forward_port} ${cmd}";
fi
case "${protocol}" in
"tcp")
protocol_number=6;;
"udp")
protocol_number=17;;
"dccp")
protocol_number=33;;
"sctp")
protocol_number=132;;
*)
log "Protocol ${protocol} not supported in ebtables"
return;;
esac
cmd="--ip-proto ${protocol_number} $cmd"
cmd="-p ip $cmd"
cmd="-s ${mac} $cmd"
exec_log ebtables -t broute -A BROUTING ${cmd}
}
manage_rule() {
local cfg="$1"
local priority macaddr proto port comment prio_num protocol
validate_rule_section "${1}" || {
log "Validation of section failed"
return 1;
}
protocol=$(echo ${proto}|tr [A-Z] [a-z])
prio_num=$(get_priority ${priority})
if [ -n "${macaddr}" -a -n "${prio_num}" ]; then
for p in ${port}; do
if [ "${protocol}" == "none" ]; then
create_rule tcp ${macaddr} ${prio_num} ${p}
create_rule udp ${macaddr} ${prio_num} ${p}
else
create_rule ${protocol} ${macaddr} ${prio_num} ${p}
fi
done
# Create rule for all ports if port is not mentioned in uci
if [ -z "${port}" ]; then
if [ "${protocol}" == "none" ]; then
create_rule tcp ${macaddr} ${prio_num}
create_rule udp ${macaddr} ${prio_num}
else
create_rule ${protocol} ${macaddr} ${prio_num}
fi
fi
fi
}
reload_service() {
# Do not apply rules if ebtables is not present in system
[ -x /usr/sbin/ebtables ] || return;
clear_existing_rules
config_load easy_qos
config_foreach manage_rule rule
}
start_service() {
reload_service
}
service_triggers() {
procd_add_reload_trigger "easy_qos"
}

View File

@@ -1,186 +0,0 @@
#!/bin/sh /etc/rc.common
. /usr/share/libubox/jshn.sh
START=99
USE_PROCD=1
CLIENT_LIST="/tmp/easy_qos_client.list"
log() {
echo "${@}"|logger -t easy_qos -p debug
}
exec_log() {
${@}
if [ "${?}" -ne 0 ]; then
log "Failed to create ${@}";
fi
}
get_priority() {
local prio=$(echo $1|tr [A-Z] [a-z]);
case "${prio}" in
"lowest")
echo 0;;
"low")
echo 1;;
"besteffort")
echo 2;;
"normal")
echo 3;;
"video")
echo 4;;
"medium")
echo 5;;
"high")
echo 6;;
"highest")
echo 7;;
esac
}
clean_client_entries() {
[ -f ${CLIENT_LIST} ] && rm ${CLIENT_LIST}
}
map_client_entries() {
local clients ip mac host
json_load "$(ubus call router.network 'clients')"
json_get_keys keys
for key in ${keys};
do
json_select ${key}
json_get_vars ipaddr macaddr hostname
clients="${macaddr} ${ipaddr} ${hostname};${clients}"
json_select ..
done
json_init
# json_add_array "clients"
IFS=";"
for client in ${clients};
do
macaddr=$(echo ${client} | cut -d" " -f1)
json_add_object "${macaddr//:/_}"
json_add_string "ip" "$(echo ${client} | cut -d" " -f2)"
json_add_string "macaddr" "$(echo ${client} | cut -d" " -f1)"
json_add_string "host" "$(echo ${client} | cut -d" " -f3)"
json_close_object
done
IFS=' '
echo `json_dump` > ${CLIENT_LIST}
json_cleanup
}
# Find the IP of a corresponding mac from arp table
get_ipaddress() {
local clients ip mac host
json_load "$(cat ${CLIENT_LIST})"
json_get_keys keys
# jshn seems a bit iffy on having : in key, replace by _
json_select "${1//:/_}" 2 > /dev/null
json_get_var ip ip
echo "$ip"
}
validate_rule_section()
{
uci_validate_section easy_qos rule "${1}" \
'priority:string' \
'macaddr:string' \
'proto:string:none' \
'port:list(uinteger)' \
'comment:string:none'
}
# Clear existing rules before applying new rules
clear_existing_rules() {
local rule=$(iptables -t mangle -S OUTPUT|grep -m 1 MARK |sed 's/-A/-D/1')
while [ -n "${rule}" ]; do
exec_log iptables -t mangle ${rule}
rule=$(iptables -t mangle -S OUTPUT|grep -m 1 MARK |sed 's/-A/-D/1')
done
}
check_and_create() {
iptables -t mangle -C OUTPUT ${@} 2>/dev/null
# Create rule if not exists
if [ ${?} -ne 0 ]; then
exec_log iptables -t mangle -A OUTPUT ${@}
else
log "Rule exists for ${@}"
fi
}
create_rule() {
local proto=$1; shift
local src_ip=$1; shift
local mark="0x$1/0x$1"; shift
local ports=$1;
local cmd="";
cmd="-j MARK --set-xmark ${mark}";
if [ -n "${ports}" ]; then
cmd="--match multiport --dports ${ports} ${cmd}";
fi
if [ "${proto}" == "icmp" ]; then
cmd="-p icmp -m icmp --icmp-type 8 $cmd"
elif [ "${proto}" == "all" ]; then
cmd="-p all $cmd"
else
cmd="-p ${proto} -m ${proto} $cmd"
fi
cmd="-s ${src_ip} $cmd"
check_and_create ${cmd}
}
manage_rule() {
local cfg="$1"
local priority macaddr proto port comment prio_num ip port_list
validate_rule_section "${1}" || {
log "Validation of section failed"
return 1;
}
prio_num=$(get_priority ${priority})
ip=$(get_ipaddress ${macaddr})
port_list=$(echo ${port}|sed 's/ /,/g')
if [ -n "${ip}" -a -n "${prio_num}" ]; then
if [ "${proto}" == "none" ]; then
create_rule tcp ${ip} ${prio_num} ${port_list}
create_rule udp ${ip} ${prio_num} ${port_list}
else
create_rule ${proto} ${ip} ${prio_num} ${port_list}
fi
fi
}
reload_service() {
clear_existing_rules
map_client_entries
config_load easy_qos
config_foreach manage_rule rule
clean_client_entries
}
start_service() {
reload_service
echo "Easy QoS installed">/dev/console;
}
service_triggers() {
procd_add_reload_trigger "easy_qos"
}

View File

@@ -1,10 +0,0 @@
# Add firewall include
uci -q batch <<-EOT
delete firewall.easyqos
set firewall.easyqos=include
set firewall.easyqos.path=/etc/firewall.easyqos
set firewall.easyqos.reload=1
uci del_list firewall.easyqos._access_w="root"
uci add_list firewall.easyqos._access_w="root"
commit firewall
EOT

View File

@@ -15,9 +15,5 @@ config LIBDSL_DEBUG
bool "Enable xdsl debugging"
default n
config LIBDSL_TEST
depends on PACKAGE_libdsl
bool "Libdsl test program"
default n
endmenu
endif

View File

@@ -5,18 +5,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-soc-libs
PKG_VERSION:=1.0.1
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=c656cd47a9f911cfe3946e3d4a374b4ae9e5d801
PKG_SOURCE_VERSION:=6a311af7cd17fc410c27de3cfae33b658195fd0b
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/easy-soc-libs.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@inteno.se>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
endif
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
@@ -37,24 +34,26 @@ endef
define Package/libwifi
$(call Package/easy-soc-libs)
TITLE:= WiFi library (libwifi)
DEPENDS+=+TARGET_intel_mips:libnl +TARGET_intel_mips:libnl-route
endef
define Package/libdsl
$(call Package/easy-soc-libs)
TITLE:= XDSL library (libdsl)
endef
define Package/libethernet
$(call Package/easy-soc-libs)
TITLE:= Ethernet library (libethernet)
DEPENDS+=+TARGET_iopsys_ramips:swconfig
DEPENDS:=+TARGET_iopsys_ramips:swconfig
endef
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM=BROADCOM
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138 \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx
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 \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM=MEDIATEK
TARGET_CFLAGS +=-DIOPSYS_MEDIATEK
@@ -65,21 +64,13 @@ else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM=INTEL
TARGET_CFLAGS +=-DIOPSYS_INTEL
else
$(info Unexpected CONFIG_TARGET)
$(info (UNEXPECTED CONFIG TARGET))
endif
export TARGET_PLATFORM
ifdef CONFIG_IOP_LLA_LIBS_DEBUG
TARGET_CFLAGS += -DIOP_LLA_LIBS_DEBUG
endif
define Package/libdsl
$(call Package/easy-soc-libs)
TITLE:= XDSL library (libdsl)
DEPENDS+=+TARGET_intel_mips:dsl-cpe-api-vrx +TARGET_intel_mips:dsl-cpe-fapi
endef
subdirs := \
$(if $(CONFIG_PACKAGE_libwifi),libwifi) \
$(if $(CONFIG_PACKAGE_libdsl),libdsl) \
@@ -87,22 +78,15 @@ subdirs := \
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/openssl \
-I$(STAGING_DIR)/usr/include/libnl3
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS) -Wall -I./" \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
FPIC="$(FPIC)" \
PLATFORM="$(TARGET_PLATFORM)" \
subdirs="$(subdirs)"
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/easy-soc-libs/ $(PKG_BUILD_DIR)/
endef
endif
define Build/InstallDev/libwifi
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
@@ -124,12 +108,6 @@ define Build/InstallDev/libethernet
$(CP) $(PKG_BUILD_DIR)/libethernet/libethernet.so $(1)/usr/lib/
endef
define Build/Compile
$(call Build/Compile/Default)
ifeq ($(CONFIG_LIBDSL_TEST),y)
$(MAKE) -C "$(PKG_BUILD_DIR)/libdsl/test" $(MAKE_FLAGS)
endif
endef
define Build/InstallDev
$(foreach dir,$(subdirs),$(call Build/InstallDev/$(dir),$(1),$(2));)
@@ -147,11 +125,7 @@ endef
define Package/libdsl/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_BUILD_DIR)/libdsl/libdsl.so* $(1)/usr/lib/
ifeq ($(CONFIG_LIBDSL_TEST),y)
$(CP) $(PKG_BUILD_DIR)/libdsl/test/libdsl_test $(1)/usr/bin/
endif
endef
$(eval $(call BuildPackage,libwifi))

View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_RELEASE:=1
PKG_VERSION:=0.2
PKG_SOURCE_VERSION:=631e61b7ab5d86f2f4c86756a117badff9fb0f2c
PKG_SOURCE_VERSION:=a78fe95d5c5a0a320f3b62b9d2faafd07b56e3a7
ifeq ($(CONFIG_ENDPT_OPEN),y)

View File

@@ -1,62 +0,0 @@
# Copyright (c) 2017 Genexis B.V.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02110-1301 USA
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=gryphon-led-kernel-module
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define KernelPackage/$(PKG_NAME)
SUBMENU:=LED modules
TITLE:=LED driver for Gryphon
FILES:=$(PKG_BUILD_DIR)/$(PKG_NAME).$(LINUX_KMOD_SUFFIX)
KCONFIG:=CONFIG_PACKAGE_kmod-gryphon-led-kernel-module=y
AUTOLOAD:=$(call AutoLoad,60,$(PKG_NAME))
PKG_LICENSE:=Genexis
PKG_LICENSE_URL:=
endef
define KernelPackage/$(PKG_NAME)/description
This package contains the LED driver for Gryphon devices.
endef
EXTRA_KCONFIG:= CONFIG_RGB_LED=m
MODULE_INCLUDE=-I$(PKG_BUILD_DIR)
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)/kdevlinks/
$(CP) -s `pwd`/src/* $(PKG_BUILD_DIR)/kdevlinks/
$(CP) src/* $(PKG_BUILD_DIR)
endef
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="-DKERNEL_MODULE $(BUILDFLAGS) -I$(LINUX_DIR)/include -include generated/autoconf.h $(MODULE_INCLUDE)" \
modules
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
endef
$(eval $(call KernelPackage,$(PKG_NAME)))

View File

@@ -1,26 +0,0 @@
# Copyright (c) 2017 Genexis B.V.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02110-1301 USA
MODULE_NAME = gryphon-led-kernel-module
obj-m := $(MODULE_NAME).o
GENEXIS_FILES= \
main.o \
sk9822.o \
sk9822_bitbang.o
$(MODULE_NAME)-objs := $(GENEXIS_FILES)

View File

@@ -1,253 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#define DEBUG 1
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/printk.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/gpio/consumer.h>
#include <linux/of.h>
#include <linux/version.h>
#include "sk9822.h"
#define DRIVER_NAME "canyon_led"
#define DRIVER_AUTHOR "Genexis B.V."
#define DRIVER_DESC "Canyon LED driver for SK9822"
#define DRIVER_VERSION "1"
/**
* sysfs interfaces
*/
static ssize_t get_led_color(struct device *dev,
struct device_attribute *attr, char *buf)
{
/* [ln] todo: dummy implementation */
int len;
len = sprintf(buf, "%d\n", 123);
if (len <= 0) {
dev_err(dev, "sk9822: Invalid sprintf len: %d\n", len);
}
return len;
}
/**
* @brief Set complete LED strip to a specific color
* @retval count number of bytes written
* @retval -EMSGSIZE if the message is too big
* @retval -EIO for all other errors (e.g. leds cannot be configured)
*/
static ssize_t set_led_color(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
int ret = 0;
size_t buflen = count;
struct sk9822_leds *sk9822 = dev_get_drvdata(dev);
if (IS_ERR(sk9822)) {
printk(KERN_ERR "Platform get drvdata returned NULL\n");
return -EIO;
}
/* strip newline */
if ((count > 0) && (buf[count-1] == '\n')) {
buflen--;
}
if (buflen != 6) { // RRGGBB\0
return -EMSGSIZE;
}
// Update the LED array here
ret = sk9822_set_color_str(sk9822, buf);
if (ret != 0) {
printk(KERN_ERR "Failed to set led color\n");
return -EIO;
}
// Now push to the HW
ret = sk9822_update(sk9822);
if (ret != 0) {
printk(KERN_ERR "Failed to update led\n");
return -EIO;
}
return count;
}
static DEVICE_ATTR(led_color, S_IRUGO | S_IWUSR, get_led_color, set_led_color);
static struct attribute *sk9822_dev_attrs[] = {
&dev_attr_led_color.attr,
NULL
};
static struct attribute_group sk9822_dev_attr_group = {
.name = "sk9822",
.attrs = sk9822_dev_attrs,
};
/**
* device prope and removal
*/
static int canyon_led_probe(struct platform_device *pdev)
{
int ret;
struct sk9822_leds *leds;
leds = devm_kzalloc(&pdev->dev, sizeof(*leds), GFP_KERNEL);
if (!leds) {
return -ENOMEM;
}
leds->dev = &pdev->dev;
leds->led_brightness = SK9822_DEFAULT_BRIGHTNESS;
ret = of_property_read_u16(pdev->dev.of_node, "led-count", &leds->led_count);
if (ret < 0) {
dev_warn(&pdev->dev, "Could not read led-count property\n");
leds->led_count = SK9822_DEFAULT_NUM_LEDS;
}
leds->led_colors = devm_kzalloc(&pdev->dev,
(sizeof(cRGB) * leds->led_count), GFP_KERNEL);
if (!leds->led_colors) {
return -ENOMEM;
}
platform_set_drvdata(pdev, leds);
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 16, 0)
leds->clock_gpio = gpiod_get_index(&pdev->dev, "led", 0);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
leds->clock_gpio = gpiod_get_index(&pdev->dev, "led", 0, GPIOD_OUT_HIGH);
#else
dev_warn(&pdev->dev, "Kernel version Not supported\n");
exit(1);
#endif
gpiod_direction_output(leds->clock_gpio, 1);
if (IS_ERR(leds->clock_gpio)) {
dev_err(&pdev->dev, "Failed to acquire clock GPIO %ld\n",
PTR_ERR(leds->clock_gpio));
leds->clock_gpio = NULL;
return PTR_ERR(leds->clock_gpio);
} else {
printk(KERN_INFO "Got clock gpio\n");
gpiod_set_value(leds->clock_gpio, 0);
}
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 16, 0)
leds->data_gpio = gpiod_get_index(&pdev->dev, "led", 1);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
leds->data_gpio = gpiod_get_index(&pdev->dev, "led", 1, GPIOD_OUT_HIGH);
#else
dev_warn(&pdev->dev, "Kernel version Not supported\n");
exit(1);
#endif
gpiod_direction_output(leds->data_gpio, 1);
if (IS_ERR(leds->data_gpio)) {
dev_err(&pdev->dev, "Failed to acquire data GPIO %ld\n",
PTR_ERR(leds->data_gpio));
leds->data_gpio = NULL;
return PTR_ERR(leds->data_gpio);
} else {
printk(KERN_INFO "Got data gpio\n");
gpiod_set_value(leds->data_gpio, 0);
}
printk(KERN_INFO "Attempt to set filefs stuff\n");
ret = sysfs_create_group(&pdev->dev.kobj, &sk9822_dev_attr_group);
if (ret) {
dev_err(&pdev->dev, "sysfs creation failed\n");
return ret;
}
#if 0
printk(KERN_INFO "Flash LEDs to verify they work\n");
sk9822_set_color_str(leds, "00FF00");
sk9822_update(leds);
msleep(200);
sk9822_set_color_str(leds, "000000");
sk9822_update(leds);
#endif
printk(KERN_INFO "canyon led successfully probed\n");
return 0;
}
static int canyon_led_remove(struct platform_device *pdev)
{
struct sk9822_leds *leds;
sysfs_remove_group(&pdev->dev.kobj, &sk9822_dev_attr_group);
leds = platform_get_drvdata(pdev);
if (IS_ERR(leds)) {
printk(KERN_ERR "Platform get drvdata returned NULL\n");
return -1;
}
if (leds->clock_gpio) {
gpiod_put(leds->clock_gpio);
}
if (leds->data_gpio) {
gpiod_put(leds->data_gpio);
}
printk(KERN_NOTICE "Bye, bye\n");
return 0;
}
/**
* platform driver metadata
*/
static const struct of_device_id canyon_led_of_ids[] = {
{ .compatible = "canyon,led" },
{ }
};
static struct platform_driver canyon_led = {
.probe = &canyon_led_probe,
.remove = &canyon_led_remove,
.driver = {
.name = DRIVER_NAME,
.owner = THIS_MODULE,
.of_match_table = canyon_led_of_ids,
},
};
MODULE_DEVICE_TABLE(of, canyon_led_of_ids);
module_platform_driver(canyon_led);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_VERSION(DRIVER_VERSION);
MODULE_LICENSE("GPL");

View File

@@ -1,82 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#include <linux/kernel.h>
#include <linux/types.h>
#include "sk9822.h"
#include "sk9822_bitbang.h"
cRGB __hexs_to_rgb(const char *hex)
{
cRGB rgb;
int r, g, b;
sscanf(hex, "%02x%02x%02x", &r, &g, &b);
// This needs sanity checking
rgb.r = r;
rgb.g = g;
rgb.b = b;
return rgb;
}
/**
* @brief update the color over the given device struct to the provided HEX color
*/
int sk9822_set_color_str(struct sk9822_leds *sk9822, const char *hex)
{
int i;
cRGB color = __hexs_to_rgb(hex);
for (i = 0; i < sk9822->led_count; i++) {
sk9822->led_colors[i] = color;
}
return 0;
}
/**
* @brief write device struct to the device
*/
int sk9822_update(struct sk9822_leds *sk9822)
{
uint16_t i;
uint16_t led_count = sk9822->led_count;
// Start Frame
sk9822_bb_write(sk9822, 0x00);
sk9822_bb_write(sk9822, 0x00);
sk9822_bb_write(sk9822, 0x00);
sk9822_bb_write(sk9822, 0x00);
for (i = 0; i < led_count; i++) {
cRGB *p = &sk9822->led_colors[i];
sk9822_bb_write(sk9822, 0xe0+sk9822->led_brightness); // Maximum global brightness
sk9822_bb_write(sk9822, p->b);
sk9822_bb_write(sk9822, p->g);
sk9822_bb_write(sk9822, p->r);
}
// End frame
sk9822_bb_write(sk9822, 0xff);
sk9822_bb_write(sk9822, 0xff);
sk9822_bb_write(sk9822, 0xff);
sk9822_bb_write(sk9822, 0xff);
return 0;
}

View File

@@ -1,46 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#ifndef SK9822_H_
#define SK9822_H_
#include <linux/types.h>
#define SK9822_DEFAULT_NUM_LEDS 32 // U16, used if DT param fails
#define SK9822_DEFAULT_BRIGHTNESS 1 // 5-bit brightness, 0-31
typedef struct {
uint8_t b;
uint8_t g;
uint8_t r;
} cRGB; // BGR (SK9822 Standard)
struct sk9822_leds {
struct device *dev;
struct gpio_desc *clock_gpio;
struct gpio_desc *data_gpio;
cRGB *led_colors;
uint8_t led_brightness;
uint16_t led_count;
};
int sk9822_set_color_str(struct sk9822_leds *sk9822, const char *hex);
int sk9822_update(struct sk9822_leds *sk9822);
#endif /* SK9822_H_ */

View File

@@ -1,48 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/types.h>
#include "sk9822.h"
/**
* @brief Bitbang write operation CLOCK+DATA
*
* Assumed state before call: CLOCK- Low, DATA- High
*/
void sk9822_bb_write(struct sk9822_leds *sk9822, uint8_t c)
{
uint8_t i;
for (i = 0; i < 8 ; i++) {
if (!(c&0x80)) {
gpiod_set_value(sk9822->data_gpio, 0); // set data low
} else {
gpiod_set_value(sk9822->data_gpio, 1); // set data high
}
gpiod_set_value(sk9822->clock_gpio, 1); // set clock high, data sampled here
c <<= 1;
udelay(1); // stretch clock
gpiod_set_value(sk9822->clock_gpio, 0); // set clock low
}
// State after call: SCK Low, Data high
}

View File

@@ -1,28 +0,0 @@
/*
* Copyright (c) 2017 Genexis B.V.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#ifndef _SK9822_BB_H_
#define _SK9822_BB_H_
#include <linux/types.h>
#include "sk9822.h"
void sk9822_bb_write(struct sk9822_leds *sk9822, uint8_t c);
#endif /* _SK9822_BB_H_ */

View File

@@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=4.0-2019-05-21
PKG_VERSION:=4.0-2019-04-01
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=3ae6954f55e90a339561719a0328c0cf3a4b018c
PKG_SOURCE_VERSION:=7faa875dcb825869c6bd942e140d2200e5e0dc0e
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@@ -51,20 +51,6 @@ define Package/icwmp_xmpp
DEPENDS:=+libuci +libubox +libexpat +libstrophe
endef
define Package/icwmp_twamp
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 twamp feature
DEPENDS:=+libuci
endef
define Package/icwmp_udpechoserver
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 udpechoserver feature
DEPENDS:=+libuci
endef
define Package/icwmp/Default
SECTION:=utils
CATEGORY:=Utilities
@@ -217,24 +203,6 @@ define Package/icwmp_xmpp/install
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_xmpp $(1)/etc/config
endef
define Package/icwmp_udpechoserver/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_udpechoserverd $(1)/usr/sbin/icwmp_udpechoserverd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_udpechoserverd $(1)/etc/init.d/icwmp_udpechoserverd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_udpechoserver $(1)/etc/config
endef
define Package/icwmp_twamp/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_twampd $(1)/usr/sbin/icwmp_twampd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_twampd $(1)/etc/init.d/icwmp_twampd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_twamp $(1)/etc/config
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/libdatamodel
@@ -270,6 +238,4 @@ $(eval $(call BuildPackage,icwmp-curl))
$(eval $(call BuildPackage,libdatamodel))
$(eval $(call BuildPackage,icwmp_stun))
$(eval $(call BuildPackage,icwmp_xmpp))
$(eval $(call BuildPackage,icwmp_udpechoserver))
$(eval $(call BuildPackage,icwmp_twamp))
$(eval $(call BuildPackage,icwmp-zstream))

View File

@@ -9,7 +9,7 @@
- libz.so
- libcrypto.so
the librairies should be present in the "staging_dir/target-i386_uClibc-0.9.30.1/usr/lib/" or "staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib"
header files and folders:
- expat.h
- expat_external.h
@@ -33,7 +33,7 @@ this software is composed of 3 packages:
- cwmp kernel package: contains cwmp kernel module. This module could be used by other kernel modules to notify the icwmpd daemon when kernel parameter changes
The three packages should be selected in the make menu config in order to get the three packages compiled.
To compile the three packages: $ make package/cwmpd/compile
To compile the three packages: $ make package/cwmpd/compile
3) OpenWRT settings
in the OpenWRT, Add the following lines in the /usr/share/udhcpc/default.script file:
@@ -49,7 +49,7 @@ in the OpenWRT, Add the following lines in the /usr/share/udhcpc/default.script
- libopenssl package should be installed
- libz package should be installed
- libcrypto package should be installed
Configure the acs url in the /etc/config/icwmp
and then start the cwmpd service: /etc/init.d/icwmpd start
for the help: /etc/init.d/icwmpd

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2018 iopsys
# Copyright (C) 2018 Inteno
#
include $(TOPDIR)/rules.mk
@@ -12,9 +12,10 @@ PKG_INSTALL:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/imonitor.git
PKG_SOURCE_VERSION:=532f4900862bcb45d8cd4bf37555fabda81750b6
PKG_SOURCE_VERSION:=cea60630cfac1d3c70f486acea6663d339b7d444
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
@@ -23,7 +24,7 @@ include $(INCLUDE_DIR)/cmake.mk
define Package/imonitor
CATEGORY:=Utilities
TITLE:=iopsysWrt process supervisor
TITLE:=Inteno process supervisor
DEPENDS:=+ubox +uci +ubus +rpcd +rpcd-mod-file
endef

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2016 iopsys
# Copyright (C) 2016 Inteno
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -12,7 +12,7 @@ PKG_NAME:=inbd
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=665a72a6bb2b5ea5a17ad6248957fe35525b3782
PKG_SOURCE_VERSION:=12755fccb8ef87965ac684d62d56e19e73a255bd
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/inbd
@@ -34,7 +34,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/inbd
CATEGORY:=Utilities
TITLE:=iopsys Netlink Bridge Daemon
TITLE:=Inteno Netlink Bridge Daemon
URL:=
DEPENDS:=+libuci +libubus +libblobmsg-json +libnl-genl
endef

View File

@@ -20,7 +20,7 @@ define Package/iop
endef
define Package/iop/description
This package contains iopsysWrt SDK utilities
This package contains Intenos Iop utilities
endef
define Build/Compile

View File

@@ -3,9 +3,11 @@ CONFIG_BUSYBOX_CUSTOM=y
CONFIG_CCACHE=y
CONFIG_DEBUG=y
CONFIG_DEVEL=y
# CONFIG_LOCALMIRROR is not set
CONFIG_PACKAGE_6in4=y
CONFIG_PACKAGE_6rd=y
CONFIG_PACKAGE_6to4=y
CONFIG_PACKAGE_6tunnel=y
CONFIG_PACKAGE_alsa-lib=y
CONFIG_PACKAGE_chat=y
CONFIG_PACKAGE_comgt=y
@@ -15,35 +17,57 @@ CONFIG_PACKAGE_crashlog=y
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_ds-lite=y
CONFIG_PACKAGE_gdb=m
CONFIG_PACKAGE_gdbserver=m
CONFIG_PACKAGE_getopt=y
CONFIG_PACKAGE_glib2=y
CONFIG_PACKAGE_ice-client=y
CONFIG_PACKAGE_ice-client-camerawatch=m
CONFIG_PACKAGE_ice-client-fileme=m
CONFIG_PACKAGE_ice-client-gigaset=m
CONFIG_PACKAGE_ice-client-guest=m
CONFIG_PACKAGE_ice-client-iperf=m
CONFIG_PACKAGE_ice-client-logreader=m
CONFIG_PACKAGE_ice-client-monitor=m
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_ifbt=y
CONFIG_PACKAGE_imonitor=y
CONFIG_PACKAGE_inbd=y
CONFIG_PACKAGE_iopupgrade=y
CONFIG_PACKAGE_ip-full=y
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_netmode=y
CONFIG_PACKAGE_iperf-mt=y
CONFIG_PACKAGE_ipset=y
CONFIG_PACKAGE_iptables=y
CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
CONFIG_PACKAGE_iptables-mod-filter=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
CONFIG_PACKAGE_iup=y
# CONFIG_PACKAGE_iwatchdog is not set
CONFIG_PACKAGE_juci=y
CONFIG_PACKAGE_juci-config-backup=y
CONFIG_PACKAGE_juci-broadcom-iptv=y
CONFIG_PACKAGE_juci-broadcom-pwrmgmt=y
CONFIG_PACKAGE_juci-wifilife=y
CONFIG_PACKAGE_juci-wireless=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-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-mwan3=y
CONFIG_PACKAGE_juci-iup=y
# CONFIG_PACKAGE_juci-qos is not set
CONFIG_PACKAGE_juci-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-mwan3=y
CONFIG_PACKAGE_juci-natalie-dect=y
CONFIG_PACKAGE_juci-netmode=y
CONFIG_PACKAGE_juci-network-device=y
CONFIG_PACKAGE_juci-network-dsl=y
@@ -51,20 +75,24 @@ 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
CONFIG_PACKAGE_juci-samba=y
CONFIG_PACKAGE_juci-simple-gui=y
CONFIG_PACKAGE_juci-snmpd=y
CONFIG_PACKAGE_juci-sysupgrade=y
CONFIG_PACKAGE_juci-theme-iopsys=y
CONFIG_PACKAGE_juci-ubus-core=y
CONFIG_PACKAGE_juci-upnp=y
CONFIG_PACKAGE_juci-usb=y
CONFIG_PACKAGE_juci-voice-client=y
CONFIG_PACKAGE_juci-wifilife=y
CONFIG_PACKAGE_juci-wireless=y
CONFIG_PACKAGE_juci-theme-iopsys=y
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_libcgroup-daemon=y
CONFIG_PACKAGE_libcgroup=y
# CONFIG_PACKAGE_libcgroup-utils is not set
CONFIG_PACKAGE_ldd=y
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libffmpeg-mini=y
CONFIG_PACKAGE_libgmp=y
@@ -72,10 +100,14 @@ CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_loop-detector=m
CONFIG_PACKAGE_minidlna=y
CONFIG_PACKAGE_miniupnpd=y
CONFIG_PACKAGE_mtd-utils=y
CONFIG_PACKAGE_mtd-utils-deubinize=y
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_netmode=y
CONFIG_PACKAGE_ntfs-3g=y
CONFIG_PACKAGE_ntpd=y
CONFIG_PACKAGE_odhcp6c=y
@@ -84,6 +116,7 @@ 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_peripheral_manager=y
CONFIG_PACKAGE_port-management=y
CONFIG_PACKAGE_power-management=y
@@ -122,7 +155,7 @@ CONFIG_PACKAGE_wifimngr=y
CONFIG_PACKAGE_xl2tpd=y
CONFIG_PACKAGE_zoneinfo-core=y
CONFIG_PACKAGE_zoneinfo-europe=y
CONFIG_TARGET_CUSTOMER="IOPSYS"
CONFIG_TARGET_CUSTOMER="INT"
CONFIG_TARGET_ROOTFS_TARGZ=y
# CONFIG_USE_SSTRIP is not set
CONFIG_USE_STRIP=y
@@ -154,6 +187,7 @@ CONFIG_BUSYBOX_CONFIG_MICROCOM=y
# CONFIG_BUSYBOX_CONFIG_RMMOD is not set
CONFIG_BUSYBOX_CONFIG_STTY=y
CONFIG_BUSYBOX_CONFIG_TFTP=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_2_4_MODULES is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
@@ -167,9 +201,11 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_NOLOGIN is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_SECURETTY=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_GET=y
CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_PUT=y
@@ -179,6 +215,7 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_PUT=y
# 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
@@ -187,6 +224,7 @@ CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
# CONFIG_SIGNED_PACKAGES is not set
CONFIG_KERNEL_DEVTMPFS=y
CONFIG_KERNEL_DEVTMPFS_MOUNT=y
CONFIG_PACKAGE_ip-full=y
# CONFIG_BUSYBOX_CONFIG_IP is not set
LOCAL_MIRROR="http://download.iopsys.eu/iopsys/mirror/"
CONFIG_PACKAGE_iopupgrade=y

15
iop/scripts/auto_feeds_conf.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
declare -a feed_list
function list_feeds {
jq '.feed[] | .name' feeds.conf
}
# Exported interface
function auto_feeds_conf {
echo "Function auto feeds conf"
echo "feed list:"
list_feeds
}
register_command "auto_feeds_conf" "Automatically update feeds"

View File

@@ -32,15 +32,13 @@ function feeds_update {
fi
# targets need to be installed explicitly
targets="iopsys-brcm63xx-mips iopsys-brcm63xx-arm iopsys-ramips intel_mips"
for target in $targets
do
rm -f target/linux/$target
./scripts/feeds install -p targets $target
done
./scripts/feeds install -p targets iopsys-brcm63xx-mips
./scripts/feeds install -p targets iopsys-brcm63xx-arm
./scripts/feeds install -p targets iopsys-ramips
./scripts/feeds install -p intel_targets intel_mips
# install all packages
./scripts/feeds install -a
./scripts/feeds install -a
# remove broken symlinks ( for packages that are no longer in the feed )
find -L package/feeds -maxdepth 2 -type l -delete
@@ -49,7 +47,7 @@ function feeds_update {
make defconfig
# record when we last run this script
touch tmp/.iop_bootstrap
touch tmp/.iop_bootstrap
# always return true
exit 0

View File

@@ -12,99 +12,39 @@ function genconfig {
export CUSTCONF="customerconfigs/customers"
export VERBOSE=0
export DEVELOPER=0
LOCAL_MIRROR="http://mirror.inteno.se/mirror"
target="bogus"
config_path=""
brcm63xx_mips="target/linux/iopsys-brcm63xx-mips"
brcm63xx_arm="target/linux/iopsys-brcm63xx-arm"
ramips="target/linux/iopsys-ramips"
intel_mips="target/linux/intel_mips"
Red='\033[0;31m' # Red
Color_Off='\033[0m' # Text Reset
Yellow='\033[0;33m' # Yellow
function find_last {
egrep "^[ #]*${1}[ =]" $2 | tail -n1
}
function is_new {
for opt in $conf_warned
do
if [ "$opt" == "$1" ]
then
return 1
fi
done
# option not found return true
return 0
}
function verify_config {
IFS=$'\n'
org=$(<.genconfig.config)
unset IFS
local num
local conf_opt
local conf_org
local conf_new
#echo "lines to check $tot_lines"
num=0
for line in $org
do
conf_opt=$(echo $line | grep CONFIG_ | sed 's|.*\(CONFIG_[^ =]*\)[ =].*|\1|')
if [ -n "${conf_opt}" ]
then
conf_org=$(find_last ${conf_opt} .genconfig.config)
conf_new=$(find_last ${conf_opt} .config)
if [ "$conf_org" != "$conf_new" ]
then
if is_new $conf_opt
then
echo -e "config option [${Red}$conf_opt${Color_Off}] is not set correctly in .config"
echo -e "got value [${Yellow}$conf_new${Color_Off}] but wanted [${Yellow}$conf_org${Color_Off}]"
echo "This is a real problem somebody needs to investigate"
echo ""
conf_warned="$conf_warned $conf_opt"
fi
else
true
# for debug to see all options
#echo -e "wanted [$conf_org] got [$conf_new]"
fi
fi
num=$((num+1))
done
}
# Takes a board name and returns the target name in global var $target
set_target() {
local profile=$1
local iopsys_brcm63xx_mips=$(cd target/linux/iopsys-brcm63xx-mips; ./genconfig)
local iopsys_brcm63xx_arm=$(cd target/linux/iopsys-brcm63xx-arm; ./genconfig)
local iopsys_ramips=$(cd target/linux/iopsys-ramips; ./genconfig)
local intel_mips=$(cd target/linux/intel_mips; ./genconfig)
[ -e $brcm63xx_mips/genconfig ] &&
iopsys_brcm63xx_mips=$(cd $brcm63xx_mips; ./genconfig)
[ -e $brcm63xx_arm/genconfig ] &&
iopsys_brcm63xx_arm=$(cd $brcm63xx_arm; ./genconfig)
[ -e $ramips/genconfig ] &&
iopsys_ramips=$(cd $ramips; ./genconfig)
[ -e $intel_mips/genconfig ] &&
iopsys_intel_mips=$(cd $intel_mips; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in iopsys_brcm63xx_mips iopsys_brcm63xx_arm iopsys_ramips iopsys_intel_mips; do
echo "$list based boards:"
for b in ${!list}; do
echo -e "\t$b"
done
done
return
if [ "$profile" == "LIST" ]
then
for list in iopsys_brcm63xx_mips iopsys_brcm63xx_arm iopsys_ramips intel_mips
do
echo "$list based boards:"
for b in ${!list}
do
echo -e "\t$b"
done
done
return
fi
local targets
for p in $iopsys_brcm63xx_mips; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_mips"
config_path="$brcm63xx_mips/config"
config_path="target/linux/iopsys-brcm63xx-mips/config"
return
fi
done
@@ -112,7 +52,7 @@ function genconfig {
for p in $iopsys_brcm63xx_arm; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_arm"
config_path="$brcm63xx_arm/config"
config_path="target/linux/iopsys-brcm63xx-arm/config"
return
fi
done
@@ -120,15 +60,15 @@ function genconfig {
for p in $iopsys_ramips; do
if [ $p == $profile ]; then
target="iopsys_ramips"
config_path="$ramips/config"
config_path="target/linux/iopsys-ramips/config"
return
fi
done
for p in $iopsys_intel_mips; do
for p in $intel_mips; do
if [ $p == $profile ]; then
target="intel_mips"
config_path="$intel_mips/config"
config_path="target/linux/intel_mips/config"
return
fi
done
@@ -145,12 +85,17 @@ function genconfig {
mediatekAllowed=0
wifilifeAllowed=0
git ls-remote git@dev.iopsys.eu:broadcom/bcmcreator.git -q 2>/dev/null && bcmAllowed=1
git ls-remote git@dev.iopsys.eu:mediatek/linux.git -q 2>/dev/null && mediatekAllowed=1
git ls-remote git@dev.iopsys.eu:dialog/natalie-dect-12.26.git -q 2>/dev/null && natalieAllowed=1
git ls-remote git@dev.iopsys.eu:iopsys/endptmngr.git -q 2>/dev/null && endptAllowed=1
git ls-remote git@dev.iopsys.eu:iopsys/wifilife.git -q 2>/dev/null && wifilifeAllowed=1
git ls-remote git@private.inteno.se:ice-client.git -q -q 2>/dev/null && iceAllowed=1
allowedRepos="$(ssh -o ConnectTimeout=5 git@private.inteno.se 2>/dev/null | grep -w 'R\|W' | awk '{print$NF}')"
for repo in $allowedRepos; do
case $repo in
bcmkernel) bcmAllowed=1 ;;
ice-client) iceAllowed=1 ;;
endptcfg) endptAllowed=1 ;;
natalie-dect*) natalieAllowed=1 ;;
linux) mediatekAllowed=1 ;;
wifilife) wifilifeAllowed=1 ;;
esac
done
}
v() {
@@ -161,18 +106,17 @@ function genconfig {
echo
echo 1>&2 "Usage: $0 [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
echo
echo -e " -c|--clean\t\tRemove all files under ./files and import from config "
echo -e " -v|--verbose\t\tVerbose"
echo -e " -c|--clean\tRemove all files under ./files and import from config "
echo -e " -v|--verbose\tVerbose"
echo -e " -n|--no-update\tDo NOT! Update customer config before applying"
echo -e " -s|--override\t\tEnable 'Package source tree override'"
echo -e " -S|--brcmsingle\tForce build of bcmkernel to use only one thread"
echo -e " -h|--help\t\tShow this message"
echo -e " -s|--override\tEnable 'Package source tree override'"
echo -e " -h|--help\tShow this message"
echo -e " -l|--list [customer]\tList all Customers or all boards for one customer"
echo -e " -a|--list-all\t\tList all Customers and their board types"
echo -e " -b|--boards\t\tList all board types"
echo -e " -a|--list-all\tList all Customers and their board types"
echo -e " -b|--boards\tList all board types"
echo
echo "Example ./iop genconfig dg200 TELIA"
echo "(if no customerconfig is chosen, iopsys config will be used)"
echo "Example ./iop genconfig vg50 TELIA"
echo "(if no customerconfig is chosen the Inteno Config will be used)"
echo
exit 0
}
@@ -232,7 +176,7 @@ function genconfig {
setup_dirs()
{
if git ls-remote $CUSTREPO -q 2>/dev/null; then
if ssh -o ConnectTimeout=5 git@private.inteno.se 2>/dev/null | grep -qw ${CUSTREPO:22}; then
if [ ! -d "$CUSTPATH" ]; then
git clone "$CUSTREPO" "$CUSTPATH"
elif [ $IMPORT -eq 1 ]; then
@@ -362,7 +306,7 @@ function genconfig {
[ $mediatekAllowed -eq 0 ] && echo "CONFIG_MEDIATEK_OPEN=y" >> .config
[ $wifilifeAllowed -eq 0 ] && echo "CONFIG_WIFILIFE_OPEN=y" >> .config
else
echo "# CONFIG_GITMIRROR_REWRITE is not set" >>.config
echo "CONFIG_GITMIRROR_REWRITE=n" >>.config
echo "CONFIG_BCM_OPEN=y" >> .config
echo "CONFIG_ICE_OPEN=y" >> .config
echo "CONFIG_ENDPT_OPEN=y" >> .config
@@ -371,11 +315,6 @@ function genconfig {
echo "CONFIG_WIFILIFE_OPEN=y" >> .config
fi
if [ -n "$BRCM_MAX_JOBS" ]
then
echo "CONFIG_BRCM_MAX_JOBS=\"1\"" >>.config
fi
# Force regeneration of themes
touch package/feeds/juci/juci/Makefile
@@ -388,9 +327,6 @@ function genconfig {
# so just touch that file.
[ -d ./build_dir ] && find build_dir/ -name "boardparms*c" -print0 2>/dev/null | xargs -0 touch 2>/dev/null
# Store generated config
cp .config .genconfig.config
# Set default values based on selected parameters
v "$(make defconfig 2>&1)"
@@ -398,8 +334,6 @@ function genconfig {
# Clean base-file package to force rebuild when changing profile
v "$(make package/base-files/clean 2>&1)"
verify_config
}
####### main #####
@@ -424,7 +358,6 @@ function genconfig {
-p|--profile) export PROFILE="$2"; shift;;
-r|--repo) export CUSTREPO="$2"; shift;;
-s|--override) export SRCTREEOVERR=1;;
-S|--brcmsingel) export BRCM_MAX_JOBS=1;;
-h|--help) usage;;
-l|--list) list_customers 0 $2;;
-a|--list-all)list_customers 1;;
@@ -439,7 +372,7 @@ function genconfig {
shift;
done
CUSTREPO="${CUSTREPO:-git@dev.iopsys.eu:consumer/iopsys.git}"
CUSTREPO="${CUSTREPO:-git@private.inteno.se:customerconfigs}"
setup_dirs
create_and_copy_files "$@"

View File

@@ -10,7 +10,7 @@ function install_key {
echo "::sysinit:/etc/init.d/rcS S boot" >files/etc/inittab
echo "::shutdown:/etc/init.d/rcS K shutdown" >>files/etc/inittab
echo "tty/0::askfirst:/bin/ash --login" >>files/etc/inittab
echo "console::askfirst:/bin/cttyhack /bin/ash --login" >>files/etc/inittab
echo "ttyS0::askfirst:/bin/ash --login" >>files/etc/inittab
echo Done
}

View File

@@ -46,7 +46,7 @@ function update_feed_branches {
git checkout $commith
git push origin :$release
git checkout -b $release
git push --set-upstream origin $release
git push origin $release
cd $ipath
done

View File

@@ -12,7 +12,7 @@ PKG_NAME:=iopupgrade
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=01f2afd6c831d6f9eb2940c7e7af16f7e4d439c2
PKG_SOURCE_VERSION:=9b5ed4bc9f7ac5064414cf5feb510ffd95df6ec4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/iopupgrade

View File

@@ -7,7 +7,6 @@ cur_vol="" # num,[0/1] Number used for ubifs root filesystem volume name.
upd_vol="" # num,[0/1] Number used for ubifs root filesystem volume name.
# eg: rootfs_0 or rootfs_1, the one we want to update
cmdline="" # command line settings.
cmdline_match="" # Headers to match to the image
###############################################################################
# file local variables. should not be used in imported functions. Can be used
@@ -21,6 +20,7 @@ upd_ubi_id="" # num, UBI volume number for the volume name
run_cleanup=0 # if set the cleanup should be run otherwise we skip it.
run_mount_cleanup=0 # set if we should run umount in cleanup
upd_kernel=0 # set to 1 if system has the kernel in own mtd partition
upd_cfe=0 # set to 1 if system is using cfe as bootloader.
log_stdout=1 # set to 0 to prevent the log to also print to stdout
upd_noreboot=0 # set to 1 if we should not reboot after programming
upd_forceimage=0 # set this to force upgrade even if image is for wrong board.
@@ -204,7 +204,9 @@ log "Firmware upgrade started"
if [ $upd_forceimage -eq 0 ]
then
board=$(db get hw.board.iopVerBoard)
cmdline_match="board=$board"
cmdline="$cmdline -b $board"
else
cmdline="$cmdline -q"
fi
# find out what rootfs volume is active.
@@ -215,19 +217,16 @@ upd_vol=$(get_flashbank_next)
upd_ubi_id=$(ubinfo -d 0 -N rootfs_$upd_vol | awk "/Volume ID:/ {print \$3}")
log "installing Root Fileystem into UBI volume rootfs_$upd_vol"
# prepare to match dsl.
function_call upd_conf_dsl
# prepare to update CFE if it exists
function_call upd_conf_cfe
# prepare to update kernel if it is stored in MTD/JFFS2
function_call upd_conf_kernel
log "now starting writing data to flash with [ iopupgrade $cmdline -M "$cmdline_match" -u ubi0_$upd_ubi_id ]"
log "now starting writing data to flash with [ iopupgrade $cmdline -u ubi0_$upd_ubi_id ]"
run_cleanup=1 # When we start to actually write data there might be some
# things that need cleanup if we get an error/crash
iopupgrade $cmdline -M "$cmdline_match" -u ubi0_$upd_ubi_id
iopupgrade $cmdline -u ubi0_$upd_ubi_id
# in case of any error we abort
if [ $? -ne 0 ]; then

View File

@@ -1,33 +0,0 @@
#
# Copyright (C) 2008-2016 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:=ltq-nand
PKG_VERSION:=1.0
PKG_SOURCE:=v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand/archive/
#PKG_SOURCE_PROTO:=git
#PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand/releases/download/v$(PKG_VERSION)/
#PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand.git
#PKG_SOURCE_VERSION:=07b5b0331af6de4174dab2c02bf260ee9625452a
include $(INCLUDE_DIR)/host-build.mk
define Host/Compile
$(MAKE) -C $(HOST_BUILD_DIR)
endef
define Host/Install
$(CP) \
$(HOST_BUILD_DIR)/ltq-nand \
$(STAGING_DIR_HOST)/bin/
endef
$(eval $(call HostBuild))

View File

@@ -1,33 +0,0 @@
#
# This is free software, See /COPYRIGHT for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ndt
PKG_VERSION:=3.6.4
PKG_RELEASE:=3
PKG_BUILD_DIR:=${BUILD_DIR}/ndt-$(PKG_VERSION)
PKG_SOURCE:=ndt-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://software.internet2.edu/sources/ndt
include $(INCLUDE_DIR)/package.mk
define Package/ndt
CATEGORY:=Utilities
DEPENDS:=+libpthread +zlib
TITLE:=Network Testing Tool
endef
define Build/Compile/Default
$(MAKE) -C $(PKG_BUILD_DIR)
endef
define Package/ndt/install
$(INSTALL_DIR) $(1)/sbin
$(CP) $(PKG_BUILD_DIR)/src/web100clt $(1)/sbin/
endef
$(eval $(call BuildPackage,ndt))

View File

@@ -4,6 +4,6 @@ config mode 'setup'
option curmode 'routed'
config tools 'tools'
option wificontrol 0
option wificontrol 1
option arp_discovery 1

View File

@@ -2,9 +2,6 @@
[ "$INTERFACE" != "wan" ] && exit
automode="$(uci -q get netmode.setup.automode)"
[ "$automode" == "0" ] && exit
. /lib/functions.sh
. /lib/functions/network.sh
. /lib/functions/netmode.sh

View File

@@ -12,8 +12,7 @@
"CG300",
"CG301",
"EX400",
"SDX810-AP",
"NORRLAND"
"SDX810-AP"
],
"acl" : [
"admin",

View File

@@ -47,10 +47,10 @@ config wifi-iface
option cipher 'auto'
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option macfilter '0'
option wps_pbc '1'
option wmf_bss_enable '1'
option maxassoc '32'
option bss_max '32'
option ifname 'wl0'
config wifi-device 'wl1'
@@ -87,9 +87,9 @@ config wifi-iface
option cipher 'auto'
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option macfilter '0'
option wps_pbc '1'
option wmf_bss_enable '1'
option maxassoc '32'
option bss_max '32'
option ifname 'wl1'

View File

@@ -9,8 +9,7 @@
],
"excluded_boards" : [
"*G*",
"F*",
"NORRLAND"
"F*"
],
"uplink_band" : 'a',
"downlink_band" : 'a b',

View File

@@ -27,7 +27,7 @@ config wifi-iface
option encryption psk2
option key $WPAKEY
option ifname ra0
option wps 1
option wps_pbc 1
config wifi-device rai0
option band a
@@ -46,7 +46,7 @@ config wifi-iface
option encryption psk2
option key $WPAKEY
option ifname rai0
option wps 1
option wps_pbc 1
config wifi-iface
option device rai0

View File

@@ -9,8 +9,7 @@
],
"excluded_boards" : [
"EX4*",
"SDX810-AP",
"NORRLAND"
"SDX810-AP"
],
"credentials" : 0
}

View File

@@ -47,10 +47,10 @@ config wifi-iface
option cipher 'auto'
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option macfilter '0'
option wps_pbc '1'
option wmf_bss_enable '1'
option maxassoc '32'
option bss_max '32'
option ifname 'wl0'
config wifi-device 'wl1'
@@ -87,9 +87,9 @@ config wifi-iface
option cipher 'auto'
option key '$WPAKEY'
option gtk_rekey '3600'
option macfilter 'disable'
option wps '1'
option macfilter '0'
option wps_pbc '1'
option wmf_bss_enable '1'
option maxassoc '32'
option bss_max '32'
option ifname 'wl1'

View File

@@ -9,8 +9,7 @@
],
"excluded_boards" : [
"*G*",
"F*",
"NORRLAND"
"F*"
],
"reboot" : 0,
"credentials" : 0

View File

@@ -27,7 +27,7 @@ config wifi-iface
option ssid iopsys-$BSSID4
option encryption psk2
option key $WPAKEY
option wps 1
option wps_pbc 1
option ifname ra0
config wifi-device rai0
@@ -47,6 +47,6 @@ config wifi-iface
option ssid iopsys-$BSSID4
option encryption psk2
option key $WPAKEY
option wps 1
option wps_pbc 1
option ifname rai0

View File

@@ -5,7 +5,6 @@
NMTMPDIR=/var/netmodes
OLD_MODE_FILE=/var/netmodes/old_mode
CONF_BACKUP_DIR=/var/netmodes/backup/
SWITCHMODELOCK="/tmp/switching_mode"
MODEDIR=$(uci -q get netmode.setup.dir)
MTK=0
@@ -180,11 +179,6 @@ switch_netmode() {
run_netmode_scripts $curmode "pre"
# make backup of current config before switching
rm -rf $CONF_BACKUP_DIR
mkdir -p $CONF_BACKUP_DIR
cp -af /etc/config/* $CONF_BACKUP_DIR
logger -s -p user.info -t $0 "[netmode] Copying /etc/netmodes/$curmode in /etc/config" >/dev/console
for file in $(ls /etc/netmodes/$curmode/); do
@@ -232,28 +226,6 @@ switch_netmode() {
run_netmode_scripts $curmode "post"
}
revert_netmode() {
local from="$1"
local to="$2"
local rready="$3"
ubus call leds set '{"state" : "allflash"}'
echo "Could not switch to '$from' mode; going back to '$to' mode" > /dev/console
uci -q set netmode.setup.curmode="$to"
uci -q set netmode.setup.repeaterready="$rready"
uci commit netmode
cp -af $CONF_BACKUP_DIR/* /etc/config/
sync
rm -rf $CONF_BACKUP_DIR
rm -rf $OLD_MODE_FILE
echo "Restarting network services" > /dev/console
ubus call network reload
wifi reload
ubus call router.network reload
ubus call leds set '{"state" : "normal"}'
}
wificontrol_takes_over() {
local ret
[ -f /sbin/wificontrol ] || return

View File

@@ -3,10 +3,6 @@
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
WIFISTA=0
STACONF="/etc/Wireless/iNIC/iNIC_ap.dat"
[ -f $STACONF ] && WIFISTA=1
get_if_creds() {
local section=$1
local network=$2
@@ -88,22 +84,9 @@ duplicate_if_single_radio() {
done
}
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
}
case "$1" in
list)
if [ $WIFISTA -eq 1 ]; then
echo '{ "get_creds": { "network": "str", "file": "str" }, "set_creds": { "file": "str", "from_gui": "str" }, "connect": { "ssid": "str", "key": "str" }, "forget_network": {} }'
else
echo '{ "get_creds": { "network": "str", "file": "str" }, "set_creds": { "file": "str", "from_gui": "str" } }'
fi
echo '{ "get_creds": { "network": "str", "file": "str" }, "set_creds": { "file": "str", "from_gui": "str" } }'
;;
call)
case "$2" in
@@ -153,64 +136,6 @@ case "$1" in
json_dump
;;
connect)
local ssid key enc auth wetif wetcfg wetssid wetkey code
read input
json_load "$input"
json_get_var ssid ssid
json_get_var key key
code=1
[ $WIFISTA -eq 1 ] && wetif="$(uci -q get wireless.$(uci show wireless | grep 'mode=.*wet.*' | cut -d'.' -f2 | head -1).ifname)"
if [ -s /sys/class/net/$wetif/operstate ]; then
wetcfg="$(get_wifi_iface_cfgstr $wetif)"
wetssid="$(uci -q get $wetcfg.ssid)"
wetkey="$(uci -q get $wetcfg.key)"
ssid="${ssid:-$wetssid}"
key="${key:-$wetkey}"
if [ -n "$key" ]; then
auth="WPA2PSK"
enc="AES"
else
auth="OPEN"
enc="NONE"
fi
iwpriv $wetif set ApCliEnable=0
iwpriv $wetif set ApCliSsid="$ssid"
iwpriv $wetif set ApCliAuthMode="$auth"
iwpriv $wetif set ApCliEncrypType="$enc"
iwpriv $wetif set ApCliWPAPSK="$key"
iwpriv $wetif set ApCliEnable=1
iwpriv $wetif set ApCliAutoConnect=1
code=0
fi
json_init
json_add_int "code" $code
json_dump
;;
forget_network)
local wetif wetcfg code
code=1
[ $WIFISTA -eq 1 ] && wetif="$(uci -q get wireless.$(uci show wireless | grep 'mode=.*wet.*' | cut -d'.' -f2 | head -1).ifname)"
if [ -s /sys/class/net/$wetif/operstate ]; then
wetcfg="$(get_wifi_iface_cfgstr $wetif)"
uci -q set $wetcfg.ssid=""
uci -q set $wetcfg.key=""
uci -q commit wireless
sed -i "s/ApCliSsid=.*/ApCliSsid=/g" $STACONF
sed -i "s/ApCliAuthMode=.*/ApCliAuthMode=/g" $STACONF
sed -i "s/ApCliEncrypType=.*/ApCliEncrypType=/g" $STACONF
sed -i "s/ApCliWPAPSK=.*/ApCliWPAPSK=/g" $STACONF
ifconfig $wetif down
ifconfig $wetif up
code=0
fi
json_init
json_add_int "code" $code
json_dump
;;
esac
;;
esac

View File

@@ -1,9 +1,9 @@
choice
prompt "Select IPC Bus"
prompt "Select Bus"
default OWSD_USE_UBUS
depends on PACKAGE_owsd
help
Select which IPC bus to compile owsd for
Select which bus to compile owsd for
config OWSD_USE_DBUS
bool "Use DBUS"
@@ -15,11 +15,3 @@ config OWSD_USE_DBUS_UBUS
bool "Use UBUS and DBUS"
endchoice
config OWSD_UPROXYD
bool "Enable UBUS Proxy Daemon"
default y if OWSD_USE_UBUS || OWSD_USE_DBUS_UBUS
help
Enabling uproxyd automates detection of other
UBUS-X enabled devices in the network

View File

@@ -1,31 +1,30 @@
#
# Copyright (C) 2018 iopsys
# Copyright (C) 2018 Inteno
#
include $(TOPDIR)/rules.mk
PKG_NAME:=owsd
PKG_VERSION:=1.1.2
PKG_VERSION:=1.1.1
PKG_RELEASE:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/owsd.git
PKG_SOURCE_VERSION:=f1d6bff1971640006b3137b342fafa1c40cfb835
PKG_SOURCE_VERSION:=f0eedeb6fd061edf3784d6bf86fa60b176bf3fe7
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
PKG_CONFIG_DEPENDS:=CONFIG_OWSD_USE_DBUS CONFIG_OWSD_USE_UBUS CONFIG_OWSD_USE_DBUS_UBUS CONFIG_OWSD_UPROXYD
PKG_CONFIG_DEPENDS:=CONFIG_OWSD_USE_DBUS CONFIG_OWSD_USE_UBUS CONFIG_OWSD_USE_DBUS_UBUS
USE_UBUS-y:=-DWSD_HAVE_UBUS=ON
USE_DBUS-y:=-DWSD_HAVE_DBUS=ON
USE_BOTH-y:=${USE_UBUS-y} ${USE_DBUS-y}
USE_UPROXYD-y:=-DOWSD_UPROXYD=ON
CMAKE_OPTIONS:=${USE_UBUS-${CONFIG_OWSD_USE_UBUS}} \
${USE_DBUS-${CONFIG_OWSD_USE_DBUS}} \
${USE_BOTH-${CONFIG_OWSD_USE_DBUS_UBUS}} \
${USE_UPROXYD-${CONFIG_OWSD_UPROXYD}}
${USE_BOTH-${CONFIG_OWSD_USE_DBUS_UBUS}}
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
@@ -53,14 +52,14 @@ endef
define Package/owsd/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/owsd $(1)/usr/bin/owsd
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uproxyd $(1)/sbin/uproxyd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/owsd.init $(1)/etc/init.d/owsd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/owsd.config $(1)/etc/config/owsd
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_BIN) ./files/owsd.hotplug $(1)/etc/hotplug.d/iface/55-owsd
# $(INSTALL_DIR) $(1)/etc/uci-defaults
# $(INSTALL_BIN) ./files/owsd.uci_default $(1)/etc/uci-defaults/55-owsd-interfaces
endef
define Package/owsd-testdata

View File

@@ -301,15 +301,11 @@ start_service() {
procd_set_param respawn
procd_close_instance
if [ "${enable}" -eq 1 ]; then
# Start uproxyd
procd_open_instance
procd_set_param command $UPROXYD
procd_set_param respawn
procd_close_instance
fi
# Start uproxyd
procd_open_instance
procd_set_param command $UPROXYD
procd_set_param respawn
procd_close_instance
}
#stop_service()

View File

@@ -0,0 +1,87 @@
#!/bin/sh
. /lib/functions.sh
MGMT_INTERFACES=""
OWSD_INTERFACES=""
NOT_DEFAULT=0
mgmt_interfaces() {
local interface=$1
[ "$interface" == "loopback" ] && return
[ "$interface" == "lan" ] && return
[ "$interface" == "wan" ] && return
[ "$interface" == "wan6" ] && return
local type proto
config_get type $interface type
config_get proto $interface proto "none"
[ "$type" == "bridge" -a "$proto" == "none" ] && return
local is_lan
config_get is_lan $interface is_lan
[ "$is_lan" == "1" ] && return
local ifname
config_get ifname $interface ifname
[ "${ifname:0:1}" == "@" ] && return
MGMT_INTERFACES="$MGMT_INTERFACES $interface"
}
owsd_interfaces() {
local config=$1
local interface
config_get interface $config interface
[ "$interface" == "loopback" ] && return
[ "$interface" == "lan" ] && return
[ "$interface" == "wan" ] && return
[ "$interface" == "wan6" ] && return
OWSD_INTERFACES="$OWSD_INTERFACES $interface"
NOT_DEFAULT=1
}
not_owsd() {
local interface=$1
local there=0
for owsd in $OWSD_INTERFACES; do
if [ "$interface" == "$owsd" ]; then
there=1
break
fi
done
return $there
}
config_load network
config_foreach mgmt_interfaces interface
config_load owsd
config_foreach owsd_interfaces owsd-listen
if [ $NOT_DEFAULT -eq 0 ]; then
for mgmt in $MGMT_INTERFACES; do
if $(not_owsd $mgmt); then
uci -q set owsd.$mgmt=owsd-listen
uci -q set owsd.$mgmt.port=80
uci -q set owsd.$mgmt.interface="$mgmt"
uci -q set owsd.$mgmt.ipv6="on"
uci -q set owsd.$mgmt.whitelist_interface_as_origin="1"
uci -q set owsd.$mgmt.origin="*"
uci -q set owsd.$mgmt"_8080"=owsd-listen
uci -q set owsd.$mgmt"_8080".port=8080
uci -q set owsd.$mgmt"_8080".interface="$mgmt"
uci -q set owsd.$mgmt"_8080".ipv6="on"
uci -q set owsd.$mgmt"_8080".whitelist_interface_as_origin="1"
uci -q set owsd.$mgmt"_8080".origin="*"
uci commit owsd
fi
done
fi
exit 0

View File

@@ -12,7 +12,7 @@ PKG_NAME:=peripheral_manager
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=769430115b6dd984313574c3fa2a6d99c65cd223
PKG_SOURCE_VERSION:=02903ce5b594420331f80c6973fa3635921d7080
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/peripheral-manager

View File

@@ -1,14 +1,14 @@
#
# Copyright (C) 2013-2019 iopsys
# Copyright (C) 2013 Inteno
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=questd
PKG_VERSION:=4.1.0
PKG_VERSION:=3.1.40
PKG_SOURCE_VERSION:=3c7c4da8cdf14e4abb75a41e3ef9f2eddc9d75ae
PKG_SOURCE_VERSION:=9edeefb6942c1a806a82274d124d8889bfb4f8e7
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/questd
@@ -27,7 +27,7 @@ else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
QUESTD_TARGET:=-DIOPSYS_MARVELL
else ifeq ($(CONFIG_TARGET_intel_mips),y)
# BUG FIXME the Intel mips target is not handled in questd this is just to get it to compile
QUESTD_TARGET:=-DIOPSYS_INTEL
QUESTD_TARGET:=-DIOPSYS_BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
QUESTD_TARGET:=-DIOPSYS_MEDIATEK
QUESTD_CFLAGS:=\
@@ -59,6 +59,7 @@ define Package/questd/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/questd $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wificontrol $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/graphd $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uproxyd $(1)/sbin/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/netcheck $(1)/usr/bin/
endef

View File

@@ -1,20 +1,21 @@
#
# Copyright (C) 2018 iopsys
# Copyright (C) 2018 Inteno
#
include $(TOPDIR)/rules.mk
PKG_NAME:=rulengd
PKG_VERSION:=1.1.0
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/rulengd.git
PKG_SOURCE_VERSION:=ad94ccdd82b22527ab32937ca1a2682030319ed3
PKG_SOURCE_VERSION:=99881f39232154530ac129dc2109d78963017ad1
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

View File

@@ -0,0 +1,7 @@
config rule
option event 'test.event'
list event_data "{'test': 1, 'reason': 1}"
list event_data "{'tests': [1, 2, 3]}"
option method 'file->write'
list method_data "{'path': '/tmp/test_event.txt'}"
list method_data "{'data': 'test event received!'}"

View File

@@ -72,25 +72,9 @@ hex_filter() {
IFS=';'
for i in $hex_chars;
do
local filtered
IFS=' '
filtered=${dump//$i/}
set -- $i
divider=$#
set -- $dump
start=$#
set -- $filtered
end=$#
wc=$((start-end))
wc=$((wc/divider))
[ $wc -eq 0 ] || wc_tot=$((wc_tot+wc))
IFS=';'
local wc
wc=$(echo "$dump" | grep -o "$i" | wc -w)
wc_tot=$((wc_tot+wc))
done
[ $wc_tot -gt $wc_max ] && echo "corrupt"

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2018 iopsys
# Copyright (C) 2013 Inteno
#
include $(TOPDIR)/rules.mk

View File

@@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git
ifdef CONFIG_TARGET_intel_mips
PKG_SOURCE_URL:=git@dev.iopsys.eu:intel/uboot.git
PKG_SOURCE_VERSION:=c77089efc41ea3292125330221bd5016796631b9
PKG_SOURCE_VERSION:=a6292375108a6d5f200f234f5eef3fe17f427092
else
PKG_SOURCE_URL:=https://dev.iopsys.eu/fork/uboot.git
PKG_SOURCE_VERSION:=3ef2ba866a99205496e0ce01935c89a1778d9b85
@@ -59,10 +59,9 @@ define uboot/grx500
TITLE:=U-Boot for the grx
UBOOT_IMG:=u-boot-nand.bin
DEPENDS:=@TARGET_intel_mips
PKG_RELEASE:=10
PKG_RELEASE:=8
endef
# obsolete: no longer supported
define uboot/grx500_speedport_smart3
TITLE:=U-Boot for the Speedport Smart3
UBOOT_IMG:=u-boot-nand.bin
@@ -74,7 +73,7 @@ define uboot/grx500_norrland
TITLE:=U-Boot for Norrland Board
UBOOT_IMG:=u-boot-nand.bin
DEPENDS:=@TARGET_intel_mips
PKG_RELEASE:=14
PKG_RELEASE:=8
endef
UBOOTS := \
@@ -124,13 +123,8 @@ define Build/Compile
CROSS_COMPILE=$(TARGET_CROSS) env
endef
# don't install /etc/init.d/uboot for intel-mips as it's not needed
define Package/uboot/install/default
$(INSTALL_DIR) $$(1)/lib/upgrade
$(CP) ./files/uboot-upgrade $$(1)/lib/upgrade/
$(if $(CONFIG_TARGET_intel_mips), ,$(INSTALL_DIR) $$(1)/etc/init.d)
$(if $(CONFIG_TARGET_intel_mips), ,$(CP) ./files/uboot $$(1)/etc/init.d/)
$(CP) ./files/* $$(1)/
$(INSTALL_DIR) $(BIN_DIR)/$(TARGET)
$(INSTALL_DIR) $$(1)/boot
$(CP) \

View File

@@ -1,6 +1,10 @@
#!/bin/sh /etc/rc.common
START=50
. /usr/share/libubox/jshn.sh
sanity_check_env(){
# make sure iboot is used to start board, but only if verify_boot != 1
@@ -22,24 +26,18 @@ sanity_check_env(){
fw_setenv baudrate 115200
}
do_uboot_upgrade(){
uboot_upgrade(){
local u_ver
echo "doing upgrade of u-boot old version $cur_Major.$cur_Minor new version $Major.$Minor"
mtd erase /dev/mtd0
mtd write $1 /dev/mtd0
mtd write /boot/uboot.img /dev/mtd0
u_ver=$(strings /dev/mtd0 | grep 938f0820-2ffb-11e7-bbc9-2f21351ee6fb)
[ -n "$u_ver" ] && fw_setenv uboot_inteno_version "$u_ver"
sanity_check_env
}
# Return:
# 0: update is successfull
# 1: update is not needed
# 2: error occured
uboot_upgrade() {
[ ! -f $1 ] && return 2
start() {
iver=$(fw_printenv -n uboot_inteno_version 2>/dev/null)
# Fixup improper json string for major and minor key.
@@ -49,8 +47,8 @@ uboot_upgrade() {
if [ -z "$iver" ]
then
# if this variable is not set by u-boot the u-boot version is too old.
do_uboot_upgrade $1
return 0
uboot_upgrade
return
fi
# read in current version into Major Minor variables
@@ -65,7 +63,7 @@ uboot_upgrade() {
cur_Minor=$Minor
# read in new uboot version into Major Minor variables
json_load $(strings $1 | grep 938f0820-2ffb-11e7-bbc9-2f21351ee6fb |sed -e 's/938f0820-2ffb-11e7-bbc9-2f21351ee6fb: //')
json_load $(strings /boot/uboot.img | grep 938f0820-2ffb-11e7-bbc9-2f21351ee6fb |sed -e 's/938f0820-2ffb-11e7-bbc9-2f21351ee6fb: //')
json_get_vars Major Minor
# echo "Major $Major"
@@ -73,15 +71,14 @@ uboot_upgrade() {
if [ $Major -gt $cur_Major ]
then
do_uboot_upgrade $1
return 0
uboot_upgrade
return
fi
if [ $Major -eq $cur_Major -a $Minor -gt $cur_Minor ]
then
do_uboot_upgrade $1
return 0
uboot_upgrade
return
fi
return 1
}

View File

@@ -1,8 +0,0 @@
#!/bin/sh /etc/rc.common
START=50
start() {
. /lib/upgrade/uboot-upgrade
uboot_upgrade /boot/uboot.img
}

View File

@@ -1,46 +0,0 @@
#
# Copyright (C) 2019 Iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=uspd
PKG_VERSION:=1.0.1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=50a4346d518fd80d22cd9694ee3c1dba336bd072
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/uspd.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define Package/uspd
SECTION:=utils
CATEGORY:=Utilities
TITLE:=USP ubus backend
DEPENDS:=+libubox +ubus +icwmp-curl
endef
define Package/uspd/description
Ubus based backend for TR-369/USP which can be used by other USP agents
running on top of it.
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-D_GNU_SOURCE
#define Build/Prepare
# $(CP) -rf ./uspd/* $(PKG_BUILD_DIR)/
#endef
define Package/uspd/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/uspd.init $(1)/etc/init.d/uspd
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uspd $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,uspd))

View File

@@ -1,19 +0,0 @@
#!/bin/sh /etc/rc.common
START=94
STOP=10
USE_PROCD=1
PROG=/usr/sbin/uspd
start_service() {
procd_open_instance
procd_set_param command ${PROG}
procd_set_param respawn
procd_close_instance
}
reload_service() {
stop
start
}

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2014 iopsys
# Copyright (C) 2014 Inteno
#
include $(TOPDIR)/rules.mk
@@ -11,19 +11,6 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
VOICE_LIB:=broadcom.sh
else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
VOICE_LIB:=broadcom.sh
else ifeq ($(CONFIG_TARGET_intel_mips),y)
VOICE_LIB:=intel.sh
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
VOICE_LIB:=broadcom.sh
else
$(info (UNEXPECTED CONFIG TARGET))
VOICE_LIB:=broadcom.sh
endif
define Package/voice-client
SUBMENU:=Telephony
SECTION:=net
@@ -45,26 +32,7 @@ define Build/Compile
endef
define Package/voice-client/install
$(CP) ./files/etc $(1)/
$(CP) ./files/sbin $(1)/
$(CP) ./files/usr $(1)/
mkdir -p $(1)/lib/voice
$(CP) ./files/lib/cw.sh $(1)/lib/.
$(CP) ./files/lib/voice/$(VOICE_LIB) $(1)/lib/voice/voicelib.sh
ifeq ($(CONFIG_TARGET_intel_mips),y)
sed -i \
-e 's/brcm/tapi/g' \
-e 's/BRCM/TAPI/g' \
-e 's/broadcom/intel/g' \
$(1)/etc/config/voice_client \
$(1)/etc/asterisk_templates/*
sed -i \
-e '/echo_cancel/d' \
-e "/config.*tel_advanced.*TEL/a \ option 'echo_cancel' '1'" \
$(1)/etc/config/voice_client
endif
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,voice-client))

View File

@@ -6,7 +6,7 @@ autodial_timeoutmsec=|AUTODIAL_TIMEOUT|
dialtone_timeoutmsec=|DIALTONE_TIMEOUT|
context=|CONTEXT|
context_direct=|CONTEXT|-direct
dialtone_extension_hint_context=|LINE_NAME|_dialtone
dialtone_extension_hint_context=brcm_dialtone
dialtone_extension_hint=|DIALTONE_EXTENSION_HINT|
callwaiting=|CALLWAITING|
clir=|CLIR|

View File

@@ -130,7 +130,7 @@ exten => s,1, Goto(s-${DIALSTATUS},1)
exten => s,n, Hangup()
;handle busy (with CBBS support)
exten => s-BUSY,1, Read(DIGIT,Busy,1,i,30)
exten => s-BUSY,1, Read(DIGIT,Busy,1,in,30)
exten => s-BUSY,n, GotoIf($["${DIGIT}" = "${ARG8}"]?ccbs)
exten => s-BUSY,n, Hangup()
exten => s-BUSY,n(ccbs), Set(result=${SHELL(/usr/lib/asterisk/cbbs.sh ${ARG1} ${ARG2} ${ARG3} ${ARG4} ${ARG5} ${ARG6} ${ARG7})})

View File

@@ -1,138 +1,138 @@
config tel_line 'brcm0'
option extension '0000'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
option sip_account 'sip0'
config 'brcm_line' 'brcm0'
option 'extension' '0000'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm1'
option extension '1111'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
option sip_account 'sip0'
config 'brcm_line' 'brcm1'
option 'extension' '1111'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm2'
option extension '2222'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'brcm_line' 'brcm2'
option 'extension' '2222'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm3'
option extension '3333'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'brcm_line' 'brcm3'
option 'extension' '3333'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm4'
option extension '4444'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'brcm_line' 'brcm4'
option 'extension' '4444'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm5'
option extension '5555'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'brcm_line' 'brcm5'
option 'extension' '5555'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm6'
option extension '6666'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'brcm_line' 'brcm6'
option 'extension' '6666'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config tel_line 'brcm7'
option extension '7777'
option sip_account 'sip0'
option noise '0'
option vad '0'
option txgain 4
option rxgain 4
option echo_cancel 1
option callwaiting '0'
option clir '0'
config 'brcm_line' 'brcm7'
option 'extension' '7777'
option 'sip_account' 'sip0'
option 'noise' '0'
option 'vad' '0'
option 'txgain' 4
option 'rxgain' 4
option 'echo_cancel' 1
option 'callwaiting' '0'
option 'clir' '0'
config dialplan 'custom_dialplan'
option custom_outgoing_enabled '0'
option custom_incoming_enabled '0'
option custom_hangup_enabled '0'
option all_ports_extension '#123456'
option test_audio_extension '#123457'
option test_echo_extension '#123458'
option record_message_extension '#999999'
config 'dialplan' 'custom_dialplan'
option 'custom_outgoing_enabled' '0'
option 'custom_incoming_enabled' '0'
option 'custom_hangup_enabled' '0'
option 'all_ports_extension' '#123456'
option 'test_audio_extension' '#123457'
option 'test_echo_extension' '#123458'
option 'record_message_extension' '#999999'
config sip_advanced 'SIP'
option rtpstart '10000'
option rtpend '20000'
option dtmfmode 'rfc2833'
option remotehold 'yes'
option contact_line_suffix '1'
option registertimeoutbackoff '512'
option registerattemptsbackoff '0'
option register403timeout '0'
option register503timeout '0'
option registertimeoutguardsecs '15'
option registertimeoutguardlimit '30'
option registertimeoutguardpct '0.2'
config 'sip_advanced' 'SIP'
option 'rtpstart' '10000'
option 'rtpend' '20000'
option 'dtmfmode' 'rfc2833'
option 'remotehold' 'yes'
option 'contact_line_suffix' '1'
option 'registertimeoutbackoff' '512'
option 'registerattemptsbackoff' '0'
option 'register403timeout' '0'
option 'register503timeout' '0'
option 'registertimeoutguardsecs' '15'
option 'registertimeoutguardlimit' '30'
option 'registertimeoutguardpct' '0.2'
option defaultexpiry '300'
option tls_version 'tlsv1'
option tls_cipher 'DES-CBC3-SHA'
option stun_server ''
option dnsmgr 'no'
option dnsmgr_refresh_interval '300'
option srvlookup 'yes'
option 'tls_version' 'tlsv1'
option 'tls_cipher' 'DES-CBC3-SHA'
option 'stun_server' ''
option 'dnsmgr' 'no'
option 'dnsmgr_refresh_interval' '300'
option 'srvlookup' 'yes'
config tel_advanced 'TEL'
option country 'SWE'
option jbenable 'yes'
option jbforce 'no'
option jbmaxsize '500'
option jbimpl 'adaptive'
option genericplc 'yes'
option dialoutmsec '4000'
option cw_enable 'yes'
config 'brcm_advanced' 'BRCM'
option 'country' 'SWE'
option 'jbenable' 'yes'
option 'jbforce' 'no'
option 'jbmaxsize' '500'
option 'jbimpl' 'adaptive'
option 'genericplc' 'yes'
option 'dialoutmsec' '4000'
option 'cw_enable' 'yes'
config features 'features'
option cbbs_enabled '1'
option callforward_enabled '1'
option callwaiting_enabled '1'
option redial_enabled '1'
option callreturn_enabled '1'
option advanced_register_settings '1'
config 'features' 'features'
option 'cbbs_enabled' '1'
option 'callforward_enabled' '1'
option 'callwaiting_enabled' '1'
option 'redial_enabled' '1'
option 'callreturn_enabled' '1'
option 'advanced_register_settings' '1'
config log 'LOG'
option console 'notice,warning,error'
@@ -146,32 +146,31 @@ config ringing_status 'RINGING_STATUS'
option shouldring '1'
config call_filter 'call_filter0'
option block_foreign '0'
option block_special_rate '0'
option block_outgoing '0'
option block_incoming '0'
option block_foreign '0'
option block_special_rate '0'
option block_outgoing '0'
option block_incoming '0'
config cdr_log 'CDR_LOG'
option cdr_syslog '0'
config sip_service_provider 'sip0'
option name 'Account 1'
option enabled '0'
option codec0 'alaw'
config 'sip_service_provider' 'sip0'
option 'name' 'Account 1'
option 'enabled' '0'
option 'codec0' 'alaw'
option cbbs_key '5'
option cbbs_maxretry '5'
option cbbs_retrytime '300'
option cbbs_waittime '30'
option autoframing '1'
option cfim_on '*21*'
option cfim_off '#21#'
option cfbs_on '*61*'
option cfbs_off '#61#'
option 'autoframing' '1'
option 'cfim_on' '*21*'
option 'cfim_off' '#21#'
option 'cfbs_on' '*61*'
option 'cfbs_off' '#61#'
option cw_on '*43#'
option cw_off '#43#'
option cw_status '*#43#'
option call_return '*69'
option redial '*66'
option is_fax '0'
option transport 'udp'
option 'call_return' '*69'
option 'redial' '*66'
option 'is_fax' '0'
option 'transport' 'udp'
config cdr_log 'CDR_LOG'
option cdr_syslog '0'

View File

@@ -6,8 +6,6 @@
#
. /lib/functions.sh
. /lib/functions/network.sh
. /lib/voice/voicelib.sh
HOOKS=/usr/lib/inithooks/voice_client
if [ -f "$HOOKS" ] ; then
. $HOOKS
@@ -17,8 +15,8 @@ START=60
USE_PROCD=1
# Some global variables
SERIAL="$(getSerial)"
BASEMAC="$(getBaseMAC)"
SERIAL=$(cat /proc/nvram/SerialNumber)
BASEMAC=$(cat /proc/nvram/BaseMacAddr | sed 's/ //g')
MODULENAME=voice
USERAGENT="Inteno_${SERIAL}_${BASEMAC}"
@@ -32,11 +30,8 @@ ASTERISKDIR=/etc/asterisk
WORKDIR=/tmp/$MODULENAME.$$
MD5SUMSFILE=/tmp/$MODULENAME-sums.$$
LINENAME="$(getLineName)"
CHANNELNAME="$(getChannelName)"
# Whitespace separated list of $CHANNELNAME feature access codes
CHANNEL_FAC=
# Whitespace separated list of BRCM feature access codes
BRCM_FAC=
#TODO: go through templates, check usage
@@ -85,8 +80,8 @@ TMPL_ACL=$TEMPLATEDIR/acl.conf.TEMPLATE
TMPL_CONFBRIDGE=$TEMPLATEDIR/confbridge.conf.TEMPLATE
TMPL_UDPTL=$TEMPLATEDIR/udptl.conf.TEMPLATE
TMPL_CHANNEL=$TEMPLATEDIR/$LINENAME.conf.TEMPLATE
TMPL_CHANNEL_LINE=$TEMPLATEDIR/tel_line.TEMPLATE
TMPL_BRCM=$TEMPLATEDIR/brcm.conf.TEMPLATE
TMPL_BRCM_LINE=$TEMPLATEDIR/brcm_line.TEMPLATE
TMPL_MEETME=$TEMPLATEDIR/meetme.conf.TEMPLATE
@@ -185,7 +180,7 @@ assemble_and_copy_config()
mv $WORKDIR/sip_registrations.tmp $WORKDIR/sip_registrations.conf
mv $WORKDIR/sip_providers.tmp $WORKDIR/sip_providers.conf
mv $WORKDIR/sip_users.tmp $WORKDIR/sip_users.conf
mv $WORKDIR/$LINENAME.tmp $WORKDIR/$LINENAME.conf
mv $WORKDIR/brcm.tmp $WORKDIR/brcm.conf
mv $WORKDIR/extensions.tmp $WORKDIR/extensions.conf
mv $WORKDIR/codecs.tmp $WORKDIR/codecs.conf
mv $WORKDIR/rtp.tmp $WORKDIR/rtp.conf
@@ -256,45 +251,92 @@ read_codecs_ptime()
# in a Dial() command
#
# For backwards compatibility, if i is only a number (not prefixed by
# "SIP/" or "CHANNEL/") then add "CHANNEL/"
# "SIP/" or "BRCM/") then add "BRCM/"
#
read_lines()
{
local line call_lines lineid ldx lines llength clength
local loffset=$(ubus -t 1 call voice.asterisk platform | jsonfilter -e @.lineoffset)
loffset=${loffset:-0}
local lines=""
local call_lines
local fsxIdx fsxEpt dectIdx dectEpt
config_get call_lines $1 call_lines "0"
# Are lines already set by user conf?
config_get call_lines $1 call_lines
for line in $call_lines ; do
# Otherwise set default depending on board HW. This
# is only done at very first boot or a default reset.
if test -z "$call_lines"; then
# Get all FSX voice endpoints. Translate to uppercase with awk
# due to tr [:upper:] doesn't work in our BusyBox.
voicePorts=$(db get hw.board.VoicePortOrder | \
awk '{ print toupper($0) }' | \
sed -e "s/\([[:alpha:]]*\)\([[:digit:]]\)/\1\/\2/g")
voiceNames=$(db get hw.board.VoicePortNames)
hasVoice=0
# convert line format to <LINENAME><LINEID>
case $line in
[0-9])
line="$LINENAME$line"
;;
"$CHANNELNAME"/[0-9])
clength=$(echo $CHANNELNAME | wc -c)
line="$LINENAME${line:$clength}"
;;
if test $(db get hw.board.hasVoice) = "1"; then
# Get the first FSX voice endpoint index by
# searching for the name usually used.
fsxIdx=$(echo $voiceNames | \
awk -e '{
i = 1;
while(i <= NF && tolower($i) !~ /^tel.*$/) {
i++;
}
print i;
}
')
# Convert index to endpoint ID
if test $fsxIdx -gt 0; then
fsxEpt=$(echo $voicePorts | awk '{ print $'$fsxIdx' }')
fi
hasVoice=1
fi
if test $(db get hw.board.hasDect) = "1"; then
# Get the first Dect voice endpoint index by
# searching for the name usually used.
dectIdx=$(echo $voiceNames | \
awk -e '{
i = 1;
while(i <= NF && tolower($i) !~ /^dect.*$/) {
i++;
}
print i;
}
')
if test $dectIdx -gt 0; then
dectEpt=$(echo $voicePorts | awk '{ print $'$dectIdx' }')
fi
hasVoice=1
fi
if test $hasVoice -eq 1; then
call_lines="$dectEpt $fsxEpt"
# If we didn't find any endpoint ID we
# fallback to activate them all.
if test -z "$call_lines"; then
call_lines="$voicePorts"
fi
fi
# Save the endpoint IDs we found where the
# GUI expects to find them.
uci_set voice_client "${1}" "call_lines" "$call_lines"
uci_commit voice_client
fi
for i in $call_lines ; do
case $i in
''|*[!0-9]*) lines=$lines"$i&" ;;
*) lines=$lines"BRCM/$i&" ;;
esac
# get the index from line name
# llength=$(echo $LINENAME | wc -c)
# lineid="${lineid:$llength}"
# get the index from uci config order
lineid="$(uci show voice_client | grep =tel_line | grep -wn $line | cut -d ':' -f1)"
[ -n "$lineid" ] || continue
# -1 to get uci config index (which starts from 0)
# +loffset to give correct number of channel driver
ldx=$((lineid-1+loffset))
lines="$lines$CHANNELNAME/$ldx&"
done
lines=$(escape_sed_substitution $lines)
echo "${lines%??}"
}
@@ -986,9 +1028,9 @@ configure_queue()
do
local out=""
re='^[0-9]+$'
num=${member#$LINENAME}
num=${member#brcm}
if [ -z "${num##[0-9]*}" ] ; then
out="$CHANNELNAME/$num"
out="BRCM/$num"
else
local sip_user
config_get sip_user $member user
@@ -1115,7 +1157,7 @@ configure_cdr()
configure_call_filters()
{
local country
config_get country TEL country
config_get country BRCM country
# Read the International Dialing Code and the Country Code from config
echo "Looking up IDC and CC for country $country"
@@ -1393,7 +1435,7 @@ configure_extensions()
fi
if [ -n "$extension_all_ports" ] ; then
local all_lines=$(getAllLines)
local all_lines="BRCM/0&BRCM/1&BRCM/2&BRCM/3&BRCM/4&BRCM/5&BRCM/6"
echo "exten => $extension_all_ports,1,Dial($all_lines,,t)" >> $WORKDIR/extensions_local.tmp
echo "exten => $extension_all_ports,n,Hangup()" >> $WORKDIR/extensions_local.tmp
fi
@@ -1407,6 +1449,7 @@ configure_extensions()
echo "exten => $test_echo_extension,1,Echo()" >> $WORKDIR/extensions_local.tmp
echo "exten => $test_echo_extension,n,Hangup()" >> $WORKDIR/extensions_local.tmp
fi
if [ -n "$record_message_extension" ] ; then
echo "exten => $record_message_extension,1,Playback(beep)" >> $WORKDIR/extensions_local.tmp
@@ -1420,7 +1463,7 @@ configure_extensions()
sed -i "s/|CLIR_FAC_SET|//" $WORKDIR/extensions.tmp
sed -i "s/|CLIR|/$clir/" $WORKDIR/extensions.tmp
sed -i "s/|CLIR_FAC_LEN|/${#clir}/" $WORKDIR/extensions.tmp
CHANNEL_FAC="$CHANNEL_FAC $clir."
BRCM_FAC="$BRCM_FAC $clir."
else
sed -i "s/|CLIR_FAC_SET|/;/" $WORKDIR/extensions.tmp
fi
@@ -1642,7 +1685,7 @@ configure_extensions_provider()
echo "exten => $user,n(norewrite),NoOp()">> $tmp
# read a list of lines that should be dialled on incoming calls
incoming_lines="$(read_lines $1)"
incoming_lines=$(read_lines $1)
config_get call_queue $1 call_queue
config_get call_ivr $1 call_ivr
if [ -n "$incoming_lines" ]; then
@@ -1679,9 +1722,9 @@ configure_extensions_provider()
}
#
# Create a local extension for a CHANNEL Line
# Create a local extension for a BRCM Line
#
configure_tel_line_extension()
configure_brcm_line_extension()
{
local line
local extension
@@ -1691,9 +1734,8 @@ configure_tel_line_extension()
local cbbs_retrytime
local cbbs_waittime
local mailbox
local line_name=$LINENAME
line=${1:${#line_name}}
line=${1:4}
config_get extension $1 extension
if [ -z "$line" ] ; then
@@ -1718,7 +1760,7 @@ configure_tel_line_extension()
cp $TMPL_EXTENSIONS_LOCAL_LINE $WORKDIR/extensions_local_line.tmp
sed -i "s/|EXTEN|/$extension/g" $WORKDIR/extensions_local_line.tmp
sed -i "s/|LINE|/$(getLineIdx $line)/g" $WORKDIR/extensions_local_line.tmp
sed -i "s/|LINE|/$line/g" $WORKDIR/extensions_local_line.tmp
sed -i "s/|TIMEOUT|/$(get_voicemail_timeout)/g" $WORKDIR/extensions_local_line.tmp
#cbbs settings
@@ -1791,16 +1833,16 @@ configure_codecs()
{
echo "Configuring codecs"
local genericplc
config_get genericplc TEL genericplc
config_get genericplc BRCM genericplc
sed -i "s/|PLC|/$genericplc/" $WORKDIR/codecs.tmp
}
#
# Configure default settings for $LINENAME.conf
# Configure default settings for brcm.conf
#
configure_tel()
configure_brcm()
{
echo "Configuring $CHANNELNAME"
echo "Configuring BRCM"
local jbenable
local jbforce
local jbmaxsize
@@ -1808,48 +1850,44 @@ configure_tel()
local dtmfcompatibility
local dialoutmsec
local fac
local echocancel
config_get jbenable TEL jbenable
config_get jbforce TEL jbforce
config_get jbmaxsize TEL jbmaxsize
config_get jbimpl TEL jbimpl
config_get jbenable BRCM jbenable
config_get jbforce BRCM jbforce
config_get jbmaxsize BRCM jbmaxsize
config_get jbimpl BRCM jbimpl
config_get dtmfmode SIP dtmfmode
config_get dialoutmsec TEL dialoutmsec
config_get fac TEL fac
config_get echocancel TEL echo_cancel
config_get dialoutmsec BRCM dialoutmsec
config_get fac BRCM fac
CHANNEL_FAC="$CHANNEL_FAC $fac"
BRCM_FAC="$BRCM_FAC $fac"
# Convert whitespace to commas
CHANNEL_FAC=$(echo $CHANNEL_FAC | sed -e 's/^ *//' -e 's/ *$//' | tr -s ' ' | tr ' ' ',')
BRCM_FAC=$(echo $BRCM_FAC | sed -e 's/^ *//' -e 's/ *$//' | tr -s ' ' | tr ' ' ',')
if [ -z "$dialoutmsec" ] ; then
dialoutmsec=4000
fi
sed -i "s/|JBENABLE|/$jbenable/" $WORKDIR/$LINENAME.tmp
sed -i "s/|JBFORCE|/$jbforce/" $WORKDIR/$LINENAME.tmp
sed -i "s/|JBMAXSIZE|/$jbmaxsize/" $WORKDIR/$LINENAME.tmp
sed -i "s/|JBIMPL|/$jbimpl/" $WORKDIR/$LINENAME.tmp
sed -i "s/|DIALOUTMSEC|/$dialoutmsec/" $WORKDIR/$LINENAME.tmp
sed -i "s/|FAC|/$CHANNEL_FAC/" $WORKDIR/$LINENAME.tmp
sed -i "s/|CHANNELS|/$(db get hw.board.VoicePorts)/" $WORKDIR/$LINENAME.tmp
sed -i "s/|ECHOCANCEL|/$(getEchoCancellingValue $echocancel)/" $WORKDIR/$LINENAME.tmp
sed -i "s/|JBENABLE|/$jbenable/" $WORKDIR/brcm.tmp
sed -i "s/|JBFORCE|/$jbforce/" $WORKDIR/brcm.tmp
sed -i "s/|JBMAXSIZE|/$jbmaxsize/" $WORKDIR/brcm.tmp
sed -i "s/|JBIMPL|/$jbimpl/" $WORKDIR/brcm.tmp
sed -i "s/|DIALOUTMSEC|/$dialoutmsec/" $WORKDIR/brcm.tmp
sed -i "s/|FAC|/$BRCM_FAC/" $WORKDIR/brcm.tmp
if [ "$dtmfmode" == "compatibility" ] ; then
dtmfcompatibility="1"
else
dtmfcompatibility="0"
fi
sed -i "s/|DTMFCOMPATIBILITY|/$dtmfcompatibility/" $WORKDIR/$LINENAME.tmp
sed -i "s/|DTMFCOMPATIBILITY|/$dtmfcompatibility/" $WORKDIR/brcm.tmp
}
#
# Configure settings for individual line in $LINENAME.conf
# Configure settings for individual line in brcm.conf
#
configure_tel_line()
configure_brcm_line()
{
echo "Configuring $CHANNELNAME line $1"
echo "Configuring BRCM line $1"
local extension
local sip_provider
local codecs
@@ -1895,30 +1933,30 @@ configure_tel_line()
clir=0
fi
cp $TMPL_CHANNEL_LINE $WORKDIR/tel_line.tmp
sed -i "s/|SECTION|/$1/" $WORKDIR/tel_line.tmp
sed -i "s/|CALLERID|/$extension/g" $WORKDIR/tel_line.tmp
sed -i "s/|CONTEXT|/$sip_provider/g" $WORKDIR/tel_line.tmp
sed -i "s/|DIALTONE_EXTENSION_HINT|/$1/" $WORKDIR/tel_line.tmp
sed -i "s/|AUTODIAL|/$autodial/" $WORKDIR/tel_line.tmp
sed -i "s/|AUTODIAL_TIMEOUT|/$autodial_timeout/" $WORKDIR/tel_line.tmp
sed -i "s/|DIALTONE_TIMEOUT|/$dialtone_timeout/" $WORKDIR/tel_line.tmp
sed -i "s/|DTMFRELAY|/$dtmfmode/" $WORKDIR/tel_line.tmp
sed -i "s/|CALLWAITING|/$callwaiting/" $WORKDIR/tel_line.tmp
sed -i "s/|CLIR|/$clir/" $WORKDIR/tel_line.tmp
sed -i "s/|LINE_NAME|/$LINENAME/" $WORKDIR/tel_line.tmp
cp $TMPL_BRCM_LINE $WORKDIR/brcm_line.tmp
sed -i "s/|SECTION|/$1/" $WORKDIR/brcm_line.tmp
sed -i "s/|CALLERID|/$extension/g" $WORKDIR/brcm_line.tmp
sed -i "s/|CONTEXT|/$sip_provider/g" $WORKDIR/brcm_line.tmp
sed -i "s/|DIALTONE_EXTENSION_HINT|/$1/" $WORKDIR/brcm_line.tmp
sed -i "s/|AUTODIAL|/$autodial/" $WORKDIR/brcm_line.tmp
sed -i "s/|AUTODIAL_TIMEOUT|/$autodial_timeout/" $WORKDIR/brcm_line.tmp
sed -i "s/|DIALTONE_TIMEOUT|/$dialtone_timeout/" $WORKDIR/brcm_line.tmp
sed -i "s/|DTMFRELAY|/$dtmfmode/" $WORKDIR/brcm_line.tmp
sed -i "s/|CALLWAITING|/$callwaiting/" $WORKDIR/brcm_line.tmp
sed -i "s/|CLIR|/$clir/" $WORKDIR/brcm_line.tmp
#Configure CHANNEL line with codecs according to the SIP line settings
#Configure BRCM line with codecs according to the SIP line settings
# local is_fax
# config_get is_fax $sip_provider is_fax
# if [ -z "$is_fax" -o "$is_fax" = "1" ] ; then
# sed -i "s/|ALLOW|/allow = ulaw\nallow = alaw/" $WORKDIR/tel_line.tmp
# sed -i "s/|ALLOW|/allow = ulaw\nallow = alaw/" $WORKDIR/brcm_line.tmp
# else
# sed -i "s/|ALLOW|/$(read_codecs $sip_provider)/" $WORKDIR/tel_line.tmp
# sed -i "s/|ALLOW|/$(read_codecs $sip_provider)/" $WORKDIR/brcm_line.tmp
# fi
cat $WORKDIR/tel_line.tmp >> $WORKDIR/$LINENAME.tmp
rm -f $WORKDIR/tel_line.tmp
cat $WORKDIR/brcm_line.tmp >> $WORKDIR/brcm.tmp
rm -f $WORKDIR/brcm_line.tmp
}
#
@@ -2017,35 +2055,30 @@ pbx_fix_ownership()
}
#
# Calculate a name for each $LINENAME line, depending on port type
# Calculate a name for each brcm line, depending on port type
# and number. The name is used to make UI look better.
#
set_line_name()
{
local maxlinenum=$2
local curname name_ix ix item lnum
local line_name=$LINENAME
local line_name_len=${#line_name}
local tel_line=$1
line=${tel_line:${line_name_len}}
# delete non-existing lines from config #
case $tel_line in
${line_name}[0-9])
lnum=${tel_line:${line_name_len}:1}
[ $((lnum+1)) -gt $maxlinenum ] && uci -q delete voice_client.$tel_line
case $1 in
brcm[0-9])
lnum=${1:4:1}
[ $((lnum+1)) -gt $maxlinenum ] && uci -q delete voice_client.$1
;;
esac
#########################################
config_get curname $tel_line name
config_get curname $1 name
[ -n "$curname" ] && return
name_ix=""
ix=0
for item in $(db get hw.board.VoicePortOrder); do
if [ "$item" == "$tel_line" ]; then
if [ "$item" == "$1" ]; then
name_ix=$ix
break
fi
@@ -2056,14 +2089,15 @@ set_line_name()
if [ -n "$name_ix" ]; then
for item in $(db get hw.board.VoicePortNames); do
if [ $ix -eq $name_ix ]; then
uci_set voice_client $tel_line name "$(echo $item | tr '[_]' '[ ]')"
uci_set voice_client $1 name \
"$(echo "$item" |tr "[_]" "[ ]")"
return
fi
ix=$((ix+1))
done
fi
uci_set voice_client $tel_line name $tel_line
uci_set voice_client $1 name $1
}
#
@@ -2113,11 +2147,11 @@ start_service() {
config_load voice_client
########################################################
# Set line names according to board parameters
# Set line names according to whats reported by brcminfo
# and delete non-existing lines from voice_client config
########################################################
local maxlinenum=$(db get hw.board.VoicePorts)
config_foreach set_line_name tel_line $maxlinenum
config_foreach set_line_name brcm_line $maxlinenum
uci_commit voice_client
#######################################
@@ -2130,7 +2164,7 @@ start_service() {
cp $TMPL_SIP $WORKDIR/sip.tmp
cp $TMPL_RTP $WORKDIR/rtp.tmp
cp $TMPL_STUN $WORKDIR/res_stun_monitor.tmp
cp $TMPL_CHANNEL $WORKDIR/$LINENAME.tmp
cp $TMPL_BRCM $WORKDIR/brcm.tmp
cp $TMPL_CODECS $WORKDIR/codecs.tmp
cp $TMPL_VOICEMAIL $WORKDIR/voicemail.tmp
cp $TMPL_DNSMGR $WORKDIR/dnsmgr.tmp
@@ -2174,12 +2208,12 @@ start_service() {
config_foreach configure_sip_user_extension sip_user
#####################
# CHANNEL configuration
# BRCM configuration
#####################
configure_tel
config_foreach configure_tel_line tel_line
config_foreach configure_tel_line_extension tel_line
config_foreach create_extensions_dialtone tel_line
configure_brcm
config_foreach configure_brcm_line brcm_line
config_foreach configure_brcm_line_extension brcm_line
config_foreach create_extensions_dialtone brcm_line
configure_codecs
###########################
@@ -2244,17 +2278,14 @@ stop_service() {
}
reload_service() {
start
#stop
# turn off voice led; asterisk will turn it on
# if there is a registered account
ubus call led.voice1 set '{"state":"off"}'
start
asterisk -rx "config reload $ASTERISKDIR/sip.conf"
sleep 1
asterisk -rx "core reload"
asterisk -rx "dialplan reload"
asterisk -rx "$(getChipVendor) reload"
asterisk -rx "brcm reload"
}
service_triggers() {

View File

@@ -1,13 +1,5 @@
#!/bin/sh
. /lib/voice/voicelib.sh
# Adapt to config section name changes
grep -q brcm_line /etc/config/voice_client && sed -i 's/brcm_line/tel_line/g' /etc/config/voice_client
grep -q brcm_advanced /etc/config/voice_client && sed -i 's/brcm_advanced/tel_advanced/g' /etc/config/voice_client
grep -q BRCM /etc/config/voice_client && sed -i 's/BRCM/TEL/g' /etc/config/voice_client
# Add call filter section
uci -q get voice_client.call_filter0 >/dev/null || {
uci -q batch <<-EOT
@@ -22,7 +14,6 @@ EOT
}
# Add ringing schedule section
uci -q get voice_client.RINGING_STATUS >/dev/null || {
uci -q batch <<-EOT
@@ -36,28 +27,27 @@ EOT
}
# Default phone volume for iopsysWrt 4.X.
# Default Broadcom phone volume for Iopsys 4.
uci -q batch <<-EOT
set voice_client.$(getLineName)0.txgain=4
set voice_client.$(getLineName)0.rxgain=4
set voice_client.$(getLineName)1.txgain=4
set voice_client.$(getLineName)1.rxgain=4
set voice_client.$(getLineName)2.txgain=4
set voice_client.$(getLineName)2.rxgain=4
set voice_client.$(getLineName)3.txgain=4
set voice_client.$(getLineName)3.rxgain=4
set voice_client.$(getLineName)4.txgain=4
set voice_client.$(getLineName)4.rxgain=4
set voice_client.$(getLineName)5.txgain=4
set voice_client.$(getLineName)5.rxgain=4
set voice_client.$(getLineName)6.txgain=4
set voice_client.$(getLineName)6.rxgain=4
set voice_client.$(getLineName)7.txgain=4
set voice_client.$(getLineName)7.rxgain=4
set voice_client.brcm0.txgain=4
set voice_client.brcm0.rxgain=4
set voice_client.brcm1.txgain=4
set voice_client.brcm1.rxgain=4
set voice_client.brcm2.txgain=4
set voice_client.brcm2.rxgain=4
set voice_client.brcm3.txgain=4
set voice_client.brcm3.rxgain=4
set voice_client.brcm4.txgain=4
set voice_client.brcm4.rxgain=4
set voice_client.brcm5.txgain=4
set voice_client.brcm5.rxgain=4
set voice_client.brcm6.txgain=4
set voice_client.brcm6.rxgain=4
set voice_client.brcm7.txgain=4
set voice_client.brcm7.rxgain=4
commit voice_client
EOT
# Add firewall include
uci -q batch <<-EOT
delete firewall.sip
set firewall.sip=include
@@ -71,9 +61,9 @@ EOT
# If dtmfmode is set to the obsolete compatability change to auto
sed -i 's/dtmfmode\s*=\s*compatibility/dtmfmode=auto/' /etc/asterisk/sip.conf
if [ "$(uci get voice_client.SIP.dtmfmode)" == "compatibility" ]; then
uci set voice_client.SIP.dtmfmode="auto"
uci commit voice_client
if [ $(uci get voice_client.SIP.dtmfmode) == 'compatibility' ]; then
uci set voice_client.SIP.dtmfmode='auto'
uci commit
fi
exit 0

View File

@@ -1,14 +1,12 @@
#! /bin/sh
. /lib/voice/voicelib.sh
if [ $2 != '?' ]; then
for tel_line in `uci show voice_client | grep $(getLineName) | grep $1 | cut -d . -f 2`; do
sed -i "/\[$tel_line\]/,/^\[/ s/\(callwaiting=\)[0-9]/\1$2/" /etc/asterisk/$(getLineName).conf
for brcm in `uci show voice_client | grep brcm | grep $1 | cut -d . -f 2`; do
sed -i "/\[$brcm\]/,/^\[/ s/\(callwaiting=\)[0-9]/\1$2/" /etc/asterisk/brcm.conf
done
else
for tel_line in `uci show voice_client | grep $(getLineName) | grep $1 | cut -d . -f 2`; do
status=`sed -n "/\[$tel_line\]/,/^\[/ s/callwaiting=\([0-9]\)/\1/p" /etc/asterisk/$(getLineName).conf`
for brcm in `uci show voice_client | grep brcm | grep $1 | cut -d . -f 2`; do
status=`sed -n "/\[$brcm\]/,/^\[/ s/callwaiting=\([0-9]\)/\1/p" /etc/asterisk/brcm.conf`
echo $status
exit 0
done

View File

@@ -1,45 +0,0 @@
#! /bin/sh
# Voice library for Broadcom boards
getChipVendor() {
echo brcm
}
getChannelName() {
echo BRCM
}
getLineName() {
echo brcm
}
getSerial() {
echo $(cat /proc/nvram/SerialNumber)
}
getBaseMAC() {
echo $(cat /proc/nvram/BaseMacAddr | sed 's/ //g')
}
getAllLines() {
echo "BRCM/0&BRCM/1&BRCM/2&BRCM/3&BRCM/4&BRCM/5&BRCM/6"
}
getLineIdx() {
echo $1
}
getEchoCancellingValue() {
case $1 in
0)
echo '0'
;;
1)
echo '1'
;;
*)
# Unknown value
echo ''
;;
esac
}

View File

@@ -1,52 +0,0 @@
#! /bin/sh
# Voice library for Intel boards
getChipVendor() {
echo intel
}
getChannelName() {
echo TAPI
}
getLineName() {
echo tapi
}
getSerial() {
sernum=$(fw_printenv -n serial_number) 2> /dev/null
if [ $? ]; then
echo 0
else
echo $sernum
fi
}
getBaseMAC() {
echo $(fw_printenv -n ethaddr)
}
getAllLines() {
echo "TAPI/1&TAPI/2&TAPI/3&TAPI/4&TAPI/5&TAPI/6"
}
getLineIdx() {
i=$1
echo $((i+1))
}
getEchoCancellingValue() {
case $1 in
0)
echo 'off'
;;
1)
echo 'nlec'
;;
*)
# Unknown value
echo ''
;;
esac
}

View File

@@ -23,8 +23,6 @@
# ./cbbs.sh BRCM 0 4444 BRCM/4 5 300 45
#####################################################
. /lib/voice/voicelib.sh
#Create temporary file
tempfile=$(mktemp)
@@ -33,7 +31,7 @@ echo "Channel: $1/$2/$3" >> $tempfile
echo "MaxRetries: $5" >> $tempfile
echo "RetryTime: $6" >> $tempfile
echo "WaitTime: $7" >> $tempfile
echo "Set: $(getChannelName)LINE=$4" >> $tempfile
echo "Set: BRCMLINE=$4" >> $tempfile
#On answer
echo "Context: cbbs" >> $tempfile

View File

@@ -1,11 +1,10 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
. /lib/voice/voicelib.sh
case "$1" in
list)
echo '{ "status" : {}, "lines" : {}, "codecs" : {}, "call_log" : {}, "platform" : {} }'
echo '{ "status" : {}, "lines" : {}, "codecs" : {}, "call_log" : {} }'
;;
call)
@@ -49,8 +48,8 @@ case "$1" in
done
json_select ..
json_add_object "tel"
for line in $(uci show voice_client | grep tel_line | awk -F[.,=] '{print$2}'); do
json_add_object "brcm"
for line in $(uci show voice_client | grep brcm_line | awk -F[.,=] '{print$2}'); do
json_add_object "$line"
linestate="ONHOOK"
linenum=${line:4}
@@ -67,7 +66,7 @@ case "$1" in
;;
lines)
subchannels=$(asterisk -x "$(getChipVendor) show status" 2>/dev/null | grep Subchannel | sort -u | wc -l)
subchannels=$(asterisk -x 'brcm show status' 2>/dev/null | grep Subchannel | sort -u | wc -l)
[ $subchannels -eq 0 ] && subchannels=2
json_init
json_add_int num_subchannels $subchannels
@@ -126,26 +125,6 @@ case "$1" in
done < /var/log/asterisk/cdr-csv/Master.csv
json_dump
;;
platform)
json_init
json_add_string platform "$(getLineName)"
case $(getLineName) in
"brcm")
json_add_int lineoffset 0
json_add_int chanoffset 0
;;
"tapi")
json_add_int lineoffset 1
json_add_int chanoffset -1
;;
*)
# Error, unknown platform
;;
esac
json_dump
;;
esac
;;
esac

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wifilife
PKG_VERSION:=1.0.3
PKG_VERSION:=1.0.2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=c5a0776ec6798175bb7a03d68006c9bab4971a7f
PKG_SOURCE_VERSION:=9a75b717d3cd95d88e394f5bcd8b4006dfa450ba
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
ifeq ($(CONFIG_WIFILIFE_OPEN),y)
@@ -52,8 +52,10 @@ TARGET_CFLAGS += \
MAKE_PATH:=src
define Package/wifilife/install
$(INSTALL_DIR) $(1)/etc
$(CP) -r ./files/* $(1)/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/wifilife.init $(1)/etc/init.d/wifilife
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/etc/uci-defaults/* $(1)/etc/uci-defaults/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/wifiagent $(1)/usr/sbin/
endef

View File

@@ -1,67 +0,0 @@
#!/bin/sh
. /lib/functions/mbid.sh
remove_mbid_rules() {
old_rules="$(cat "/tmp/mbid_rules" 2>/dev/null)"
IFS=$'\n'
for old_rule in $old_rules; do
old_rule=${old_rule/-A /-D }
eval $old_rule 2>/dev/null
done
rm /tmp/mbid_rules
}
# read firewall parental rules and add repeated addresses
append_mbid_rules() {
[ "$(uci -q get owsd.ubusproxy.enable)" == "1" ] || return
octets=$(get_octets)
mobid=$(get_mobid)
[ -z "$mobid" -o -z "$octets" ] && return
rule=""
oct2="$(echo $mobid | awk '{print $1}')"
oct3="$(echo $mobid | awk '{print $2}')"
rules="$(cat /tmp/fw3.rules.ipv4 | grep -i forward | grep -i "\-\-mac\-source")"
[ -z "$rules" ] && return
IFS=$'\n'
for rule in $rules; do
chain="$(echo $rule | awk '{print tolower($5)}')"
[ -z "$chain" -o "$chain" != "forward" ] && continue
# delete rule, replace --append with --delete
del_rule=${rule/-A /-D }
while [ -z "$(eval "$del_rule" 2>&1)" ]; do
:
done
mac=$(echo $rule | awk '{print $9}')
# re-append rule
eval $rule
rpt_macs=$(repeated_macs $octets $oct2 $oct3 $mac | awk '{print toupper($0)}')
> /tmp/mbid_rules
for rpt_mac in $rpt_macs; do
[ -z "$rpt_mac" ] && continue
rpt_rule=${rule/$mac/$rpt_mac}
del_rule=${rpt_rule/-A /-D }
while [ -z "$(eval "$del_rule" 2>&1)" ]; do
:
done
eval $rpt_rule
echo $rpt_rule >> /tmp/mbid_rules
done
done
}
while [ -f /tmp/mbid.lock ]; do
sleep 2
done
touch /tmp/mbid.lock
remove_mbid_rules
append_mbid_rules
rm /tmp/mbid.lock

View File

@@ -1,21 +0,0 @@
{
"if" : [
{
"event": "ubus.object.add",
"regex": true,
"match": {
"path":".*\/wifi\\.agent"
}
}
],
"then" : [
{
"object": "file",
"method":"exec",
"args": {
"command": "sh",
"params": ["/etc/firewall.mbid"]
}
}
]
}

View File

@@ -18,27 +18,5 @@ add_dnsmasq_lease_hwmask() {
fi
}
add_firewall_mbid() {
local ubusx="$(uci -q get owsd.ubusproxy.enable)"
if [ -f /etc/firewall.mbid ]; then
uci -q get firewall.mbid || {
uci -q set firewall.mbid=include
uci -q set firewall.mbid.path="/etc/firewall.mbid"
uci -q set firewall.mbid.reload=1
uci del_list firewall.mbid._access_w=root
uci add_list firewall.mbid._access_w=root
uci commit firewall
}
fi
}
add_ruleng_section() {
uci -q add ruleng rule
uci -q set ruleng.@rule[-1].recipe='/etc/ruleng/mbid.json'
uci commit ruleng
}
add_owsd_object_wifi
add_dnsmasq_lease_hwmask
add_firewall_mbid
add_ruleng_section

View File

@@ -1,147 +0,0 @@
#!/bin/sh /etc/rc.common
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
mobid_cb() {
local device mobility_domain
config_get device $1 device
[ "$device" != "$2" ] && return;
config_get mobility_domain $1 mobility_domain
echo "$mobility_domain"
}
_get_mobid() {
vif=$1
config_load wireless
mobid="$(config_foreach mobid_cb wifi-iface $vif)"
echo $mobid
}
repeated_macs() {
octets=$1
oct2=$2
oct3=$3
mac=$4
macs=""
oct456=${mac:9}
[ -z "$octets" -o -z "$oct2" -o -z "$oct3" -o -z "$mac" -o -z "$oct456" ] && return
IFS=$' '
for oct1 in $octets; do
macs="$oct1:$oct2:$oct3:$oct456 $macs"
done
echo "$macs"
}
# transform a mac address to all possibly repeated - recommended when parsing one or few MACs
mac_to_repeated() {
mac=$1
octets=""
oct2=""
oct3=""
octets=$(get_octets)
mobid=$(get_mobid)
[ -z "$mobid" -o -z "$octets" ] && return
oct2="$(echo $mobid | awk '{print $1}')"
oct3="$(echo $mobid | awk '{print $2}')"
echo "$(repeated_macs $octets $oct2 $oct3 $mac)"
}
assocl_match_mac() {
mac=$1
res="$(ubus call wifix assoclist 2>/dev/null)"
json_load "$res"
json_select assoclist 2>/dev/null
json_get_keys keys
IFS=$' '
for key in $keys; do
json_select $key 2>/dev/null
json_get_var macaddr macaddr
json_select ..
[ "$macaddr" = "$mac" ] || continue
octet=$(echo $macaddr | cut -c1-2)
echo "$octet"
done
}
get_octet() {
ip=$1
res="$(ubus call router.net arp 2>/dev/null)"
json_load "$res"
json_select table 2>/dev/null
json_get_keys keys
IFS=$' '
for key in $keys; do
json_select $key 2>/dev/null
json_get_var ipaddr ipaddr
json_get_var macaddr macaddr
json_select ..
[ "$ipaddr" = "$ip" ] || continue
echo "$(assocl_match_mac $macaddr)"
done
}
# only get all first octets - use when parsing several MACS
get_octets() {
octets=""
assoclist=""
neighbors=""
objects=$(ubus list | grep -E '.*\/wifix$')
[ -z "$objects" ] && return
for obj in $objects; do
ip=$(echo $obj | cut -d'/' -f1)
octet="$(get_octet $ip)"
[ "$octets" != "${octets/$octet/}" ] && continue
octets="$octet $octets"
done
echo "$octets"
}
# get only mobid - use when parsing several MACS
get_mobid() {
mobid="500"
radios="$(ubus -t1 call wifix radios 2>/dev/null)"
[ -z "$radios" ] && return
json_load "$radios"
json_get_keys keys
IFS=$' '
for key in $keys; do
val="$(_get_mobid $key)"
[ -n "$val" ] && mobid=$val;
done
mobid=$(printf "%04x" $mobid)
# if little endian
if [ "$(echo -n I | hexdump -o | awk '{ print substr($2,6,1); exit}')" = "1" ]; then
oct2=${mobid:2}
oct3=${mobid%??}
else
oct2=${mobid%??}
oct3=${mobid:2}
fi
echo "$oct2 $oct3"
}

View File

@@ -9,8 +9,6 @@ EXTRA_COMMANDS="enable_check"
start_service() {
[ "$(uci -q get wifilife.@wifilife[0].enabled)" == "0" ] && return
procd_open_instance
procd_set_param command ${PROG} -d -l -f -o /tmp/wifiagent.log
procd_set_param respawn

View File

@@ -8,7 +8,7 @@ PKG_NAME:=wifimngr
PKG_VERSION:=1.0.2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5ab0a61b2d8dc34be0e0053670a13876e648f94b
PKG_SOURCE_VERSION:=c7228ea031f407580ff8e4801e0ba544aeadd050
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wifimngr.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>