Compare commits

..

107 Commits

Author SHA1 Message Date
nevadita.chatterjee
0c313fef05 ieee1905: 4.10.6 2022-08-04 12:53:20 +05:30
vdutta
92032fd1ac icwmp: 8.5.9 2022-08-04 11:55:21 +05:30
vdutta
b40c4279fa sulu-builder: Use system login credential for mqtt auth 2022-08-04 11:18:52 +05:30
vdutta
874151f4d3 sulu: Use system login credential for mqtt auth 2022-08-04 11:15:53 +05:30
Yalu Zhang
97f2517211 evoice-0.2.16: Fix some compiling errors and warnings 2022-08-03 16:21:12 +02:00
Grzegorz Sluja
81c30ab502 dectmngr: Release the incoming call if it cannot be proceeded 2022-08-03 11:19:54 +02:00
Grzegorz Sluja
9c9f230054 endptmngr: Send DECT_UNAVAILABLE event to Asterisk if there is no free DECT handset 2022-08-03 11:17:14 +02:00
Janusz Dziedzic
f5f791b0b7 wifimngr: 14.1.0
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-08-02 15:14:13 +00:00
Janusz Dziedzic
6563c53a63 easy-soc-libs: 6.5.6
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-08-02 15:12:56 +00:00
vdutta
473ea18680 sulu-builder: 1.0.0 2022-08-02 17:48:01 +05:30
Amin Ben Ramdhane
0fcabc3ab5 bbf: 6.8.14 2022-08-01 15:44:58 +01:00
vdutta
183a363c00 icwmp: 8.5.8 2022-08-01 09:33:56 +05:30
Amin Ben Ramdhane
a5d9464b7e bbf: 6.8.13 2022-07-29 16:14:24 +01:00
Maxim Menshikov
f81a48aeaa qosmngr: enable for Econet 2022-07-29 13:52:43 +03:00
Maxim Menshikov
15a68f1807 easy-qos: enable for Econet 2022-07-29 13:52:43 +03:00
Rahul
a59e08e629 qosmngr: update queue setup
Update q setup that allows better coverage of q setup specially in
mixed mode scheduling.
Also remove dead code related to stats since that is already taken
care of by qosmngr daemon now.
And lastly, simplify the logic to calculate q precedence.
2022-07-29 16:20:52 +05:30
Amin Ben Ramdhane
45129bb230 icwmp: 8.5.7 2022-07-28 17:19:32 +01:00
Amin Ben Ramdhane
89123cee31 bbf: 6.8.12 2022-07-28 17:16:26 +01:00
suvendhu
04676cf26b icwmpd: configure dhcp op125 for ManageableDevice DM object 2022-07-28 17:13:35 +01:00
Grzegorz Bielski
76f525ed98 evoice: 0.2.15, add map for FXS params 2022-07-28 13:33:17 +02:00
Grzegorz Sluja
9a02ad5175 dectmngr: Add new dspg FW 4.13 Build17 2022-07-28 10:00:33 +02:00
vdutta
fec2851814 icwmp: 8.5.6 2022-07-27 18:03:03 +05:30
vdutta
aac0616aac uspd: 2.2.14 2022-07-27 09:35:57 +05:30
vdutta
adfc80948c bbf: 6.8.11 2022-07-26 19:56:32 +05:30
vdutta
7107087ba2 icwmp: 8.5.5 2022-07-26 19:53:37 +05:30
vdutta
cfc2d5bb57 uspd: 2.2.13 2022-07-26 19:52:00 +05:30
vdutta
79f65638b1 obuspa: Added restart callback handler for operate commands 2022-07-26 12:16:40 +05:30
Amin Ben Ramdhane
18a28dbec3 uspd: 2.2.12 2022-07-22 13:59:22 +01:00
Jakob Olsson
12254b050b map-controller: 2.11.0.2: add enable_ts uci docs and validator 2022-07-22 10:30:50 +02:00
Omar Kallel
5db896e32a bbf: Add InformParameter object 2022-07-21 17:03:21 +01:00
Jakob Olsson
6e23e2cde5 map-agent: 2.10.0.2 2022-07-21 16:33:09 +02:00
Amin Ben Ramdhane
11d02e4dc6 bbf: 6.8.9 2022-07-21 14:20:10 +01:00
Marek Puzyniak
3a8e56603c easy-sock-libs: 6.5.5
Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>
2022-07-21 09:17:10 +00:00
vdutta
558f56017e obuspa: Added persistent db support 2022-07-20 19:17:21 +05:30
Jakob Olsson
17e325ff16 map-agent: 2.10.0.1 2022-07-20 11:17:55 +02:00
Jakob Olsson
abf7e7a8e1 wifimngr: 14.0.9 2022-07-20 11:17:17 +02:00
Jakob Olsson
e2377d482c map-controller: 2.11.0.1 2022-07-20 11:15:33 +02:00
Jakob Olsson
cd9891b0ba ieee1905: 4.10.5 2022-07-19 17:29:43 +02:00
Jakob Olsson
05938b6ddd map-agent: traffic_separation: do network restart if vid mapping is incorrect on reload 2022-07-19 17:29:43 +02:00
vdutta
fbeaed38a1 icwmp: 8.5.3 2022-07-18 19:20:02 +05:30
vdutta
f470be09ff stunc: 1.1.12 2022-07-18 19:17:47 +05:30
vdutta
e306650990 icwmp: 8.5.2 2022-07-18 13:15:30 +05:30
Jakob Olsson
ffca576b3a ieee1905: 4.10.4 2022-07-15 13:51:26 +02:00
Omar Kallel
de19106bb7 icwmp: update icwmp upgrade keep file 2022-07-15 10:08:21 +01:00
Jakob Olsson
fd9193056a map-agent: 2.10.0.0 2022-07-15 10:24:33 +02:00
Jakob Olsson
ec884b9adf map-controller: 2.11.0.0 2022-07-15 10:23:19 +02:00
Erik Karlsson
9aed3b5e63 mosquitto-auth-shadow: initial implementation
Plugin for the mosquitto MQTT broker that allows authentication of
users via /etc/shadow
2022-07-15 04:17:50 +00:00
Wenpeng Song
a231c9f993 evoice: 0.2.14
- 8407: don't subscribe to ip in ValGet
 - 8407: code cleanup
 - Call Stats : TotalCall time remains zero if call is not connected
2022-07-14 15:10:12 +00:00
Wenpeng Song
bee450ea77 evoice: 0.2.13
- 7740: libvoiceservice callcontrol update
 - 8407: do not overwrite ubus context, reformat code
 - 8407: register for correct ubus network.interface paths
2022-07-14 14:43:47 +00:00
Amin Ben Ramdhane
977d6f51f1 icwmp: Migrate the compilation to cmake instead of autotools 2022-07-14 15:02:40 +01:00
Amin Ben Ramdhane
73c40d2b96 bbf: 6.8.8 2022-07-14 14:19:27 +01:00
suvendhu
77d75b2256 icwmp: fix icwmpd infinite restart 2022-07-14 15:35:04 +05:30
Sukru Senli
5ef3575e54 iop: select ip-bridge 2022-07-14 11:37:28 +02:00
Jakob Olsson
1c873d34ea map-controller: 2.10.0.4 2022-07-13 17:47:08 +02:00
Wenpeng Song
ba961a1407 evoice: 0.2.12
- update default UCI config for PrefixInfo
 - 7740: libvoiceservice callcontrol update
 - 8293: refactor service codes
 - 8179: enable call services - always
 - 8262: receive DTMF as RTP 2833
2022-07-13 12:30:09 +00:00
Jakob Olsson
d36930c8ce map-topology: 2.5.1.1 2022-07-13 13:37:36 +02:00
Wenpeng Song
6d6f61ee80 evoice:0.2.11
- 7743: update libvoice pots 
 - Extension and Line statistics: Fixed Regression with Line Ubus Object
2022-07-13 06:56:13 +00:00
Anjan Chanda
9a84f43534 ieee1905: 4.10.3 2022-07-12 16:12:50 +02:00
Jakob Olsson
76070242ff map-topology: 2.5.1.0 2022-07-12 16:05:59 +02:00
vdutta
8c876537e3 icwmp: 8.4.24 2022-07-12 18:59:36 +05:30
Jakob Olsson
34edbde3e1 map-agent: 2.9.0.4 2022-07-12 15:09:26 +02:00
Jakob Olsson
f24366bdf3 map-controller: 2.10.0.3 2022-07-12 15:09:16 +02:00
Jakob Olsson
6840ad8afb map-agent: 2.9.0.3 2022-07-12 15:07:50 +02:00
Jakob Olsson
d923e8bd28 ieee1905: 4.9.9 2022-07-12 15:07:50 +02:00
Hemlata Bhatt
3728f3a143 evoice : Fix for Wrong Number Called,no busy tone fix 2022-07-12 09:19:09 +02:00
vdutta
c00c03f28f icwmp: 8.4.23 2022-07-11 15:51:14 +05:30
Amin Ben Ramdhane
3c3469efbe bbf: 6.8.7 2022-07-08 15:09:42 +01:00
Jakob Olsson
88f1ec5788 ieee1905: add default script setting alid 2022-07-08 13:56:18 +02:00
Hemlata Bhatt
7a1ff2b8d1 evoice : Moving version 0.2.9 2022-07-08 10:56:39 +02:00
Hemlata Bhatt
4b0b880102 evoice : Line and Extension Statistics 2022-07-08 10:50:52 +02:00
Janusz Dziedzic
8654d2ad4b easy-sock-libs: 6.5.4
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-07-07 13:11:28 +00:00
Janusz Dziedzic
050a5d4853 map-agent: multiap skip bssid_ignore
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-07-07 12:01:58 +00:00
Jakob Olsson
07693e7c1b Map-agent: 2.9.0.2 2022-07-06 22:18:59 +02:00
Sukru Senli
60c29e3107 sulu: 1.0.12 2022-07-06 17:09:39 +02:00
Jakob Olsson
615a104b7b map-controller: 2.10.0.2 2022-07-06 16:04:16 +02:00
Jakob Olsson
ab75188733 map-agent: 2.9.0.1 2022-07-06 16:03:48 +02:00
Jakob Olsson
c76daa8c81 ieee1905: 4.9.8 2022-07-06 16:00:53 +02:00
Sukru Senli
796e985d05 sulu: 1.0.11 2022-07-06 10:33:30 +02:00
Jakob Olsson
9bc985e87f easy-soc-libs: 6.5.3 2022-07-05 16:37:55 +02:00
Wenpeng Song
e85e676c65 evoice: libvoice capabilities update
- Update uci file for CapabilitiesCodec
 - Hide parameters that not available
 - Read codecs from ubus call
2022-07-05 10:07:53 +00:00
Grzegorz Bielski
55aa77e670 evoice: fix compilation errors 2022-07-05 10:26:31 +02:00
Grzegorz Bielski
d81b7bd07b evoice: fix compilation error after env upgrade - Broadcom 2022-07-05 08:07:29 +02:00
Sukru Senli
6add41b654 iop: select procd-ujail as module
until DHCP issue when dnsmasq is jailed is resolved
2022-07-03 09:34:26 +02:00
Jakob Olsson
e5933d2938 map-agent: simplify pvid unset default script 2022-07-01 16:59:11 +02:00
Jakob Olsson
8b4e7586ad map-agent: add uci-default script setting pvid to 0 2022-07-01 16:36:45 +02:00
Wenpeng Song
d70c637aa4 bbf: fix voice calllog filter
Fix the SIP response code handling and optimization
2022-07-01 13:35:31 +00:00
Andreas Gnau
c296cc2963 iop: config: Use fw3 (firewall3) and legacy iptables
OpenWrt 22.03 switched to a new nftables-based firewall, fw4. For now,
we would like to stick to legacy iptables and the old fw3 which, for
now, is still supported.

Once functionality has been verified on non-upstream targets such as
Broadcom and Airoha/Econet, we can switch to nftables and fw4.

Unfortunately, luci-app-firewall pulls in fw4, so we need to disable it
for now until we have investigated and resolved that problem.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2022-07-01 08:48:32 +02:00
Andreas Gnau
721fcb8b38 ieee1905 / map-* / wfadatad: Add -Wno-error=deprecated-declarations
Fixes error: 'uloop_timeout_remaining' is deprecated: use
uloop_timeout_remaining64 [-Werror=deprecated-declarations].

For now, compile with -Wno-error=deprecated-declarations until we have
found a nice way to support both uloop-versions or we have decided that
we only support OpenWrt 23.03.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2022-07-01 08:48:32 +02:00
Andreas Gnau
e26a9affbd iop: feeds_update: Workaround OpenWrt bug wrt targets
Workaround a bug in the OpenWrt build system that was introduced when
the installed target path had been moved to target/linux/feeds.
Config.in and Makefile from installed targets are not properly included
from the new location. This hack is to be removed once the issues are
fixed.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2022-07-01 08:48:32 +02:00
Andreas Gnau
f009a030a8 iop: genconfig: Update target paths for OpenWrt 22.03
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2022-07-01 08:48:30 +02:00
Sukru Senli
17ba40e8f6 iop: config: select dnsmasq explicitly 2022-06-30 16:12:51 +02:00
Grzegorz Bielski
495df7354d evoice: recognize properly RTCP packets 2022-06-30 15:29:45 +02:00
Jakob Olsson
f012724dc5 ieee1905: 4.9.7 2022-06-30 14:24:01 +02:00
Amin Ben Ramdhane
ee77040781 bbf: 6.8.6 2022-06-30 09:02:31 +01:00
Sukru Senli
e04a463e62 iop: config: select map agent and controller by default 2022-06-29 19:21:08 +02:00
Anjan Chanda
180d8d1168 easy-soc-libs: 6.5.2 2022-06-29 17:34:48 +02:00
Maxim Menshikov
2af7a8d044 easy-soc-libs: support Econet in building and packaging scripts 2022-06-29 15:29:22 +00:00
vdutta
5a6126270e icwmp: 8.4.22 2022-06-29 20:54:14 +05:30
Jakob Olsson
488c89a6d1 ieee1905: 4.9.6 2022-06-29 16:46:05 +02:00
Hemlata Bhatt
ca5d16257a Evoice : Support status for Line and SIP.Client objects 2022-06-29 14:33:00 +02:00
Grzegorz Bielski
07b1902fe2 evoice: fix call hold for Broadcom 2022-06-29 11:54:36 +02:00
Sukru Senli
bcfe608301 dectmngr: correct version 2022-06-28 19:05:50 +02:00
Amin Ben Ramdhane
63f448f4a8 bbf: 6.8.5 2022-06-28 17:04:19 +01:00
Grzegorz Sluja
5438c3c5da dectmngr: fixup! Fix for setting extension_id for handset 2022-06-28 15:37:54 +02:00
Yalu Zhang
111ff9835a Update feed iopsys package evoice
evoice-0.2.7: Fix a package installation issue
2022-06-28 15:03:13 +02:00
Yalu Zhang
7cc4c33911 evoice-0.2.6: Fix compiling errors on Econet platform 2022-06-28 14:27:53 +02:00
Jakob Olsson
c61723b711 map-topology: 2.5.0.6 2022-06-28 14:15:17 +02:00
54 changed files with 1346 additions and 741 deletions

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libbbfdm
PKG_VERSION:=6.8.4
PKG_VERSION:=6.8.14
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
PKG_SOURCE_VERSION:=ebe5137382756175f796082b80a977e099573d47
PKG_SOURCE_VERSION:=f7d0e4e9e769523c07cd93a895a0fb4643273ad0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dectmngr
PKG_RELEASE:=3
PKG_VERSION:=3.5.2
PKG_VERSION:=3.5.5
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=ffda80f40b5703f07570a2892522d5dded84b63a
PKG_SOURCE_VERSION:=9ba885e9a34f69c02da569995210feb849f48c35
PKG_MIRROR_HASH:=skip
endif

Binary file not shown.

Binary file not shown.

View File

@@ -19,7 +19,7 @@ define Package/easy-qos
SECTION:=net
CATEGORY:=Network
TITLE:=Easy QoS
DEPENDS:=@TARGET_iopsys_brcm63xx_arm
DEPENDS:=@(TARGET_iopsys_brcm63xx_arm||TARGET_iopsys_econet)
endef
define Package/easy-qos/description

View File

@@ -7,13 +7,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-soc-libs
PKG_VERSION:=6.4.45
PKG_VERSION:=6.5.6
PKG_RELEASE:=1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=b6baf5a2c1213230651912bd9141f1cee02e500a
PKG_SOURCE_VERSION:=8edab22e1dc185c09c773ace1e8cad480987ab64
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/easy-soc-libs.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
@@ -55,6 +55,10 @@ else ifeq ($(CONFIG_TARGET_iopsys_armvirt),y)
TARGET_PLATFORM=TEST
TARGET_WIFI_TYPE=TEST
TARGET_CFLAGS +=-DIOPSYS_TEST
else ifeq ($(CONFIG_TARGET_iopsys_econet),y)
TARGET_PLATFORM=ECONET
TARGET_WIFI_TYPE=MAC80211
TARGET_CFLAGS +=-DIOPSYS_ECONET
else
$(info Unexpected CONFIG_TARGET, use default MAC80211)
TARGET_PLATFORM=MAC80211

View File

@@ -2,7 +2,7 @@
define Package/libethernet
$(call Package/easy-soc-libs)
TITLE:= Ethernet library (libethernet)
DEPENDS+=+libnl +libnl-route +libeasy +TARGET_iopsys_ramips:swconfig
DEPENDS+=+libnl +libnl-route +libeasy +TARGET_iopsys_ramips:swconfig +TARGET_iopsys_econet:ecnt_api
endef
define Package/libethernet/config

View File

@@ -13,7 +13,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/endptmngr.git
PKG_SOURCE_VERSION:=7d43e471f0ffc4a54eb2ac35eced4b72fca4dafb
PKG_SOURCE_VERSION:=15fac5dc8a330b1e7803ebeeb53bdb5414a99db5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -5,7 +5,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=evoice
PKG_VERSION:=0.2.5
PKG_VERSION:=0.2.16
LOCAL_DEV=0
LOCAL_DEV_EVOICE_DIR=~/voip/evoice
@@ -13,7 +13,7 @@ LOCAL_DEV_EVOICE_DIR=~/voip/evoice
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/evoice.git
PKG_SOURCE_VERSION:=9a2f547c7c3c8d67928c1ed7fbca538e59088c2a
PKG_SOURCE_VERSION:=d6318339eeee6a857669de802245cbd87310211c
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -21,6 +21,7 @@ endif
PKG_LICENSE:=PROPRIETARY IOPSYS
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=bbf
# All config variable that are passed to the make invocation, directly or
# indirectly. This ensures that the package is rebuilt on config-changes.

View File

@@ -44,33 +44,18 @@ config Capabilities 'Capabilities'
config CapabilitiesCodec 'Codec1'
option Codec 'G.711ALaw'
option BitRate '64000'
option PacketizationPeriod '20,30'
option SilenceSupression '1'
config CapabilitiesCodec 'Codec2'
option Codec 'G.711MuLaw'
option BitRate '64000'
option PacketizationPeriod '20,30'
option SilenceSupression '1'
config CapabilitiesCodec 'Codec3'
option Codec 'G.726'
option BitRate '32000'
option PacketizationPeriod '20,30'
option SilenceSupression '0'
config CapabilitiesCodec 'Codec4'
option Codec 'G.722'
option BitRate '64000'
option PacketizationPeriod '20,30'
option SilenceSupression '0'
config CapabilitiesCodec 'Codec4'
config CapabilitiesCodec 'Codec5'
option Codec 'G.729'
option BitRate '8000'
option PacketizationPeriod '20,30'
option SilenceSupression '0'
config CodecProfile '1CodecProfile1'
option Enable '1'
@@ -237,15 +222,15 @@ config NumberingPlan 'NumberingPlan2'
option InterDigitTimerStd '2000'
option InterDigitTimerOpen '2000'
option TerminationDigit ' '
list PrefixList '3PrefixInfo1'
list PrefixList '3PrefixInfo2'
list PrefixList '3PrefixInfo3'
list PrefixList '3PrefixInfo4'
list PrefixList '3PrefixInfo5'
list PrefixList '3PrefixInfo6'
list PrefixList '3PrefixInfo7'
list PrefixList '3PrefixInfo8'
list PrefixList '3PrefixInfo9'
list PrefixList '2PrefixInfo1'
list PrefixList '2PrefixInfo2'
list PrefixList '2PrefixInfo3'
list PrefixList '2PrefixInfo4'
list PrefixList '2PrefixInfo5'
list PrefixList '2PrefixInfo6'
list PrefixList '2PrefixInfo7'
list PrefixList '2PrefixInfo8'
list PrefixList '2PrefixInfo9'
config NumberingPlan 'NumberingPlan3'
option MinimumNumberOfDigits '5'
@@ -253,9 +238,9 @@ config NumberingPlan 'NumberingPlan3'
option InterDigitTimerStd '2000'
option InterDigitTimerOpen '2000'
option TerminationDigit '#'
list PrefixList '4PrefixInfo1'
list PrefixList '3PrefixInfo1'
config PrefixInfo '3PrefixInfo1'
config PrefixInfo '2PrefixInfo1'
option Enable '1'
option PrefixRange '*43#'
option PrefixMinNumberOfDigits '4'
@@ -265,7 +250,7 @@ config PrefixInfo '3PrefixInfo1'
option FacilityAction 'CW_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo2'
config PrefixInfo '2PrefixInfo2'
option Enable '1'
option PrefixRange '#43#'
option PrefixMinNumberOfDigits '4'
@@ -275,7 +260,7 @@ config PrefixInfo '3PrefixInfo2'
option FacilityAction 'CW_DEACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo3'
config PrefixInfo '2PrefixInfo3'
option Enable '1'
option PrefixRange '*21*(X+)#'
option PrefixMinNumberOfDigits '9'
@@ -285,7 +270,7 @@ config PrefixInfo '3PrefixInfo3'
option FacilityAction 'CFU_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo4'
config PrefixInfo '2PrefixInfo4'
option Enable '1'
option PrefixRange '#21#'
option PrefixMinNumberOfDigits '4'
@@ -295,7 +280,7 @@ config PrefixInfo '3PrefixInfo4'
option FacilityAction 'CFU_DEACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo5'
config PrefixInfo '2PrefixInfo5'
option Enable '1'
option PrefixRange '*67*(X+)#'
option PrefixMinNumberOfDigits '9'
@@ -305,7 +290,7 @@ config PrefixInfo '3PrefixInfo5'
option FacilityAction 'CFB_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo6'
config PrefixInfo '2PrefixInfo6'
option Enable '1'
option PrefixRange '#67#'
option PrefixMinNumberOfDigits '4'
@@ -315,7 +300,7 @@ config PrefixInfo '3PrefixInfo6'
option FacilityAction 'CFB_DEACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo7'
config PrefixInfo '2PrefixInfo7'
option Enable '1'
option PrefixRange '*61*(X+(*X+)?)#'
option PrefixMinNumberOfDigits '15'
@@ -325,7 +310,7 @@ config PrefixInfo '3PrefixInfo7'
option FacilityAction 'CFNR_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo8'
config PrefixInfo '2PrefixInfo8'
option Enable '1'
option PrefixRange '#61#'
option PrefixMinNumberOfDigits '4'
@@ -335,7 +320,7 @@ config PrefixInfo '3PrefixInfo8'
option FacilityAction 'CFNR_DEACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo9'
config PrefixInfo '2PrefixInfo9'
option Enable '1'
option PrefixRange '*31*'
option PrefixMinNumberOfDigits '4'
@@ -345,7 +330,7 @@ config PrefixInfo '3PrefixInfo9'
option FacilityAction 'CA_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '4PrefixInfo1'
config PrefixInfo '3PrefixInfo1'
option Enable '1'
option PrefixRange '110|112'
option PrefixMinNumberOfDigits '7'

View File

@@ -74,6 +74,13 @@ config codecs 'map_codec'
option ptime 'voice.CodecProfile@.PacketizationPeriod'
option dtx 'voice.CodecProfile@.SilenceSupression'
config fxsinfo 'map_fxs'
option Enable 'voice.FXS@.Enable'
option DialType 'voice.FXS@.DialType'
option TransmitGain 'voice.FXS@.TransmitGain'
option ReceiveGain 'voice.FXS@.ReceiveGain'
option EchoCancellationEnable 'voice.FXS@.EchoCancellationEnable'
config extensioninfo 'map_ext'
option Enable 'voice.Extension@.Enable'
option Internal_Number_Phone 'voice.Extension@.ExtensionNumber'

View File

@@ -1,14 +0,0 @@
choice
prompt "Select ACS sever"
default CWMP_ACS_MULTI
depends on PACKAGE_icwmp || \
PACKAGE_icwmp-openssl || \
PACKAGE_icwmp-wolfssl || \
PACKAGE_icwmp-mbedtls
config CWMP_ACS_MULTI
bool "No specific ACS, follow standard"
config CWMP_ACS_HDM
bool "Select HDM as ACS server"
endchoice

View File

@@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=8.4.21
PKG_VERSION:=8.5.9
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_VERSION:=62a5eab3a495b07a4f714d608e7428354cdaad36
PKG_SOURCE_VERSION:=5553a890ae29692d8e3c7e1b1734adb0722b020a
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -21,14 +21,8 @@ PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
PKG_FIXUP:=autoreconf
PKG_CONFIG_DEPENDS:= \
CONFIG_CWMP_ACS_MULTI \
CONFIG_CWMP_ACS_HDM \
CONFIG_CWMP_DEBUG \
CONFIG_CWMP_DEVEL_DEBUG
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/icwmp/default
SECTION:=utils
@@ -38,20 +32,6 @@ define Package/icwmp/default
DEPENDS:=+libuci +libubox +libblobmsg-json +libubus +libjson-c +libcurl +mxml
endef
define Package/icwmp/config
source "$(SOURCE)/Config_cwmp.in"
endef
TARGET_CFLAGS += \
-D_GNU_SOURCE \
"-DCWMP_REVISION=\\\"$(PKG_SOURCE_VERSION)\\\""
define Package/icwmp
$(Package/icwmp/default)
TITLE += (internal)
VARIANT:=internal
endef
define Package/icwmp-openssl
$(Package/icwmp/default)
TITLE += (openssl)
@@ -77,25 +57,15 @@ define Package/icwmp-mbedtls
endef
ifeq ($(BUILD_VARIANT),openssl)
CONFIGURE_ARGS += --enable-libopenssl
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
endif
ifeq ($(BUILD_VARIANT),wolfssl)
CONFIGURE_ARGS += --enable-libwolfssl
CMAKE_OPTIONS += -DWITH_WOLFSSL=ON
endif
ifeq ($(BUILD_VARIANT),mbedtls)
CONFIGURE_ARGS += --enable-libmbedtls
endif
ifeq ($(CONFIG_CWMP_ACS_MULTI),y)
CONFIGURE_ARGS += \
--enable-acs=multi
endif
ifeq ($(CONFIG_CWMP_ACS_HDM),y)
CONFIGURE_ARGS += \
--enable-acs=hdm
CMAKE_OPTIONS += -DWITH_MBEDTLS=ON
endif
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
@@ -128,7 +98,6 @@ Package/icwmp-openssl/install = $(Package/icwmp/default/install)
Package/icwmp-wolfssl/install = $(Package/icwmp/default/install)
Package/icwmp-mbedtls/install = $(Package/icwmp/default/install)
$(eval $(call BuildPackage,icwmp))
$(eval $(call BuildPackage,icwmp-openssl))
$(eval $(call BuildPackage,icwmp-wolfssl))
$(eval $(call BuildPackage,icwmp-mbedtls))

View File

@@ -17,6 +17,7 @@ config acs 'acs'
config cpe 'cpe'
option enable '1'
option default_wan_interface 'wan'
option default_lan_interface 'lan'
option log_to_console 'disable'
option log_to_file 'disable'
# log_severity: INFO (Default)

View File

@@ -1,104 +1,27 @@
#!/bin/sh
. /lib/functions.sh
log() {
echo "$@" |logger -t cwmp.update -p info
}
handle_icwmp_update() {
local defwan vendorspecinf update
local bootup_start
local cwmp_enable
config_load cwmp
bootup_start="${1:-0}"
update="0"
defwan="$(uci -q get cwmp.cpe.default_wan_interface)"
vendorspecinf="$(ifstatus "${defwan}" | jsonfilter -e "@.data.vendorspecinf")"
log "Handling dhcp option value [${vendorspecinf}]"
[ -n "$vendorspecinf" ] && {
local url old_url
local prov_code old_prov_code
local min_wait_interval old_min_wait_interval
local retry_interval_multiplier old_retry_interval_multiplier
old_url="$(uci -q get cwmp.acs.dhcp_url)"
old_prov_code="$(uci -q get cwmp.cpe.dhcp_provisioning_code)"
old_min_wait_interval="$(uci -q get cwmp.acs.dhcp_retry_min_wait_interval)"
old_retry_interval_multiplier="$(uci -q get cwmp.acs.dhcp_retry_interval_multiplier)"
case $vendorspecinf in
http://*|https://*)
url="${vendorspecinf}"
;;
*)
for optval in $vendorspecinf; do
case $optval in
1=*)
url="$(echo "$optval" | cut -d"=" -f2-)"
;;
2=*)
prov_code="$(echo "$optval" | cut -d"=" -f2-)"
;;
3=*)
min_wait_interval="$(echo "$optval" | cut -d"=" -f2-)"
;;
4=*)
retry_interval_multiplier="$(echo "$optval" | cut -d"=" -f2-)"
;;
esac
done
;;
esac
if [ -n "$url" ]; then
if [ "${url}" != "${old_url}" ]; then
log "## icwmp url[${old_url}] changed to [${url}]"
uci -q set cwmp.acs.dhcp_url="$url"
update=1
fi
fi
if [ -n "$prov_code" ]; then
if [ "${prov_code}" != "${old_prov_code}" ]; then
log "## icwmp prov_code[${old_prov_code}] changed to [${prov_code}]"
uci -q set cwmp.cpe.dhcp_provisioning_code="$prov_code"
update=1
fi
fi
if [ -n "$min_wait_interval" ]; then
if [ "${min_wait_interval}" != "${old_min_wait_interval}" ]; then
log "## icwmp min_wait_interval[${old_min_wait_interval}] changed to [${min_wait_interval}]"
uci -q set cwmp.acs.dhcp_retry_min_wait_interval="$min_wait_interval"
update=1
fi
fi
if [ -n "$retry_interval_multiplier" ]; then
if [ "${retry_interval_multiplier}" != "${old_retry_interval_multiplier}" ]; then
log "## icwmp retry_interval_multiplier[${old_retry_interval_multiplier}] changed to [${retry_interval_multiplier}]"
uci -q set cwmp.acs.dhcp_retry_interval_multiplier="$retry_interval_multiplier"
update=1
fi
fi
}
if [ "${bootup_start}" -eq "1" ]; then
# if called at boot up then no need to reload the service, since it will start after
uci commit cwmp
config_get_bool cwmp_enable cpe enable 1
if [ "$cwmp_enable" = "0" ]; then
return 0
fi
# In case of update restart icwmp
if [ "${update}" -eq "1" ]; then
log "CWMP uci changes, reload cwmp with uci commit"
ubus call uci commit '{"config":"cwmp"}'
else
status="$(ubus call tr069 status |jsonfilter -qe '@.last_session.status')"
if [ "$status" = "failure" ] || [ "$status" = "" ]; then
log "Trigger out of bound inform, since last inform status was failure"
ubus -t 10 call tr069 inform >/dev/null 2>&1
# Handle timeout or tr069 object not found
if [ "$?" -eq 7 ] || [ "$?" -eq 4 ]; then
log "Restarting icwmp tr069 object"
/etc/init.d/icwmpd restart
fi
status="$(ubus call tr069 status |jsonfilter -qe '@.last_session.status')"
if [ "$status" != "running" ]; then
log "Trigger out of bound inform, since last inform status was failure"
ubus -t 10 call tr069 inform >/dev/null 2>&1
# Handle timeout or tr069 object not found
if [ "$?" -eq 7 ] || [ "$?" -eq 4 ]; then
log "Restarting icwmp tr069 object"
/etc/init.d/icwmpd restart
fi
fi
}

View File

@@ -71,6 +71,206 @@ enable_dhcp_option43() {
fi
}
convert_to_hex() {
local val=""
local optval="${1}"
OPTIND=1
while getopts ":" opt "-$optval"
do
temp=$(printf "%X" "'${OPTARG:-:}")
val="${val}:${temp}"
done
echo "${val}"
}
configure_send_op125() {
local sendopt="${1}"
local intf="${2}"
local uci="${3}"
local hex_oui=""
local hex_serial=""
local hex_class=""
local oui_len=0
local serial_len=0
local class_len=0
if [ "${uci}" = "network" ]; then
local opt125="125:00:00:0D:E9"
else
local opt125="125,00:00:0D:E9"
fi
config_get oui cpe manufacturer_oui ""
if [ -z "${oui}" ]; then
oui=$(db -q get device.deviceinfo.ManufacturerOUI)
fi
oui=$(echo "${oui}" | tr 'a-f' 'A-F')
config_get serial cpe serial_number ""
if [ -z "${serial}" ]; then
serial=$(db -q get device.deviceinfo.SerialNumber)
fi
config_get class cpe product_class ""
if [ -z "${class}" ]; then
class=$(db -q get device.deviceinfo.ProductClass)
fi
oui_len=$(echo -n "${oui}" | wc -m)
serial_len=$(echo -n "${serial}" | wc -m)
class_len=$(echo -n "${class}" | wc -m)
if [ ${oui_len} -eq 0 ] || [ ${serial_len} -eq 0 ]; then
return 0
fi
opt125_len=$((oui_len + serial_len + class_len))
if [ ${class_len} -gt 0 ]; then
opt125_len=$((opt125_len + 6))
else
opt125_len=$((opt125_len + 4))
fi
hex_opt125_len=$(printf "%X" "${opt125_len}")
opt125="${opt125}:${hex_opt125_len}"
hex_oui=$(convert_to_hex "${oui}")
if [ -z "${hex_oui}" ]; then
return 0
fi
hex_oui_len=$(printf "%X" "${oui_len}")
if [ "${uci}" = "network" ]; then
opt125="${opt125}:01:${hex_oui_len}${hex_oui}"
else
opt125="${opt125}:04:${hex_oui_len}${hex_oui}"
fi
hex_serial=$(convert_to_hex "${serial}")
if [ -z "${hex_serial}" ]; then
return 0
fi
hex_serial_len=$(printf "%X" "${serial_len}")
if [ "${uci}" = "network" ]; then
opt125="${opt125}:02:${hex_serial_len}${hex_serial}"
else
opt125="${opt125}:05:${hex_serial_len}${hex_serial}"
fi
if [ ${class_len} -gt 0 ]; then
hex_class=$(convert_to_hex "${class}")
if [ -z "${hex_class}" ]; then
return 0
fi
hex_class_len=$(printf "%X" "${class_len}")
if [ "${uci}" = "network" ]; then
opt125="${opt125}:03:${hex_class_len}${hex_class}"
else
opt125="${opt125}:06:${hex_class_len}${hex_class}"
fi
fi
if [ "${uci}" = "network" ]; then
new_send_opt="$sendopt $opt125"
uci -q set network.$intf.sendopts="$new_send_opt"
else
uci -q add_list dhcp.$intf.dhcp_option="$opt125"
fi
}
enable_dnsmasq_option125() {
local lan="${1}"
local send125_present=0
local opt125="125,"
local proto="$(uci -q get dhcp.$lan.dhcpv4)"
if [ "${proto}" = "server" ]; then
opt_list="$(uci -q get dhcp.$lan.dhcp_option)"
for sopt in $opt_list; do
if [[ "$sopt" == "$opt125"* ]]; then
send125_present=1
break
fi
done
if [ ${send125_present} -eq 0 ]; then
configure_send_op125 "" "${lan}" "dhcp"
ubus call uci commit '{"config":"dhcp"}'
fi
fi
}
enable_disable_dhcp_option125() {
local wan="${1}"
local action="${2}"
local reqopts="$(uci -q get network.$wan.reqopts)"
local sendopts="$(uci -q get network.$wan.sendopts)"
local proto="$(uci -q get network.$wan.proto)"
local newreqopts=""
local newsendopts=""
local req125_present=0
local send125_present=0
local network_uci_update=0
local opt125="125:"
for ropt in $reqopts; do
case $ropt in
125) req125_present=1 ;;
*) ;;
esac
done
for sopt in $sendopts; do
if [[ "$sopt" == "$opt125"* ]]; then
send125_present=1
break
fi
done
if [ "${proto}" == "dhcp" ]; then
if [ "${action}" == "enable" ]; then
if [ ${req125_present} -eq 0 ]; then
newreqopts="$reqopts 125"
uci -q set network.$wan.reqopts="$newreqopts"
network_uci_update=1
fi
if [ ${send125_present} -eq 0 ]; then
configure_send_op125 "${sendopts}" "${wan}" "network"
network_uci_update=1
fi
else
if [ ${req125_present} -eq 1 ]; then
newreqopts=$(echo ${reqopts/125/})
uci -q set network.$wan.reqopts="$newreqopts"
network_uci_update=1
fi
if [ ${send125_present} -eq 1 ]; then
for sopt in $sendopts; do
if [[ "$sopt" == "$opt125"* ]]; then
newsendopts=$(echo ${sendopts/"${sopt}"/})
uci -q set network.$wan.sendopts="$newreqopts"
network_uci_update=1
break
fi
done
fi
fi
fi
if [ ${network_uci_update} -eq 1 ]; then
uci commit network
ubus call network reload
fi
}
wait_for_resolvfile() {
local time=$1
local tm=1
@@ -173,10 +373,13 @@ validate_defaults() {
return 1;
}
ssl_capath="${ssl_capath%/}"
# Put the cert pem file in keep list
if [ -d "${ssl_capath}" ]; then
if ! grep "${ssl_capath}" /lib/upgrade/keep.d/icwmp; then
if ! grep "*.pem\|*.crt" /lib/upgrade/keep.d/icwmp; then
echo "${ssl_capath}"'/*.pem' >> /lib/upgrade/keep.d/icwmp
echo "${ssl_capath}"'/*.crt' >> /lib/upgrade/keep.d/icwmp
echo "${ssl_capath}"'/*.0' >> /lib/upgrade/keep.d/icwmp
fi
fi
@@ -194,11 +397,20 @@ boot() {
config_load cwmp
config_get dhcp_discovery acs dhcp_discovery "0"
config_get wan_interface cpe default_wan_interface "wan"
if [ "${dhcp_discovery}" == "enable" ] || [ "${dhcp_discovery}" == "1" ]; then
# Set dhcp option 43 if not already configured
config_get wan_interface cpe default_wan_interface "wan"
enable_dhcp_option43 "${wan_interface}"
/etc/icwmpd/update.sh 1
fi
config_get lan_interface cpe default_lan_interface ""
if [ -n "${lan_interface}" ]; then
# Set dhcp_option 125 if not already configured
enable_disable_dhcp_option125 "${wan_interface}" "enable"
enable_dnsmasq_option125 "${lan_interface}"
else
# Remove dhcp option 125 if exists
enable_disable_dhcp_option125 "${wan_interface}" "disable"
fi
config_get ssl_capath acs ssl_capath
@@ -212,14 +424,11 @@ boot() {
start_service() {
local enable_cwmp
local wan_interface
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
config_get wan_interface cpe default_wan_interface "wan"
if [ "$enable_cwmp" = "0" ] || [ "$enable_cwmp" = "false" ]; then
log "CWMP is not enabled"
if [ "$enable_cwmp" = "0" ]; then
return 0
fi
@@ -252,9 +461,25 @@ service_stopped()
}
reload_service() {
log "Reloading CWMP client"
ubus -t 1 call tr069 command '{"command":"reload"}'
if [ "$?" -ne "0" ]; then
local ret
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
ret="0"
if [ "$enable_cwmp" = "0" ]; then
stop
return 0
fi
status="$(ubus -t 1 call tr069 status |jsonfilter -qe '@.cwmp.status')"
ret="$?"
if [ "$status" = "up" ]; then
ubus -t 1 call tr069 command '{"command":"reload"}'
ret="$?"
fi
if [ "$status" = "init" ] || [ "$ret" -ne "0" ]; then
log "Restarting CWMP client"
stop
start

View File

@@ -1,7 +1,11 @@
#!/bin/sh
. /lib/functions.sh
# Copy defaults by the factory to the cwmp UCI user section.
config_load cwmp
# Get Manufacturer OUI.
oui=$(uci -q get cwmp.cpe.manufacturer_oui)
config_get oui cpe manufacturer_oui ""
if [ -z "${oui}" ]; then
oui=$(db -q get device.deviceinfo.ManufacturerOUI)
fi
@@ -9,24 +13,29 @@ fi
oui=$(echo "${oui}" | tr 'a-f' 'A-F')
# Get system serial number.
serial=$(uci -q get cwmp.cpe.serial_number)
config_get serial cpe serial_number ""
if [ -z "${serial}" ]; then
serial=$(db -q get device.deviceinfo.SerialNumber)
fi
# Get userid values
acs_userid=$(uci -q get cwmp.acs.userid)
cpe_userid=$(uci -q get cwmp.cpe.userid)
config_get acs_userid acs userid ""
config_get cpe_userid cpe userid ""
# Only set if they are empty
if [ -z "$acs_userid" ]
then
if [ -z "${acs_userid}" ]; then
uci -q set cwmp.acs.userid="${oui}-${serial}"
fi
if [ -z "$cpe_userid" ]
then
if [ -z "${cpe_userid}" ]; then
uci -q set cwmp.cpe.userid="${oui}-${serial}"
fi
# Fix the cwmp.cpe.enable parameter
# set default to 1 if not defined
config_get enable_cwmp cpe enable ""
if [ -z "${enable_cwmp}" ]; then
uci -q set cwmp.cpe.enable="1"
fi
# No need for commit here, it is done by uci_apply_defaults().

View File

@@ -1 +1,2 @@
/var/run/icwmpd/icwmpd_backup_session.xml
/etc/icwmpd/cwmp

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=4.9.4
PKG_VERSION:=4.10.6
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=a8f98ec5532310eb4e0313bb9037b5cd292d34a4
PKG_SOURCE_VERSION:=a213ee8c1f2195bbce1756e033e7a774ef4b5d2a
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ieee1905.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -70,6 +70,7 @@ define Package/libieee1905/description
endef
TARGET_CFLAGS += \
-Wno-error=deprecated-declarations \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE

View File

@@ -0,0 +1,22 @@
#!/bin/sh
BMAC=$(db -q get hw.board.basemac)
BMAC=${BMAC//:/}
BMAC=${BMAC// /}
BMAC=$(printf "%12.12X" $((0x$BMAC)))
[ "$BMAC" == "" ] && exit 1
LMAC=$((0x$BMAC & 0xfeffffffffff))
LMAC=$(($LMAC | 0x020000000000))
LMAC=$(printf "%12.12X" $LMAC)
LMAC=$(echo $LMAC | sed -e 's/[0-9A-F]\{2\}/&:/g' -e 's/:$//')
mac=$(uci -q get ieee1905.ieee1905.macaddress)
[ "$mac" != "" ] && exit 0
uci set ieee1905.ieee1905.macaddress="$LMAC"
uci commit ieee1905

View File

@@ -50,6 +50,8 @@ CONFIG_PACKAGE_wifimngr=y
# Multi-AP #
CONFIG_PACKAGE_ieee1905=y
CONFIG_PACKAGE_map-agent=y
CONFIG_PACKAGE_map-controller=y
CONFIG_PACKAGE_map-topology=y
CONFIG_PACKAGE_wfadatad-collector=y
@@ -115,7 +117,8 @@ CONFIG_PACKAGE_xl2tpd=y
CONFIG_PACKAGE_atftp=m
CONFIG_PACKAGE_atftpd=m
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_miniupnpd=y
CONFIG_PACKAGE_dnsmasq=y
CONFIG_PACKAGE_miniupnpd-iptables=y
CONFIG_PACKAGE_mosquitto-client-ssl=y
CONFIG_PACKAGE_mosquitto-ssl=y
CONFIG_PACKAGE_nginx=y
@@ -133,10 +136,11 @@ CONFIG_LIBCURL_CRYPTO_AUTH=y
# CONFIG_LIBCURL_MBEDTLS is not set
CONFIG_LIBCURL_OPENSSL=y
CONFIG_PACKAGE_ethtool=y
CONFIG_PACKAGE_ip-bridge=y
CONFIG_PACKAGE_ip-full=y
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_ipset=y
CONFIG_PACKAGE_iptables=y
CONFIG_PACKAGE_iptables-legacy=y
CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
CONFIG_PACKAGE_iptables-mod-filter=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
@@ -161,6 +165,7 @@ CONFIG_PACKAGE_lscpu=y
CONFIG_PACKAGE_nand-utils=y
CONFIG_PACKAGE_openssl-util=y
CONFIG_OPENSSL_WITH_COMPRESSION=y
CONFIG_PACKAGE_procd-ujail=m
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
@@ -284,3 +289,10 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS=y
CONFIG_BUSYBOX_CONFIG_TIMEOUT=y
CONFIG_BUSYBOX_CONFIG_NOHUP=y
# Use fw3 iptables-based instead of newer nftables-based fw4
# TODO: for now we cannot build an image with fw3 and luci-app-firewall (i.e. fw3)
# Enabling luci-app-firewall enables fw4
# CONFIG_PACKAGE_luci-app-firewall is not set
CONFIG_PACKAGE_firewall=y
# CONFIG_PACKAGE_firewall4 is not set

View File

@@ -36,6 +36,17 @@ function feeds_update {
./scripts/feeds install -p targets $target
done
# Workaround for bug in 22.03.0-rc4 where installed target path has been
# moved to target/linux/feeds but Config.in and Makefile from installed
# targets are not properly included from the new location.
# This hack is to be removed once the issues are fixed.
# Note that the above block of code might no longer necessary because
# targets no longer need to be installed explicitly.
echo "Working around installed-target-bug"
for f in target/linux/feeds/*; do
ln -vsf "feeds/$(basename "$f")" "target/linux/$(basename "$f")"
done
# install all packages
./scripts/feeds install -a

View File

@@ -13,11 +13,11 @@ function genconfig {
export DEVELOPER=0
target="bogus"
target_config_path=""
brcm63xx_arm="target/linux/iopsys-brcm63xx-arm"
ramips="target/linux/iopsys-ramips"
econet="target/linux/iopsys-econet"
x86="target/linux/iopsys-x86"
armvirt="target/linux/iopsys-armvirt"
brcm63xx_arm="target/linux/feeds/iopsys-brcm63xx-arm"
ramips="target/linux/feeds/iopsys-ramips"
econet="target/linux/feeds/iopsys-econet"
x86="target/linux/feeds/iopsys-x86"
armvirt="target/linux/feeds/iopsys-armvirt"
Red='\033[0;31m' # Red
Color_Off='\033[0m' # Text Reset
@@ -83,8 +83,8 @@ function genconfig {
[ -n "$profile" ] || return
if [ -n "$TARGET" -a -d "./target/linux/$TARGET" ]; then
local targetpath="./target/linux/$TARGET"
if [ -n "$TARGET" -a -d "./target/linux/feeds/$TARGET" ]; then
local targetpath="./target/linux/feeds/$TARGET"
local profiles=
local pfound=0

View File

@@ -12,11 +12,11 @@ function genconfig_min {
export DEVELOPER=0
target="bogus"
target_config_path=""
brcm63xx_arm="target/linux/iopsys-brcm63xx-arm"
ramips="target/linux/iopsys-ramips"
econet="target/linux/iopsys-econet"
x86="target/linux/iopsys-x86"
armvirt="target/linux/iopsys-armvirt"
brcm63xx_arm="target/linux/feeds/iopsys-brcm63xx-arm"
ramips="target/linux/feeds/iopsys-ramips"
econet="target/linux/feeds/iopsys-econet"
x86="target/linux/feeds/iopsys-x86"
armvirt="target/linux/feeds/iopsys-armvirt"
Red='\033[0;31m' # Red
Color_Off='\033[0m' # Text Reset
@@ -82,8 +82,8 @@ function genconfig_min {
[ -n "$profile" ] || return
if [ -n "$TARGET" -a -d "./target/linux/$TARGET" ]; then
local targetpath="./target/linux/$TARGET"
if [ -n "$TARGET" -a -d "./target/linux/feeds/$TARGET" ]; then
local targetpath="./target/linux/feeds/$TARGET"
local profiles=
local pfound=0

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=2.9.0.0
PKG_VERSION:=2.10.0.2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=c3887ca931d4e7fb6f773b4d71b4e6164f9f0372
PKG_SOURCE_VERSION:=78face98267fc46d7d227979b35fcb39a2e175c9
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
@@ -56,6 +56,7 @@ endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-Wno-error=deprecated-declarations \
-D_GNU_SOURCE
ifeq ($(CONFIG_AGENT_SYNC_DYNAMIC_CNTLR_CONFIG),y)

View File

@@ -0,0 +1,13 @@
#!/bin/sh
. /lib/functions.sh
unset_pvid() {
local section=$1
uci -q set mapagent.${section}.pvid="0"
}
config_load mapagent
config_foreach unset_pvid policy

View File

@@ -715,6 +715,8 @@ bsta_blacklist_bssid_set() {
shift
local bssid="$@"
return
wpa_cli -i "$ifname" set_network 0 bssid_ignore "$bssid" > /dev/null 2>&1
wpa_cli -i "$ifname" save_config > /dev/null 2>&1
}
@@ -727,6 +729,8 @@ bsta_blacklist_bssid_clear() {
wpa_cli -i "$ifname" save_config > /dev/null 2>&1
}
return
config_load mapagent
config_foreach mapagent_blacklist_by_band bsta
}

View File

@@ -167,7 +167,7 @@ EOF
ts_reload() {
local dhcp_reload=$1
restart=""
# workaround for missing backhaul wifi.ap.* ubus obj's:
# iterate in config and setup bh
# config_load wireless
@@ -188,8 +188,41 @@ EOF
# config_foreach _setup_bh_iface wifi-iface
bridge_verify_vid_mapping() {
local section=$1
check__port_vid() {
local port="$1"
local vlan="$2"
added=$(bridge vlan show dev $port | grep -w "$vlan")
if [ "$added" = "" ]; then
restart="1"
break
fi
}
config_get vlan "$section" vlan "0"
[ "$vlan" = "0" ] && continue
config_list_foreach "$section" "ports" check_port_vid "$vlan"
[ "$restart" = "1" ] && break
}
config_load network
config_foreach bridge_verify_vid_mapping bridge-vlan
[ -n "dhcp_reload" ] && /etc/init.d/dnsmasq reload
ubus call uci commit '{"config":"network"}'
if [ "$restart" = "1" ]; then
dbg "trigger network restart"
/etc/init.d/network restart
else
ubus call uci commit '{"config":"network"}'
fi
/etc/init.d/firewall reload

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-controller
PKG_VERSION:=2.10.0.1
PKG_VERSION:=2.11.0.2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=4cac1a57ede76550273ebd02aa13a1992d3645ab
PKG_SOURCE_VERSION:=f74c6625967c6ab7f413a70fe72a876e5757ac22
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
@@ -38,6 +38,7 @@ define Package/map-controller/config
endef
TARGET_CFLAGS += \
-Wno-error=deprecated-declarations \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE

View File

@@ -25,7 +25,8 @@ validate_controller_section() {
'use_bcn_metrics:bool:false' \
'use_usta_metrics:bool:false' \
'allow_bgdfs:range(0,2629744)' \
'channel_plan:range(0,2629744)'
'channel_plan:range(0,2629744)' \
'enable_ts:bool:false'
[ "$?" -ne 0 ] && {
logger -s -t "mapcontroller" "Validation of controller section failed"

View File

@@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=map-topology
PKG_VERSION:=2.5.0.5
PKG_VERSION:=2.5.1.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_VERSION:=8ddd80413d6ffd174cd1b4a6859e2a306af0d409
PKG_SOURCE_VERSION:=58a75b5847ef807063b62cadef7048ecbdb44288
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/map-topology.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
@@ -32,6 +32,7 @@ define Package/map-topology
endef
TARGET_CFLAGS += \
-Wno-error=deprecated-declarations \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-I$(STAGING_DIR)/usr/include/libnetfilter_conntrack \

View File

@@ -0,0 +1,45 @@
#
# Copyright (c) 2022 Genexis B.V.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Erik Karlsson - initial implementation
#
include $(TOPDIR)/rules.mk
PKG_NAME:=mosquitto-auth-shadow
PKG_VERSION:=1.0.0
PKG_MAINTAINER:=Erik Karlsson <erik.karlsson@genexis.eu>
PKG_LICENSE:=EPL-2.0
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/mosquitto-auth-shadow
SECTION:=net
CATEGORY:=Network
TITLE:=mosquitto - /etc/shadow authentication plugin
DEPENDS:=mosquitto
USERID:=mosquitto=200:mosquitto=200 mosquitto=200:shadow=11
endef
define Package/mosquitto-auth-shadow/description
Plugin for the mosquitto MQTT message broker that authenticates
users using /etc/shadow
endef
define Package/mosquitto-auth-shadow/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mosquitto_auth_shadow.so $(1)/usr/lib/
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,mosquitto-auth-shadow))

View File

@@ -0,0 +1 @@
chown root:shadow /etc/shadow && chmod 0640 /etc/shadow

View File

@@ -0,0 +1,25 @@
#
# Copyright (c) 2022 Genexis B.V.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Erik Karlsson - initial implementation
#
TARGETS = mosquitto_auth_shadow.so
all: $(TARGETS)
%.pic.o: %.c
$(CC) $(CFLAGS) -Wall -Werror -fPIC -c -o $@ $<
mosquitto_auth_shadow.so: mosquitto_auth_shadow.pic.o
$(CC) $(LDFLAGS) -shared -o $@ $^
clean:
rm -f *.o $(TARGETS)

View File

@@ -0,0 +1,80 @@
/*
* Copyright (c) 2022 Genexis B.V.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Erik Karlsson - initial implementation
*/
#include <string.h>
#include <shadow.h>
#include <crypt.h>
#include <mosquitto.h>
#include <mosquitto_broker.h>
#include <mosquitto_plugin.h>
static int basic_auth_callback(int event, void *event_data, void *userdata)
{
struct mosquitto_evt_basic_auth *ed = event_data;
struct spwd spbuf, *sp = NULL;
char buf[256];
struct crypt_data data;
char *hash;
/* Let other plugins or broker decide about anonymous login */
if (ed->username == NULL)
return MOSQ_ERR_PLUGIN_DEFER;
getspnam_r(ed->username, &spbuf, buf, sizeof(buf), &sp);
if (sp == NULL || sp->sp_pwdp == NULL)
return MOSQ_ERR_AUTH;
/* Empty string as hash means password is not required */
if (sp->sp_pwdp[0] == 0)
return MOSQ_ERR_SUCCESS;
if (ed->password == NULL)
return MOSQ_ERR_AUTH;
memset(&data, 0, sizeof(data));
hash = crypt_r(ed->password, sp->sp_pwdp, &data);
if (hash == NULL)
return MOSQ_ERR_AUTH;
if (strcmp(hash, sp->sp_pwdp) == 0)
return MOSQ_ERR_SUCCESS;
return MOSQ_ERR_AUTH;
}
int mosquitto_plugin_version(int supported_version_count,
const int *supported_versions)
{
return 5;
}
int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier,
void **user_data,
struct mosquitto_opt *opts, int opt_count)
{
*user_data = identifier;
return mosquitto_callback_register(identifier, MOSQ_EVT_BASIC_AUTH,
basic_auth_callback, NULL, NULL);
}
int mosquitto_plugin_cleanup(void *user_data,
struct mosquitto_opt *opts, int opt_count)
{
mosquitto_plugin_id_t *identifier = user_data;
return mosquitto_callback_unregister(identifier, MOSQ_EVT_BASIC_AUTH,
basic_auth_callback, NULL);
}

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspa
PKG_VERSION:=5.0.0.16
PKG_VERSION:=5.0.0.18
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=cd47bcaf1cc82dfd5c10ea76491fd0dae4436cc6
PKG_SOURCE_URL:=https://dev.iopsys.eu/fork/obuspa.git
PKG_SOURCE_VERSION:=c71da7f9b66f4d7fd240e6eb7078044c6b43b72b
PKG_MAINTAINER:=Vivek Dutta <vivek.dutta@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip

View File

@@ -1,30 +1,17 @@
config obuspa 'global'
option enabled '1'
option interface 'loopback'
#option ifname 'lo'
option debug '1'
option log_level '1'
option prototrace '0'
#option db_file '/etc/obuspa/usp.db'
option prototrace '1'
option db_file '/etc/obuspa/usp.db'
#option role_file '/etc/obuspa/roles.json'
option dm_caching_exclude '/etc/obuspa/dmcaching_exclude.json'
#option trust_cert '/etc/obuspa/rootCA.pem'
#option client_cert '/etc/obuspa/client.pem'
#option log_dest '/var/log/obuspa'
config localagent 'localagent'
option Enable '1'
# Adds Device.LocalAgent.Controller.
config controller 'localcontroller'
option EndpointID 'proto::interop-usp-controller'
option Protocol 'MQTT'
option Topic '/usp/controller'
option mqtt 'localmqtt'
option assigned_role_name 'full_access'
# Adds Device.LocalAgent.MTP.
config mtp
config mtp 'agent_mtp'
option Protocol 'MQTT'
option ResponseTopicConfigured '/usp/endpoint'
option mqtt 'localmqtt'
@@ -35,13 +22,30 @@ config mqtt 'localmqtt'
option BrokerPort '1883'
option TransportProtocol 'TCP/IP'
# Adds Device.LocalAgent.Controller.
config controller 'localcontroller'
option EndpointID 'proto::interop-usp-controller'
option Protocol 'MQTT'
option Topic '/usp/controller'
option mqtt 'localmqtt'
option assigned_role_name 'full_access'
# Add Device.LocalAgent.Subscription.
config subscription
option ID 'default-boot-event-ACS'
option NotifType 'Event'
option ReferenceList 'Device.Boot!'
option Persistent 'true'
option controller 'localcontroller'
#config subscription 'sub_event'
# option ID 'uci-sub-events'
# option NotifType 'Event'
# list ReferenceList 'Device.Boot!'
# list ReferenceList 'Device.LocalAgent.TransferComplete!'
# option Persistent 'true'
# option controller 'localcontroller'
#config subscription 'sub_op_comp'
# option ID 'uci-sub-op_complete'
# option NotifType 'OperationComplete'
# list ReferenceList 'Device.DeviceInfo.FirmwareImage.*.Download()'
# list ReferenceList 'Device.DeviceInfo.FirmwareImage.*.Activate()'
# option Persistent 'true'
# option controller 'localcontroller'
#config challenge 'admin'
# option Description 'Request to get Administrative access'

File diff suppressed because it is too large Load Diff

View File

@@ -27,7 +27,7 @@ define Package/qosmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=QoS Manager
DEPENDS:=@(TARGET_iopsys_brcm63xx_arm) +libuci +libubox +libubus +libblobmsg-json +libjson-c +libqos
DEPENDS:=@(TARGET_iopsys_brcm63xx_arm||TARGET_iopsys_econet) +libuci +libubox +libubus +libblobmsg-json +libjson-c +libqos
endef
define Package/qosmngr/description

View File

@@ -7,20 +7,15 @@ BR_RULE=""
BR6_RULE=""
POLICER_COUNT=0
INTF_NAME=""
Q_COUNT=0
ITER=0
PREV_ORDER=""
CURR_ORDER=""
MAX_ORDER=""
SP_Q_PRIO=7
# Function to handle a queue order and
# update total number of queues
handle_q_order() {
qid="$1" #queue section ID
local qid="$1" #queue section ID
config_get is_enable "$qid" "enable"
config_get is_enable "$qid" "enable" 1
# No need to configure disabled queues
if [ $is_enable == '0' ]; then
@@ -36,7 +31,7 @@ handle_q_order() {
# Create precedence file containing queue order per
# interface.
local precedence_file="/tmp/qos/$ifname/q_order"
local q_no=$(cat /tmp/qos/queue_stats/$ifname/q_idx)
local q_no=$(cat /tmp/qos/$ifname/q_idx)
config_get precedence "$qid" "precedence"
value=${precedence}_q${q_no}
@@ -44,71 +39,32 @@ handle_q_order() {
# Update the number of queues per interface.
q_no=$((q_no + 1))
echo $q_no > /tmp/qos/queue_stats/$ifname/q_idx
echo $q_no > /tmp/qos/$ifname/q_idx
}
# Function to check if values are greater than (total number
# of queue -1) and map them to corresponding value.
configure_precedence_to_file() {
order="$1"
line="$2"
order_file="$3"
if [ $order == "$PREV_ORDER" ]; then
queue_id=${line#*_}
val=${CURR_ORDER}_${queue_id}
echo $val >> $order_file
else
PREV_ORDER=$order
queue_id=${line#*_}
val=${MAX_ORDER}_${queue_id}
echo $val >> $order_file
CURR_ORDER=$MAX_ORDER
MAX_ORDER=$((MAX_ORDER - 1))
fi
}
# Fucntion to map queue precedence per interface
# ranging from 1-X to 0-(no of queues -1)
map_queue_precedence() {
# Sort queue, lower value in uci means higher precedence, so this
# function sorts the precedence in decending order
sort_q_by_precedence() {
ifname="$1"
total_q=$(cat /tmp/qos/queue_stats/$ifname/q_idx)
q_no=`expr $total_q - 1`
MAX_ORDER=$q_no
local precedence_file="/tmp/qos/$ifname/q_precedence"
local order_file="/tmp/qos/$ifname/q_order"
local tmp_order_file="/tmp/qos/$ifname/q_order.tmp"
sort -n -r -k1 $order_file >> $precedence_file
rm $order_file
while read line
do
order=${line%_*}
if [ $order -gt $q_no ]; then
ITER=$((ITER + 1))
configure_precedence_to_file $order $line $order_file
else
if [ $ITER == '0' ]; then
echo $line >> $order_file
else
configure_precedence_to_file $order $line $order_file
fi
fi
done < $precedence_file
sort -n -k1 $order_file > $tmp_order_file
cp $tmp_order_file $order_file
rm -f $tmp_order_file
}
map_precedence() {
sort_by_precedence() {
for interf in $(db -q get hw.board.ethernetPortOrder); do
map_queue_precedence $interf
sort_q_by_precedence $interf
done
}
# function to handle a queue section
handle_queue() {
qid="$1" #queue section ID
local qid="$1" #queue section ID
local intf_name="$2"
config_get is_enable "$qid" "enable"
@@ -124,33 +80,35 @@ handle_queue() {
fi
# This is to get the qid per interface.
if [ "$INTF_NAME" == $ifname ]; then
Q_COUNT=$((Q_COUNT + 1))
else
Q_COUNT='0'
if [ "$intf_name" != "$ifname" ]; then
return
fi
INTF_NAME=$ifname
local precedence_file="/tmp/qos/$ifname/q_order"
local total_q=$(cat /tmp/qos/queue_stats/$ifname/q_idx)
q_no=`expr $total_q - 1` local
precedence_file="/tmp/qos/$ifname/q_order"
local temp_order=0
while read -r line; do
line_qid=${line: -1}
if [ "$line_qid" == "$Q_COUNT" ]; then
break
fi
temp_order=$((temp_order + 1))
done < "$precedence_file"
# TR181 suggests lower the precedence value higher the priority
# but in the chip its the opposite ie lower the value, lower
# the priority of queue on this chip. So we need to reverse the
# precedence value.
precedence="$(grep -i q${Q_COUNT} $precedence_file)"
precedence=${precedence%_*}
order=`expr $q_no - $precedence`
# for sp queue, no matter what the precedence value is configured in the uci file
# broadcom recommends that the highest precedence queue should have priority value
#7, the next priority q 6 and so on.
# Here, we have the index of the queue when sorted by precedence value in the file
# precedence_file so the order is calculated accordingly.
local order=`expr $SP_Q_PRIO - $temp_order`
config_get sc_alg "$qid" "scheduling"
config_get wgt "$qid" "weight"
config_get wgt "$qid" "weight" 1
config_get rate "$qid" "rate"
config_get bs "$qid" "burst_size"
config_get qsize "$qid" "queue_size" 1024
salg=1
local salg=1
case "$sc_alg" in
"SP") salg=1
@@ -163,31 +121,15 @@ handle_queue() {
;;
esac
# ignore precedence value in case of WRR
# ignore precedence value in case of WRR, broadcom recommends that WRR queue should
# always have precedence value set to 0
if [ $salg -eq 2 ]; then
order=0
fi
# Call tmctl which is a broadcomm command to configure queues on a port.
tmctl setqcfg --devtype 0 --if $ifname --qid $Q_COUNT --priority $order --qsize $qsize --weight $wgt --schedmode $salg --shapingrate $rate --burstsize $bs
# In BCM968 chips, the counters for queues are read, on other model, its read and reset. So, to maintain counter
# value and uniform behaviour, we are storing counter value for each queue in files
local d_name="/tmp/qos/queue_stats/${ifname}/q_${Q_COUNT}"
mkdir $d_name
local f_name="$d_name/txPackets"
touch $f_name
echo 0 > $f_name
f_name="$d_name/txBytes"
touch $f_name
echo 0 > $f_name
f_name="$d_name/droppedPackets"
touch $f_name
echo 0 > $f_name
f_name="$d_name/droppedBytes"
touch $f_name
echo 0 > $f_name
Q_COUNT=$((Q_COUNT + 1))
}
#function to handle a policer section
@@ -1092,28 +1034,20 @@ configure_classify() {
pre_configure_queue() {
# Delete queues
rm -rf /tmp/qos/queue_stats
for intf in $(db get hw.board.ethernetPortOrder); do
rm -rf /tmp/qos/$intf
mkdir -p /tmp/qos/queue_stats/$intf
touch /tmp/qos/queue_stats/$intf/q_idx
echo 0 > /tmp/qos/queue_stats/$intf/q_idx
mkdir -p /tmp/qos/$intf
touch /tmp/qos/$intf/q_order
touch /tmp/qos/$intf/q_idx
echo 0 > /tmp/qos/$intf/q_idx
# tm initialization pushing ahead of delcfg as
# porttminit bydefault configures all queue as SP configuration.
# that was causing WRR queue configuration failure.
tmctl porttminit --devtype 0 --if $intf --flag 0 --numqueues 8
tmctl porttminit --devtype 0 --if $intf --numqueues 8
i=0
for i in 0 1 2 3 4 5 6 7; do
tmctl delqcfg --devtype 0 --if $intf --qid $i &>/dev/null
done
mkdir -p /tmp/qos/$intf
touch /tmp/qos/$intf/q_order
touch /tmp/qos/$intf/q_precedence
done
}
@@ -1121,8 +1055,15 @@ configure_queue() {
# Load UCI file
config_load qos
config_foreach handle_q_order queue
map_precedence
config_foreach handle_queue queue
sort_by_precedence
for interf in $(db -q get hw.board.ethernetPortOrder); do
Q_COUNT=0
# sp queue have max priority value = no. of queue configured on the port
# hence read and update SP_Q_PRIO here
local q_no=$(cat /tmp/qos/$interf/q_idx)
SP_Q_PRIO=`expr $q_no - 1`
config_foreach handle_queue queue $interf
done
}
configure_policer() {

View File

@@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=stunc
PKG_RELEASE:=1
PKG_VERSION:=1.1.11
PKG_VERSION:=1.1.12
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/stunc.git
PKG_SOURCE_VERSION:=ed0a4d88f4c42ab452eb8a84705598a297261f49
PKG_SOURCE_VERSION:=5b65364709a921db0956bf74a4f126217cfb1775
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

126
sulu-builder/Config.in Normal file
View File

@@ -0,0 +1,126 @@
menu "Configuration"
depends on PACKAGE_sulu-builder
menu "SULU_CORE"
depends on PACKAGE_sulu-builder
config SULU_CORE_ENABLE
bool "Enable this plugin"
default y
config SULU_CORE_URL
string "SULU url"
default "https://dev.iopsys.eu/websdk/sulu.git"
config SULU_CORE_VERSION
string "SULU repo version"
default "d7e9348a5111d232cc587f76addf12b4ee125dab"
endmenu
menu "SULU_PLUGIN_LCM"
depends on PACKAGE_sulu-builder
config SULU_PLUGIN_LCM_ENABLE
bool "Enable this plugin"
default y
config SULU_PLUGIN_LCM_NAME
depends on SULU_PLUGIN_LCM_ENABLE
string "Plugin_name"
default "sulu-lcm"
config SULU_PLUGIN_LCM_URL
depends on SULU_PLUGIN_LCM_ENABLE
string "URL"
default "https://dev.iopsys.eu/websdk/sulu-lcm.git"
config SULU_PLUGIN_LCM_VERSION
depends on SULU_PLUGIN_LCM_ENABLE
string "Version"
default "ae0da97828665aa953459c7f49ed26c656819d4d"
endmenu
menu "SULU_PLUGIN_MULTIAP"
depends on PACKAGE_sulu-builder
config SULU_PLUGIN_MULTIAP_ENABLE
bool "Enable this plugin"
default y
config SULU_PLUGIN_MULTIAP_NAME
depends on SULU_PLUGIN_MULTIAP_ENABLE
string "Plugin_name"
default "sulu-multi-ap"
config SULU_PLUGIN_MULTIAP_URL
depends on SULU_PLUGIN_MULTIAP_ENABLE
string "URL"
default "https://dev.iopsys.eu/websdk/sulu-multi-ap.git"
config SULU_PLUGIN_MULTIAP_VERSION
depends on SULU_PLUGIN_MULTIAP_ENABLE
string "Version"
default "0ee8a4dd07d722d06dd7617d2debf138da6df8b7"
endmenu
menu "SULU_THEME_IOPSYS"
depends on PACKAGE_sulu-builder
config SULU_THEME_IOPSYS_ENABLE
bool "Enable this plugin"
default y
config SULU_THEME_IOPSYS_NAME
depends on SULU_THEME_IOPSYS_ENABLE
string "Plugin_name"
default "sulu-theme-iopsys"
config SULU_THEME_IOPSYS_URL
depends on SULU_THEME_IOPSYS_ENABLE
string "URL"
default "https://dev.iopsys.eu/websdk/sulu-theme-iopsys.git"
config SULU_THEME_IOPSYS_VERSION
depends on SULU_THEME_IOPSYS_ENABLE
string "Version"
default "e80fea80cdf8d49db0ae70b5c26a5dab49b8a20d"
endmenu
menu "SULU_PLUGIN_CUSTOM"
depends on PACKAGE_sulu-builder
config SULU_PLUGIN_CUSTOM_ENABLE
bool "Enable this plugin"
default n
config SULU_PLUGIN_CUSTOM_NAME
depends on SULU_PLUGIN_CUSTOM_ENABLE
string "Plugin_name"
default "custom_app"
config SULU_PLUGIN_CUSTOM_URL
depends on SULU_PLUGIN_CUSTOM_ENABLE
string "URL"
default ""
config SULU_PLUGIN_CUSTOM_VERSION
depends on SULU_PLUGIN_CUSTOM_ENABLE
string "Version"
endmenu
menu "SULU_THEME_CUSTOM"
depends on PACKAGE_sulu-builder
config SULU_THEME_CUSTOM_ENABLE
bool "Enable this plugin"
default n
config SULU_THEME_CUSTOM_NAME
depends on SULU_THEME_CUSTOM_ENABLE
string "Plugin_name"
default "plugin_theme_custom"
config SULU_THEME_CUSTOM_URL
depends on SULU_THEME_CUSTOM_ENABLE
string "URL"
default ""
config SULU_THEME_CUSTOM_VERSION
depends on SULU_THEME_CUSTOM_ENABLE
string "Version"
endmenu
endmenu

155
sulu-builder/Makefile Normal file
View File

@@ -0,0 +1,155 @@
#
# Copyright (C) 2021-2022 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-builder
PKG_VERSION:=1.0.1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-builder.git
PKG_SOURCE_VERSION:=fc82a32ab3cdcb18dc3aa7b907c62d8bed29b4ff
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=PROPRIETARY IOPSYS
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=node-yarn/host
include $(INCLUDE_DIR)/package.mk
define Package/${PKG_NAME}
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Build sulu from source
DEPENDS:=+nginx +mosquitto-auth-shadow
MENU:=1
endef
define Package/${PKG_NAME}/description
SULU-CE ReactJS based Web UI builder.
endef
define Package/${PKG_NAME}/config
source "$(SOURCE)/Config.in"
endef
# Sulu core and other dependent needs to be updated in Config.in
SULU_DL_FILE:=sulu-${PKG_VERSION}-${CONFIG_SULU_CORE_VERSION}.tar.gz
define Download/sulu_core
FILE:=$(SULU_DL_FILE)
URL:=$(CONFIG_SULU_CORE_URL)
PROTO:=git
SUBDIR:=core
VERSION:=${CONFIG_SULU_CORE_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_CORE_ENABLE),y)
$(eval $(call Download,sulu_core))
endif
SULU_PLUGIN_LCM_DL:=${CONFIG_SULU_PLUGIN_LCM_NAME}_plugin-${CONFIG_SULU_PLUGIN_LCM_VERSION}.tar.gz
define Download/sulu_plugin_lcm
FILE:=${SULU_PLUGIN_LCM_DL}
URL:=${CONFIG_SULU_PLUGIN_LCM_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_PLUGIN_LCM_NAME}
VERSION:=${CONFIG_SULU_PLUGIN_LCM_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_PLUGIN_LCM_ENABLE),y)
$(eval $(call Download,sulu_plugin_lcm))
endif
SULU_PLUGIN_MULTIAP_DL:=${CONFIG_SULU_PLUGIN_MULTIAP_NAME}_plugin-${CONFIG_SULU_PLUGIN_MULTIAP_VERSION}.tar.gz
define Download/sulu_plugin_multiap
FILE:=${SULU_PLUGIN_MULTIAP_DL}
URL:=${CONFIG_SULU_PLUGIN_MULTIAP_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_PLUGIN_MULTIAP_NAME}
VERSION:=${CONFIG_SULU_PLUGIN_MULTIAP_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_PLUGIN_MULTIAP_ENABLE),y)
$(eval $(call Download,sulu_plugin_multiap))
endif
SULU_THEME_IOPSYS_DL:=${CONFIG_SULU_THEME_IOPSYS_NAME}_plugin-${CONFIG_SULU_THEME_IOPSYS_VERSION}.tar.gz
define Download/sulu_theme_iopsys
FILE:=${SULU_THEME_IOPSYS_DL}
URL:=${CONFIG_SULU_THEME_IOPSYS_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_THEME_IOPSYS_NAME}
VERSION:=${CONFIG_SULU_THEME_IOPSYS_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_THEME_IOPSYS_ENABLE),y)
$(eval $(call Download,sulu_theme_iopsys))
endif
SULU_PLUGIN_CUSTOM_DL:=${CONFIG_SULU_PLUGIN_CUSTOM_NAME}_plugin-${CONFIG_SULU_PLUGIN_CUSTOM_VERSION}.tar.gz
define Download/sulu_plugin_custom
FILE:=${SULU_PLUGIN_CUSTOM_DL}
URL:=${CONFIG_SULU_PLUGIN_CUSTOM_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_PLUGIN_CUSTOM_NAME}
VERSION:=${CONFIG_SULU_PLUGIN_CUSTOM_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_PLUGIN_CUSTOM_ENABLE),y)
$(eval $(call Download,sulu_plugin_custom))
endif
SULU_THEME_CUSTOM_DL:=${CONFIG_SULU_THEME_CUSTOM_NAME}_plugin-${CONFIG_SULU_THEME_CUSTOM_VERSION}.tar.gz
define Download/sulu_theme_custom
FILE:=${SULU_THEME_CUSTOM_DL}
URL:=${CONFIG_SULU_THEME_CUSTOM_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_THEME_CUSTOM_NAME}
VERSION:=${CONFIG_SULU_THEME_CUSTOM_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_THEME_CUSTOM_ENABLE),y)
$(eval $(call Download,sulu_theme_custom))
endif
define Build/Prepare
$(Build/Prepare/Default)
tar xzf $(DL_DIR)/${SULU_DL_FILE} -C $(PKG_BUILD_DIR)
ifeq ($(CONFIG_SULU_PLUGIN_LCM_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_PLUGIN_LCM_DL} -C $(PKG_BUILD_DIR)
endif
ifeq ($(CONFIG_SULU_PLUGIN_MULTIAP_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_PLUGIN_MULTIAP_DL} -C $(PKG_BUILD_DIR)
endif
ifeq ($(CONFIG_SULU_THEME_IOPSYS_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_THEME_IOPSYS_DL} -C $(PKG_BUILD_DIR)
endif
ifeq ($(CONFIG_SULU_PLUGIN_CUSTOM_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_PLUGIN_CUSTOM_DL} -C $(PKG_BUILD_DIR)
endif
ifeq ($(CONFIG_SULU_THEME_CUSTOM_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_THEME_CUSTOM_DL} -C $(PKG_BUILD_DIR)
endif
endef
define Package/${PKG_NAME}/install
$(INSTALL_DIR) $(1)/sulu
$(INSTALL_DIR) $(1)/sulu/config
$(INSTALL_DIR) $(1)/etc/nginx/
$(INSTALL_DIR) $(1)/etc/mosquitto/conf.d/
$(CP) $(PKG_BUILD_DIR)/build/dist/* $(1)/sulu
$(CP) $(PKG_BUILD_DIR)/build/src/config/widgets/*.json $(1)/sulu/config/
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,${PKG_NAME}))

View File

@@ -0,0 +1,27 @@
#!/bin/sh /etc/rc.common
START=99
STOP=10
USE_PROCD=1
log() {
echo "${@}"|logger -t sulu.init -p debug
}
start_service() {
procd_open_instance sulu
# append sulu connection injection
procd_close_instance
}
reload_service() {
stop
start
}
service_triggers()
{
procd_add_config_trigger "config.change" "obuspa" /etc/init.d/sulu reload
}

View File

@@ -0,0 +1,3 @@
listener 1883 127.0.0.1
allow_anonymous true

View File

@@ -0,0 +1,5 @@
listener 9001
protocol websockets
plugin /usr/lib/mosquitto_auth_shadow.so
require_certificate false
allow_anonymous false

View File

@@ -0,0 +1,18 @@
location /config/ {
autoindex on;
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
}
}

View File

@@ -0,0 +1,10 @@
mkdir -p /tmp/sulu
uci -q get nginx._sulu && exit 0
uci -q set nginx._sulu=server
uci -q add_list nginx._sulu.listen='8080'
uci -q add_list nginx._sulu.listen='[::]:8080'
uci -q set nginx._sulu.root='/sulu'
uci -q set nginx._sulu.server_name='_sulu'
uci -q add_list nginx._sulu.include='conf.d/sulu.locations'

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu
PKG_VERSION:=1.0.10
PKG_VERSION:=1.0.13
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu.git
PKG_SOURCE_VERSION:=13d88f2ad9193951ff711b89500f57c48fdc9635
PKG_SOURCE_VERSION:=fc82a32ab3cdcb18dc3aa7b907c62d8bed29b4ff
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
@@ -28,7 +28,7 @@ define Package/sulu
CATEGORY:=Utilities
MENU=1
TITLE:=SULU-CE ReactJS based Web UI Package
DEPENDS:=+nginx
DEPENDS:=+nginx +mosquitto-auth-shadow
endef
define Package/sulu/description
@@ -39,6 +39,7 @@ define Package/sulu/install
$(INSTALL_DIR) $(1)/sulu
$(INSTALL_DIR) $(1)/sulu/config
$(INSTALL_DIR) $(1)/etc/nginx/
$(INSTALL_DIR) $(1)/etc/mosquitto/conf.d/
$(CP) $(PKG_BUILD_DIR)/dist/* $(1)/sulu
$(CP) $(PKG_BUILD_DIR)/config/* $(1)/sulu/config
$(CP) ./files/* $(1)/

View File

@@ -0,0 +1,3 @@
listener 1883 127.0.0.1
allow_anonymous true

View File

@@ -0,0 +1,5 @@
listener 9001
protocol websockets
plugin /usr/lib/mosquitto_auth_shadow.so
require_certificate false
allow_anonymous false

View File

@@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=uspd
PKG_VERSION:=2.2.11
PKG_VERSION:=2.2.14
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/uspd.git
PKG_SOURCE_VERSION:=1bfd9937ae31c6878aff77fca25f9265d822b57d
PKG_SOURCE_VERSION:=1c3b886bb5e654049ae81cda726dffae950369c7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -60,6 +60,7 @@ MAKE_FLAGS += DEBUG=1
endif
TARGET_CFLAGS += \
-Wno-error=deprecated-declarations \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wifimngr
PKG_VERSION:=14.0.8
PKG_VERSION:=14.1.0
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=af1c9ae51544532bc535814de63f9a55d2388792
PKG_SOURCE_VERSION:=21eea858b224bd8568a6dba0674fd2118399151a
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wifimngr.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz