Compare commits

..

616 Commits

Author SHA1 Message Date
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
Amin Ben Ramdhane
c065b8e819 bbf: 6.8.4 2022-06-28 11:07:16 +01:00
Amin Ben Ramdhane
885b7ff1eb icwmp: 8.4.21 2022-06-28 11:04:46 +01:00
Andreas Gnau
ffd9ad17e2 Update feed [ iopsys ] package [ dectmngr ]
-------------------------------------------------------------------------------
* ffda80f Makefile: Add -fcommon to CFLAGS
* 0c66498 Fix compilation with 64-bit time_t
* a7b0f52 Fix inconsistent/misleading indentation
* a8d2418 ListAccess sqlite: Ignore false return-local-addr warning
-------------------------------------------------------------------------------
commit ffda80f40b5703f07570a2892522d5dded84b63a
Author: Andreas Gnau <andreas.gnau@iopsys.eu>
Date: 2022-06-28 08:11:28 +0000

    Makefile: Add -fcommon to CFLAGS

Base directory -> /
 app/Makefile | 5 +++++
 1 file changed, 5 insertions(+)
-------------------------------------------------------------------------------
commit 0c6649890007e457e4df8cf41961798dde018cb8
Author: Andreas Gnau <andreas.gnau@iopsys.eu>
Date: 2022-06-28 08:04:03 +0000

    Fix compilation with 64-bit time_t

Base directory -> /
 app/ListAccess/ListsApp.c | 13 +++++++------
 app/tcx_hostlog.c         |  9 +++++----
 app/tcx_log.c             |  5 +++--
 3 files changed, 15 insertions(+), 12 deletions(-)
-------------------------------------------------------------------------------
commit a7b0f52f7f3d2f18d7723fa6cf581572d718f382
Author: Andreas Gnau <andreas.gnau@iopsys.eu>
Date: 2022-06-28 07:57:18 +0000

    Fix inconsistent/misleading indentation

Base directory -> /
 app/appcmbs/appcmbs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit a8d24182c0d58eb72ce1adde5e0ef903c381a11e
Author: Andreas Gnau <andreas.gnau@iopsys.eu>
Date: 2022-06-28 07:48:12 +0000

    ListAccess sqlite: Ignore false return-local-addr warning

Base directory -> /
 app/ListAccess/sqlite3.c | 3 +++
 1 file changed, 3 insertions(+)
-------------------------------------------------------------------------------
2022-06-28 11:27:47 +02:00
Yalu Zhang
051da80708 Update package evoice
Fix link errors due to Broadcom SDK version lift
2022-06-28 10:52:23 +02:00
Andreas Gnau
56aff208ba ieee1905: 4.9.4 2022-06-28 09:43:57 +02:00
Amin Ben Ramdhane
1c65f4f321 icwmp: regenerate ssl link in boot() 2022-06-27 21:22:31 +01:00
Andreas Gnau
b2755d8586 Update feed [ iopsys ] package [ endptmngr ]
-------------------------------------------------------------------------------
* 7d43e47 Fix compilation with -fno-common
-------------------------------------------------------------------------------
commit 7d43e471f0ffc4a54eb2ac35eced4b72fca4dafb
Author: Andreas Gnau <andreas.gnau@iopsys.eu>
Date: 2022-06-27 08:08:40 +0000

    Fix compilation with -fno-common

Base directory -> /
 src/connection.c | 2 ++
 src/connection.h | 2 +-
 src/line.c       | 3 +++
 src/line.h       | 4 ++--
 4 files changed, 8 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
2022-06-27 17:10:53 +02:00
Amin Ben Ramdhane
9618a41d25 bbf: 6.8.2 2022-06-27 15:22:56 +01:00
Maxim Menshikov
61eaa026a2 easy-soc-libs: use MAC80211 for iopsys_ramips 2022-06-27 12:57:52 +00:00
Maxim Menshikov
9ec67031b3 easy-soc-libs: add WIFI_TYPE option in addition to PLATFORM to differentiate SoC and WiFi implementation 2022-06-27 12:57:52 +00:00
Hemlata Bhatt
acc9158c33 Evoice : Fix some issues related to RINGING UBUS event generation
- Don't generate RINGING for ringback tone playing
    - Generate RINGING when hanging up while having a held call
2022-06-27 10:05:43 +02:00
vdutta
827f47e4db bbf: 6.8.1 2022-06-24 13:16:03 +05:30
Grzegorz Sluja
e3eacc0ba8 dectmngr: Fix for setting extension_id for handset 2022-06-24 09:26:26 +02:00
vdutta
ed9437058e icwmp: 8.4.20 2022-06-24 12:36:03 +05:30
vdutta
191c284d97 obuspa: 5.0.0.16 2022-06-24 12:32:25 +05:30
vdutta
dba98d50f7 uspd: Move TransferComplete event to obuspa 2022-06-24 11:44:45 +05:30
vdutta
7cf6c6f068 inbd: Fix static code analysis warnings 2022-06-24 00:08:59 +02:00
Yalu Zhang
f6f20450a6 evoice-0.2.5: Support configuration of receive/transmit gain and echo cancellation on Broadcom platform 2022-06-23 18:10:39 +02:00
Jakob Olsson
a003467b00 map-controller: 2.10.0.1 2022-06-23 17:06:41 +02:00
Andreas Gnau
26b3432f9a iop: feeds_update: Reformat with shfmt
The file was indented with a mix of spaces and tabs. Unify formating by
running shfmt on the file.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2022-06-23 10:39:03 +00:00
Jakob Olsson
f20c7ffb24 map-agent: traffic_separation: reload netifd by ubus call uci commit 2022-06-23 12:04:17 +02:00
vdutta
9a16c6d418 obuspa: 5.0.0.15 2022-06-23 15:25:41 +05:30
vdutta
3033462d89 icwmp: 8.4.19 2022-06-23 15:13:54 +05:30
Amin Ben Ramdhane
fe126b0de0 bbf: 6.8.0 2022-06-23 10:22:11 +01:00
Amin Ben Ramdhane
c64586ead5 bbf: 6.7.9 2022-06-22 19:58:56 +01:00
vdutta
63f1addeea obuspa: Added option to verify the mqtt received topic 2022-06-22 14:06:15 +00:00
Jakob Olsson
1bbd034a73 map-topology: 2.5.0.5 2022-06-22 13:48:43 +02:00
vdutta
8dd1190033 icwmp: 8.4.18 2022-06-22 10:37:46 +05:30
suvendhu
f3443ca88a icwmp: 8.4.17 2022-06-22 04:37:49 +00:00
Amin Ben Ramdhane
ff0a886664 periodicstats: 1.2.0 2022-06-21 16:59:01 +01:00
Grzegorz Sluja
8ab7956b95 Update package endptmngr
c099d6b Return to the first call without playing any tones on DECT handset when the second call ends
4ff7042 Add .gitignore
2022-06-21 14:25:35 +02:00
Hemlata Bhatt
e261a216b3 Evoice :Fix a bug for Call Hold event generation 2022-06-20 16:07:11 +02:00
Jakob Olsson
8b6fb31b63 map-controller: 2.10.0.0 2022-06-17 15:08:48 +02:00
Bartlomiej Grzeskowiak
465b8e36fc iopsys-econet: Switch en7562 to device model build
Add necessary define to config. Enbale image-install build target.

Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
2022-06-17 11:08:31 +00:00
Jakob Olsson
af9f09493d map-agent: 2.9.0.0 2022-06-17 11:28:52 +02:00
Stanislaw Gruszka
127f9e867d map-agent: ts: reload firewall 2022-06-17 11:21:11 +02:00
Stanislaw Gruszka
8b493581e1 map-agent: ts: configure firewall 2022-06-17 11:21:11 +02:00
Stanislaw Gruszka
65edb4ab06 map-agent: traffic separation script rework 2022-06-17 11:21:11 +02:00
Amin Ben Ramdhane
6ce65b0160 bbf: 6.7.8 2022-06-16 14:13:29 +01:00
vdutta
4e5eaad00d obuspa: 5.0.0.13 2022-06-16 17:13:26 +05:30
vdutta
a11151fdd9 obuspa: 5.0.0.12 2022-06-15 20:29:14 +05:30
vdutta
bd4bfd211b urlfilter: 1.1.3 2022-06-15 17:54:08 +05:30
vdutta
8d624c4951 bbf: 6.7.7 2022-06-15 17:44:46 +05:30
Grzegorz Sluja
f5dd4c185f endptmngr: Fixes for call waiting and 3way call scenarios 2022-06-15 08:59:12 +02:00
Jakob Olsson
8e1fc7dcb0 map-agent: add missing uci validation and new cfg option to default 2022-06-14 15:13:36 +02:00
vdutta
f8a0d6e54b bbf: 6.7.6 2022-06-14 18:01:34 +05:30
vdutta
2fd02bac1d icwmp: 8.4.16 2022-06-14 17:58:39 +05:30
Janusz Dziedzic
8ccf13aca4 Add 6GHz support for
- ieee1905
 - easy-soc-libs
 - wifimngr
 - map-agent
 - map-controller

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-06-14 08:14:26 +00:00
Jakob Olsson
b21bc6c919 map-topology: 2.5.0.4 2022-06-14 09:50:27 +02:00
Jakob Olsson
ba537e82cc map-agent: 2.8.1.2 2022-06-13 17:35:08 +02:00
Jakob Olsson
0c8654a3b9 map-agent: 2.8.1.1 2022-06-13 17:20:35 +02:00
Jakob Olsson
ac019660bd map-agent: 2.8.1.0 2022-06-13 17:05:20 +02:00
Jakob Olsson
a3ccf301ca map-agent: multiap: manage wpa_supplicant bssid_ignore 2022-06-13 17:05:20 +02:00
Jakob Olsson
a4f8dfe53e map-agent: multiap: introduce func to clear bssid of all bstas 2022-06-13 17:05:20 +02:00
vdutta
853ba5bb3e bbf: 6.7.5 2022-06-10 20:14:39 +05:30
vdutta
a06fe38ed8 uspd: 2.2.10 2022-06-10 20:11:18 +05:30
vdutta
223461213e icwmp: 8.4.15 2022-06-10 18:44:27 +05:30
Jakob Olsson
f5526d0a25 map-topology: 2.5.0.3 2022-06-10 10:52:07 +02:00
Amin Ben Ramdhane
d551173c68 bbf: 6.7.5 2022-06-09 12:21:47 +01:00
Amit Kumar
26a3790bbd qosmngr: updated QoS clasification
l3 iptables rule with ethx was not matching this was causing incorrect classification to wrong queue.
ebtables rule correction done with ethertype,protocol and port to classify packet for destination queue.
2022-06-09 12:57:03 +05:30
Amin Ben Ramdhane
755442556d uspd: 2.2.9 2022-06-08 18:12:51 +01:00
Amin Ben Ramdhane
164e9f21c9 bbf: 6.7.3 2022-06-08 18:11:08 +01:00
Grzegorz Sluja
9a5643cf43 dectmngr: Fix scenario when active call hangs up and return to onhold call 2022-06-08 16:34:31 +02:00
vdutta
671e8189c0 urlfilter: 1.1.2 2022-06-08 20:02:36 +05:30
vdutta
c31158a7ad bbf: 6.7.2 2022-06-08 09:31:41 +05:30
Sukru Senli
9e46a57443 sulu: 1.0.10 2022-06-07 19:59:42 +02:00
vdutta
161cd71da8 bbf: 6.7.1 2022-06-07 21:46:42 +05:30
vdutta
1b6126456b icwmp: 8.4.14 2022-06-07 20:48:22 +05:30
vdutta
f69864554a stunc: 1.1.11 2022-06-07 19:10:16 +05:30
vdutta
61a5751e0b bbf: 6.7.0 2022-06-07 10:41:33 +05:30
Vivek Kumar Dutta
78d3dfec15 Revert "bbf: 7.0.0"
This reverts commit f5ed3a7ff1
2022-06-07 05:06:51 +00:00
Amin Ben Ramdhane
f5ed3a7ff1 bbf: 7.0.0 2022-06-06 19:37:10 +01:00
Amin Ben Ramdhane
681041b7c3 bbf: compile using cmake instead of autotools 2022-06-06 19:34:43 +01:00
vdutta
264e1daf5c uspd: 2.2.8 2022-06-06 19:41:31 +05:30
vdutta
c19ee4f050 stunc: 1.1.10 2022-06-06 19:39:00 +05:30
vdutta
d225c215ee icwmp: 8.4.13 2022-06-06 19:36:03 +05:30
vdutta
adcba33657 bbf: 6.6.45 2022-06-06 19:33:12 +05:30
Jakob Olsson
29ec062b90 map-topology: 2.5.0.2 2022-06-03 17:09:33 +02:00
Grzegorz Sluja
4feecbd438 Update package dectmngr
a2fe770 Dectmngr fixes for call waiting and 3way call
0d7d2b3 Improvements for handset status update
2022-06-03 13:27:30 +02:00
Grzegorz Sluja
525f5c11b0 endptmngr: Support call waiting and 3 way call for DECT 2022-06-03 13:26:15 +02:00
Rahul
d9800428c0 Revert "qos: Avoid stats to be reseted on qos reload"
This reverts commit 3eb4b07880.
2022-06-03 14:35:53 +05:30
Jakob Olsson
339ff22025 map-agent: 2.8.0.5 2022-06-03 09:37:07 +02:00
Hemlata Bhatt
4d94374162 evoice : Fixed a bug that some UBUS events not being generated correctly 2022-06-02 16:51:41 +02:00
Jakob Olsson
4b1cc22250 map-agent: 2.8.0.4 2022-06-02 15:16:51 +02:00
Amin Ben Ramdhane
fcdd71177b bbf: 6.6.44 2022-06-02 13:35:05 +01:00
Jakob Olsson
d100832548 wfadatad: 2.8.0.1 2022-06-02 09:59:56 +02:00
Arun Muthusamy
3eb4b07880 qos: Avoid stats to be reseted on qos reload 2022-06-02 06:13:27 +00:00
Jakob Olsson
6214cbb4e7 map-topology: 2.5.0.1 2022-06-01 11:15:23 +02:00
Jakob Olsson
e183005a9f map-controller: 2.7.0.1 2022-06-01 10:17:43 +02:00
Jakob Olsson
960d44942c map-agent: 2.8.0.3 2022-05-31 15:59:04 +02:00
Wenpeng Song
d2aca948fb evoice: update config file
remove /etc/evoice/voicecap
2022-05-31 13:45:51 +00:00
Wenpeng Song
bf9b057ef3 evoice: libvoiceservice CodecProfile update 2022-05-31 13:35:17 +00:00
Wenpeng Song
703105b4cf evoice: Add service_triggers() in the init script to reload service after uci commit 2022-05-31 13:31:06 +00:00
Yalu Zhang
99dd785dfd Update package endptmngr and dectmngr
dectmngr-3.5.2: Release the call completely when the first handset rejects an incoming call
endptmngr: Send CALL_REJECT event to Asterisk when DECT handset rejects the call
2022-05-31 14:59:15 +02:00
Wenpeng Song
9f02022353 evoice: libvoiceservice VoIPProfile update 2022-05-31 10:59:46 +02:00
Jakob Olsson
6bcd934ab3 map-agent: 2.8.0.2 2022-05-31 09:52:29 +02:00
Jakob Olsson
1888c1ead8 map-agent: 2.8.0.1 2022-05-31 09:52:25 +02:00
Sukru Senli
6557ba4cd6 wfadatad: 2.8.0.0 with new license update 2022-05-30 14:40:38 +02:00
Sukru Senli
db998e69e3 map-controller: 2.7.0.0 with new license update 2022-05-30 14:33:32 +02:00
vdutta
e9d563ce03 usp-js: Fix install paths 2022-05-30 17:54:25 +05:30
vdutta
b33a390839 usp-js: Added nodejs variant 2022-05-30 17:21:13 +05:30
Sukru Senli
53f80fbf10 map-agent: 2.8.0.0 with new license update 2022-05-30 13:28:07 +02:00
Sukru Senli
96fc14c22f map-topology: 2.5.0.0 with new license update 2022-05-30 13:23:58 +02:00
Sukru Senli
476a593656 multi-ap modules licensed BSD-3-Clause 2022-05-30 13:09:53 +02:00
suvendhu
dd9b7a8774 twamp: 1.2.0 2022-05-30 09:23:24 +00:00
Jakob Olsson
3f214bb959 map-agent: 2.7.2.6 2022-05-30 11:02:28 +02:00
Sukru Senli
f02b097ba3 usp-js: add license 2022-05-28 18:38:04 +02:00
Sukru Senli
431d29733d smwodd: add license 2022-05-28 18:34:26 +02:00
Sukru Senli
352f1d0cbc ated: remove unused package 2022-05-28 18:13:36 +02:00
Sukru Senli
4fde49b43a evoice: update PKG_LICENSE 2022-05-28 18:10:05 +02:00
Sukru Senli
a4576e43e9 map-topology: correct license 2022-05-28 18:06:13 +02:00
Sukru Senli
6d7a8e5417 shflags: remove unused package 2022-05-28 17:56:46 +02:00
Sukru Senli
d05c0fa6e3 libmicroxml: remove unused package 2022-05-28 17:54:35 +02:00
Grzegorz Bielski
02b3f1d091 evoice: use hw.board.VoiceDSP 2022-05-27 16:11:28 +02:00
Sukru Senli
759a12b759 sulu: 1.0.9 2022-05-27 15:32:16 +02:00
Sukru Senli
4f7c30f13a evoice: dependency fixes 2022-05-27 15:13:42 +02:00
Grzegorz Bielski
902b3bb8bc evoice: 0.2.3 2022-05-27 15:10:19 +02:00
vdutta
ece17326c8 bbf: 6.6.43 2022-05-26 18:54:48 +05:30
Grzegorz Bielski
497d17dafc evoice: add tones.ini for Mediatek platform 2022-05-26 14:10:50 +02:00
Sukru Senli
36ef73caaa sulu: 1.0.8 2022-05-25 17:09:06 +02:00
vdutta
6142d82806 bbf: 6.6.42 2022-05-25 20:09:52 +05:30
Jakob Olsson
adf314079b map-agent: 2.7.2.5 2022-05-25 16:32:19 +02:00
sverma
036e57ac4e wfadatad: 2.7.0.7 2022-05-25 19:41:07 +05:30
vdutta
f2393cd8f1 icwmp: 8.4.12 2022-05-25 19:39:25 +05:30
Sukru Senli
ae91e016f5 sulu: 1.0.7 2022-05-25 15:33:50 +02:00
vdutta
1adfc0815f swmodd: 2.1.5 2022-05-25 18:15:27 +05:30
vdutta
acdf50d88d questd: 5.2.4 2022-05-25 18:08:48 +05:30
vdutta
30804d3556 rulengd: 1.2.7 2022-05-25 16:48:14 +05:30
Jakob Olsson
5307d393f6 ieee1905: 4.9.2 2022-05-25 12:41:29 +02:00
vdutta
75a6c7479c bbf: 6.6.41 2022-05-24 19:17:51 +05:30
vdutta
8c20ef4ec7 bbf: Heartbeat support 2022-05-24 19:11:06 +05:30
vdutta
98bebf3da1 icwmp: Heartbeat support 2022-05-24 19:09:53 +05:30
Wenpeng Song
4d8d09523e eVoice: Fix some issues in libvoiceservice for VoiceServices.{i}.SIP. 2022-05-24 08:22:28 +00:00
vdutta
0b5a69bc31 bbf: 6.6.39 2022-05-24 11:57:01 +05:30
vdutta
641f9eaad2 swmodd: 2.1.4 2022-05-24 11:52:14 +05:30
Hemlata Bhatt
269b13e868 Provide UBUS events and objects 2022-05-23 19:51:17 +02:00
nevadita.chatterjee
b96a5d307f map-topology:2.4.0.5 2022-05-23 16:16:02 +05:30
Sukru Senli
cb25e6708d sulu: 1.0.6 2022-05-23 11:40:34 +02:00
Sukru Senli
60e3c70e57 sulu: 1.0.5 2022-05-20 15:44:21 +02:00
Jakob Olsson
e0ba2b94dd map-topology: 2.4.0.4 2022-05-20 13:09:53 +02:00
Grzegorz Bielski
559c1996b9 evoice: update libvoiceservice 2022-05-20 09:49:21 +02:00
vdutta
33d951b0ec periodicstats: 1.1.3 2022-05-20 10:09:18 +05:30
vdutta
c270d3cf09 icwmp: 8.4.10 2022-05-20 08:40:33 +05:30
Jakob Olsson
00a687cd4a map-topology: 2.4.0.3 2022-05-19 14:52:38 +02:00
Jakob Olsson
24ecfe7f34 ieee1905: 4.9.1 2022-05-19 14:52:38 +02:00
Jakob Olsson
b5ff544f79 wfadatad: 2.7.0.6 2022-05-19 14:52:38 +02:00
Jakob Olsson
d3153244e4 map-topology: 2.4.0.2 2022-05-19 14:52:38 +02:00
Grzegorz Bielski
2227c01289 evoice: compile libvoiceservice 2022-05-19 12:40:15 +02:00
Piotr Kubik
f0407b8a37 gryphon-led-module: Update toolchains for new arch 'armsfp' 2022-05-19 12:20:15 +02:00
Amin Ben Ramdhane
62935f5016 bbf: 6.6.38 2022-05-18 16:47:26 +01:00
Amin Ben Ramdhane
3b7b6fd627 udpecho: 2.0.1 2022-05-18 16:45:21 +01:00
vdutta
d68a6add62 icwmp: 8.4.9 2022-05-18 21:05:22 +05:30
vdutta
12b6a72a48 stunc: 1.1.9 2022-05-18 20:57:22 +05:30
Jakob Olsson
812fad8c5b map-agent: 2.7.2.4 2022-05-18 14:54:14 +02:00
Jakob Olsson
0a4f296858 map-agent: multiap: lock operations on backhaul file 2022-05-18 10:32:46 +02:00
Amit KUmar
62d3efd67e map-topology: per host statistics collection
included conntrack netfilter library
2022-05-18 13:54:22 +05:30
Jakob Olsson
e6780b20fb map: prepend all multiap packages version number with the supported revision 2022-05-17 15:11:40 +02:00
Jakob Olsson
84af7641ec map-agent: 7.2.3 2022-05-17 15:07:59 +02:00
Amit KUmar
a0195bf457 qosmngr: WRR schdeuling configuration
sequence corrected in initialization as first tm initialization
then delcfg. porttminit bydefault does queue configuration as SP.
2022-05-17 11:38:59 +00:00
Jakob Olsson
17ba9d0d6f map-controller: 6.0.22 2022-05-17 13:09:30 +02:00
Grzegorz Bielski
71963c914f evoice: bring back TARGET_PLATFORM, remove conditionals during install 2022-05-17 12:11:01 +02:00
Grzegorz Bielski
374892c869 evoice: handle Econet and Broadcom targets 2022-05-17 10:38:50 +02:00
Amin Ben Ramdhane
af5a788d3e bbf: 6.6.37 2022-05-16 20:27:35 +01:00
Andreas Gnau
36f4a69b2e Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 9d8ca7d rdpa: Fix data types for SDK 5.04L04
* 34d925c libwifi: extend struct wifi_phytype
-------------------------------------------------------------------------------
commit 9d8ca7d62108dd4e47ad338b9a7f6fc651b55563
Author: Piotr Kubik <piotr.kubik@iopsys.eu>
Date: 2022-05-10 11:44:34 +0200

    rdpa: Fix data types for SDK 5.04L04

Base directory -> /
 libqos/broadcom/include/rdpa/bdmf_data_types.h | 2 ++
 libqos/broadcom/include/rdpa/rdpa_drv.h        | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 34d925c4db0eb581c424bc51333d92999e7401d8
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2022-05-06 11:09:26 +0200

    libwifi: extend struct wifi_phytype

Base directory -> /
 libwifi/VERSION.txt | 2 +-
 libwifi/wifi.h      | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2022-05-16 21:24:33 +02:00
Piotr Kubik
214bb6939f endptmngr: Update Broadcom SDK 5.04 version 2022-05-16 19:56:24 +02:00
Erik Karlsson
abd741b9e6 map-agent: multiap: fix subshell invocation 2022-05-16 15:12:36 +00:00
Jakob Olsson
c33fd589fb map-agent: 7.2.2 2022-05-16 14:47:43 +02:00
Jakob Olsson
b1750ac6ba map-agent: add missing option validation 2022-05-16 14:40:33 +02:00
Jakob Olsson
de51136608 map-controller: add missing option validation 2022-05-16 13:07:52 +02:00
Sukru Senli
3da3e6b86d dectmngr: do not use hardcoded gpio for dect 2022-05-16 12:54:52 +02:00
Anjan Chanda
fdba0d497a wfadatad: also wait_for 'topology' object 2022-05-16 12:02:51 +02:00
Anjan Chanda
4092c0e43f wfadatad: 7.0.5 2022-05-16 11:35:30 +02:00
Rahul
4b06b07acf ponmngr: first drop
- Most fundamental uci mapping to proposed XPON.ONU.i.ANI.i.Enable
  object in 2.16
- The init scripts to procd trigger relevant components
2022-05-13 13:36:16 +00:00
Amin Ben Ramdhane
6636e7ff47 bbf: 6.6.36 2022-05-13 11:47:29 +01:00
vdutta
ec8a7cffa2 stunc: 1.1.8 2022-05-13 14:18:33 +05:30
Amin Ben Ramdhane
41cdc9672c bbf: 6.6.35 2022-05-12 16:40:16 +01:00
Amin Ben Ramdhane
6fdf37e179 bbf: 6.6.34 2022-05-12 00:11:14 +01:00
Anjan Chanda
60c198e2e2 map-topology: fix package build dependency 2022-05-11 21:29:04 +02:00
vdutta
154b8465a6 iop: Align with udpecho 2022-05-11 20:34:11 +05:30
Amin Ben Ramdhane
d352796d46 udpecho: 2.0.0 2022-05-11 15:26:13 +01:00
Amin Ben Ramdhane
562aefcab2 bbf: 6.6.33 2022-05-11 15:25:31 +01:00
Jakob Olsson
a4c6aec761 map-agent: 7.2.1 2022-05-11 10:24:14 +02:00
vdutta
0e1894e5ff bbf: 6.6.32
- Change libbbf_api to empty package
- Generate dummy/empty libbbf_api.so to prevent linking with binaries, as
  libbbf_api only provides APIs to build plugins for libbbf datamodel
- For packages which also generate bbf datamodel plugins, it is suggested to
  use PKG_BUILD_DEPENDS:=bbf, in place of package dependency on libbbf_api
2022-05-11 12:52:23 +05:30
vdutta
ca89315960 periodicstats: 1.1.2 2022-05-11 12:51:00 +05:30
vdutta
5764f7dd1d periodicstats: 1.1.1 2022-05-10 20:03:12 +05:30
Yalu Zhang
3d2b69bd33 evoice: Change the tx/rx gain to 0 in the default config
Transmit and receive gain shall be set as 0 according to Broadcom's support.
2022-05-10 16:17:07 +02:00
Anjan Chanda
56bfdfaf57 map-topology: 4.0.1 - remove build-time dependencies on ieee1905 2022-05-10 16:11:27 +02:00
Jakob Olsson
28835fc0ea map-agent: 7.2.0 2022-05-10 16:10:08 +02:00
Jakob Olsson
0f7d057261 map-agent: multiap: set disabled upon teardown 2022-05-10 16:09:44 +02:00
vdutta
9aaef85895 icwmp: 8.4.8 2022-05-10 17:56:35 +05:30
vdutta
50e1be5214 obuspa: 5.0.0.11 2022-05-10 17:04:35 +05:30
Jakob Olsson
13f1dcfdc3 map-controller: 6.0.21 2022-05-10 10:32:08 +02:00
vdutta
545f41ab6a bulkdata: 2.0.3 2022-05-09 19:29:25 +05:30
vdutta
a5306cb837 bbf: 6.6.31 2022-05-09 16:03:14 +05:30
Jakob Olsson
415768dd71 map-controller: config: add default values for agent and node section 2022-05-09 12:01:50 +02:00
vdutta
744bd43658 icwmp: 8.4.7 2022-05-09 14:39:07 +05:30
vdutta
f6cdb4c55d bbf: 6.6.30 2022-05-09 14:37:38 +05:30
Anjan Chanda
01d009734c ieee1905: 4.8.0 2022-05-09 10:53:09 +02:00
vdutta
120e333a67 libtrace: Fix iterative compilation 2022-05-09 13:10:04 +05:30
Erik Karlsson
caf1367dd2 Preserve links while installing libraries
Use $(CP) rather than $(INSTALL_BIN) to install libraries so that
symbolic lings are not being dereferenced.
2022-05-09 07:37:22 +00:00
Sukru Senli
82d3171604 ieee1905: update example ieee1905 config 2022-05-09 09:09:12 +02:00
Sukru Senli
68b8051fb2 map-agent: update example mapagent config 2022-05-09 09:09:12 +02:00
Sukru Senli
9fc87d618b map-controller: update example mapcontroller config 2022-05-09 09:09:12 +02:00
Sukru Senli
013a2f2b19 evoice: update dependency based on target
also limit target platforms to the ones evoice supports
2022-05-07 13:30:33 +02:00
Sukru Senli
b4d831147e Revert "sulu: 1.1.0"
This reverts commit 2816342a69.
2022-05-07 13:05:47 +02:00
Sukru Senli
2816342a69 sulu: 1.1.0
new way of creating themes
2022-05-07 12:28:35 +02:00
Yalu Zhang
68bb2d48d5 evoice: Support multiple platform building 2022-05-06 16:18:50 +02:00
Yalu Zhang
4333127c74 evoice: Update UCI config files 2022-05-06 14:42:27 +02:00
Jakob Olsson
d03fa0c5e3 map-agent: 7.1.45 2022-05-06 14:06:47 +02:00
vdutta
584e3db8f0 bbf: 6.6.29 2022-05-06 15:12:34 +05:30
vdutta
4e365be18e usp-js: Added qjs version 2022-05-06 10:24:02 +05:30
Jakob Olsson
e722665f2f map-agent: 7.1.44 2022-05-05 17:15:40 +02:00
Jakob Olsson
7566301349 map-controller: 6.0.20 2022-05-05 16:35:47 +02:00
Jakob Olsson
213f840309 map-agent: 7.1.43 2022-05-05 16:04:16 +02:00
vdutta
35c58d63d7 icwmp: 8.4.6 2022-05-05 17:59:48 +05:30
Wenpeng Song
8382bcc0ac dectmngr: Call openlog() at the beginning to avoid some incomplete log messages 2022-05-05 12:12:18 +00:00
Jakob Olsson
ac32ff013e map-agent: 7.1.42 2022-05-05 12:40:51 +02:00
Jakob Olsson
3d077f2a18 map-agent: 7.1.41 2022-05-05 09:53:31 +02:00
vdutta
1d6c3b5466 obuspa: Fix assigned role index 2022-05-05 10:46:00 +05:30
Arun Muthusamy
47130407a5 urlfilter: Fix IPv6 traffic related issue 2022-05-04 16:59:11 +02:00
Jakob Olsson
9f7db62c89 map-topology: 3.2.13 2022-05-04 15:08:49 +02:00
Jakob Olsson
8d1d4b5590 wfa-capi: 1.1.2 2022-05-04 13:36:41 +02:00
Wenpeng Song
889524d9a7 dectmngr: fix handset name update issue 2022-05-04 08:54:58 +00:00
vdutta
f293fa36a7 bbf: Align LocalTimeZoneName with TZ db 2022-05-04 13:53:08 +05:30
vdutta
ab144f4af9 twamp: Align with libbbf_api 2022-05-04 13:46:36 +05:30
vdutta
621010e16b swmodd: Align with libbbf_api 2022-05-04 13:09:55 +05:30
vdutta
3f2b130848 stunc: Align with bbf_api 2022-05-04 13:07:42 +05:30
vdutta
504c78965d udpechoserver: 1.0.5 2022-05-04 12:45:36 +05:30
Yalu Zhang
c625d8dc29 evoice-0.2.1: Support FXS CLIP on Broadcom platform 2022-05-03 15:51:14 +02:00
vdutta
9234254f76 icwmp: 8.4.5 2022-05-03 17:25:01 +05:30
Sukru Senli
436751ce8f evoice: make license PROPRIETARY 2022-05-02 16:25:22 +02:00
Sukru Senli
30bf53c79c endptmngr: make license PROPRIETARY 2022-05-02 16:25:16 +02:00
vdutta
775b71b6f1 xmppc: 2.0.2 2022-05-02 19:14:13 +05:30
vdutta
cf08d70000 icwmp: 8.4.4 2022-05-02 19:00:10 +05:30
vdutta
48727867eb xmppc: 2.0.1 2022-05-02 10:48:11 +05:30
Amin Ben Ramdhane
e82294aa2f xmppc: 2.0.0 2022-05-02 04:45:35 +00:00
Amin Ben Ramdhane
768304c5a1 bbf: 6.6.27 2022-05-02 04:45:35 +00:00
Sukru Senli
00c6557d0a sulu: 1.0.4 2022-04-29 17:05:44 +02:00
Sukru Senli
1c22d7a19d evoice: bump version: 0.2.0 2022-04-29 16:24:55 +02:00
Yalu Zhang
1eb12b7923 Update package evoice
Fix a compilation error in libvoiceservice
2022-04-29 16:05:57 +02:00
Yalu Zhang
1661322307 evoice: Update Makefile to add bcmkernel in dependency list 2022-04-29 15:28:28 +02:00
Sukru Senli
a408642afa sulu: 1.0.3 2022-04-29 12:18:16 +02:00
vdutta
62b1d840dc bulkdata: 2.0.2 2022-04-29 10:33:35 +05:30
vdutta
55afadf895 stunc: 1.1.6 2022-04-28 20:05:46 +05:30
vdutta
4c4e12a8ff bulkdata: 2.0.1 2022-04-28 20:04:39 +05:30
Jakob Olsson
73c5d2c481 map-agent: 7.1.40 2022-04-28 10:42:44 +02:00
Jakob Olsson
7c041f933d wfadatad: 7.0.3 2022-04-27 16:36:48 +02:00
vdutta
fddb7e3ba7 icwmp: 8.4.3 2022-04-27 19:27:21 +05:30
Jakob Olsson
bf82f6966d map-agent: 7.1.39 2022-04-27 15:29:52 +02:00
Amin Ben Ramdhane
81a348efee bbf: 6.6.26 2022-04-27 13:24:02 +01:00
vdutta
f24602d8d4 iop: config: update bulkdata package 2022-04-27 17:26:50 +05:30
Amin Ben Ramdhane
0f5677e544 bulkdata: align with new design
- remove libbbfdm dependency
- make bulkdata run on top of ubus usp.raw object
2022-04-27 12:14:13 +01:00
Jakob Olsson
02d52bd9e1 map-agent: 7.1.38 2022-04-27 09:58:32 +02:00
Sukru Senli
acb2f35982 iop: config: remove undefined package 2022-04-26 22:27:44 +02:00
vdutta
c1ef23456b icwmp: GetRPCMethod from cpe and ssl keep update 2022-04-26 19:32:36 +05:30
Jakob Olsson
00fd54ba1b map-agent: 7.1.37 2022-04-26 14:45:08 +02:00
Amin Ben Ramdhane
3406185b1c bbf: 6.6.25 2022-04-25 18:34:21 +01:00
Jakob Olsson
6f233e19bf map-agent: 7.1.36 2022-04-25 16:04:50 +02:00
Jakob Olsson
9227f52a16 wfa-capi: 1.1.1 2022-04-25 16:03:27 +02:00
Anjan Chanda
70889fd1ae ieee1905: 4.8.0 2022-04-25 15:37:11 +02:00
Jakob Olsson
c09267da8f wfadatad: 7.0.2 2022-04-25 14:23:27 +02:00
Jakob Olsson
d4a9cde562 map-agent: 7.1.35 2022-04-22 15:31:07 +02:00
vdutta
1824013aeb udpechoserver: 1.0.4 2022-04-21 17:36:42 +05:30
Yalu Zhang
13c858421c Update package evoice
Enable the development log messages and fix compilation errors
2022-04-21 12:07:13 +02:00
Omar Kallel
a917d47854 icwmp: 8.4.1 2022-04-21 10:01:21 +01:00
Jakob Olsson
4c11a12d11 map-agent: make EASYMESH_R2_CERT compile flag selectable 2022-04-20 13:20:13 +02:00
Anjan Chanda
73a7d9cc42 config: deselect wfadatad package 2022-04-20 10:53:52 +02:00
Yalu Zhang
68a51047e9 Update package evoice
libvoiceservice updating
2022-04-20 10:50:25 +02:00
Anjan Chanda
42db3eaf5d wfadatad: 7.0.1 2022-04-20 10:39:38 +02:00
Roman Azarenko
8c867fc829 obuspa: init: fix manipulating USP_BOARD_IFNAME env var in .profile
This addresses two problems:

1. `sed 'g/export USP_BOARD_NAME/d'` would erase all the lines in the affected
file, regardless of whether there was a match or not. Replace this with
`sed '/foo/d'`, which correctly deletes just the affected lines.

2. Changing an `interface`/`ifname` in UCI configuration would end up
appending to /root/.profile due to how the control flow was written.
2022-04-20 09:11:40 +02:00
Omar Kallel
c9bc7a3dea icwmp: 8.4.0 2022-04-19 15:28:14 +01:00
Yalu Zhang
7c05f41418 eVoice: Update Makefile to build libvoiceservice.so by default 2022-04-19 11:51:13 +02:00
Anjan Chanda
47fe3342d3 ieee1905: 4.7.7 2022-04-14 16:32:15 +02:00
Sukru Senli
135b15c101 sulu: 1.0.2 2022-04-14 13:40:50 +02:00
Jakob Olsson
26a75d11f0 map-controller: 6.0.19 2022-04-14 12:37:19 +02:00
vdutta
85a20c9485 bbf: 6.6.24 2022-04-14 14:01:48 +05:30
Amin Ben Ramdhane
e239e77fdd bbf: 6.6.23 2022-04-13 15:16:11 +01:00
vdutta
4824b441b6 stunc: Fix compilation issue for wolfssl variant 2022-04-13 13:23:06 +00:00
vdutta
3bb9298485 iop: Select mbedtls variants for TRx69 packages 2022-04-13 13:23:06 +00:00
vdutta
557ed06daa bulkdata: Added ssl variants to align with bbf variants 2022-04-13 13:23:06 +00:00
vdutta
1f0e4a191c uspd: Added ssl variants 2022-04-13 13:23:06 +00:00
vdutta
03e29020e2 bbf: Added ssl variants for libbbfdm 2022-04-13 13:23:06 +00:00
vdutta
f314c20b8a obuspa: Removed build dependency from uspd 2022-04-13 13:23:06 +00:00
vdutta
5f2e737e7c icwmp: Added ssl variants 2022-04-13 13:23:06 +00:00
vdutta
0e32d885b0 stunc: Added ssl variants 2022-04-13 13:23:06 +00:00
Wenpeng Song
363ae3044e dectmngr: provide UBUS API test 2022-04-13 13:02:23 +00:00
Jakob Olsson
2f5d167976 map-agent: 7.1.34 2022-04-13 14:22:13 +02:00
Sukru Senli
558936d23d sulu: 1.0.1 2022-04-13 12:58:10 +02:00
Anjan Chanda
b946784deb ieee1905: 4.7.6 2022-04-12 20:19:16 +02:00
Amin Ben Ramdhane
7adf27bcaf bbf: 6.6.21 2022-04-12 17:12:19 +01:00
Amit KUmar
85d804d575 qosmngr: uniform code handling for qos policer
removed POLICER_SKIP check from broadcom.sh to make policer configuration
code uniform for all devices.
2022-04-12 13:02:11 +00:00
Jakob Olsson
4a756c84c7 ieee1905: 4.7.5 2022-04-12 12:47:17 +02:00
Jakob Olsson
db91f3809a wfadatad: 6.12.2 2022-04-12 10:36:27 +02:00
Jakob Olsson
55ba075a82 ieee1905: 4.7.4 2022-04-12 09:34:29 +02:00
Jakob Olsson
98403702fe ieee1905: 4.7.3 2022-04-11 15:28:41 +02:00
Jakob Olsson
f50af42366 map-controller: 6.0.18 2022-04-11 15:27:57 +02:00
vdutta
9ea69b1c07 bbf: 6.6.20 2022-04-11 15:32:04 +05:30
Jakob Olsson
338856f15d map-topology: 3.2.12 2022-04-08 17:04:21 +02:00
vdutta
a5459d4ee6 uspd: 2.2.6 2022-04-08 18:24:37 +05:30
Jakob Olsson
d143e9af96 map-controller: 6.0.17 2022-04-08 14:28:31 +02:00
Anjan Chanda
bf7e5fca47 wfadatad: 6.12.1 2022-04-08 12:32:41 +02:00
Anjan Chanda
eb1224022e ieee1905: 4.7.2 2022-04-08 12:24:11 +02:00
Anjan Chanda
55835b3af0 easy-soc-libs: 6.4.44 2022-04-08 12:23:33 +02:00
vdutta
e0eec6c755 uspd: 2.2.5 2022-04-08 15:36:46 +05:30
Anjan Chanda
c8e1e6538a ieee1905: 4.7.1 2022-04-08 12:04:20 +02:00
Sukru Senli
3e60ebb118 sulu: v1.0.0 2022-04-08 10:29:17 +02:00
Jakob Olsson
42bd799915 map-controller: 6.0.16 2022-04-07 18:05:43 +02:00
Yalu Zhang
64369a08f4 evoice: update /etc/config/voice to support variable length of called numbers
The previous config only allows the fixed number of digits as a called number. With
MinimumNumberOfDigits as 5, MaximumNumberOfDigits as 15 and TerminationDigit as ' ',
users can only dial 5 digits as a called number. That is wrong.

After this change, the number of digits for a called number is in the range between
MinimumNumberOfDigits (1) and MaximumNumberOfDigits (15). But the number must terminate
with '#' which is not a part of called number and will be strapped off.

TODO: support variable length of called numbers without termination digit.
2022-04-07 16:39:54 +02:00
Jakob Olsson
3dd570990e map-topology: 3.2.11 2022-04-07 15:50:19 +02:00
vdutta
7e8f51d15b uspd: 2.2.4 2022-04-07 17:17:18 +05:30
vdutta
2faada9f0b icwmp: 8.3.10 2022-04-07 17:13:07 +05:30
Jakob Olsson
1d88107cc6 map-topology: 3.2.10 2022-04-07 11:12:00 +02:00
Anjan Chanda
65ecbbde31 ieee1905: 4.7.0 2022-04-07 10:56:10 +02:00
vdutta
0c8b29d7d5 icwmp: Fix race condition in config backup 2022-04-07 11:16:20 +05:30
Jakob Olsson
45f0f50740 map-agent: 7.1.33 2022-04-06 17:15:13 +02:00
Jakob Olsson
6ecc48540f map-agent: 7.1.32 2022-04-06 16:11:35 +02:00
Janusz Dziedzic
a027edeca2 easy-soc-libs: 6.4.43
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-04-06 12:22:16 +00:00
Anjan Chanda
dd25486412 ieee1905: 4.6.27 2022-04-06 10:23:30 +02:00
Yalu Zhang
d345eefd86 evoice: update /etc/config/voice for easy testing
Domain name "sip-proxy.iopsys.eu" is used for URI and proxy instead of IP address.

In order to make it work, the proxy server's configuration needs to be updated for accepting
sip-proxy.iopsys.eu as domain instead of IP address by default for kamailio example.

$ diff /etc/kamailio/kamailio.cfg.orig /etc/kamailio/kamailio.cfg
176c176
< # alias="sip.mydomain.com"
---
> alias="sip-proxy.iopsys.eu"

On the DUT, run the following to add a domain name entry in dnsmasq for sip-proxy.iopsys.eu.

uci add dhcp domain
uci set dhcp.@domain[-1].name='sip-proxy.iopsys.eu'
uci set dhcp.@domain[-1].ip="10.100.1.254" # Replace 10.100.1.254 with the actual IP in your environment
uci commit dhcp
/etc/init.d/dnsmasq restart

Then restart evoice at the last step.
2022-04-05 16:52:51 +02:00
Jakob Olsson
4b272be181 map-agent: 7.1.31 2022-04-05 15:21:50 +02:00
Jakob Olsson
09d49cb77d ieee1905: 4.6.26 2022-04-05 15:09:49 +02:00
vdutta
0e8b8eb69d cwmp: Fix upload 2022-04-05 17:39:42 +05:30
Jakob Olsson
a2610d371d map-agent: 7.1.30 2022-04-05 11:32:17 +02:00
vdutta
e1886e61bc bbf: 6.6.19 2022-04-05 08:52:33 +05:30
Grzegorz Sluja
c1f4056723 dectmngr: Play DialTone on handset based on SIP registration status 2022-04-04 16:01:04 +02:00
Anjan Chanda
1a404e9be5 ieee1905: 4.6.25 2022-04-04 14:14:59 +02:00
Anjan Chanda
6899e35524 easy-soc-libs: 6.4.42 2022-04-04 14:14:15 +02:00
Jakob Olsson
17c9858783 map-agent: 7.1.29 2022-04-04 11:44:22 +02:00
Anjan Chanda
eb4e698b90 wfadatad: 6.12.0 2022-04-01 18:07:24 +02:00
Sukru Senli
c30b8937a0 sulu: adapt to URL change 2022-04-01 17:34:22 +02:00
Jakob Olsson
491098c51f map-agent: 7.1.28 2022-04-01 17:22:49 +02:00
Sukru Senli
f190fd9085 evoice: adapt to URL change 2022-04-01 17:21:07 +02:00
Filip Matusiak
96b7aad9f2 map-agent: handle link loss of eth when active bh 2022-04-01 15:20:26 +00:00
Jakob Olsson
0166ee6540 map-controller: 6.0.15 2022-04-01 14:09:52 +02:00
vdutta
bcd9d70c52 bbf: 6.6.18 2022-04-01 16:32:07 +05:30
Sukru Senli
6ce86e0a68 sulu: 0.2.37 2022-04-01 10:36:52 +02:00
Janusz Dziedzic
b206df8ad9 easy-soc-libs: 6.4.41
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-04-01 07:49:17 +00:00
vdutta
4a09f80d40 bbf: 6.6.17 2022-03-31 22:06:19 +05:30
Andreas Gnau
32fbe3288f Update feed [ iopsys ] package [ u-boot-ex400 ]
-------------------------------------------------------------------------------
* 4cd73fe5db ex400: Update bootloader version to new IOWRT 6 format
* b22609213e Revert "ex400: enable network by default"
-------------------------------------------------------------------------------
commit 4cd73fe5db0ebfc1242ca9c85c14d7f0718eaf73
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2021-12-08 17:27:59 +0100

    ex400: Update bootloader version to new IOWRT 6 format

Base directory -> /
 board/inteno/common/board.c |  4 ++--
 board/inteno/ex400/board.c  | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
commit b22609213e92496f6cc44028f9b9930becb8a999
Author: Andreas Gnau <andreas.gnau@iopsys.eu>
Date: 2022-03-31 13:35:09 +0200

    Revert "ex400: enable network by default"

    This reverts commit 0cd508d8dd077d62baa59a0d74e2e5f24cff8926.

    It turns out that not starting network by default had a reason. See
    fccb9d5ee7 (Prevent ethernet to start up by default., 2017-05-11).

    Quoting the commit message:

    > This is needed as the setup has all port in the same switch
    > so WAN is connected to LAN and dhcp on clients on LAN is getting
    > out to the ISP and stealing ip numbers.

    We do not want to have networking by default with a static IP on the
    WAN-port. In addition, test-scripts would need adaptation if the networking
    is not to started by default, which is not worth it for an old platform like
    this.

    Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>

Base directory -> /
 board/inteno/common/board.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2022-03-31 18:35:32 +02:00
vdutta
9d099ff1ce icwmp: 8.3.7 2022-03-31 20:09:35 +05:30
Jakob Olsson
c03c76c74f map-agent: 7.1.27 2022-03-31 15:12:43 +02:00
vdutta
000da5e808 stunc: Datamodel improvements 2022-03-31 16:13:35 +05:30
Alf Håkansson
2343ace07c evoice: RTCP statistics and TR104 CallLog added. Tested on E600,SH3 and CRM based boards 2022-03-30 17:46:00 +02:00
vdutta
a45cef5c05 bbf: 6.6.16 2022-03-28 17:00:42 +05:30
Sukru Senli
af6ca71559 sulu: 0.2.36 2022-03-25 15:45:21 +01:00
Sukru Senli
0418327c52 sulu: 0.2.35 2022-03-25 15:04:39 +01:00
Sukru Senli
cca1c6e81d sulu: 0.2.34 2022-03-25 13:28:20 +01:00
Jakob Olsson
4cc8c9a21c map-controller: 6.0.14 2022-03-25 12:47:17 +01:00
Jakob Olsson
bc73e56726 map-agent: 7.1.26 2022-03-25 12:31:38 +01:00
Filip Matusiak
eb2d8c8f27 map-agent: add configuration flag for island prevention 2022-03-25 12:14:00 +01:00
Filip Matusiak
49ccbe6155 map-agent: up fronthauls on eth backhaul connection 2022-03-25 12:14:00 +01:00
Anjan Chanda
89c58e227c ieee1905: 4.6.24 2022-03-25 10:50:15 +01:00
Anjan Chanda
e706738f96 map-controller: 6.0.13 2022-03-25 10:18:18 +01:00
Sukru Senli
55a1541818 sulu: 0.2.33 2022-03-25 10:15:07 +01:00
vdutta
10e62c21f4 obuspa: Fix datatype conversions in events payload 2022-03-25 10:29:54 +05:30
vdutta
b37aa436ec uspd: Added dataelements.Associated and Disassociated events 2022-03-25 10:22:36 +05:30
vdutta
5fff1f2033 bbf: 6.6.15 2022-03-24 17:30:08 +05:30
vdutta
7affe60a46 obuspa: Updated CreationDate of subscriptions 2022-03-24 13:21:48 +05:30
vdutta
5a3d08ba6d icwmp: Updated Readme 2022-03-24 09:24:35 +05:30
vdutta
82cbab5ab1 obuspa: Added minimal USPAgent bbf json plugin 2022-03-23 21:19:23 +05:30
Janusz Dziedzic
2e04d78a14 easy-soc-libs: 6.4.40
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-03-22 19:43:26 +00:00
Amin Ben Ramdhane
fc2f823119 bbf: 6.6.14 2022-03-22 20:17:07 +01:00
sandeep
cbf545ac16 qosmngr:Updated script to handle default value of QoS.Classification.{i}.VLANIDCheck 2022-03-22 18:52:55 +05:30
Sukru Senli
ce077af70f port-management: inclide /lib/network 2022-03-22 14:03:46 +01:00
vdutta
fac288f20b bbf: Fix wifi neighbor scan result 2022-03-21 15:08:44 +05:30
Amin Ben Ramdhane
b0828849bd bbf: 6.6.12 2022-03-20 20:11:04 +01:00
Jakob Olsson
39855bba25 map-agent: 7.1.25 2022-03-18 17:37:23 +01:00
Piotr Kubik
bf4bc1a299 peripheral_manager: Rename leds_manager to ledmngr 2022-03-18 15:58:45 +00:00
Jakob Olsson
bf6a343b97 map-controller: 6.0.12 2022-03-18 15:00:23 +01:00
Jakob Olsson
3d592d1dad wfadatad: 6.11.3 2022-03-18 13:54:36 +01:00
Piotr Kubik
d56da82dc9 peripheral_menager: Move iopsys led service to peripheral_manager 2022-03-18 11:21:19 +00:00
Sukru Senli
1510578835 sulu: 0.2.32 2022-03-18 09:47:53 +01:00
Sukru Senli
a1170e71a7 netmode: create netmodes folder if saving mode is needed 2022-03-17 17:41:50 +01:00
Filip Matusiak
6eee7361c2 map-agent: validate dynamic backhaul params 2022-03-17 13:32:22 +00:00
Jakob Olsson
a294c93902 map-agent: 7.1.24 2022-03-17 14:30:43 +01:00
Jakob Olsson
9f9626afb0 wifimngr: 14.0.7 2022-03-17 13:15:35 +01:00
Amin Ben Ramdhane
36ce5e1576 bbf: 6.6.11 2022-03-17 12:36:34 +01:00
Sukru Senli
3d545d9945 port-management: set speed based on capability 2022-03-17 10:56:46 +01:00
Jani Juvan
d756a2035d econet: Restore correct commit for econet uboot 2022-03-17 09:57:29 +01:00
Jani Juvan
175d381fb9 Update feed [ iopsys ] package [ u-boot ]
-------------------------------------------------------------------------------
* cc5b0b236c ex400: Set boot bank fallback attributes during upgrade
-------------------------------------------------------------------------------
commit cc5b0b236c4536ad4b694407f8ea258c61aaa76c
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2022-02-25 16:43:08 +0100

    ex400: Set boot bank fallback attributes during upgrade

Base directory -> /
 cmd/iopsys_upgrade.c | 3 +++
 1 file changed, 3 insertions(+)
-------------------------------------------------------------------------------
2022-03-17 09:43:38 +01:00
Jakob Olsson
6e4c42caaa map-agent: init.d: remove correct multiap.backhaul file upon restart 2022-03-16 16:51:31 +01:00
Grzegorz Sluja
f43f8fd966 dectmngr: Fix for setting model-id in DCX81
2869a87 Fix undefined reference to LOG_DECT_DEBUG when ENABLE_DECTMNGR_DEBUG=1
b91368e Restart CMBS target after model-id is changed
2022-03-16 12:41:10 +01:00
vdutta
f1f75c0b6b obuspa: Added websocket support in uci 2022-03-16 16:29:00 +05:30
Jakob Olsson
f9917d4ab7 map-agent: multiap: remove brcm prefixes 2022-03-16 09:57:16 +01:00
Jakob Olsson
3bc4565eb8 map-agent: 7.1.23 2022-03-16 09:56:59 +01:00
Jakob Olsson
de3f8bc4a4 wfadatad: 6.11.2 2022-03-15 16:41:47 +01:00
Jakob Olsson
27446d78f9 map-controller: 6.0.11 2022-03-15 16:40:08 +01:00
vdutta
cfe4dda3fc swmodd: Updated offline install for template 2022-03-15 19:33:33 +05:30
Jakob Olsson
a6910c046d map-topology: 3.2.9 2022-03-14 17:27:49 +01:00
Jakob Olsson
997d2d2ff5 map-agent: 7.1.22 2022-03-14 17:08:47 +01:00
Jakob Olsson
507a565080 ieee1905: 4.6.22 2022-03-14 17:04:44 +01:00
Jakob Olsson
10c4073908 Revert "ieee1905: 4.6.22"
This reverts commit 5d1bbf98e1.
2022-03-14 17:04:22 +01:00
Jakob Olsson
5d1bbf98e1 ieee1905: 4.6.22 2022-03-14 17:04:08 +01:00
Jakob Olsson
0f5e784719 ieee1905: 4.6.21 2022-03-14 15:11:48 +01:00
Jakob Olsson
c270557622 map-topology: 3.2.8 2022-03-14 14:06:22 +01:00
Sukru Senli
a84277895e sulu: 0.2.31 2022-03-14 13:28:08 +01:00
vdutta
8c86c9092b bbf: 6.6.10 2022-03-14 17:25:33 +05:30
vdutta
fad159b675 uspd: 2.2.2 2022-03-14 17:22:36 +05:30
Jakob Olsson
4f8f1d9088 map-agent: multiap: dont commit to wireless when writing bssid to bsta
This causes unnecessary wireless commits upon connection, causing
wifimngr to go down and up.
2022-03-14 10:22:13 +01:00
Stanislaw Gruszka
0270bff547 wfadatad: 6.11.1 2022-03-11 17:53:35 +01:00
nevadita.chatterjee
6aad51cb76 map-topology:3.2.7 2022-03-11 18:17:19 +05:30
vdutta
53d7e61083 bbf: 6.6.9
- wifi: Update DataElement Mappings
- use cron job to handle schedule Activate firmware image
- Add support for different ubus arg types
2022-03-11 17:49:47 +05:30
Stanislaw Gruszka
7b75bc85f3 wfadatad: 6.11.0 2022-03-11 12:03:20 +01:00
Janusz Dziedzic
cac2ba3726 easy-soc-libs: 6.4.39
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-03-11 10:26:28 +00:00
vdutta
7dccc922e1 icwmp: 8.3.5 2022-03-11 15:39:29 +05:30
vdutta
0dc0da4c83 xmppc: 1.0.3 2022-03-11 15:28:38 +05:30
vdutta
3554edcff0 uspd: 2.2.1 2022-03-11 15:26:27 +05:30
Sukru Senli
603ecff2a2 sulu: 0.2.30 2022-03-11 09:48:15 +01:00
vdutta
969e757401 udpechoserver: 1.0.3 2022-03-11 13:59:34 +05:30
vdutta
fee4015a35 twamp: 1.1.1 2022-03-11 13:56:40 +05:30
vdutta
a5493549de swmodd: 2.1.1 2022-03-11 13:50:43 +05:30
Jakob Olsson
ee4c55b8cc map-agent: 7.1.21 2022-03-11 09:00:38 +01:00
vdutta
951ffbc2f6 bulkdata: 1.0.4 2022-03-11 13:07:19 +05:30
Jakob Olsson
bce1cf35f1 map-controller: 6.0.10 2022-03-10 16:47:15 +01:00
Marek Puzyniak
f1d07dcbb9 easy-soc-libs: 6.4.38
Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>
2022-03-10 15:37:56 +00:00
Sukru Senli
2c277a0d9f map-agent: merge different ways of doing backhaul detection 2022-03-10 08:53:43 +00:00
vdutta
690415ef8d bbf: 6.6.8 2022-03-10 12:18:09 +05:30
vdutta
a3f93465e4 icwmp: 8.3.4 2022-03-10 10:08:54 +05:30
Janusz Dziedzic
8a181eac45 map-agent: enable only onboarded bands
This is important when we are using
default_disabled UCI setting - which disable
network wpa_supplicant block.

Before we could enable network, so default_disabled
could work incorrectly.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-03-09 14:22:53 +00:00
Jakob Olsson
dcebd73bdf map-agent: 7.1.20 2022-03-09 15:22:35 +01:00
Jakob Olsson
71f1eee194 map-agent: 7.1.19 2022-03-09 13:21:39 +01:00
Hemlata Bhatt
88cb305259 Static code analysis update for endptmngr due to the upgrading of docker 2022-03-09 10:10:06 +01:00
Omar Kallel
9d4d59be76 icwmp: 8.3.3 2022-03-09 10:06:35 +01:00
Hemlata Bhatt
b2416bc33a Static code analysis update for dectmngr 2022-03-09 10:02:55 +01:00
Sukru Senli
a0fc9fe1d9 iop: introduce Config.in defining TARGET_CUSTOMER and TARGET_VERSION 2022-03-08 18:53:31 +01:00
Amin Ben Ramdhane
cb056f5898 bbf: 6.6.7 2022-03-07 17:45:42 +01:00
Jakob Olsson
e4d957cb0c map-agent: 7.1.18 2022-03-07 17:30:40 +01:00
vdutta
b3c5219772 icwmp: 8.3.2 2022-03-07 15:32:02 +05:30
vdutta
ca1e74696e stunc: Align with libbbf_api 2022-03-07 11:41:18 +05:30
Sukru Senli
f4daa579da dslmngr, easy-qos, uboot: remove reference to intel_mips
misleading target support
2022-03-06 10:24:33 +01:00
Sukru Senli
5eb40eb826 iop: fix feed_update script 2022-03-05 12:35:57 +01:00
Sukru Senli
2948de9994 iop: feeds_update: do not hardcode targets 2022-03-05 12:28:02 +01:00
Jakob Olsson
bd3e0e31be map-agent: 7.1.17 2022-03-04 15:56:00 +01:00
Jakob Olsson
f1d113e5a3 map-controller: 6.0.9 2022-03-04 14:47:07 +01:00
vdutta
9b6b591a0f bbf: Select ssl utility lib 2022-03-04 15:58:01 +05:30
vdutta
9df30a95aa icwmp: Select ssl utility library
- Build time options to select ssl utility library, default is wolfssl
- Improvements in update script to initiate inform
2022-03-04 15:14:22 +05:30
vdutta
b5ae08af16 stunc: config to select ssl util library 2022-03-04 15:07:33 +05:30
Jakob Olsson
085459fa1e easy-soc-libs: 6.4.37 2022-03-04 10:34:39 +01:00
Jakob Olsson
099f0ef7c7 map-agent: 7.1.16 2022-03-04 10:32:49 +01:00
Jakob Olsson
f899371737 map-controller: 6.0.8 2022-03-04 10:31:42 +01:00
Alf Håkansson
e64bde330e evoice: log now routed to syslog instead of stdout 2022-03-04 08:51:28 +01:00
Alf Håkansson
db5dc9913c evoice: version 0.1 2022-03-03 17:40:18 +01:00
Jakob Olsson
54772028eb map-controller: 6.0.7 2022-03-03 17:05:45 +01:00
Sukru Senli
2260ef219e iop: config: remove mwan3 package 2022-03-03 17:00:24 +01:00
Jakob Olsson
b5fc63a737 map-topology: 3.2.6 2022-03-03 16:54:29 +01:00
Jakob Olsson
9588485c82 map-agent: 7.1.15 2022-03-03 15:14:00 +01:00
Janusz Dziedzic
97f0608370 easy-soc-libs: 6.4.36
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2022-03-03 12:59:52 +00:00
Jakob Olsson
4ea4755257 map-agent: 7.1.14 2022-03-03 11:15:07 +01:00
Jakob Olsson
b0a3a373af map-agent: 7.1.13 2022-03-03 09:17:31 +01:00
Anjan Chanda
a3ec91cc9e ieee1905: 4.6.20 2022-03-02 20:34:53 +01:00
Jakob Olsson
4e51aff215 map-agent: 7.1.12 2022-03-02 17:34:19 +01:00
Jakob Olsson
b0900b2b00 map-controller: 6.0.6 2022-03-02 14:55:47 +01:00
Jakob Olsson
a9dd5fc34a map-agent: 7.1.11 2022-03-02 12:22:06 +01:00
Hemlata Bhatt
bfc334346a Support log level configuration 2022-03-02 09:18:11 +01:00
Hemlata
4b0534dac7 Dectmngr: add a uci option dect.global.log_level for log level configuration 2022-03-01 12:50:48 +00:00
Jakob Olsson
cc5972c7c7 map-agent: 7.1.10 2022-03-01 13:15:11 +01:00
Jakob Olsson
8138e789ca wfadatad: 6.10.13 2022-03-01 11:16:12 +01:00
Amin Ben Ramdhane
afb6bb9ea6 bbf: 6.6.5 2022-02-28 21:01:37 +01:00
Arne Jonsson
8dd0fe1c76 Update feed [ iopsys ] package [ peripheral_manager ]
-------------------------------------------------------------------------------
* 21522c2 Minor changes from MR
* b3f2095 Use of inline-suppression to remove warnings
* a8fac3a Changes in order to pass cppcheck
* 09335f7 Fixed misc. compiler warnings
* fb8d4aa Make it possible to set max brightness per LED.
-------------------------------------------------------------------------------
commit 21522c2003b8c61904acc61ff97e54fc9b0c3c92
Author: Arne Jonsson <arne.jonsson@iopsys.eu>
Date: 2022-02-25 17:02:35 +0100

    Minor changes from MR

Base directory -> /
 src/button.c    | 2 --
 src/gpio_test.c | 2 --
 src/sx9512.c    | 1 -
 3 files changed, 5 deletions(-)
-------------------------------------------------------------------------------
commit b3f20950657e0ec7bcae9d4f32b9e06e4c83ece5
Author: Arne Jonsson <arne.jonsson@iopsys.eu>
Date: 2022-02-25 13:56:04 +0100

    Use of inline-suppression to remove warnings

Base directory -> /
 .gitlab-ci.yml     |  1 +
 src/catv.c         | 51 +++++++++++++++++++++++++--------------------------
 src/led.c          |  4 ++++
 src/touch_sx9512.c |  1 -
 4 files changed, 30 insertions(+), 27 deletions(-)
-------------------------------------------------------------------------------
commit a8fac3ad1123790b698b08cfb27afe077e59b098
Author: Arne Jonsson <arne.jonsson@iopsys.eu>
Date: 2022-02-24 09:48:39 +0100

    Changes in order to pass cppcheck

Base directory -> /
 src/button.c             | 723 ++++++++++++++++++++++++-----------------------
 src/catv.c               |  40 ++-
 src/catv_monitor.c       |   2 +-
 src/eco_bug.c            |   2 +-
 src/gpio_led.c           |  13 +-
 src/gpio_test.c          |  14 +-
 src/i2c.c                |   2 +-
 src/led.c                |  37 ++-
 src/peripheral_manager.c |  71 ++---
 src/sfp.c                |   2 +-
 src/sim_button.c         |   3 +-
 src/sx9512.c             |  30 +-
 src/touch_sx9512.c       |  36 +--
 13 files changed, 509 insertions(+), 466 deletions(-)
-------------------------------------------------------------------------------
commit 09335f7fccb7d9b363f5a261703995241dfeb078
Author: arne.jonsson <arne.jonsson@iopsys.eu>
Date: 2022-02-17 18:10:07 +0100

    Fixed misc. compiler warnings

Base directory -> /
 src/button.c              | 42 ++++--------------------------------------
 src/catv.c                | 12 ++++--------
 src/catv_monitor.c        |  3 ++-
 src/gpio.h                | 16 ++++++++--------
 src/gpio_button.c         |  1 -
 src/gpio_led.c            |  9 +++++----
 src/gpio_linux.c          |  6 ------
 src/gpio_shift_register.h |  6 +-----
 src/server.c              |  2 +-
 src/sfp.c                 |  4 ++--
 src/sx9512.c              |  2 +-
 src/touch_sx9512.c        | 14 +++++++-------
 12 files changed, 35 insertions(+), 82 deletions(-)
-------------------------------------------------------------------------------
commit fb8d4aa476ce4b652719672c309b7be71b3f69ce
Author: Markus Gothe <markus.gothe@genexis.eu>
Date: 2022-02-11 15:42:34 +0000

    Make it possible to set max brightness per LED.

Base directory -> /
 src/gpio_led.c | 78 ++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 51 insertions(+), 27 deletions(-)
-------------------------------------------------------------------------------
2022-02-28 16:06:32 +01:00
Filip Matusiak
6a23c72c1f map-controller: update encryption options in script 2022-02-28 15:15:37 +01:00
Jakob Olsson
5760e1cda2 map-controller: 6.0.5 2022-02-28 14:44:13 +01:00
Jakob Olsson
4baed7b0a1 ieee1905: 4.6.19 2022-02-28 14:44:13 +01:00
sverma
f189c7a9bb wfadatad: 6.10.12 2022-02-28 19:09:22 +05:30
Yalu Zhang
466424036b Update package endptmngr
Change the way to configure tx/rx gain
2022-02-28 11:38:51 +01:00
Anjan Chanda
b49987d183 wfadatad: 6.10.11 2022-02-26 08:57:38 +01:00
Jakob Olsson
c198c8a4ff map-agent: 7.1.9 2022-02-25 17:29:50 +01:00
Anjan Chanda
7ceeac6e61 wfadatad: 6.10.10 2022-02-25 15:47:21 +01:00
Jakob Olsson
3dfcaf1457 ieee1905: 4.6.18 2022-02-25 15:20:25 +01:00
Jakob Olsson
d614a075d9 ieee1905: 4.6.17 2022-02-25 14:23:22 +01:00
Jakob Olsson
0182049eee map-topology: 3.2.5 2022-02-25 12:46:42 +01:00
vdutta
dc9d51e67e bbf: 6.6.4 2022-02-25 16:53:57 +05:30
Orr Mazor
ee4d70ba6d Add support for DHCP ACS discovery
Signed-off-by: Orr Mazor <o.mazor@genexis.eu>
2022-02-25 11:13:56 +00:00
vdutta
77c7475cc7 icwmp: Switch to wolfssl 2022-02-25 15:53:14 +05:30
vdutta
3fbdece036 stunc: Switch to wolfssl 2022-02-25 15:19:06 +05:30
vdutta
1a471f4dac bbf: Switch to wolfssl 2022-02-25 15:14:50 +05:30
Jani Juvan
3dc5165e79 Update feed [ iopsys ] package [ fdtextract ]
-------------------------------------------------------------------------------
* 0ebaf1e fdtextract: Add build test to ci
* 345b718 Harden compile flags
* f766c74 Fixed sign-compare warnings
* 19c8fda Customize cppcheck suppressions
* e38ad6a Add missing path variable for static code analysis
* 59b9234 Fix static code analysis errors
* d1eab3e Add CI tests
-------------------------------------------------------------------------------
commit 0ebaf1e7d1f09318ae75d0f475a25280742b790e
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2022-02-25 08:02:26 +0000

    fdtextract: Add build test to ci

Base directory -> /
 .gitlab-ci.yml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
-------------------------------------------------------------------------------
commit 345b7187e7d115014e04354362c350d44402223b
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2022-02-23 10:56:17 +0100

    Harden compile flags

Base directory -> /
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit f766c7417dbeb0ccdd34290137c9e01b2fd9c57d
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2022-02-23 10:53:38 +0100

    Fixed sign-compare warnings

Base directory -> /
 fdtextract.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
-------------------------------------------------------------------------------
commit 19c8fda5a77c87091ff9925938579e53028f4863
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2022-02-16 13:54:52 +0100

    Customize cppcheck suppressions

Base directory -> /
 .gitlab-ci.yml | 2 ++
 1 file changed, 2 insertions(+)
-------------------------------------------------------------------------------
commit e38ad6a047d72bad22177ca924c8dee83df81463
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2022-02-16 12:49:54 +0100

    Add missing path variable for static code analysis

Base directory -> /
 .gitlab-ci.yml | 1 +
 1 file changed, 1 insertion(+)
-------------------------------------------------------------------------------
commit 59b92340e78f58bf4b7ea4c04458eb99a63ea31e
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2022-02-14 10:28:16 +0100

    Fix static code analysis errors

Base directory -> /
 fdtextract.c | 9 ++++++---
 util.c       | 8 ++++----
 2 files changed, 10 insertions(+), 7 deletions(-)
-------------------------------------------------------------------------------
commit d1eab3e73f57f2e58ef700b3e94a12db1ed728ad
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2022-02-11 15:56:14 +0100

    Add CI tests

Base directory -> /
 .gitlab-ci.yml | 9 +++++++++
 1 file changed, 9 insertions(+)
-------------------------------------------------------------------------------
2022-02-25 09:36:02 +01:00
Jakob Olsson
e764096bc6 map-agent: 7.1.8 2022-02-24 15:49:23 +01:00
Jani Juvan
a7f983aaa1 fdtextract: Move CFLAGS to package 2022-02-24 10:17:09 +01:00
Amin Ben Ramdhane
160165e80f bbf: 6.6.2 2022-02-23 20:31:16 +01:00
Anjan Chanda
996cb66482 map-controller: 6.0.4: add Config.in 2022-02-23 18:36:12 +01:00
Jakob Olsson
0b7cd0e437 map-controller: 6.0.4 2022-02-23 18:30:28 +01:00
Jakob Olsson
53e48827f3 map-agent: 7.1.7 2022-02-23 18:29:33 +01:00
Stanislaw Gruszka
a4e2799b90 multi-ap: ts rework for eth suport 2022-02-23 18:29:08 +01:00
Anjan Chanda
a5a05dffa8 map-agent: 7.1.6 2022-02-23 18:29:08 +01:00
Anjan Chanda
9c9ab20ce8 map-agent: 7.1.5 2022-02-23 18:29:08 +01:00
Anjan Chanda
a225352493 ieee1905: 4.6.16 2022-02-23 18:29:08 +01:00
Jakob Olsson
0d9b296de6 easy-soc-libs: 6.4.35 2022-02-23 14:45:28 +01:00
Stanislaw Gruszka
95a5b5ee10 wfadatad: 6.10.6 2022-02-23 13:21:30 +01:00
Nevadita
128264643c map-topology: 3.2.4 2022-02-23 12:02:26 +00:00
vdutta
0f4cde377e sulu: Deploy config parameters in json 2022-02-23 16:33:47 +05:30
Jakob Olsson
c8614876b6 map-agent: 7.1.4 2022-02-22 16:02:04 +01:00
Jakob Olsson
4a58161994 map-controller: 6.0.3 2022-02-22 11:40:44 +01:00
Jakob Olsson
b9fd030365 map-agent: 7.1.3 2022-02-22 11:40:44 +01:00
Jakob Olsson
631617c16c map-agent: multiap: retain wps credentials in ieee1905 config 2022-02-22 11:40:44 +01:00
vdutta
54010769ed obuspa: Fix startup validations
- Fix validations in init script for the uci config
- Dump outgoing events in logs, if configured
- static code warning fixes
2022-02-22 12:24:04 +05:30
Jakob Olsson
f126ed414a map-agent: 7.1.2 2022-02-21 17:18:03 +01:00
Amin Ben Ramdhane
de0f3cca89 bbf: 6.6.1 2022-02-21 15:56:44 +01:00
sverma
534c63780d wfadatad: 6.10.5 2022-02-21 19:28:10 +05:30
Jakob Olsson
b6ab2574be map-controller: 6.0.2 2022-02-21 12:47:36 +01:00
vdutta
8bf3db77cc bbf: 6.6.0 2022-02-21 14:56:24 +05:30
vdutta
7507170ff0 swmodd: Fix static analysis warnings 2022-02-21 14:38:34 +05:30
vdutta
0c04002028 uspd: Fix static code warnings 2022-02-21 14:27:40 +05:30
Jakob Olsson
f3bb3ef39b map-agent: 7.1.1 2022-02-18 15:44:33 +01:00
Amin Ben Ramdhane
99d12f7829 bbf: 6.5.7 2022-02-18 15:40:15 +01:00
Jakob Olsson
97906205ff map-controller: 6.0.1 2022-02-18 15:23:06 +01:00
Jakob Olsson
8cc7e5c2ba map-topology: 3.2.3 2022-02-18 15:12:45 +01:00
Jakob Olsson
24fdb79b7c ieee1905: 4.6.10 2022-02-18 12:46:59 +01:00
Filip Matusiak
b07664f7d5 map-topology: validate config options 2022-02-18 11:58:54 +01:00
Filip Matusiak
c54e44a820 ieee1905: validate config options 2022-02-18 11:58:54 +01:00
Filip Matusiak
cf44c1a030 map-agent: validate config options 2022-02-18 11:58:54 +01:00
Filip Matusiak
18c4ab8c9e map-controller: validate config options 2022-02-18 11:58:54 +01:00
Arun Muthusamy
f27619294e qosmngr: Rearrange queue and shaper function call execution order 2022-02-18 07:19:54 +00:00
Amin Ben Ramdhane
619b267dac bbf: 6.5.6 2022-02-17 17:13:01 +01:00
Jakob Olsson
04ab56415a map-agent: 7.1.0 2022-02-17 16:56:43 +01:00
Jakob Olsson
bea0c35f8c map-controller: 6.0.0 2022-02-17 16:56:43 +01:00
Amin Ben Ramdhane
8946aa5dee bbf: 6.5.5 2022-02-16 15:47:01 +01:00
Stanislaw Gruszka
e390ee36bf wfadatad: 6.10.4 2022-02-16 11:53:31 +01:00
Yalu Zhang
09011fdbcc dectmngr-3.5.1: Fix a bug that handsets cannot receive incoming calls reliably 2022-02-16 10:37:10 +01:00
Nevadita
d15b40339d map-topology: 3.2.2 2022-02-16 08:36:11 +00:00
Grzegorz Sluja
e0a8c705af endptmngr: Add support for RTCP-XR packets 2022-02-16 09:03:31 +01:00
Jakob Olsson
ff83d37e78 map-agent: 7.0.2 2022-02-15 10:20:36 +01:00
Sukru Senli
88b0cf56a9 remove un-used/maintained packages 2022-02-14 18:13:12 +01:00
Jakob Olsson
dba3993ff6 map-agent: 7.0.1 2022-02-14 17:55:26 +01:00
Hemlata Bhatt
2b3c5fa177 dectmngr : don't allow failure in static code analysis 2022-02-11 17:45:24 +01:00
Hemlata Bhatt
e4bdbba9b6 endptmngr :Enable compiling options -Wall and -Werror 2022-02-11 17:32:02 +01:00
vdutta
7f808cf58d icwmp: 8.2.27 2022-02-11 21:34:06 +05:30
Hemlata
135cdad388 Enabled compiling options -Wall -Werror for endptmngr and dectmngr 2022-02-11 15:10:21 +00:00
Stanislaw Gruszka
d656e27020 wfadatad: 6.10.3 2022-02-11 16:08:15 +01:00
vdutta
fbc58f5635 obuspa: Use get_supported_dm for registration 2022-02-11 19:55:23 +05:30
vdutta
e940d301c3 obuspa: Integrate 5.0 release 2022-02-11 19:15:34 +05:30
vdutta
d7ae81bcc8 swmodd: Fix static code warnings 2022-02-11 19:06:13 +05:30
vdutta
f003c8a2b7 bbf: 6.5.4 2022-02-11 18:58:38 +05:30
Stanislaw Gruszka
153c11902a wfadatad: add debug options and local build to makefile 2022-02-11 12:28:15 +00:00
Stanislaw Gruszka
f5017094a8 map-agent: 7.0.0: traffic separation fixes 2022-02-11 12:25:01 +01:00
Hemlata Bhatt
e94d2fd218 bbf :Replace vendor extension for feature codes with PrefixRange and FacilityAction 2022-02-10 15:19:45 +01:00
Anjan Chanda
22790f81ed ieee1905: 4.6.8 2022-02-10 14:32:31 +01:00
Amin Ben Ramdhane
d1d9794962 bbf: 6.5.3 2022-02-10 12:33:17 +01:00
nevadita.chatterjee
ef4d9334cf map-topology:3.2.1 2022-02-10 14:22:39 +05:30
Jakob Olsson
f75a9f9d8d map-controller: 5.4.7 2022-02-09 16:44:29 +01:00
Sukru Senli
55ab8c9104 sulu: 0.2.28 2022-02-09 12:43:28 +01:00
Sukru Senli
0c6c6f6cc4 netmode: do not run netmode if mode is same as last saved mode 2022-02-08 23:04:37 +01:00
Hemlata Bhatt
0317645cd1 bbf :Replace vendor extension for feature codes with PrefixRange and FacilityAction 2022-02-08 17:29:31 +01:00
Sukru Senli
e12cf6ffa2 netmode: do not rely on mode folder 2022-02-08 15:08:35 +01:00
Amin Ben Ramdhane
1bf745f679 bbf: 6.5.2 2022-02-08 13:56:48 +01:00
Sukru Senli
53c2e2f0a2 iop: classify config 2022-02-08 11:49:02 +01:00
vdutta
0173920c83 swmodd: 2.0.23 2022-02-08 11:15:27 +05:30
vdutta
2bc7ff558e stunc: 1.0.4 2022-02-08 10:58:46 +05:30
vdutta
df0b0ec7ea udpechoserver: Added static code analysis pipeline 2022-02-08 10:55:14 +05:30
vdutta
e2a98f6cf1 uspd: 2.1.44 2022-02-08 10:03:46 +05:30
Sukru Senli
a169a13b47 netmode: do nothing if mode is not set 2022-02-07 21:17:04 +01:00
Amin Ben Ramdhane
1fbbaa8c59 udpechoserver: 1.0.1 2022-02-07 12:46:44 +01:00
Amin Ben Ramdhane
b214f5213b stunc: 1.0.3 2022-02-07 12:45:31 +01:00
Jakob Olsson
367a2e6084 map-agent: 6.6.4 2022-02-07 12:33:20 +01:00
Jakob Olsson
1e0f65be66 map-controller: 5.4.6 2022-02-07 12:33:20 +01:00
Amin Ben Ramdhane
6d941d04b9 bbf: 6.5.1 2022-02-07 11:30:32 +01:00
Sukru Senli
e3eb968b05 netmode: remove default netmodes 2022-02-06 14:16:18 +01:00
Sukru Senli
f67eca787f netmode: strip netmoded out of netmode package 2022-02-06 13:33:50 +01:00
Jakob Olsson
dace8147de map-agent: 6.6.3 2022-02-04 16:06:47 +01:00
vdutta
5812d812b1 owsd: 1.1.4 2022-02-04 19:07:49 +05:30
Yalu Zhang
69678f1dbc dectmngr-3.5.0: Upgrading to CMBS 4.13 Build 16 official release
This includes both the binary firmware on the target and dectmngr on the host.
2022-02-04 14:31:17 +01:00
Anjan Chanda
e2d4b3a6f5 wifimngr: 14.0.6 2022-02-04 14:15:50 +01:00
Anjan Chanda
2ea1145f43 ieee1905: 4.6.4 2022-02-04 14:11:11 +01:00
Sukru Senli
dcbd27282d iop: config: remove unused package 2022-02-04 10:58:05 +01:00
Amin Ben Ramdhane
f11c6bdbb9 bbf: 6.5.0 2022-02-04 10:51:35 +01:00
vdutta
70db2e6c67 swmodd: Support for fallback download
- In DuInstall if download failed inside container, download in host as
   fallback and install with local path
 - Added swmodd uci file
2022-02-04 13:26:23 +05:30
vdutta
28f1297db7 icwmp: 8.2.26 2022-02-04 12:09:06 +05:30
Amit KUmar
6e314334d8 easy-soc-libs: libqos static warning corrected 2022-02-04 11:53:59 +05:30
Sukru Senli
b2562f6fc1 qosmngr: read socinfo from /proc 2022-02-03 17:12:51 +01:00
Hemlata Bhatt
58a26135c5 dectmngr: Remove extra verbose syslog for firmware upgrading on the base station 2022-02-03 13:48:40 +01:00
Jakob Olsson
a035fb4d6e map-agent: 6.6.2 2022-02-03 12:53:48 +01:00
Amit KUmar
da7df410a8 easy-soc-libs: dsl ethernet static error resolved 2022-02-03 14:55:00 +05:30
Jakob Olsson
0415ed55c4 map-controller: 5.4.5 2022-02-02 17:07:22 +01:00
Jakob Olsson
2e7219ba46 map-agent: 6.6.1 2022-02-02 17:07:22 +01:00
Jeff Lyons
0d198eca97 Added additional header files (to allow additional .so modules to be built) 2022-02-02 11:19:52 +00:00
Suvendhu Hansa
f5575df624 umoci: Added package for oci image management 2022-02-02 07:16:24 +00:00
Sukru Senli
ad7067e57b crun: remove as it is now available under openwrt feed packages 2022-02-01 10:28:40 +01:00
Jakob Olsson
266b0029b4 wifimngr: 05-wifi: update to new map backhaul file 2022-01-31 15:06:49 +01:00
Jani Juvan
473c387777 gryphon-led-module: use new toolchain variables 2022-01-31 12:50:45 +01:00
Andreas Gnau
44fd9e6ed1 iop: config: LuCI: Do not take in libiwinfo-lua and bootstrap theme
The luci-nginx metapackage selects some packages that we do not want to
select

1. luci-theme-bootstrap: Not needed, we use luci-theme-openwrt-2020
2. libiwinfo-lua: Not needed on non-WiFi targets such as panther, but
   will be pulled in by other LuCI dependencies
2022-01-28 16:29:15 +01:00
128 changed files with 6480 additions and 3599 deletions

View File

@@ -1,78 +0,0 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB. All rights reserved.
#
#
# 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.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ated
PKG_VERSION:=1.2.2
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=f614cba983d827d5185c60a6a5a35530621d44d2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/mediatek/ated.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
# support parallel build
#PKG_BUILD_PARALLEL:=1
#re create configure scripts if not present.
#PKG_FIXUP:=autoreconf
# run install target when cross compiling. basically, make install DESTDIR=$(PKG_INSTALL_DIR)
# this way we don't need to pick out the resulting files from the build dir.
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/ated
CATEGORY:=Utilities
TITLE:=Daemon for handling wifi calibration
URL:=
DEPENDS:= libc
endef
define Package/ated/description
Daemon for handling wifi calibration
endef
#TARGET_CFLAGS += -I$(LINUX_DIR)/include -I$(LINUX_DIR)/arch/mips/include
MAKE_FLAGS += \
v=2 \
m=3
#TARGET_CPPFLAGS := \
# -I$(STAGING_DIR)/usr/include/bcm963xx/shared/opensource/include/bcm963xx \
# -I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \
# $(TARGET_CPPFLAGS)
# we donot wwant to have any install.
define Build/Install/Default
endef
define Package/ated/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ated $(1)/sbin/
endef
$(eval $(call BuildPackage,ated))

View File

@@ -1,7 +1,3 @@
if PACKAGE_libbbfdm
menu "Configuration"
config BBF_VENDOR_EXTENSION
bool "Enable Vendor Extension"
default y
@@ -14,10 +10,6 @@ config BBF_VENDOR_PREFIX
string "Vendor Prefix"
default "X_IOPSYS_EU_"
config BBF_TR181
bool "Enable TR-181 Data Model Support"
default y
config BBF_TR104
bool "Enable TR-104 Data Model Support"
default y
@@ -28,10 +20,12 @@ config BBF_TR143
config BBFDM_ENABLE_JSON_PLUGIN
bool "Enable json plugin to extend datamodel"
default n
default y
config BBFDM_ENABLE_DOTSO_PLUGIN
bool "Enable shared library plugin to extend datamodel"
default n
endmenu
endif
default y
config BBF_MAX_OBJECT_INSTANCES
int "Maximum number of instances per object"
default 255

View File

@@ -1,41 +1,69 @@
#
# Copyright (C) 2021 IOPSYS
# Copyright (C) 2022 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libbbfdm
PKG_VERSION:=6.4.27
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
PKG_VERSION:=6.8.6
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=710485a57e311a5b4c5434efe3e79fc58cb6c429
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
PKG_SOURCE_VERSION:=a517b0b29ec8c34b8492b88bc887582e7d55a524
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_LICENSE:=LGPL-2.1
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/libbbf_api
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Library for libbbfdm API
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
endef
define Package/libbbfdm
define Package/libbbfdm/default
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Library for broadband-forum data model
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libtrace +libbbf_api +libopenssl +libcurl
TITLE:=Library for broadband forum data model support
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libtrace +libcurl
endef
define Package/libbbfdm
$(Package/libbbfdm/default)
TITLE += (internal)
VARIANT:=internal
endef
define Package/libbbfdm-mbedtls
$(Package/libbbfdm/default)
TITLE += (mbedtls)
DEPENDS += +PACKAGE_libbbfdm-mbedtls:libmbedtls
VARIANT:=mbedtls
DEFAULT_VARIANT:=1
endef
define Package/libbbfdm-openssl
$(Package/libbbfdm/default)
TITLE += (openssl)
DEPENDS += +PACKAGE_libbbfdm-openssl:libopenssl
CONFLICTS := libbbfdm-mbedtls
VARIANT:=openssl
endef
define Package/libbbfdm-wolfssl
$(Package/libbbfdm/default)
TITLE += (wolfssl)
DEPENDS += +PACKAGE_libbbfdm-wolfssl:libwolfssl
CONFLICTS := libbbfdm-mbedtls libbbfdm-openssl
VARIANT:=wolfssl
endef
define Package/libbbfdm/config
@@ -57,72 +85,81 @@ define Build/Prepare
endef
endif
TARGET_CFLAGS += \
-D_GNU_SOURCE \
-Wall -Werror \
ifeq ($(CONFIG_BBF_TR181),y)
CONFIGURE_ARGS += \
--enable-tr181
endif
CMAKE_OPTIONS += \
-DBBF_TR181=ON
ifeq ($(CONFIG_BBF_TR104),y)
CONFIGURE_ARGS += \
--enable-tr104
CMAKE_OPTIONS += \
-DBBF_TR104=ON
endif
ifeq ($(CONFIG_BBF_TR143),y)
CONFIGURE_ARGS += \
--enable-tr143
endif
ifeq ($(CONFIG_PACKAGE_libopenssl),y)
CONFIGURE_ARGS += \
--enable-libopenssl
CMAKE_OPTIONS += \
-DBBF_TR143=ON
endif
ifeq ($(CONFIG_BBF_VENDOR_EXTENSION),y)
CONFIGURE_ARGS += \
--enable-vendor-extension
CMAKE_OPTIONS += \
-DBBF_VENDOR_EXTENSION=ON
CONFIGURE_ARGS += \
BBF_VENDOR_LIST="$(CONFIG_BBF_VENDOR_LIST)" \
BBF_VENDOR_PREFIX="$(CONFIG_BBF_VENDOR_PREFIX)"
CMAKE_OPTIONS += \
-DBBF_VENDOR_LIST:String="$(CONFIG_BBF_VENDOR_LIST)" \
-DBBF_VENDOR_PREFIX:String="$(CONFIG_BBF_VENDOR_PREFIX)" \
-DBBF_MAX_OBJECT_INSTANCES:Integer=$(CONFIG_BBF_MAX_OBJECT_INSTANCES)
endif ##CONFIG_BBF_VENDOR_EXTENSION
ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y)
CONFIGURE_ARGS += \
--enable-json-plugin
CMAKE_OPTIONS += \
-DBBF_JSON_PLUGIN=ON
endif
ifeq ($(CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN),y)
CONFIGURE_ARGS += \
--enable-shared-library
CMAKE_OPTIONS += \
-DBBF_DOTSO_PLUGIN=ON
endif
ifeq ($(BUILD_VARIANT),openssl)
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
endif
ifeq ($(BUILD_VARIANT),wolfssl)
CMAKE_OPTIONS += -DWITH_WOLFSSL=ON
endif
ifeq ($(BUILD_VARIANT),mbedtls)
CMAKE_OPTIONS += -DWITH_MBEDTLS=ON
endif
define Package/libbbf_api/install
$(INSTALL_DIR) $(1)/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/.libs/libbbf_api.so* $(1)/lib/
endef
define Package/libbbfdm/install
define Package/libbbfdm/default/install
$(INSTALL_DIR) $(1)/lib
$(INSTALL_DIR) $(1)/usr/share/bbfdm
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.so* $(1)/lib/
$(CP) $(PKG_BUILD_DIR)/libbbfdm.so $(1)/lib/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/* $(1)/usr/share/bbfdm
endef
define Package/libbbfdm/prerm
define Package/libbbfdm/default/prerm
#!/bin/sh
rm -rf /etc/bbfdm/dmmap/*
exit 0
endef
Package/libbbfdm-openssl/prerm = $(Package/libbbfdm/default/prerm)
Package/libbbfdm-wolfssl/prerm = $(Package/libbbfdm/default/prerm)
Package/libbbfdm-mbedtls/prerm = $(Package/libbbfdm/default/prerm)
Package/libbbfdm-openssl/install = $(Package/libbbfdm/default/install)
Package/libbbfdm-wolfssl/install = $(Package/libbbfdm/default/install)
Package/libbbfdm-mbedtls/install = $(Package/libbbfdm/default/install)
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/include
@@ -131,9 +168,12 @@ define Build/InstallDev
$(INSTALL_DATA) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/*.h $(1)/usr/include/libbbfdm/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbf_api/*.h $(1)/usr/include/libbbf_api/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.{a,so*} $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/.libs/libbbf_api.{a,so*} $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/libbbfdm.so $(1)/usr/lib/
touch $(1)/usr/lib/libbbf_api.so
endef
$(eval $(call BuildPackage,libbbf_api))
$(eval $(call BuildPackage,libbbfdm))
$(eval $(call BuildPackage,libbbfdm-openssl))
$(eval $(call BuildPackage,libbbfdm-wolfssl))
$(eval $(call BuildPackage,libbbfdm-mbedtls))

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2020 iopsys Software Solutions AB
# Copyright (C) 2022 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,20 +8,25 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bulkdata
PKG_VERSION:=1.0.3
PKG_VERSION:=2.0.3
PKG_SOURCE_VERSION:=b35e7862bc17fc11dc1f757c7b93900995a28633
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bulkdata.git
PKG_SOURCE_VERSION:=85d7486a21a9eb0e0f345b587b3ac506edcb72fe
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=bbf
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
@@ -29,21 +34,24 @@ define Package/$(PKG_NAME)
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=BBF BulkData Collection
DEPENDS:=+libubus +libuci +libubox +libjson-c +libcurl +curl +libblobmsg-json +libbbfdm +libbbf_api
endef
define Package/$(PKG_NAME)/description
BBF BulkData Collection
DEPENDS:=+libubus +libuci +libubox +libjson-c +libcurl +libblobmsg-json
endef
TARGET_CFLAGS += \
-D_GNU_SOURCE
-D_GNU_SOURCE \
-Wall -Werror
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/bulkdata/* $(PKG_BUILD_DIR)/
endef
endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bulkdatad $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/*.so $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbf_plugin/*.so $(1)/usr/lib/bbfdm
$(CP) ./files/* $(1)/
endef

View File

@@ -1,43 +1,6 @@
config bulkdata 'bulkdata'
option enable '0'
#Log levels: Critical=0, Warning=1, Notice=2, Info=3, Debug=4
#Log levels: Error=1, Warning=2, Info=3, Debug=4
option log_level '3'
config profile
option profile_id '1'
option enable '0'
option name ''
option nbre_of_retained_failed_reports '0'
option protocol 'http'
option encoding_type ''
option reporting_interval '86400'
option time_reference '0'
option csv_encoding_field_separator ','
option csv_encoding_row_separator '&#10;'
option csv_encoding_escape_character '&quot;'
option csv_encoding_report_format 'column'
option csv_encoding_row_time_stamp 'unix'
option json_encoding_report_format 'objecthierarchy'
option json_encoding_report_time_stamp 'unix'
option http_url ''
option http_username ''
option http_password ''
option http_compression 'none'
option http_method 'post'
option http_use_date_header '1'
option http_retry_enable '0'
option http_retry_minimum_wait_interval '5'
option http_retry_interval_multiplier '2000'
option http_persist_across_reboot '0'
config profile_parameter
option profile_id '1'
option name ''
option reference ''
config profile_http_request_uri_parameter
option profile_id '1'
option name ''
option reference ''

View File

@@ -1,7 +1,4 @@
#!/bin/sh /etc/rc.common
# Bulkdata Software
# Copyright (C) 2020 iopsys Software Solutions AB
# Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
START=99
STOP=10
@@ -10,13 +7,16 @@ USE_PROCD=1
PROG="/usr/sbin/bulkdatad"
start_service() {
local bulkdata_enable=`uci -q get bulkdata.bulkdata.enable`
if [ "$bulkdata_enable" = "1" ]; then
procd_open_instance
procd_set_param command "$PROG"
procd_set_param respawn "3" "7" "0"
procd_close_instance
fi
local enable=$(uci -q get bulkdata.bulkdata.enable)
[ "$enable" != "1" ] && {
return 0
}
procd_open_instance
procd_set_param command "$PROG"
procd_set_param respawn "3" "7" "0"
procd_close_instance
}
boot() {

View File

@@ -0,0 +1,75 @@
#!/bin/sh
. /lib/functions.sh
PROFILE_COUNT=1
get_next_count()
{
local config="$1"
local default_name="${2}"
local count=${3}
local found=0
if [ -z "$count" ]; then
count=1
fi
while [ "${found}" -ne 1 ]; do
uci -q get ${config}.${default_name}_${count} >/dev/null
if [ $? -eq 0 ]; then
count=$((count + 1))
else
found=1;
fi
done
echo "${default_name}_${count}"
}
translate_profile_id_to_profile_name() {
local section="${1}"
local profile_id="${2}"
local profile_name="${3}"
local curr_profile_id
config_get curr_profile_id "${section}" profile_id
[ -n "${curr_profile_id}" ] || return
[ "${curr_profile_id}" != "${profile_id}" ] && return
uci -q set bulkdata.${section}.profile_name="${profile_name}"
uci -q set bulkdata.${section}.profile_id=""
}
update_profile_sections() {
local section="${1}"
local default="${2}"
local profile_name
config_get profile_id "${section}" profile_id
[ -n "${profile_id}" ] || return
case "${section}" in
"cfg"*)
profile_name="$(get_next_count bulkdata ${default} ${PROFILE_COUNT})"
uci_rename bulkdata "${section}" "${profile_name}"
;;
esac
PROFILE_COUNT=$((PROFILE_COUNT + 1))
[ -n "$profile_name" ] && section="${profile_name}"
uci -q set bulkdata.${section}.profile_id=""
config_foreach translate_profile_id_to_profile_name profile_parameter "${profile_id}" "${profile_name}"
config_foreach translate_profile_id_to_profile_name profile_http_request_uri_parameter "${profile_id}" "${profile_name}"
}
config_load bulkdata
config_foreach update_profile_sections profile profile
uci commit bulkdata
exit 0

View File

@@ -1,40 +0,0 @@
#
# Copyright (C) 2019 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:=crashlog
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/crashlog
CATEGORY:=Utilities
TITLE:=Handling kernel crash logs
endef
define Package/crashlog/description
Handling kernel crash logs.
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./files/* $(PKG_BUILD_DIR)/
endef
define Build/Compile
endef
define Package/crashlog/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,crashlog))

Binary file not shown.

View File

@@ -1,11 +0,0 @@
#!/bin/sh /etc/rc.common
START=01
start()
{
if [ -e /proc/sys/kernel/core_pattern ]
then
echo "|/sbin/logcore %e %s" > /proc/sys/kernel/core_pattern
fi
}

View File

@@ -1,55 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
send_log()
{
nr=$(db get hw.board.serial_number)
hw=$(db get hw.board.model_name)
fam=$(db get hw.board.iopVerFam)
sw=$(db get hw.board.iopVersion)
server=$(/sbin/uci get system.crashlog.server)
while true
do
scp -S /usr/sbin/logssh /proc/last_kmsg log@${server}:log/${fam}_${hw}_${sw}_${nr}
if [ $? == 0 ]
then
break;
fi
# wait for another minute then try again
sleep 60
done
}
fill_in_default()
{
/sbin/uci add system log
/sbin/uci rename system.@log[-1]=crashlog
/sbin/uci set system.crashlog.enable=no
/sbin/uci set system.crashlog.server="crashlog.iopsys.eu"
/sbin/uci commit
}
boot()
{
# is crashlog enabled ?
enable=$(/sbin/uci get system.crashlog.enable)
case $enable in
0|no|NO|false|FALSE)
exit 0
;;
"")
fill_in_default
exit 0
;;
esac
# is this boot a result from a crash ?
reason=$(cat /etc/boot_reason)
case $reason in
HW|WD)
send_log&
;;
esac
}

View File

@@ -1,60 +0,0 @@
#! /bin/sh
TMP_CORE=/tmp/new_core
# first test if we can contact the log server.
# if not abort directly the core file takes up memory
alive()
{
ping -c1 $server
if [ $? != 0 ]
then
# drain core file from kernel
cat >/dev/null
exit 0
fi
}
fill_in_default()
{
/sbin/uci add system log
/sbin/uci rename system.@log[-1]=corelog
/sbin/uci set system.corelog.enable=no
/sbin/uci set system.corelog.server="corelog.iopsys.eu"
/sbin/uci commit
}
# is corelog enabled ?
enable=$(/sbin/uci get system.corelog.enable)
case $enable in
0|no|NO|false|FALSE)
# drain core file from kernel
cat >/dev/null
exit 0
;;
"")
fill_in_default
exit 0
;;
esac
server=$(/sbin/uci get system.corelog.server)
alive
# dump out the core to disk we need this as scp needs a size before we send data
# and this is the only way to know how much data there is
cat >$TMP_CORE
# in case filesystem/memory is full at least kill the core in the kernel memory should give us some
# more memory to work with. normally this would do nothing.
cat >/dev/null
nr=$(db get hw.board.serial_number)
hw=$(db get hw.board.model_name)
fam=$(hw.board.iopVerFam)
sw=$(db get hw.board.iopVersion)
scp -S /usr/sbin/logssh $TMP_CORE log@${server}:log/core_${1}_${2}_${fam}_${hw}_${sw}_${nr}
rm $TMP_CORE

View File

@@ -1,6 +0,0 @@
#!/bin/sh
# we need to have the -y option to dropbear to not halt the scp when
# transfering the log file to a new server for the first time.
# since we already need this also put in the keyfile
ssh -y -i /etc/dropbear/logid $@

View File

@@ -1,42 +0,0 @@
Install scp server.
Create a user account on a server and make sure it's possible to login to it
using ssh.
For now the user has to be called "log"
USER is the user name of the account
HOME is the user home directory.
Both should be changed to the correct value in all following example commands.
create HOME/bin
Put scp_upload in HOME/bin
make it executable "chmod a+x HOME/bin/scp_upload"
create home/.ssh (observer the dot .shh)
create an empty file HOME/.ssh/authorized_keys
-------------------------------
Now everyhting is setup for use but we have not added any clients.
What we need is the public key for the clients.
For dropbear "dropbearkey -y -f files/etc/dropbear/logid" will generate the public key.
----------
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwn9RaDAzxW1dTmIhXgFBnpi1lhj8xhYpCVQiPxxdk9IEmH8zjo4y9j3sPkqKOlRnkwjpZIpLEKBnpQTwVIMCU/AG7nDJX3OH9RfS9mLJQLfFL8HyGCyqDezFWldbyovhJZvdUeK4tAXJWv2W3OVHiz2L8IlncBgP/E9DJElsyhhQHsM96UE6tBkXsvXkoDbMSYXFcLbgiUwBKfmM2BF/aPDL45iznGur7/2j9v95PwJ0gtMu9jjNRq+pXCXhTh3bsnczm0MpZC1aiRc9nJAeGIMmhrf15E4jBKgTnrstzJxGVAdajKeR954KcNsS33cS2Wmui2YjmPbBXjqf1frzJ log@iopsys
----------
The public key should be just one line. Add that line to the
HOME/.ssh/authorized_keys file on the scp server. Then add the follwoing as
the first text on the same line. that is insert before the key data.
command="HOME/bin/scp_upload",no-port-forwarding,no-agent-forwarding,no-X11-forwarding
Do not forget to change HOME to the correct value for the server and there
should be one space separating the key data and the above text.
---------------------------------
Now test to make sure that you can upload new files, not download files
and not overwrite files from the client.

View File

@@ -1,53 +0,0 @@
#! /bin/bash
# authorized_keys command="/home/boxi/my_scp",no-port-forwarding,no-agent-forwarding,no-X11-forwarding
val=`expr match "$SSH_ORIGINAL_COMMAND" "scp"`
if [ $val != 3 ]
then
echo "only scp is allowed for this rsa key"
exit 1
fi
#strip out "scp" as getopts barf on anything not an option
args=${SSH_ORIGINAL_COMMAND:3}
# we must set args to positional paramters otherwise it's next to impossible
# to get to the rest of the line that is not arguments.
set -- $args
while getopts "rftdvpq" Option
do
case $Option in
r ) echo "recursive not allowed";exit 1;;
f ) echo "reading files not allowed";exit 1;;
t ) ;;
d ) ;;
v ) ;;
p ) ;;
q ) ;;
* ) ;; # Default.
esac
done
shift $(($OPTIND - 1))
file="$*"
dir=$(dirname "$file")
if [ "$dir" != "log" ]
then
echo "only allowed to write to log/"
exit 1
fi
# try to create uniq files
EXTRA=$((0))
while [ -e "${file}_${EXTRA}" ]
do
EXTRA=$((EXTRA +1))
done
logger -t scp_upload "${SSH_ORIGINAL_COMMAND}_${EXTRA}"
exec ${SSH_ORIGINAL_COMMAND}_${EXTRA}

View File

@@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dectmngr
PKG_RELEASE:=3
PKG_VERSION:=3.5.1
PKG_VERSION:=3.5.4
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=ef9d4c6124d0ca66f048f3d678d9a25f13aa4207
PKG_SOURCE_VERSION:=54ebb54162fae9fdd6e327e430cf57aa217c176d
PKG_MIRROR_HASH:=skip
endif
@@ -34,7 +34,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
CATEGORY:=Utilities
TITLE:=DECT Manager
DEPENDS:= +libubox +ubus +uci +libxml2
DEPENDS:= +libubox +ubus +uci +libxml2 +libjson-c
endef
define Package/$(PKG_NAME)/description
@@ -53,6 +53,7 @@ endif
TARGET_CFLAGS += \
-Wall \
-Werror \
-I$(STAGING_DIR)/usr/include/libxml2
ifeq ($(CONFIG_ENABLE_LINE_SETTINGS_EXTENSION),y)

View File

@@ -11,6 +11,8 @@ PROG=/usr/sbin/dectmngr
LOG_PATH=/var/log/dectmngr
DB_PATH=/etc/dect
DECT_GPIO=$(db -q get hw.board.dect_gpio)
# Ask dectmngr to exit nicely and wait for it to clean up, which is a slow process.
stop_and_wait_dectmngr() {
pidof $NAME && killall -q $NAME
@@ -30,7 +32,7 @@ start_service() {
test $(db get hw.board.hasDect) = "0" && return
echo 1 > /sys/class/gpio/gpio14/value
[ -n "$DECT_GPIO" ] && echo 1 > /sys/class/gpio/gpio${DECT_GPIO}/value
rfpi=$(db -q get hw.board.dect_rfpi)
[ -n "$rfpi" -a ${#rfpi} -eq 14 ] && opt_ext="$opt_ext -rfpi $rfpi"
@@ -71,7 +73,7 @@ start_service() {
stop_service() {
test $(db get hw.board.hasDect) = "0" && return
echo 0 > /sys/class/gpio/gpio14/value
[ -n "$DECT_GPIO" ] && echo 0 > /sys/class/gpio/gpio${DECT_GPIO}/value
stop_and_wait_dectmngr
}
@@ -86,8 +88,10 @@ service_triggers()
}
boot() {
echo 14 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio14/direction
[ -n "$DECT_GPIO" ] && {
echo ${DECT_GPIO} > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio${DECT_GPIO}/direction
}
[ ! -d $LOG_PATH ] && mkdir -p $LOG_PATH
[ ! -d $DB_PATH ] && mkdir -p $DB_PATH

View File

@@ -28,12 +28,6 @@ include $(INCLUDE_DIR)/package.mk
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

View File

@@ -19,7 +19,7 @@ define Package/easy-qos
SECTION:=net
CATEGORY:=Network
TITLE:=Easy QoS
DEPENDS:=@(TARGET_intel_mips||TARGET_iopsys_brcm63xx_arm)
DEPENDS:=@TARGET_iopsys_brcm63xx_arm
endef
define Package/easy-qos/description
@@ -39,11 +39,7 @@ define Package/easy-qos/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(CP) ./files/etc/config/easy_qos $(1)/etc/config/
ifeq ($(CONFIG_TARGET_intel_mips),y)
$(CP) ./files/etc/init.d/easy_qos.classcfg $(1)/etc/init.d/easy_qos
else
$(CP) ./files/etc/init.d/easy_qos.iptables $(1)/etc/init.d/easy_qos
endif
$(CP) ./files/etc/uci-defaults/* $(1)/etc/uci-defaults/
$(CP) ./files/etc/firewall.easyqos $(1)/etc/firewall.easyqos
endef

View File

@@ -1,301 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
RULE_LIST="/tmp/easy_qos_rule.list"
CLIENT_LIST="/tmp/easy_qos_class_client.list"
BRIDGE_INTF=""
[ -f /etc/profile.d/intel.sh ] && {
. /etc/profile.d/intel.sh
sh /etc/profile.d/intel.sh
}
log() {
echo "${@}"|logger -t easy_qos_class -p debug
}
exec_log() {
${@}
if [ "${?}" -ne 0 ]; then
log "Failed to create ${@}";
fi
}
exec_class_log() {
${@} |grep -i successful
if [ "${?}" -ne 0 ]; then
log "Failed to create ${@}";
return 1
fi
return 0
}
get_priority() {
local prio=$(echo $1|tr 'A-Z' 'a-z');
case "${prio}" in
"lowest")
echo 8;;
"low")
echo 7;;
"besteffort")
echo 6;;
"normal")
echo 5;;
"video")
echo 4;;
"medium")
echo 3;;
"high")
echo 2;;
"highest")
echo 1;;
esac
}
get_mark() {
local prio=$(echo $1|tr 'A-Z' 'a-z');
case "${prio}" in
"lowest")
echo "0x41/0x3df";;
"low")
echo "0x82/0x3df";;
"besteffort")
echo "0xc3/0x3df";;
"normal")
echo "0x104/0x3df";;
"video")
echo "0x145/0x3df";;
"medium")
echo "0x186/0x3df";;
"high")
echo "0x1c7/0x3df";;
"highest")
echo "0x208/0x3df";;
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
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"
}
check_and_create() {
iptables -t mangle -C PREROUTING ${@} 2>/dev/null
# Create rule if not exists
if [ ${?} -ne 0 ]; then
exec_log iptables -t mangle -A PREROUTING ${@}
else
log "Rule exists for ${@}"
fi
}
create_ip_rule() {
local proto=$1; shift
local src_ip=$1; shift
local mark=$1; shift
local ports=$1;
local cmd="";
cmd="-j EXTMARK --set-mark ${mark}";
if [ "${proto}" != "icmp" ]; then
if [ -n "${ports}" ]; then
cmd="--match multiport --dports ${ports} ${cmd}";
fi
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}
}
is_lan_bridge() {
local _section=$1
local _type
local _is_lan
config_get _type "$section" "type"
config_get _is_lan "$section" "is_lan"
if [ "${_type}" == "bridge" -a "${_is_lan}" == "1" ]; then
BRIDGE_INTF="br-${_section}"
fi
}
get_bridge_interface() {
config_load network
config_foreach is_lan_bridge interface
}
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() {
# execute the delete rules written onto a file then delete the file
[ -f ${RULE_LIST} ] || return 0
while read line
do
log "Deleting old classification rules"
exec_class_log classcfg -D ${line} -i ${BRIDGE_INTF}
done <${RULE_LIST}
local rule=$(iptables -t mangle -S PREROUTING|grep -m 1 EXTMARK |sed 's/-A/-D/1')
while [ -n "${rule}" ]; do
exec_log iptables -t mangle ${rule}
rule=$(iptables -t mangle -S PREROUTING|grep -m 1 EXTMARK |sed 's/-A/-D/1')
done
sync
[ -f ${RULE_LIST} ] && rm ${RULE_LIST}
}
# classcfg -M local_dhcp -i lo -p udp --dport 67:67 --dport 68:68 -j mark --mark 1
create_rule() {
local proto=$1; shift
local mac_addr=$1; shift
local mark=$1; shift
local ports=$1;
local cmd="";
# Rule name is uniqe, so we take hash of all the input as rule_name
local rule_name="$(echo ${mac_addr}${proto}${mark}${ports} |md5sum |head -c 30)"
cmd="-j mark --mark ${mark}";
if [ "${mac_addr}" != "none" ]; then
cmd="--smac ${mac_addr} ${cmd}";
fi
if [ "${proto}" != "icmp" ]; then
if [ "${ports}" != "none" ]; then
IFS=","
for port in ${ports};
do
cmd="--dport ${port}:${port} ${cmd}";
done
IFS=' '
fi
fi
if [ "${proto}" != "none" ]; then
cmd="-p ${proto} $cmd"
fi
cmd="-i ${BRIDGE_INTF} $cmd"
cmd="-A ${rule_name} $cmd"
# Store the rule_names for cleanup on reload
exec_class_log classcfg ${cmd}
[ $? -eq 0 ] && \
echo ${rule_name} >> ${RULE_LIST}
}
manage_rule() {
local cfg="$1"
local priority macaddr proto port comment prio_num port_list ip ipmark
validate_rule_section "${1}" || {
log "Validation of section failed"
return 1;
}
prio_num=$(get_priority ${priority})
port_list=$(echo ${port}|sed 's/ /,/g')
ipmark=$(get_mark ${priority})
ip=$(get_ipaddress ${macaddr})
if [ -n "${prio_num}" ]; then
if [ "${proto}" == "none" -o "${proto}" == "tcpudp" ]; then
create_rule tcp ${macaddr} ${prio_num} ${port_list}
create_rule udp ${macaddr} ${prio_num} ${port_list}
if [ -n "${ip}" ]; then
create_ip_rule tcp ${ip} ${ipmark} ${port_list}
create_ip_rule udp ${ip} ${ipmark} ${port_list}
fi
else
create_rule ${proto} ${macaddr} ${prio_num} ${port_list}
if [ -n "${ip}" ]; then
create_ip_rule ${proto} ${ip} ${ipmark} ${port_list}
fi
fi
fi
}
reload_service() {
get_bridge_interface
map_client_entries
clear_existing_rules
config_load easy_qos
config_foreach manage_rule rule
clean_client_entries
}
start_service() {
[ -x /opt/intel/usr/sbin/classcfg ] || exit 0
reload_service
log "Easy QoS class installed"
}
service_triggers() {
procd_add_reload_trigger "easy_qos" "network"
}

View File

@@ -7,13 +7,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-soc-libs
PKG_VERSION:=6.4.40
PKG_VERSION:=6.5.4
PKG_RELEASE:=1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=699744d5ae9e043715c260f9b58bbc18747895f9
PKG_SOURCE_VERSION:=ab15fa17c9b30ac972db62960d4c2b56c73e4b92
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
@@ -32,31 +32,42 @@ define Package/easy-soc-libs
CATEGORY:=Libraries
TITLE:=IOPSYS Easy SoC libraries
SUBMENU:=IOPSYS Easy SoC libraries
DEPENDS:=+libopenssl
MENU:=1
endef
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
TARGET_WIFI_TYPE=BROADCOM
CHIP_ID=$(patsubst "%",%,$(CONFIG_BCM_CHIP_ID))
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_BCM9$(CHIP_ID) \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/userspace/public/include
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM=MEDIATEK
TARGET_CFLAGS +=-DIOPSYS_MEDIATEK
TARGET_WIFI_TYPE=MAC80211
TARGET_CFLAGS +=-DIOPSYS_MAC80211
else ifeq ($(CONFIG_TARGET_iopsys_x86),y)
TARGET_PLATFORM=TEST
TARGET_WIFI_TYPE=TEST
TARGET_CFLAGS +=-DIOPSYS_TEST
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
TARGET_WIFI_TYPE=MAC80211
TARGET_CFLAGS +=-DIOPSYS_MAC80211
endif
export TARGET_PLATFORM
export TARGET_WIFI_TYPE
subdirs := \
$(if $(CONFIG_PACKAGE_libeasy),libeasy) \
@@ -78,6 +89,7 @@ endif
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/openssl \
-I$(STAGING_DIR)/usr/include/libnl3
MAKE_FLAGS += \
@@ -85,6 +97,7 @@ MAKE_FLAGS += \
LDFLAGS="$(TARGET_LDFLAGS)" \
FPIC="$(FPIC)" \
PLATFORM="$(TARGET_PLATFORM)" \
WIFI_TYPE="$(TARGET_WIFI_TYPE)" \
subdirs="$(subdirs)"
ifeq ($(LOCAL_DEV),1)

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,12 +13,12 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/endptmngr.git
PKG_SOURCE_VERSION:=3a71d4124061287783e0d4c763b1b20e925d2133
PKG_SOURCE_VERSION:=7d43e471f0ffc4a54eb2ac35eced4b72fca4dafb
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
PKG_LICENSE:=MIT
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
export BUILD_DIR
@@ -30,7 +30,7 @@ PKG_BUILD_PARALLEL:=1
# indirectly. This ensures that the package is rebuilt on config-changes.
PKG_CONFIG_DEPENDS:=CONFIG_TARGET_BOARD
export CONFIG_BRCM_SDK_VER_504021
export CONFIG_BRCM_SDK_VER_504040
export CONFIG_BCM_CHIP_ID
include $(INCLUDE_DIR)/package.mk
@@ -56,6 +56,10 @@ define Build/Prepare
endef
endif
TARGET_CFLAGS += \
-Wall \
-Werror
define Package/endptmngr/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr/sbin

103
evoice/Makefile Normal file
View File

@@ -0,0 +1,103 @@
#
# Copyright (C) 2022 IOPSYS Software Solutions AB
#
include $(TOPDIR)/rules.mk
PKG_NAME:=evoice
PKG_VERSION:=0.2.8
LOCAL_DEV=0
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:=de96c32a5bd66b9a4dbf40a54a86d31b4c9116c1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
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.
#PKG_CONFIG_DEPENDS:=CONFIG_TARGET_BOARD
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
CATEGORY:=Network
SUBMENU:=Telephony
TITLE:=Ensemble Voice
URL:=
DEPENDS:= +libubox +libubus +libpicoevent +libuci +libstdcpp +libopenssl\
+TARGET_iopsys_brcm63xx_arm:bcmkernel\
+TARGET_iopsys_econet:kmod-voip_driver\
+TARGET_iopsys_econet:voip_app
endef
define Package/$(PKG_NAME)/description
Ensemble Voice. A stand alone SIP VoIP application.
endef
ifeq ($(LOCAL_DEV),1)
# If you want to build the code from your own local repositiory enable
# LOCAL_DEV and set LOCAL_DEV_EVOICE_DIR to your own git repository.
define Build/Prepare
@echo "======================================================="
@echo "DEVELOPMENT BUILD! rsync $(LOCAL_DEV_EVOICE_DIR) to $(PKG_BUILD_DIR)"
@echo "======================================================="
rsync -a $(LOCAL_DEV_EVOICE_DIR)/* $(PKG_BUILD_DIR)/
endef
endif
IDIR = $(STAGING_DIR)/usr/include
TONES_INI_REQUIRED=
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
BDIR = bcm963xx/userspace/private/apps/voice
CC_FLAGS = -I$(IDIR) -I$(IDIR)/$(BDIR)/inc\
-I$(IDIR)/bcm963xx/xchg/bos/publicInc\
-I$(IDIR)/bcm963xx/bcmdrivers/broadcom/include/bcm963xx
TRG=SVrgBcmFxs
else ifeq ($(CONFIG_TARGET_iopsys_econet),y)
TARGET_PLATFORM=ECONET
TONES_INI_REQUIRED=y
TRG=SVrgMtekOwrt
endif
# disable temporarily some not important warnings, force PIC
CC_FLAGS_VS=$(CC_FLAGS) -Wno-unused-parameter -Wno-unused-function -fPIC
export TARGET_PLATFORM
#used and altered by BIDE makefiles
export _XFLAGS
BIDE_MAKE_OPTS = -r -R -C $(PKG_BUILD_DIR) -f _bld/src/cdabs.mk\
SWB=b_gxxqca6 HWA=a_openwrt HWC=c_hosted OSP=p_posix LIF=cerder DBG=dbg
define Build/Compile
@echo "TARGET_PLATFORM=${TARGET_PLATFORM}"
+$(MAKE) $(BIDE_MAKE_OPTS) CC_FLAGS="$(CC_FLAGS)" TRG=$(TRG)
@echo "clean libvoiceservice before building shared lib!"
+$(MAKE) $(BIDE_MAKE_OPTS) CC_FLAGS="$(CC_FLAGS_VS)" TRG=libvoiceservice cleanall
+$(MAKE) $(BIDE_MAKE_OPTS) CC_FLAGS="$(CC_FLAGS_VS)" TRG=libvoiceservice
endef
define Package/evoice/install
$(CP) ./files/* $(1)/
$(if $(TONES_INI_REQUIRED),,$(RM) $(1)/etc/evoice/tones.ini)
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/_bin/a_openwrt/evoice $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/_bin/a_openwrt/libvoiceservice.so $(1)/usr/lib/bbfdm/
endef
$(eval $(call BuildPackage,evoice))

View File

@@ -0,0 +1,345 @@
config SIPClient 'Client1'
option Enable '1'
option RegisterMode 'RFC3261'
option AuthUserName '51234'
option AuthPassword '51234'
option Network 'Network1'
option MaxSessions '5'
option RegisiterURI '51234@sip-proxy.iopsys.eu'
option E164Format '1'
config SIPClient 'Client2'
option Enable '1'
option RegisterMode 'RFC3261'
option AuthUserName '51235'
option AuthPassword '51235'
option Network 'Network1'
option MaxSessions '5'
option RegisiterURI '51235@sip-proxy.iopsys.eu'
option E164Format '1'
config SIPNetwork 'Network1'
option Enable '1'
option ProxyServer 'sip-proxy.iopsys.eu'
option ProxyServerPort '5060'
option ProxyServerTransport 'UDP'
option RegistrarServer 'sip-proxy.iopsys.eu'
option RegistrarServerPort '5060'
option RegistrarServerTransport 'UDP'
option RegistrationPeriod '3240'
option RegisterExpires '3600'
option UserAgentDomain ' '
option TimerRegistrationFailed '120'
option TimerT1 '500'
option VoIPProfile 'VoIPProfile1'
list CodecList '1CodecProfile1'
list CodecList '1CodecProfile2'
list CodecList '1CodecProfile3'
list CodecList '1CodecProfile5'
list CodecList '1CodecProfile4'
config Capabilities 'Capabilities'
option FacilityActions 'CW_ACTIVE,CFU_ACTIVE'
config CapabilitiesCodec 'Codec1'
option Codec 'G.711ALaw'
config CapabilitiesCodec 'Codec2'
option Codec 'G.711MuLaw'
config CapabilitiesCodec 'Codec3'
option Codec 'G.726'
config CapabilitiesCodec 'Codec4'
option Codec 'G.722'
config CapabilitiesCodec 'Codec5'
option Codec 'G.729'
config CodecProfile '1CodecProfile1'
option Enable '1'
option Codec 'Codec1'
option PacketizationPeriod '20'
option SilenceSupression '1'
config CodecProfile '1CodecProfile2'
option Enable '1'
option Codec 'Codec2'
option PacketizationPeriod '20'
option SilenceSupression '1'
config CodecProfile '1CodecProfile3'
option Enable '1'
option Codec 'Codec3'
option PacketizationPeriod '20'
option SilenceSupression '0'
config CodecProfile '1CodecProfile4'
option Enable '1'
option Codec 'Codec4'
option PacketizationPeriod '20'
option SilenceSupression '0'
config CodecProfile '1CodecProfile5'
option Enable '1'
option Codec 'Codec5'
option PacketizationPeriod '20'
option SilenceSupression '0'
config VoIPProfile 'VoIPProfile1'
option Enable '1'
option DTMFMethod 'RFC4733'
option RTP '1RTP'
config RTP '1RTP'
option LocalPortMin '10020'
option LocalPortMax '10039'
option JitterBufferType 'Static'
config FXXPorts 'POTS'
option Region 'US'
config FXSPorts 'FXS1'
option Enable '1'
option DialType 'Tone'
option TransmitGain '0'
option ReceiveGain '0'
option EchoCancellationEnable '1'
config FXSPorts 'FXS2'
option Enable '1'
option DialType 'Tone'
option TransmitGain '0'
option ReceiveGain '0'
option EchoCancellationEnable '1'
config Extension 'Extension1'
option Enable '1'
option ExtensionNumber '10#'
option Provider 'FXS1'
option CallingFeatures 'Set1'
option Name 'Phone 1'
config Extension 'Extension2'
option Enable '1'
option ExtensionNumber '11#'
option Provider 'FXS2'
option CallingFeatures 'Set1'
option Name 'Phone 2'
config Line 'Line1'
option Enable '1'
option Provider 'Client1'
option CallingFeatures 'Set1'
config Line 'Line2'
option Enable '1'
option Provider 'Client2'
option CallingFeatures 'Set2'
config IncomingMap 'IncomingMap1'
option Enable '1'
option Extension 'Extension1'
option Line 'Line1'
config IncomingMap 'IncomingMap2'
option Enable '1'
option Extension 'Extension2'
option Line 'Line2'
config IncomingMap 'IncomingMap3'
option Enable '1'
option Extension 'Extension2'
option Line 'Line1'
config OutgoingMap 'OutgoingMap1'
option Enable '1'
option Extension 'Extension1'
option Line 'Line1'
config OutgoingMap 'OutgoingMap2'
option Enable '1'
option Extension 'Extension2'
option Line 'Line2'
config CallingFeatures 'Set1'
option CallerIDEnable '1'
option CallerIDNameEnable '1'
option CallForwardUnconditionalEnable '0'
option CallForwardUnconditionalNumber ' '
option CallForwardOnBusyEnable '0'
option CallForwardOnBusyNumber ' '
option CallForwardOnNoAnswerEnable '0'
option CallForwardOnNoAnswerRingTimeout '24'
option CallForwardOnNoAnswerNumber ' '
option CallTransferEnable '1'
option MWIEnable '1'
option VMWIEnable '1'
option LineMessagesWaiting '0'
option AnonymousCallRejectionEnable '0'
option AnonymousCallEnable '1'
option DoNotDisturbEnable '1'
option RepeatDialEnable '1'
option VoiceMailEnable '1'
option CallPickUpEnable '1'
option CCBSEnable '1'
option CallWaitingEnable '0'
config CallingFeatures 'Set2'
option CallerIDEnable '1'
option CallerIDNameEnable '1'
option CallForwardUnconditionalEnable '0'
option CallForwardUnconditionalNumber ' '
option CallForwardOnBusyEnable '0'
option CallForwardOnBusyNumber ' '
option CallForwardOnNoAnswerEnable '0'
option CallForwardOnNoAnswerRingTimeout '24'
option CallForwardOnNoAnswerNumber ' '
option CallTransferEnable '1'
option MWIEnable '1'
option VMWIEnable '1'
option LineMessagesWaiting '0'
option AnonymousCallRejectionEnable '0'
option AnonymousCallEnable '1'
option DoNotDisturbEnable '1'
option RepeatDialEnable '1'
option VoiceMailEnable '1'
option CallPickUpEnable '1'
option CCBSEnable '1'
option CallWaitingEnable '1'
config NumberingPlan 'NumberingPlan1'
option MinimumNumberOfDigits '1'
option MaximumNumberOfDigits '15'
option InterDigitTimerStd '2000'
option InterDigitTimerOpen '2000'
option TerminationDigit '#'
config NumberingPlan 'NumberingPlan2'
option MinimumNumberOfDigits '5'
option MaximumNumberOfDigits '15'
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'
config NumberingPlan 'NumberingPlan3'
option MinimumNumberOfDigits '5'
option MaximumNumberOfDigits '15'
option InterDigitTimerStd '2000'
option InterDigitTimerOpen '2000'
option TerminationDigit '#'
list PrefixList '4PrefixInfo1'
config PrefixInfo '3PrefixInfo1'
option Enable '1'
option PrefixRange '*43#'
option PrefixMinNumberOfDigits '4'
option PrefixMaxNumberOfDigits '4'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CW_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo2'
option Enable '1'
option PrefixRange '#43#'
option PrefixMinNumberOfDigits '4'
option PrefixMaxNumberOfDigits '4'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CW_DEACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo3'
option Enable '1'
option PrefixRange '*21*(X+)#'
option PrefixMinNumberOfDigits '9'
option PrefixMaxNumberOfDigits '9'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CFU_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo4'
option Enable '1'
option PrefixRange '#21#'
option PrefixMinNumberOfDigits '4'
option PrefixMaxNumberOfDigits '4'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CFU_DEACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo5'
option Enable '1'
option PrefixRange '*67*(X+)#'
option PrefixMinNumberOfDigits '9'
option PrefixMaxNumberOfDigits '9'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CFB_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo6'
option Enable '1'
option PrefixRange '#67#'
option PrefixMinNumberOfDigits '4'
option PrefixMaxNumberOfDigits '4'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CFB_DEACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo7'
option Enable '1'
option PrefixRange '*61*(X+(*X+)?)#'
option PrefixMinNumberOfDigits '15'
option PrefixMaxNumberOfDigits '15'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CFNR_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo8'
option Enable '1'
option PrefixRange '#61#'
option PrefixMinNumberOfDigits '4'
option PrefixMaxNumberOfDigits '4'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CFNR_DEACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '3PrefixInfo9'
option Enable '1'
option PrefixRange '*31*'
option PrefixMinNumberOfDigits '4'
option PrefixMaxNumberOfDigits '4'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'CA_ACTIVATE'
option FacilityActionArgument ' '
config PrefixInfo '4PrefixInfo1'
option Enable '1'
option PrefixRange '110|112'
option PrefixMinNumberOfDigits '7'
option PrefixMaxNumberOfDigits '7'
option NumberOfDigitsToRemove '0'
option PosOfDigitsToRemove '0'
option FacilityAction 'X_IOPSYS_EU_EMERGENCY'
option FacilityActionArgument ' '
config DialPlan 'X_IOPSYS_EU_InternalNumber1'
option RegExp '1X#'

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,167 @@
# RO (Main)
config account 'map_board'
option HW_Has_Voice 'hw.board.hasVoice'
option HW_Has_DECT 'hw.board.hasDect'
option HW_Nr_Of_POTS_Ports 'hw.board.VoicePorts'
option HW_VoiceDSP 'hw.board.VoiceDSP'
option ProductID 'device.deviceinfo.ModelName'
option I3_VERSION 'device.deviceinfo.SoftwareVersion'
option SerialNumber 'device.deviceinfo.SerialNumber'
config account 'map_pots'
option Country 'voice.POTS.Region'
# Voice Service navigation paths
# Not used to initialize internal configuration
config navigation 'map_vs'
option Account 'voice.Client@.'
option Network 'voice.Client@.Network'
option VoIPProfile 'voice.Network@.VoIPProfile'
option CfAccount 'voice.Line@.CallingFeatures'
option CfPhone 'voice.Extension@.CallingFeatures'
option CodecList 'voice.Network@.CodecList'
option Codec 'voice.Codec@.Codec'
option OutgoingMapEnabled 'voice.OutgoingMap@.Enable'
option From_Phone 'voice.OutgoingMap@.Extension'
option Extension 'voice.Extension@.Provider'
option To_Account 'voice.OutgoingMap@.Line'
option Line 'voice.Line@.Provider'
option LineEnable 'voice.Line@.Enable'
option LineProvider 'voice.Line@.Provider'
option IncomingMapEnabled 'voice.IncomingMap@.Enable'
option From_Account 'voice.IncomingMap@.Line'
option To_Phone 'voice.IncomingMap@.Extension'
option ExtensionEnable 'voice.Extension@.Enable'
option ExtensionProvider 'voice.Extension@.Provider'
# Registration for account A-Z is associate with SIP.Clienti.Enable
# All parameters in this table are written to internal configuration
config account 'map_account'
option Registration 'voice.Client@.Enable'
option Display_Name ''
option PhoneNumber 'voice.Client@.RegisiterURI'
option Username 'voice.Client@.AuthUserName'
option Password 'voice.Client@.AuthPassword'
option SIP_Telephone_Syntax 'voice.Client@.E164Format'
option Device_Description 'voice.Client@.UserAgent'
# Network stuff associated with an account.
# All parameters in this table are written to internal configuration
config network 'map_net'
option Enable 'voice.Network@.Enable'
option Registration_Server 'voice.Network@.RegistrarServer'
option Outbound_Proxy 'voice.Network@.ProxyServer'
option SIP_Port 'voice.Network@.RegistrarServerPort'
option SIP_Transport 'voice.Network@.RegistrarServerTransport'
option RegistrationPeriod 'voice.Network@.RegistrationPeriod'
option Registration_Interval 'voice.Network@.RegisterExpires'
option Reg_Failure_Interval 'voice.Network@.TimerRegistrationFailed'
option T1 'voice.Network@.TimerT1'
option UserAgentDomain 'voice.Network@.UserAgentDomain'
config VoIPProfile 'map_voip'
option Enable 'voice.VoIPProfile@.Enable'
option DTMF_Method 'voice.VoIPProfile@.DTMFMethod'
option RTP 'voice.VoIPProfile@.RTP'
config RTP 'map_rtp'
option RTP_Port_Base 'voice.@RTP@.LocalPortMin'
option RTP_Port_End 'voice.@RTP@.LocalPortMax'
config codecs 'map_codec'
option Codec 'voice.CodecProfile@.Codec'
option enable 'voice.CodecProfile@.Enable'
option ptime 'voice.CodecProfile@.PacketizationPeriod'
option dtx 'voice.CodecProfile@.SilenceSupression'
config extensioninfo 'map_ext'
option Enable 'voice.Extension@.Enable'
option Internal_Number_Phone 'voice.Extension@.ExtensionNumber'
option Display_Name_Phone 'voice.Extension@.Name'
config capabilities 'map_capa'
option Call_Waiting_Enable 'voice.Capabilities@FacilityActions'
option Enable_Call_Diversion 'voice.Capabilities@FacilityActions'
config cs_account 'map_set'
option BusyCallWait 'voice.Set@.CallWaitingEnable'
option AlwaysDivert 'voice.Set@.CallForwardUnconditionalEnable'
option CFU_Number 'voice.Set@.CallForwardUnconditionalNumber'
option BusyDivert 'voice.Set@.CallForwardOnBusyEnable'
option CFB_Number 'voice.Set@.CallForwardOnBusyNumber'
option NoAnswDivert 'voice.Set@.CallForwardOnNoAnswerEnable'
option CFNR_Number 'voice.Set@.CallForwardOnNoAnswerNumber'
option CFNR_Timeout 'voice.Set@.CallForwardOnNoAnswerRingTimeout'
option Enable_Call_Transfer 'voice.Set@.CallTransferEnable'
option AnonymousReject 'voice.Set@.AnonymousCallRejectionEnable'
option AllowAnonymousConf 'voice.Set@.AnonymousCallEnable'
option CallerIDEnable 'voice.Set@.CallerIDEnable'
config cs_xvendor 'map_np_cs'
option np_sc_actCW 'voice.X_IOPSYS_EU_NpSc@.CW_ACT'
option np_sc_actCW_output 'voice.X_IOPSYS_EU_NpSc@.CW_OUT'
option np_sc_deactCW 'voice.X_IOPSYS_EU_NpSc@.CW_DEACT'
option np_sc_isactCW 'voice.X_IOPSYS_EU_NpSc@.CW_ISACT'
option np_sc_actCFU 'voice.X_IOPSYS_EU_NpSc@.CFU_ACT'
option np_sc_actCFU_output 'voice.X_IOPSYS_EU_NpSc@.CFU_OUT'
option np_sc_deactCFU 'voice.X_IOPSYS_EU_NpSc@.CFU_DEACT'
option np_sc_actCFB 'voice.X_IOPSYS_EU_NpSc@.CFB_ACT'
option np_sc_actCFB_output 'voice.X_IOPSYS_EU_NpSc@.CFB_OUT'
option np_sc_deactCFB 'voice.X_IOPSYS_EU_NpSc@.CFB_DEACT'
option np_sc_actCFNR 'voice.X_IOPSYS_EU_NpSc@.CFNR_ACT'
option np_sc_actCFNR_output 'voice.X_IOPSYS_EU_NpSc@.CFNR_OUT'
option np_sc_deactCFNR 'voice.X_IOPSYS_EU_NpSc@.CFNR_DEACT'
option np_sc_actRA 'voice.X_IOPSYS_EU_NpSc@.RA_ACT'
option np_sc_deactRA 'voice.X_IOPSYS_EU_NpSc@.RA_DEACT'
option np_sc_actAC 'voice.X_IOPSYS_EU_NpSc@.AC_ACT'
option np_sc_deactAC 'voice.X_IOPSYS_EU_NpSc@.AC_DEACT'
option np_sc_actAA 'voice.X_IOPSYS_EU_NpSc@.AA_ACT'
option np_sc_deactAA 'voice.X_IOPSYS_EU_NpSc@.AA_DEACT'
option np_sc_actAD 'voice.X_IOPSYS_EU_NpSc@.AD_ACT'
option np_sc_actAD_output 'voice.X_IOPSYS_EU_NpSc@.AD_OUT'
option np_sc_deactAD 'voice.X_IOPSYS_EU_NpSc@.AD_DEACT'
option np_sc_actMWSplash 'voice.X_IOPSYS_EU_NpSc@.MWI_SPLASH_ACT'
option np_sc_deactMWSplash 'voice.X_IOPSYS_EU_NpSc@.MWI_SPLASH_DEACT'
option np_sc_actMWTone 'voice.X_IOPSYS_EU_NpSc@.MWI_TONE_ACT'
option np_sc_deactMWTone 'voice.X_IOPSYS_EU_NpSc@.MWI_TONE_DEACT'
option np_sc_redial 'voice.X_IOPSYS_EU_NpSc@.REDIAL'
option np_sc_setMiscConf 'voice.X_IOPSYS_EU_NpSc@.SET_MISC'
config cc_xvendor 'map_np_in'
option np_in_limitExp 'voice.X_IOPSYS_EU_InternalNumber@.RegExp'
config cc_xvendor 'map_np_sh'
option sh_no_str 'voice.X_IOPSYS_EU_ShortNumber@.RegExp'
config cc_xvendor 'map_np_eme'
option np_eme 'voice.X_IOPSYS_EU_EmergencyNumber@.RegExp'
option np_eme_out 'voice.X_IOPSYS_EU_EmergencyNumber@.OutStr'
config cc_xvendor 'map_np_rn'
option np_rn 'voice.X_IOPSYS_EU_RegularNumber@.RegExp'
option np_rn_out 'voice.X_IOPSYS_EU_RegularNumber@.OutStr'
option np_rn_account 'voice.X_IOPSYS_EU_RegularNumber@.AccStr'
config cc_xvendor 'map_np_bn'
option np_bn 'voice.X_IOPSYS_EU_BarredNumber@.RegExp'
option np_bn_out 'voice.X_IOPSYS_EU_BarredNumber@.OutStr'
config TR104NumberingPlan 'map_np_tr'
option min_digits 'voice.NumberingPlan@.MinimumNumberOfDigits'
option max_digits 'voice.NumberingPlan@.MaximumNumberOfDigits'
option tmo_std 'voice.NumberingPlan@.InterDigitTimerStd'
option tmo_open 'voice.NumberingPlan@.InterDigitTimerOpen'
option term_digit 'voice.NumberingPlan@.TerminationDigit'
option prefix_list 'voice.NumberingPlan@.PrefixList'
config TR104NumberingPlanPrefix 'map_np_pf'
option enable 'voice.@PrefixInfo@.Enable'
option range 'voice.@PrefixInfo@.PrefixRange'
option prefix_min_digits 'voice.@PrefixInfo@.PrefixMinNumberOfDigits'
option prefix_max_digits 'voice.@PrefixInfo@.PrefixMaxNumberOfDigits'
option remove_digits 'voice.@PrefixInfo@.NumberOfDigitsToRemove'
option remove_pos 'voice.@PrefixInfo@.NumberOfDigitsToRemove'
option facility_act 'voice.@PrefixInfo@.FacilityAction'
option facility_arg 'voice.@PrefixInfo@.FacilityActionArgument'

View File

@@ -0,0 +1,57 @@
config static_prm 'defaults'
option Print_Control '4'
option Print_UDP_Addr '192.168.1.3'
option Print_UDP_Port '60000'
option Verbosity 'On'
option Failure_Log 'On'
option Message_Log 'On'
option Method_Trace 'Off'
option Dial_Cache_Size '0'
option Reverse_Fax_Detection '0'
option DSP_24 '0'
option DSP_36 '0'
option DSP_43 '0'
option Swap_Name_Nr_CID '0'
option R_Button_Lower_Lim '100'
option R_Button_Upper_Lim '800'
option HookOn_Delay '0'
option SupportLDD '0'
option LDD_Min_Break_Time '41'
option LDD_Max_Break_Time '94'
option LDD_Percent_Break '55'
option Tone_On_Hangup '1'
option BusyTone_On_Hangup '1'
option Enable_Analouge_Conf '0'
option SIP_SessTmrEnable '0'
option PrackUsage '1'
option SIP_SupportedPath '0'
option IMS_Access_Network_Info ' '
option SIP_Reason_Protocol '0'
option SIP_Body_QOST '0'
option SIP_HistoryInfo '0'
option Customer_Spec2 '1'
option UTF8_Enable '0'
option RFC3325 '0'
option Accept_From_Registered '0'
option Polarity_Reversal '0'
option Closed_Dial_Plan '0'
option Netw_Dial '0'
option No_Answer_Tmo '180'
option UPnP_Enabled '0'
option NAT_Address ' '
option NAT_Address_From_SIP '0'
option HookOn_Transfer '0'
option Enable_Call_Transfer '1'
option CallerIDEnable '1'
option Multiparty_Transp '0'
option Presence_Indication '0'
option Login_Note ' '
option Login_Description ' '
option Logout_Note ' '
option Logout_Description ' '
option Resolve_Every_Transaction '2'
option Translate_Plus '1'
option Mid_Call_Services '0'
option Account_Restriction '0'
option Answering_Machine_Enable '0'

26
evoice/files/etc/init.d/evoice Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/sh /etc/rc.common
START=68
STOP=12
USE_PROCD=1
NAME=evoice
VOICE_UCI_CONFIG=voice
start_service() {
[ "$(db -q get hw.board.hasVoice)" = "1" ] || return
procd_open_instance
procd_set_param command $NAME
procd_set_param respawn "5" "0" "3"
procd_close_instance
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger $VOICE_UCI_CONFIG
}

View File

@@ -12,7 +12,7 @@ PKG_VERSION:=1.0
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/fdtextract.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=7e013f0afa68378d38a6bdc9b0c5a342bd3dd0a5
PKG_SOURCE_VERSION:=0ebaf1e7d1f09318ae75d0f475a25280742b790e
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPLv2
@@ -38,9 +38,6 @@ define Package/$(PKG_NAME)/description
Command to extract sub images from FIT images.
endef
MAKE_FLAGS += \
CFLAGS+="-Wall"
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/sbin

View File

@@ -44,13 +44,17 @@ MODULE_INCLUDE=-I$(PKG_BUILD_DIR)
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
LINUX_DIR:=$(BUILD_DIR)/bcmkernel/bcm963xx/kernel/linux-4.19
MODULES_SUBDIR:=lib/modules/4.19.183
TARGET_CROSS:=$(CONFIG_BCM_TOOLCHAIN)/bin/$(CONFIG_BCM_TOOLTUPLE)
MODULES_SUBDIR:=lib/modules/4.19.225
TARGET_CROSS:=$(CONFIG_BRCM_ALT_TOOLCHAIN_BASE)/$(CONFIG_BRCM_ALT_ARM_TOOLCHAIN_TOPDIR)/bin/$(CONFIG_BRCM_ALT_ARM_TOOLCHAIN_PREFIX)-
ifeq ($(CONFIG_BCM_CHIP_ID),$(filter $(CONFIG_BCM_CHIP_ID),"63158" "6856" "6858"))
# These targets use a 64-bit kernel
LINUX_KARCH:=arm64
TARGET_CROSS:=/opt/toolchains/crosstools-aarch64-gcc-9.2-linux-4.19-glibc-2.30-binutils-2.32/bin/aarch64-buildroot-linux-gnu-
TARGET_CROSS:=$(CONFIG_BRCM_ALT_TOOLCHAIN_BASE)/$(CONFIG_BRCM_ALT_AARCH64_TOOLCHAIN_TOPDIR)/bin/$(CONFIG_BRCM_ALT_AARCH64_TOOLCHAIN_PREFIX)-
else ifeq ($(CONFIG_BCM_CHIP_ID),$(filter $(CONFIG_BCM_CHIP_ID),"6855" "6756" "47622" "63148" "63178"))
# These targets use a 32-bit arm-sfp kernel
LINUX_KARCH:=arm
TARGET_CROSS:=$(CONFIG_BRCM_ALT_TOOLCHAIN_BASE)/$(CONFIG_BRCM_ALT_ARMSFP_TOOLCHAIN_TOPDIR)/bin/$(CONFIG_BRCM_ALT_ARMSFP_TOOLCHAIN_PREFIX)-
endif
# For some reason, Broadcom's kernel does not set the include paths correctly when compiling out-of-tree modules
EXTRA_KCPPFLAGS:="-I $(LINUX_DIR)/../bcmkernel/include -I $(LINUX_DIR)/arch/arm/mach-bcm963xx/include"

View File

@@ -1,24 +1,14 @@
if PACKAGE_icwmp
menu "Configuration"
choice
prompt "Select ACS sever"
default CWMP_ACS_MULTI
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 "HDM"
bool "Select HDM as ACS server"
endchoice
config CWMP_DEBUG
bool "Compile with debug options"
default y
config CWMP_DEVEL_DEBUG
bool "Compile with development debug options"
default n
endmenu
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2020 iopsys Software Solutions AB
# Copyright (C) 2020-2022 IOPSYS Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,56 +8,86 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=8.2.27
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_VERSION:=8.4.22
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=da88c8c28656b2db54ab205d26faccda68546c05
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_VERSION:=4d59758b7ba2a6d7710a86df3b52c765f2c68de5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
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
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
define Package/icwmp/default
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=CWMP client
DEPENDS:=+libuci +libmicroxml +libubox +jshn +libubus +libblobmsg-json +libpthread +ubusd +shflags +getopt +zlib +libjson-c +libopenssl +curl +libcurl
TITLE:=TR069 CWMP client
DEPENDS:=+libuci +libubox +libblobmsg-json +libubus +libjson-c +libcurl +mxml
endef
define Package/$(PKG_NAME)/description
A free client implementation of CWMP (TR-069) protocol
endef
define Package/$(PKG_NAME)/config
define Package/icwmp/config
source "$(SOURCE)/Config_cwmp.in"
endef
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
ifneq ($(USE_LOCAL),)
define Build/Prepare
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
endif
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)
DEPENDS += +PACKAGE_icwmp-openssl:libopenssl
VARIANT:=openssl
endef
define Package/icwmp-wolfssl
$(Package/icwmp/default)
TITLE += (wolfssl)
DEPENDS += +PACKAGE_icwmp-wolfssl:libwolfssl
CONFLICTS := icwmp-openssl
VARIANT:=wolfssl
endef
define Package/icwmp-mbedtls
$(Package/icwmp/default)
TITLE += (mbedtls)
DEPENDS += +PACKAGE_icwmp-mbedtls:libmbedtls
CONFLICTS := icwmp-openssl icwmp-wolfssl
VARIANT:=mbedtls
DEFAULT_VARIANT:=1
endef
ifeq ($(BUILD_VARIANT),openssl)
CONFIGURE_ARGS += --enable-libopenssl
endif
ifeq ($(BUILD_VARIANT),wolfssl)
CONFIGURE_ARGS += --enable-libwolfssl
endif
ifeq ($(BUILD_VARIANT),mbedtls)
CONFIGURE_ARGS += --enable-libmbedtls
endif
ifeq ($(CONFIG_CWMP_ACS_MULTI),y)
CONFIGURE_ARGS += \
--enable-acs=multi
@@ -68,32 +98,37 @@ CONFIGURE_ARGS += \
--enable-acs=hdm
endif
ifeq ($(CONFIG_CWMP_DEBUG),y)
CONFIGURE_ARGS += \
--enable-debug
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
ifneq ($(USE_LOCAL),)
define Build/Prepare
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
endif
ifeq ($(CONFIG_CWMP_DEVEL_DEBUG),y)
CONFIGURE_ARGS += \
--enable-devel
endif
define Package/$(PKG_NAME)/install
define Package/icwmp/default/install
$(INSTALL_DIR) $(1)/etc/icwmpd
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmpd $(1)/usr/sbin/icwmpd
$(INSTALL_DIR) $(1)/etc/bbfdm/json/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/icwmpd $(1)/usr/sbin/icwmpd
$(INSTALL_DATA) ./files/etc/config/cwmp $(1)/etc/config/cwmp
$(INSTALL_BIN) ./files/etc/firewall.cwmp $(1)/etc/firewall.cwmp
$(INSTALL_BIN) ./files/etc/init.d/icwmpd $(1)/etc/init.d/icwmpd
$(INSTALL_BIN) ./files/etc/uci-defaults/85-cwmp-set-userid $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/90-cwmpfirewall $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/95-icwmp-generate-ssl $(1)/etc/uci-defaults/
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/icwmp $(1)/lib/upgrade/keep.d/icwmp
$(INSTALL_BIN) ./files/etc/icwmpd/update.sh $(1)/etc/icwmpd/update.sh
$(INSTALL_DATA) ./files/etc/bbfdm/json/CWMPManagementServer.json $(1)/etc/bbfdm/json/
endef
$(eval $(call BuildPackage,$(PKG_NAME)))
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

@@ -0,0 +1,36 @@
{
"json_plugin_version": 1,
"Device.CWMPManagementServer.": {
"type": "object",
"version": "2.15",
"protocols": [
"usp"
],
"access": false,
"array": false,
"dependency": "file:/etc/config/cwmp",
"EnableCWMP": {
"type": "boolean",
"version": "2.15",
"read": true,
"write": true,
"protocols": [
"usp"
],
"mapping": [
{
"type": "uci",
"uci": {
"file": "cwmp",
"section": {
"name": "cpe"
},
"option": {
"name": "enable"
}
}
}
]
}
}
}

View File

@@ -11,15 +11,14 @@ config acs 'acs'
option retry_min_wait_interval '5'
#­ possible configs interval :[1000:65535]
option retry_interval_multiplier '2000'
option https_ssl_capath ''
option ipv6_enable '0'
option ip_version '4'
config cpe 'cpe'
option interface 'eth0.1'
option enable '1'
option default_wan_interface 'wan'
option log_to_console 'disable'
option log_to_file 'enable'
option log_to_file 'disable'
# log_severity: INFO (Default)
# log_severity possible configs: EMERG, ALERT, CRITIC ,ERROR, WARNING, NOTICE, INFO, DEBUG
option log_severity 'INFO'

View File

@@ -6,7 +6,6 @@ log() {
}
if [ ! -f "/var/state/cwmp" ]; then
touch "/var/state/cwmp"
exit 0;
fi

View File

@@ -1,17 +1,29 @@
#!/bin/sh
log() {
echo $@ |logger -t cwmp.update -p info
echo "$@" |logger -t cwmp.update -p info
}
handle_icwmp_update() {
local defwan=$(uci -q get cwmp.cpe.default_wan_interface)
local vendorspecinf=`ifstatus ${defwan} | jsonfilter -e "@.data.vendorspecinf"`
local defwan vendorspecinf update
local bootup_start
log "Handling dhcp option value ${vendorspecinf}"
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=""
local old_url="$(uci -q get cwmp.acs.dhcp_url)"
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://*)
@@ -21,7 +33,16 @@ handle_icwmp_update() {
for optval in $vendorspecinf; do
case $optval in
1=*)
url="$(echo $optval | cut -d"=" -f2-)"
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
@@ -29,15 +50,57 @@ handle_icwmp_update() {
esac
if [ -n "$url" ]; then
log "## icwmp url[${old_url}] changed to [${url}]"
if [ "${url}" != "${old_url}" ]; then
log "Restarting icwmp url[${old_url}] changed to [${url}]"
log "## icwmp url[${old_url}] changed to [${url}]"
uci -q set cwmp.acs.dhcp_url="$url"
uci commit cwmp
ubus call uci commit '{"config":"cwmp"}'
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
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
fi
fi
}
handle_icwmp_update
handle_icwmp_update $@

View File

@@ -1,20 +1,48 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2015-2019 iopsys Software Solutions AB
. /lib/functions.sh
include /lib/network
. /usr/share/libubox/jshn.sh
START=99
STOP=2
STOP=00
USE_PROCD=1
PROG="/usr/sbin/icwmpd"
. /lib/functions.sh
. /usr/share/libubox/jshn.sh
include /lib/network
log() {
echo "${@}"|logger -t cwmp.init -p info
}
regenerate_ssl_link()
{
local cert_dir all_file rehash
cert_dir="${1}"
[ ! -d "${cert_dir}" ] && return 0;
### Generate all ssl link for pem certicates ###
all_file=$(ls $cert_dir/*.pem 2>/dev/null)
if [ -n "${all_file}" ]; then
for cfile in $all_file; do
rehash="$(openssl x509 -hash -noout -in $cfile)"
[ -f ${cert_dir}/${rehash}.0 ] || \
ln -s $cfile $cert_dir/${rehash}.0
done
fi
### Generate all ssl link for crt certicates ###
all_file=$(ls $cert_dir/*.crt 2>/dev/null)
if [ -n "${all_file}" ]; then
for cfile in $all_file; do
rehash="$(openssl x509 -hash -noout -in $cfile)"
[ -f ${cert_dir}/${rehash}.0 ] || \
ln -s $cfile $cert_dir/${rehash}.0
done
fi
}
enable_dhcp_option43() {
local wan="${1}"
@@ -36,7 +64,7 @@ enable_dhcp_option43() {
fi
newreqopts="$reqopts 43"
if [ $proto == "dhcp" ]; then
if [ "${proto}" == "dhcp" ]; then
uci -q set network.$wan.reqopts="$newreqopts"
uci commit network
ubus call network reload
@@ -50,65 +78,47 @@ wait_for_resolvfile() {
local resolvfile="$(uci -q get dhcp.@dnsmasq[0].resolvfile)"
[ -n "$resolvfile" ] || return
while [ ! -f $resolvfile ]; do
while [ ! -f "$resolvfile" ]; do
sleep 1
[ $tm -ge $time ] && break
[ "$tm" -ge "$time" ] && break
tm=$((tm+1))
done
}
set_wan_interface() {
local wan_interface="${1}"
local l3_device=""
if [ -z "${wan_interface}" ]; then
return 0;
fi
json_load "$(ifstatus ${wan_interface})"
json_get_var l3_device l3_device
if [ -n "$l3_device" ]; then
uci -q set cwmp.cpe.interface="${l3_device}"
uci -q commit cwmp
fi
}
copy_cwmp_etc_files_to_varstate() {
if [ ! -f /var/state/cwmp ]
then
if [ -f /etc/icwmpd/cwmp ]
then
uci -q -c /etc/icwmpd delete cwmp.acs
uci -q -c /etc/icwmpd commit cwmp
cp /etc/icwmpd/cwmp /var/state/cwmp
else
touch /var/state/cwmp
fi
mkdir -p /var/run/icwmpd
if [ -f /etc/icwmpd/cwmp ]; then
uci -q -c /etc/icwmpd delete cwmp.acs
uci -q -c /etc/icwmpd commit cwmp
cp -f /etc/icwmpd/cwmp /var/state/cwmp
fi
mkdir -p /var/run/icwmpd
if [ -f /etc/icwmpd/icwmpd_backup_session.xml ]
then
mv /etc/icwmpd/icwmpd_backup_session.xml /var/run/icwmpd 2>/dev/null
if [ -f /etc/icwmpd/icwmpd_backup_session.xml ]; then
cp -f /etc/icwmpd/icwmpd_backup_session.xml /var/run/icwmpd/ 2>/dev/null
fi
if [ -f /etc/icwmpd/dm_enabled_notify.xml ]
then
mv /etc/icwmpd/dm_enabled_notify /var/run/icwmpd 2>/dev/null
if [ -f /etc/icwmpd/dm_enabled_notify.xml ]; then
cp -f /etc/icwmpd/dm_enabled_notify /var/run/icwmpd/ 2>/dev/null
fi
}
copy_cwmp_varstate_files_to_etc() {
if [ -f /var/state/cwmp ]
then
cp /var/state/cwmp /etc/icwmpd 2>/dev/null
if [ -f /var/run/icwmpd/icwmpd_backup_session.xml ]; then
cp -f /var/run/icwmpd/icwmpd_backup_session.xml /etc/icwmpd/ 2>/dev/null
fi
if [ -f /var/run/icwmpd/icwmpd_backup_session.xml ]
then
cp /var/run/icwmpd/icwmpd_backup_session.xml /etc/icwmpd 2>/dev/null
if [ -f /var/run/icwmpd/dm_enabled_notify.xml ]; then
cp -f /var/run/icwmpd/dm_enabled_notify /etc/icwmpd/ 2>/dev/null
fi
if [ -f /var/run/icwmpd/dm_enabled_notify.xml ]
then
cp /var/run/icwmpd/dm_enabled_notify /etc/icwmpd 2>/dev/null
if [ -f /var/state/cwmp ]; then
cp -f /var/state/cwmp /etc/icwmpd/
fi
# move the successful custom notify import marker to persistent storage
if [ -f /var/run/icwmpd/icwmpd_notify_import_marker ]; then
cp -f /var/run/icwmpd/icwmpd_notify_import_marker /etc/icwmpd/
fi
}
@@ -120,12 +130,13 @@ validate_acs_section()
'periodic_inform_interval:uinteger' \
'periodic_inform_time:string' \
'url:string' \
'dhcp_discovery:string' \
'dhcp_url:string' \
'compression:or("GZIP","Deflate","Disabled")' \
'retry_min_wait_interval:range(1, 65535)' \
'retry_interval_multiplier:range(1000, 65535)' \
'https_ssl_capath:file' \
'ipv6_enable:bool'
'ipv6_enable:bool' \
'ssl_capath:string'
}
@@ -154,6 +165,7 @@ validate_cpe_section()
}
validate_defaults() {
local ssl_capath
config_load cwmp
validate_acs_section || {
@@ -161,96 +173,92 @@ validate_defaults() {
return 1;
}
[ -z "${url}" -a -z "${dhcp_url}" ] && {
log "ACS url is empty can't start"
return 1;
}
# Put the cert pem file in keep list
if [ -d "${ssl_capath}" ]; then
if ! grep "${ssl_capath}" /lib/upgrade/keep.d/icwmp; then
echo "${ssl_capath}"'/*.pem' >> /lib/upgrade/keep.d/icwmp
fi
fi
validate_cpe_section || {
log "Validation of cpe section failed"
return 1;
}
[ -z "${default_wan_interface}" ] && {
log "Wan interface is empty"
return 1;
}
return 0;
}
boot() {
local dhcp_url=""
local discovery="1"
local dhcp_discovery="0"
config_load cwmp
config_get_bool dhcp_discovery acs dhcp_discovery 1
config_get dhcp_url acs dhcp_url ""
config_get dhcp_discovery acs dhcp_discovery "0"
if [ "${dhcp_discovery}" == "enable" -o "${dhcp_discovery}" == "1" ]; then
if [ -z "${dhcp_url}" ]; then
log "dhcp discovery enabled but no dhcp url, trigger update"
/etc/icwmpd/update.sh
fi
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 ssl_capath acs ssl_capath
if [ -n "${ssl_capath}" ]; then
regenerate_ssl_link "${ssl_capath}"
fi
start
}
start_service() {
local enable_cwmp
local wan_interface
local dhcp_discovery
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
config_get dhcp_discovery acs dhcp_discovery
config_get wan_interface cpe default_wan_interface "wan"
if [ "$enable_cwmp" = "0" -o "$enable_cwmp" = "false" ]; then
if [ "$enable_cwmp" = "0" ] || [ "$enable_cwmp" = "false" ]; then
log "CWMP is not enabled"
return 0
fi
# Set wan interface if not configured
set_wan_interface "${wan_interface}"
# Set dhcp option 43 if dhcp discovery enabled
if [ "${dhcp_discovery}" == "enable" -o "${dhcp_discovery}" == "1" ]; then
enable_dhcp_option43 "${wan_interface}"
fi
[ -f /sbin/netifd ] && log "Waiting for Network to be started ..." && ubus -t 5 wait_for network.interface
[ -f /usr/sbin/dnsmasq ] && log "Waiting for DNS Proxy to be started ..." && ubus -t 5 wait_for dnsmasq
[ -f /etc/config/dhcp ] && log "Waiting for DNS Server(s) ..." && wait_for_resolvfile 20
# Copy backup data so that if it restart latter on it gets the info
copy_cwmp_etc_files_to_varstate
validate_defaults || {
log "Validation of defaults failed"
return 1;
}
# Copy backup data so that if it restart latter on it gets the info
copy_cwmp_etc_files_to_varstate
procd_open_instance icwmp
procd_set_param command "$PROG"
procd_append_param command -b
procd_set_param respawn \
${respawn_threshold:-5} \
${respawn_timeout:-10} ${respawn_retry:-3}
"${respawn_threshold:-5}" \
"${respawn_timeout:-10}" "${respawn_retry:-3}"
procd_set_param watch network.interface
procd_close_instance
}
stop_service()
service_stopped()
{
copy_cwmp_varstate_files_to_etc
}
reload_service() {
log "Restarting CWMP client"
stop
start
log "Reloading CWMP client"
ubus -t 1 call tr069 command '{"command":"reload"}'
if [ "$?" -ne "0" ]; then
log "Restarting CWMP client"
stop
start
fi
}
service_triggers() {

View File

@@ -1,18 +0,0 @@
#!/bin/sh
. /lib/functions.sh
regenerate_ssl_link(){
[ ! -d "/etc/ssl/certs" ] && return 0;
[ ! -f "/etc/ssl/certs/*.pem" ] && return 0;
local cert_dir="/etc/ssl/certs"
local all_file=$(ls $cert_dir/*.pem)
for cfile in $all_file
do
ln -s $cfile $cert_dir/$(openssl x509 -hash -noout -in $cfile).0
done
}
regenerate_ssl_link

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=4.6.19
PKG_VERSION:=4.9.8
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=7267a76fafa264792415a1cdc697a9e47934a1e6
PKG_SOURCE_VERSION:=f546ee76b46d0b3288a8d6da5761f33bcddccfc0
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
@@ -38,7 +38,7 @@ define Package/libieee1905
$(call Package/ieee1905/Default,$(1))
TITLE+= (library for CMDU and TLV handling)
DEPENDS= +libubox +libuci +libubus +libeasy +libnl-genl \
+libjson-c +libblobmsg-json +libopenssl
+libjson-c +libblobmsg-json
endef
define Package/ieee1905
@@ -70,9 +70,9 @@ define Package/libieee1905/description
endef
TARGET_CFLAGS += \
-Wno-error=deprecated-declarations \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-I$(STAGING_DIR)/usr/include/openssl \
-D_GNU_SOURCE
ifeq ($(CONFIG_IEEE1905_PLATFORM_HAS_WIFI),y)
@@ -130,6 +130,7 @@ define Build/InstallDev/libieee1905
$(CP) $(PKG_BUILD_DIR)/src/i1905_wsc.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/bufutil.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/timer_impl.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/i1905_extension.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/libmidgen.so $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/src/libieee1905.so $(1)/usr/lib/
endef

View File

@@ -3,20 +3,24 @@ config ieee1905 'ieee1905'
option extension '1'
list extmodule 'map'
option registrar '2 5'
# option macaddress '0a:1b:2c:3d:4e:50'
config al-iface
option enabled '1'
option ifname 'br-lan'
option type 'bridge'
# ap sections are auto-generated/overwritten during onboarding
#
config ap
option band '2'
option ssid 'TestSSID.2'
option encryption 'psk2'
option key '5555500000'
option ssid 'IOWRT-2.4GHz'
option encryption 'sae-mixed'
option key '1234567890'
config ap
option band '5'
option ssid 'TestSSID.5'
option encryption 'psk2'
option key '2222200000'
option ssid 'IOWRT-5GHz'
option encryption 'sae-mixed'
option key '1234567890'
config al-iface
option enabled 1
option ifname 'br-lan'
option type 'bridge'

View File

@@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=inbd
PKG_VERSION:=1.2.2
PKG_VERSION:=1.2.3
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=10f765f3d0fcc226b6ecf0c481598c9e7f76315e
PKG_SOURCE_VERSION:=d4e910a31039e0c0b7a539311eafcd716c36be77
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/inbd
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.gz

7
iop/Config.in Normal file
View File

@@ -0,0 +1,7 @@
config TARGET_VERSION
string
prompt "Software Version"
config TARGET_CUSTOMER
string
prompt "Customer ID"

View File

@@ -24,6 +24,10 @@ define Package/iop/description
This package contains iopsysWrt SDK utilities
endef
define Package/iop/config
source "$(SOURCE)/Config.in"
endef
define Build/Compile
true
endef

View File

@@ -1,106 +1,210 @@
CONFIG_BUSYBOX_CUSTOM=y
############
# Generic #
##########
# Build #
CONFIG_BUILD_LOG=y
CONFIG_CCACHE=y
CONFIG_DEBUG=y
CONFIG_DEVEL=y
# CONFIG_USE_SSTRIP is not set
CONFIG_USE_STRIP=y
# CONFIG_SIGNED_PACKAGES is not set
# Image #
CONFIG_TARGET_CUSTOMER="IOPSYS"
CONFIG_TARGET_ROOTFS_TARGZ=y
# /etc/banner and /etc/device_info #
CONFIG_IMAGEOPT=y
CONFIG_VERSIONOPT=y
CONFIG_VERSION_MANUFACTURER="iopsysWrt"
CONFIG_VERSION_MANUFACTURER_URL="https://iopsys.eu/"
# /lib/preinit #
CONFIG_PREINITOPT=y
# CONFIG_TARGET_PREINIT_SUPPRESS_STDERR is not set
CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE=y
CONFIG_TARGET_PREINIT_TIMEOUT=1
# CONFIG_TARGET_PREINIT_SHOW_NETMSG is not set
# CONFIG_TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG is not set
CONFIG_TARGET_PREINIT_IFNAME=""
CONFIG_TARGET_PREINIT_IP=""
CONFIG_TARGET_PREINIT_NETMASK=""
CONFIG_TARGET_PREINIT_BROADCAST=""
# Mirror #
CONFIG_LOCALMIRROR="https://download.iopsys.eu/iopsys/mirror/"
##################
# IOWRT Add-ons #
################
# EasySoC HAL #
CONFIG_PACKAGE_inbd=y
CONFIG_PACKAGE_libwifi=y
CONFIG_PACKAGE_peripheral_manager=y
CONFIG_PACKAGE_port-management=y
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
# Network #
CONFIG_PACKAGE_netmode=y
CONFIG_PACKAGE_owsd=m
CONFIG_PACKAGE_urlfilter=y
# System #
CONFIG_PACKAGE_imonitor=m
CONFIG_PACKAGE_questd=y
CONFIG_PACKAGE_rulengd=y
# TR-x69 #
CONFIG_PACKAGE_uspd-mbedtls=y
CONFIG_PACKAGE_icwmp-mbedtls=y
CONFIG_PACKAGE_obuspa=y
CONFIG_PACKAGE_bulkdata=y
CONFIG_PACKAGE_periodicstats=y
CONFIG_PACKAGE_stunc-mbedtls=m
CONFIG_PACKAGE_swmodd=m
CONFIG_PACKAGE_twamp=m
CONFIG_PACKAGE_udpecho-client=m
CONFIG_PACKAGE_udpecho-server=m
CONFIG_PACKAGE_xmppc=m
# WebGUI #
CONFIG_PACKAGE_sulu=y
############
# Network #
##########
# Protocols #
CONFIG_PACKAGE_6in4=y
CONFIG_PACKAGE_6rd=y
CONFIG_PACKAGE_6to4=y
CONFIG_PACKAGE_at=y
CONFIG_PACKAGE_atftp=m
CONFIG_PACKAGE_atftpd=m
CONFIG_PACKAGE_bulkdata=y
CONFIG_PACKAGE_chat=y
CONFIG_PACKAGE_comgt=y
CONFIG_PACKAGE_comgt-directip=y
CONFIG_PACKAGE_comgt-ncm=y
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_ds-lite=y
CONFIG_PACKAGE_ethtool=y
CONFIG_PACKAGE_getopt=y
CONFIG_PACKAGE_gre=y
CONFIG_PACKAGE_icwmp=y
CONFIG_PACKAGE_ieee1905=y
CONFIG_PACKAGE_map-topology=y
CONFIG_PACKAGE_mosquitto-client-ssl=y
CONFIG_PACKAGE_mosquitto-ssl=y
CONFIG_PACKAGE_wfadatad=y
CONFIG_PACKAGE_wfadatad-collector=y
CONFIG_PACKAGE_imonitor=m
CONFIG_PACKAGE_inbd=y
CONFIG_PACKAGE_ip-full=y
CONFIG_PACKAGE_iperf3=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_iwatchdog is not set
CONFIG_PACKAGE_jq=y
CONFIG_PACKAGE_libreswan=m
CONFIG_PACKAGE_libwifi=y
CONFIG_PACKAGE_lscpu=y
CONFIG_PACKAGE_luci-nginx=y
# CONFIG_LUCI_JSMIN is not set
# CONFIG_LUCI_CSSTIDY is not set
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-theme-openwrt-2020=y
CONFIG_PACKAGE_map=y
CONFIG_PACKAGE_miniupnpd=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_obuspa=y
CONFIG_PACKAGE_odhcp6c=y
CONFIG_PACKAGE_odhcpd=y
CONFIG_PACKAGE_openssl-util=y
CONFIG_OPENSSL_WITH_COMPRESSION=y
CONFIG_PACKAGE_openvpn-easy-rsa=y
CONFIG_PACKAGE_openvpn-openssl=y
CONFIG_PACKAGE_owsd=y
CONFIG_PACKAGE_periodicstats=y
CONFIG_PACKAGE_peripheral_manager=y
CONFIG_PACKAGE_port-management=y
CONFIG_PACKAGE_ppp-mod-pppoa=y
CONFIG_PACKAGE_ppp-mod-pppoe=y
CONFIG_PACKAGE_ppp-mod-pppol2tp=y
CONFIG_PACKAGE_ppp-mod-pptp=y
CONFIG_PACKAGE_ppp-multilink=y
# CONFIG_PACKAGE_ppp is not set
# CONFIG_PACKAGE_qos-scripts is not set
CONFIG_PACKAGE_questd=y
CONFIG_PACKAGE_rdisc6=y
CONFIG_PACKAGE_rdnssd=y
CONFIG_PACKAGE_relayd=y
CONFIG_PACKAGE_resolveip=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rulengd=y
CONFIG_PACKAGE_strace=y
CONFIG_PACKAGE_sulu=y
CONFIG_PACKAGE_swmodd=m
CONFIG_PACKAGE_tcpdump=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_traceroute6=y
CONFIG_PACKAGE_uledd=y
CONFIG_PACKAGE_umbim=y
CONFIG_PACKAGE_uqmi=y
CONFIG_PACKAGE_urlfilter=y
CONFIG_PACKAGE_usb-modeswitch=y
CONFIG_PACKAGE_uspd=y
CONFIG_PACKAGE_vsftpd-tls=m
CONFIG_PACKAGE_wwan=y
CONFIG_PACKAGE_wifimngr=y
CONFIG_PACKAGE_uuidgen=y
CONFIG_PACKAGE_xl2tpd=y
# Services #
CONFIG_PACKAGE_atftp=m
CONFIG_PACKAGE_atftpd=m
CONFIG_PACKAGE_ddns-scripts=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
CONFIG_PACKAGE_openvpn-easy-rsa=y
CONFIG_PACKAGE_openvpn-openssl=y
CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
# CONFIG_PACKAGE_qos-scripts is not set
CONFIG_PACKAGE_rdnssd=y
CONFIG_PACKAGE_vsftpd-tls=m
# Tools and Utilities #
CONFIG_PACKAGE_curl=y
CONFIG_PACKAGE_libcurl=y
CONFIG_LIBCURL_CRYPTO_AUTH=y
# CONFIG_LIBCURL_MBEDTLS is not set
CONFIG_LIBCURL_OPENSSL=y
CONFIG_PACKAGE_ethtool=y
CONFIG_PACKAGE_ip-full=y
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_ipset=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
CONFIG_PACKAGE_ndisc6=y
CONFIG_PACKAGE_rdisc6=y
CONFIG_PACKAGE_resolveip=y
CONFIG_PACKAGE_tcpdump=y
CONFIG_PACKAGE_traceroute6=y
############
# System #
##########
CONFIG_PACKAGE_at=y
CONFIG_PACKAGE_getopt=y
# CONFIG_PACKAGE_iwatchdog is not set
CONFIG_PACKAGE_jq=y
CONFIG_PACKAGE_libustream-openssl=y
# CONFIG_PACKAGE_libustream-wolfssl is not set
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
CONFIG_PACKAGE_strace=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_uledd=y
# The urandom-seed package is very strange. It seeds urandom with urandom...
# Disable it. Most SoCs nowadays has HW random generators anyway.
# CONFIG_PACKAGE_urandom-seed is not set
# CONFIG_PACKAGE_urngd is not set
CONFIG_PACKAGE_usb-modeswitch=y
CONFIG_PACKAGE_uuidgen=y
CONFIG_PACKAGE_zoneinfo-core=y
CONFIG_PACKAGE_zoneinfo-europe=y
CONFIG_TARGET_CUSTOMER="IOPSYS"
# CONFIG_USE_SSTRIP is not set
CONFIG_USE_STRIP=y
CONFIG_BUILD_LOG=y
################
# LuCI WebGUI #
##############
# BEGIN: luci-nginx metapackage with some changes
# We do not want libiwinfo-lua on non-WiFi targets, but it is already
# depended on by other luci-packages, so no need to take it in explicitly
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-opkg=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-proto-ipv6=y
# CONFIG_LUCI_JSMIN is not set
# CONFIG_LUCI_CSSTIDY is not set
CONFIG_PACKAGE_luci-mod-dashboard=y
CONFIG_PACKAGE_luci-theme-openwrt-2020=y
CONFIG_PACKAGE_nginx-mod-luci=y
############
# BusyBox #
##########
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BUSYBOX_CONFIG_ADDUSER=y
CONFIG_BUSYBOX_CONFIG_ARPING=y
CONFIG_BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT=y
@@ -120,6 +224,7 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS=y
CONFIG_BUSYBOX_CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
CONFIG_BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
# CONFIG_BUSYBOX_CONFIG_IP is not set
CONFIG_BUSYBOX_CONFIG_LAST_SYSTEM_ID=999
CONFIG_BUSYBOX_CONFIG_LOGIN=y
# CONFIG_BUSYBOX_CONFIG_LSMOD is not set
@@ -183,40 +288,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
CONFIG_LIBCURL_CRYPTO_AUTH=y
# CONFIG_LIBCURL_MBEDTLS is not set
CONFIG_LIBCURL_OPENSSL=y
CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
# CONFIG_SIGNED_PACKAGES is not set
# CONFIG_BUSYBOX_CONFIG_IP is not set
CONFIG_LOCALMIRROR="https://download.iopsys.eu/iopsys/mirror/"
# Generation of /etc/banner.
CONFIG_IMAGEOPT=y
CONFIG_VERSIONOPT=y
CONFIG_VERSION_MANUFACTURER="iopsysWrt"
CONFIG_VERSION_MANUFACTURER_URL="https://iopsys.eu/"
# Disable as much as possible of OpenWrt messy "pre-init" stuff.
CONFIG_PREINITOPT=y
# CONFIG_TARGET_PREINIT_SUPPRESS_STDERR is not set
CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE=y
CONFIG_TARGET_PREINIT_TIMEOUT=1
# CONFIG_TARGET_PREINIT_SHOW_NETMSG is not set
# CONFIG_TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG is not set
CONFIG_TARGET_PREINIT_IFNAME=""
CONFIG_TARGET_PREINIT_IP=""
CONFIG_TARGET_PREINIT_NETMASK=""
CONFIG_TARGET_PREINIT_BROADCAST=""
# Generate rootfs tar file
CONFIG_TARGET_ROOTFS_TARGZ=y
# The urandom-seed package is very strange. It seeds urandom with urandom...
# Disable it. Most SoCs nowadays has HW random generators anyway.
# CONFIG_PACKAGE_urandom-seed is not set
# CONFIG_PACKAGE_urngd is not set
# We use OpenSSL, no need to ship multiple TLS libraries
CONFIG_PACKAGE_libustream-openssl=y
# CONFIG_PACKAGE_libustream-wolfssl is not set
# 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

@@ -2,58 +2,65 @@
function feeds_update {
developer=0
override=1
start=$(date -u +'%s');
while getopts "n" opt; do
case $opt in
n)
override=0
;;
esac
done
developer=0
override=1
start=$(date -u +'%s')
while getopts "n" opt; do
case $opt in
n)
override=0
;;
esac
done
git remote -v | grep -qE '(git@|ssh://)' && developer=1
git remote -v | grep -qE '(git@|ssh://)' && developer=1
cp .config .genconfig_config_bak
cp .config .genconfig_config_bak
#if -d argument is passed, clone feeds with ssh instead of http
if [ $developer == 1 ]; then
./scripts/feeds update -g
else
./scripts/feeds update
fi
#if -d argument is passed, clone feeds with ssh instead of http
if [ $developer == 1 ]; then
./scripts/feeds update -g
else
./scripts/feeds update
fi
./scripts/feeds update -ai
# replace core packages with iopsys versions
if [ $override == 1 ]; then
# replace core packages with iopsys versions
if [ $override == 1 ]; then
./scripts/feeds install -f -p openwrt_core -a
fi
fi
# targets need to be installed explicitly
targets="iopsys-brcm63xx-arm iopsys-ramips intel_mips iopsys-x86 iopsys-armvirt iopsys-bcm27xx iopsys-mediatek iopsys-econet"
for target in $targets
do
rm -f target/linux/$target
./scripts/feeds install -p targets $target
done
# targets need to be installed explicitly
for target in $(ls ./feeds/targets); do
rm -f target/linux/$target
./scripts/feeds install -p targets $target
done
# install all packages
./scripts/feeds install -a
# 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
# remove broken symlinks ( for packages that are no longer in the feed )
find -L package/feeds -maxdepth 2 -type l -delete
# install all packages
./scripts/feeds install -a
cp .genconfig_config_bak .config
make defconfig
# remove broken symlinks ( for packages that are no longer in the feed )
find -L package/feeds -maxdepth 2 -type l -delete
# record when we last run this script
touch tmp/.iop_bootstrap
cp .genconfig_config_bak .config
make defconfig
# always return true
exit 0
# record when we last run this script
touch tmp/.iop_bootstrap
# always return true
exit 0
}
register_command "feeds_update" "Update feeds to point to commit hashes from feeds.conf"

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
@@ -328,6 +328,7 @@ function genconfig {
subtarget="en7562"
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_DEVICE_${target}_${subtarget}_DEVICE_${BOARDTYPE}=y" >> .config
else
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${BOARDTYPE}=y" >> .config

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
@@ -319,6 +319,7 @@ function genconfig_min {
subtarget="en7562"
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_DEVICE_${target}_${subtarget}_DEVICE_${BOARDTYPE}=y" >> .config
else
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${BOARDTYPE}=y" >> .config

View File

@@ -1,54 +0,0 @@
# Copyright (C) 2018 Iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libjwt
PKG_VERSION:=1.0.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=866607c7741421c8ac99876e7201eb32d9af1b92
PKG_SOURCE_URL:=https://github.com/benmcollins/libjwt.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_FIXUP:=autoreconf
PKG_LICENSE:=LGPLv3
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
define Package/libjwt
CATEGORY:=Libraries
DEPENDS:=+libopenssl +jansson
TITLE:= libjwt
endef
#TARGET_CFLAGS += \
# -I$(STAGING_DIR)/usr/include
# -I$(STAGING_DIR)/usr/include/libnl3
#MAKE_FLAGS += \
# CFLAGS="$(TARGET_CFLAGS)" \
# LDFLAGS="$(TARGET_LDFLAGS)" \
# FPIC="$(FPIC)" \
# PLATFORM="$(TARGET_PLATFORM)" \
# subdirs="$(subdirs)"
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/include/jwt.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/libjwt/.libs/libjwt.so* $(1)/usr/lib/
endef
define Package/libjwt/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libjwt/.libs/libjwt.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libjwt))

View File

@@ -1,57 +0,0 @@
#
# Copyright (C) 2012-2014 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:=libmicroxml
PKG_VERSION:=2012-06-11
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/mirror/microxml.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=72965423184f24cc0b963d91c2d1863cdb01b6aa
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=LGPL-2.0
PKG_LICENSE_FILES:=COPYING
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
define Package/libmicroxml
SECTION:=libs
CATEGORY:=Libraries
TITLE:=XML library
MAINTAINER:=Luka Perkov <luka@openwrt.org>
endef
define Package/libmicroxml/description
A micro sized XML library
endef
CONFIGURE_ARGS += \
--disable-threads \
--enable-static \
--enable-shared
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/microxml.h $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libmicroxml.so* $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_BUILD_DIR)/microxml.pc $(1)/usr/lib/pkgconfig
endef
define Package/libmicroxml/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libmicroxml.so* $(1)/usr/lib
endef
$(eval $(call BuildPackage,libmicroxml))

View File

@@ -1,130 +0,0 @@
diff --git a/mxml-file.c b/mxml-file.c
index 02eca9d..f10d202 100644
--- a/mxml-file.c
+++ b/mxml-file.c
@@ -363,9 +363,12 @@ mxmlSaveFile(mxml_node_t *node, /* I - Node to write */
* Write the node...
*/
- if ((col = mxml_write_node(node, fp, cb, 0, mxml_file_putc, global)) < 0)
+ if ((col = mxml_write_node(node, fp, cb, 0, mxml_file_putc, global)) < 0){
+ global_free(global);
return (-1);
-
+ }
+
+ global_free(global);
if (col > 0)
if (putc('\n', fp) < 0)
return (-1);
@@ -1448,6 +1451,7 @@ mxml_load_data(
if ((buffer = malloc(64)) == NULL)
{
mxml_error("Unable to allocate string buffer!");
+ global_free(global);
return (NULL);
}
@@ -2083,11 +2087,12 @@ mxml_load_data(
node->parent ? node->parent->value.element.name : "(null)");
mxmlDelete(first);
-
+ global_free(global);
return (NULL);
}
}
+ global_free(global);
if (parent)
return (parent);
else
@@ -2102,7 +2107,7 @@ error:
mxmlDelete(first);
free(buffer);
-
+ global_free(global);
return (NULL);
}
diff --git a/mxml-private.c b/mxml-private.c
index 4378ca3..ea6e452 100644
--- a/mxml-private.c
+++ b/mxml-private.c
@@ -41,6 +41,32 @@
* This code currently supports AIX, HP-UX, Linux, Mac OS X, Solaris, and
* Windows. It might work on the BSDs and IRIX, but I haven't tested that.
*/
+void *global_mem[16] = {0};
+
+static void *global_calloc(int x, int size)
+{
+ int i;
+ void *m = calloc(x, size);
+ for (i = ((sizeof(global_mem)/sizeof(global_mem[0])) - 1); i > 0; i--) {
+ global_mem[i] = global_mem[i-1];
+ }
+ global_mem[0] = m;
+ return m;
+}
+
+void global_free(void *m)
+{
+ int i;
+ if (m == NULL)
+ return;
+ for (i = ((sizeof(global_mem)/sizeof(global_mem[0])) - 1); i >= 0; i--) {
+ if (global_mem[i] == m) {
+ global_mem[i] = NULL;
+ free(m);
+ break;
+ }
+ }
+}
#if defined(__sun) || defined(_AIX)
# pragma fini(_mxml_fini)
@@ -148,7 +174,6 @@ mxml_real_cb(mxml_node_t *node) /* I - Current node */
return (MXML_REAL);
}
-
#ifdef HAVE_PTHREAD_H /**** POSIX threading ****/
# include <pthread.h>
@@ -190,7 +215,6 @@ _MXML_FINI(void)
}
}
-
/*
* '_mxml_global()' - Get global data.
*/
@@ -205,7 +229,7 @@ _mxml_global(void)
if ((global = (_mxml_global_t *)pthread_getspecific(_mxml_key)) == NULL)
{
- global = (_mxml_global_t *)calloc(1, sizeof(_mxml_global_t));
+ global = (_mxml_global_t *)global_calloc(1, sizeof(_mxml_global_t));
pthread_setspecific(_mxml_key, global);
global->num_entity_cbs = 1;
@@ -288,7 +312,7 @@ _mxml_global(void)
if ((global = (_mxml_global_t *)TlsGetValue(_mxml_tls_index)) == NULL)
{
- global = (_mxml_global_t *)calloc(1, sizeof(_mxml_global_t));
+ global = (_mxml_global_t *)global_calloc(1, sizeof(_mxml_global_t));
global->num_entity_cbs = 1;
global->entity_cbs[0] = _mxml_entity_cb;
diff --git a/mxml-private.h b/mxml-private.h
index c591208..72ed338 100644
--- a/mxml-private.h
+++ b/mxml-private.h
@@ -43,3 +43,4 @@ typedef struct _mxml_global_s
extern _mxml_global_t *_mxml_global(void);
extern int _mxml_entity_cb(const char *name);
+extern void global_free(void *m);

View File

@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libtrace
PKG_VERSION:=3.0.22
PKG_VERSION:=3.0.23
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
@@ -72,11 +72,11 @@ endef
define Package/libtrace/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libtrace.so.* $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libwandio.so.* $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libpacketdump.so.* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtrace.so.* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libwandio.so.* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpacketdump.so.* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/libpacketdump
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libpacketdump/*.so* $(1)/usr/lib/libpacketdump/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpacketdump/*.so* $(1)/usr/lib/libpacketdump/
endef
define Package/libtrace-tools/install

View File

@@ -6,5 +6,12 @@ config AGENT_SYNC_DYNAMIC_CNTLR_CONFIG
bool "Support Dynamic Controller configuration sync"
default y if MULTIAP_DYNAMIC_CNTLR_SYNC_CONFIG
config AGENT_ISLAND_PREVENTION
bool "Support Island Prevention"
default y if MULTIAP_AGENT_ISLAND_PREVENTION
config AGENT_EASYMESH_R2_CERT
bool "Compile for WFA test bed"
endmenu
endif

View File

@@ -1,16 +1,16 @@
#
# Copyright (C) 2020-21 IOPSYS Software Solutions AB
# Copyright (C) 2020-22 IOPSYS Software Solutions AB
#
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=7.1.10
PKG_VERSION:=2.9.0.2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=8d2fa1af3b0cbdb65f791b490e72c5925cccaa05
PKG_SOURCE_VERSION:=e2d427d44bf4e418487fa5fe6be4838ca448a92f
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_LICENSE:=PROPRIETARY IOPSYS
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
LOCAL_DEV=0
@@ -56,12 +56,21 @@ 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)
TARGET_CFLAGS += -DAGENT_SYNC_DYNAMIC_CNTLR_CONFIG
endif
ifeq ($(CONFIG_AGENT_ISLAND_PREVENTION),y)
TARGET_CFLAGS += -DAGENT_ISLAND_PREVENTION
endif
ifeq ($(CONFIG_AGENT_EASYMESH_R2_CERT),y)
TARGET_CFLAGS += -DEASYMESH_R2_CERT
endif
MAKE_PATH:=src
define Package/map-agent/install

View File

@@ -1,34 +1,132 @@
config agent 'agent'
option enabled '1'
option debug '6'
option debug '0'
option profile '2'
option al_bridge 'br-lan'
option netdev 'wlan'
option island_prevention '0'
option eth_onboards_wifi_bhs '0'
# option controller_macaddr '0a:1b:2c:3d:4e:50'
config dynamic_backhaul
option missing_bh_timer '60'
option missing_bh_reconfig_timer '1800'
config controller_select
option id 'auto'
option probe_int '20'
option retry_int '9'
option autostart '1'
option local '0'
config radio
option device 'phy0'
option band '2'
# options below are auto-generated during onboarding
# option steer_policy '0'
# option util_threshold '0'
# option rcpi_threshold '70'
# option report_rcpi_threshold '80'
# option rcpi_hysteresis_margin '0'
# option report_util_threshold '0'
# option include_sta_stats '1'
# option include_sta_metric '1'
config radio
option device 'phy1'
option band '5'
# options below are auto-generated during onboarding
# option steer_policy '0'
# option util_threshold '0'
# option rcpi_threshold '86'
# option report_rcpi_threshold '96'
# option rcpi_hysteresis_margin '0'
# option report_util_threshold '0'
# option include_sta_stats '1'
# option include_sta_metric '1'
config bsta
option enabled '1'
option ifname 'wlan0'
option band '2'
option device 'phy0'
option priority '2'
# options below are auto-generated during onboarding
# option ssid 'MAP-BH-2.4GHz'
# option encryption 'sae-mixed'
# option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
# option onboarded '1'
# option bssid '0a:1b:2c:3d:4e:53'
# option vid '1'
config bsta
option enabled '1'
option ifname 'wlan1'
option band '5'
option device 'phy1'
option priority '0'
# options below are auto-generated during onboarding
# option ssid 'MAP-BH-5GHz'
# option encryption 'sae-mixed'
# option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
# option onboarded '1'
# option bssid '0a:1b:2c:3d:4e:54'
# option vid '1'
# ap sections and policy section are
# auto-generated during onboarding
#
#config ap
# option ifname 'wl0'
# option steer 'rssi bssload'
# list exclude '00:11:22:33:44:55'
# list exclude_btm '00:aa:bb:cc:dd:ee'
# list assoc_ctrl '00:10:20:30:40:50'
# option btm_retry '3'
# option btm_retry_secs '180'
# option fallback_legacy '1'
# option steer_legacy_reassoc_secs '30'
# option steer_legacy_retry_secs '3600'
# option assoc_ctrl_secs '30'
# option band '2'
# option type 'fronthaul'
#config ap
# option ifname 'wl1'
# option steer 'rssi bssload'
# list exclude '00:11:22:33:44:55'
# list exclude_btm '00:aa:bb:cc:dd:ee'
# option band '5'
# option type 'fronthaul'
#config bsta
# option ifname 'apclii0'
# option enabled '1'
# option onboarded '0'
# option disallow_bsta '1 # bitmap, 1 for disallow p1, 2 to disallow p2, 3 to disallow both (probably never applicable)
# option ifname 'wlan0-1'
# option band '2'
# option device 'phy0'
# option type 'fronthaul'
# option ssid 'IOWRT-2.4GHz'
# option encryption 'sae-mixed+aes'
# option key '1234567890'
# option vid '1'
#config ap
# option enabled '1'
# option ifname 'wlan0-2'
# option band '2'
# option device 'phy0'
# option type 'backhaul'
# option ssid 'MAP-BH-2.4GHz'
# option encryption 'sae+aes'
# option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
# option disallow_bsta '0'
# option vid '1'
#config ap
# option enabled '1'
# option ifname 'wlan1-1'
# option band '5'
# option device 'phy1'
# option type 'fronthaul'
# option ssid 'IOWRT-5GHz'
# option encryption 'sae-mixed+aes'
# option key '1234567890'
# option vid '1'
#config ap
# option enabled '1'
# option ifname 'wlan1-2'
# option band '5'
# option device 'phy1'
# option type 'backhaul'
# option ssid 'MAP-BH-5GHz'
# option encryption 'sae+aes'
# option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
# option disallow_bsta '0'
# option vid '1'
#config policy
# option report_interval '0'
# option pvid '1'
# option pcp_default '0'
# option report_scan '0'
# option report_sta_assocfails '0'
# option report_sta_assocfails_rate '0'

View File

@@ -1,22 +1,78 @@
#!/bin/sh
wan=$(db -q get hw.board.ethernetWanPort)
MAPFILE="/tmp/multiap.backhaul"
. /lib/network/utils.sh
conn_ports_file="/tmp/map.connected.ports"
map_bh_file="/tmp/multiap.backhaul"
al_bridge="$(uci -q get mapagent.agent.al_bridge)"
[ "${al_bridge:0:3}" = "br-" ] || exit 0
al_brnet="${al_bridge:3}"
[ -z "$wan" ] && exit 1 # no configuration
[ "$PORT" != "$wan" ] && exit 0
# Exit if the PORT is not member of the AL Bridge
[ "$(get_network_of $PORT)" = "$al_brnet" ] || exit 0
############## Dynamic Backhaul Daemon ##############
if [ -n "$(which dynbhd)" ]; then
pidof dynbhd >/dev/null && exit 0 # dynbhd is managing the links
if [ ! -f $conn_ports_file ]; then
touch $conn_ports_file
if [ "$LINK" = "up" ]; then
touch $conn_ports_file
echo "$PORT" > $conn_ports_file
brctl delif $al_bridge $PORT
#ubus call network.interface.lan remove_device "{\"name\":\"$PORT\"}"
fi
else
if [ "$LINK" = "up" ]; then
brctl delif $al_bridge $PORT
echo "$PORT" >> $conn_ports_file
#ubus call network.interface.lan remove_device "{\"name\":\"$PORT\"}"
else
sed -i -E "/(^|:)${PORT}(:|$)/d" $conn_ports_file
#ubus call network.interface.lan add_device "{\"name\":\"$PORT\"}"
brctl addif $al_bridge $PORT
[ "$(cat $conn_ports_file | wc -c)" = "0" ] && rm -f $conn_ports_file
fi
fi
exit 0
fi
########################################################
################ Dedicated ETH WAN Port ################
wanport="$(db -q get hw.board.ethernetWanPort)"
if [ -n "$wanport" ]; then
[ "$wanport" = "$PORT" ] || exit 0
########################################################
else
#################### DHCP Discovery ####################
[ "$(uci -q get network.${al_brnet}.proto)" == "dhcp" ] || exit 0
if [ "$LINK" = "up" ]; then
brctl delif $al_bridge $PORT
udhcpc -qnRoC -i $PORT >/dev/null 2>&1 && dhcp=1
brctl addif $al_bridge $PORT
[ $dhcp -eq 1 ] || exit 0
else
[ -f $map_bh_file ] || exit 0
cur_bh="$(cat $map_bh_file | jsonfilter -e @.ifname)"
[ "$cur_bh" = "$PORT" ] || exit 0
fi
########################################################
fi
remove_from_bridge() {
config_get ifname "$section" ifname
ubus call network.interface.$bridge remove_device '{"name":"$ifname"}'
[ -n "$ifname" ] && ubus call network.interface.${al_brnet} remove_device '{"name":"$ifname"}'
}
update_bstas() {
local section="$1"
local action="$2"
local ifname onboarded
section="$1"
action="$2"
config_get ifname "$section" ifname
config_get_bool enabled "$section" enabled 0
@@ -34,16 +90,16 @@ update_bstas() {
}
if [ "$LINK" = "up" ]; then
#touch "$MAPFILE"
#touch "$map_bh_file"
config_load "mapagent"
bridge=$(uci get mapagent.agent.al_bridge | cut -d '-' -f2)
config_foreach remove_from_bridge bsta $bridge
config_foreach remove_from_bridge bsta
config_foreach update_bstas bsta down
/lib/wifi/multiap set_uplink "eth" "$PORT"
else
rm -f "$MAPFILE"
/lib/wifi/multiap unset_uplink "eth"
#rm -f "$map_bh_file"
config_load "mapagent"
config_foreach update_bstas bsta up
fi

View File

@@ -59,7 +59,7 @@ remove_map() {
}
start_dynbhd_service() {
rm -f /tmp/map.agent.bsta_global_disable
rm -f /tmp/multiap.backhaul
procd_open_instance
procd_set_param command "/usr/sbin/dynbhd"
procd_set_param respawn
@@ -79,7 +79,10 @@ validate_agent_section() {
'netdev:string' \
'vlan_segregation:bool:false' \
'resend_num:uinteger:0' \
'dyn_cntlr_sync:bool:true'
'dyn_cntlr_sync:bool:true' \
'island_prevention:bool:false' \
'eth_onboards_wifi_bhs:bool:false'
[ "$?" -ne 0 ] && {
logger -s -t "mapagent" "Validation of agent section failed"
@@ -113,7 +116,7 @@ validate_ap_section() {
uci_validate_section mapagent $section "${1}" \
'ifname:string' \
'device:string' \
'band:or("2", "5")' \
'band:or("2", "5", "6")' \
'enabled:bool:true' \
'onboarded:bool:false' \
'ssid:string' \
@@ -139,14 +142,15 @@ validate_radio_section() {
'configured:bool:false' \
'onboarded:bool:false' \
'dedicated_backhaul:bool:false' \
'steer_policy:range(0,255)' \
'steer_policy:range(0,255)' \
'util_threshold:range(0,255)' \
'rcpi_threshold:range(0,255)' \
'report_rcpi_threshold:range(0,255)' \
'include_sta_stats:bool:false' \
'include_sta_metric:bool:false' \
'rcpi_hysteresis_margin:range(0,255)' \
'report_util_threshold:range(0,255)'
'report_util_threshold:range(0,255)' \
'encryption:or("sae", "psk2", "sae-mixed")'
[ "$?" -ne 0 ] && {
logger -s -t "mapagent" "Validation of radio section failed"
@@ -178,14 +182,31 @@ validate_policy_section() {
return 0
}
validate_dyn_bh_section() {
local section="$1"
uci_validate_section mapagent $section "${1}" \
'missing_bh_timer:range(1,255)'
uci_validate_section mapagent $section "${1}" \
'missing_bh_reconfig_timer:range(0,65535)'
[ "$?" -ne 0 ] && {
logger -s -t "mapagent" "Validation of dynamic backhaul section failed"
IS_CFG_VALID=0
return 1
}
return 0
}
validate_agent_config() {
IS_CFG_VALID=1
validate_agent_section &&
config_foreach validate_cs_section controller_select &&
config_foreach validate_ap_section ap &&
config_foreach validate_radio_section radio &&
config_foreach validate_policy_section policy
config_foreach validate_radio_section radio &&
config_foreach validate_policy_section policy &&
config_foreach validate_dyn_bh_section dynamic_backhaul
[ "$IS_CFG_VALID" -ne 1 ] && {
logger -s -t "mapagent" "Validation of mapagent UCI file failed"
@@ -213,7 +234,7 @@ start_service() {
[ "$ts" -eq 1 ] && create_map #|| remove_map
procd_open_instance
procd_set_param command "/usr/sbin/mapagent" "-d"
procd_set_param command "/usr/sbin/mapagent" "-d"
procd_set_param respawn
# procd_set_param stdout 1
# procd_set_param stderr 1

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

@@ -55,7 +55,7 @@ get_type_by_section() {
echo "$(type_to_multi_ap $type)"
}
brcm_sync_credentials() {
sync_credentials() {
bands=""
json_init
mapagent_process_fh() {
@@ -160,7 +160,7 @@ brcm_sync_credentials() {
json_cleanup
}
brcm_write_credentials() {
write_credentials() {
config_load mapagent
mapagent_apply_wireless() {
@@ -207,7 +207,7 @@ brcm_write_credentials() {
#echo applying bk_ssid = "$bk_ssid" bk_key = "$bk_key"
# subshell in hopes to maintain mapagent config loaded
echo $(mapagent_apply_wireless $ifname "$bk_ssid" "$bk_key") 2> /dev/null
(mapagent_apply_wireless $ifname "$bk_ssid" "$bk_key")
}
mapagent_find_bbss() {
@@ -250,7 +250,7 @@ brcm_write_credentials() {
uci commit wireless
}
brcm_set_network() {
set_network() {
local ifname=$1
local num=$2
local bssid=$3
@@ -293,7 +293,13 @@ write_bsta_config() {
[ "$bsta" == "$ifname" ] || return
#echo setting diff = $diff > /dev/console
old_bssid="$(uci -q get wireless.${section}.bssid)"
[ "$old_bssid" == "$bssid" ] && break
uci -q set wireless.${section}.bssid=$bssid
wpa_cli -i "$bsta" set_n 0 bssid $bssid
wpa_cli -i "$bsta" save_config
echo 1
}
config_load wireless
@@ -350,14 +356,14 @@ write_bsta_config() {
#echo result diff = $diff > /dev/console
[ "$diff" == "1" ] && {
config_foreach mapagent_apply_bssid_same_band bsta
ubus call uci commit '{"config":"wireless"}'
(config_foreach mapagent_apply_bssid_same_band bsta)
#ubus call uci commit '{"config":"wireless"}'
#echo reloading wireless > /dev/console
}
}
brcm_teardown_iface() {
teardown_iface() {
config_load mapagent
local iface=$1
@@ -371,7 +377,7 @@ brcm_teardown_iface() {
[ "$ifname" != "$map_ifname" ] && return
uci -q set wireless.${section}.start_disabled="1"
uci -q set wireless.${section}.disabled="1"
uci -q set wireless.${section}.ssid="DISABLED-SSID"
uci -q set wireless.${section}.key="DISABLED-KEY"
uci -q delete wireless.${section}.multi_ap_backhaul_ssid
@@ -400,7 +406,7 @@ brcm_teardown_iface() {
uci -q set mapagent.${section}.key="DISABLED-KEY"
# subshell in hopes to maintain mapagent config loaded
$(mapagent_teardown_wireless $ifname)
(mapagent_teardown_wireless $ifname)
}
@@ -410,7 +416,7 @@ brcm_teardown_iface() {
uci commit mapagent
}
brcm_bsta_to_wireless() {
bsta_to_wireless() {
config_load mapagent
mapagent_find_lowest_prio_onboarded() {
@@ -464,7 +470,7 @@ brcm_bsta_to_wireless() {
uci -q set wireless.${section}.key="$key"
uci -q set wireless.${section}.encryption=$encryption
uci -q set wireless.${section}.bssid="$bssid"
#uci -q set wireless.${section}.disabled=$disabled
uci -q set wireless.${section}.default_disabled='0'
[ "$disabled" != "1" ] && return
wpa_cli -i "$bsta" disconnect > /dev/null 2>&1
@@ -482,10 +488,12 @@ brcm_bsta_to_wireless() {
mapagent_find_other_creds() {
#echo "trying to find other creds for $2" > /dev/console
local other_section="$2"
config_get band $1 band
config_get onboarded $1 onboarded "0"
[ "$3" != "$band" -o "$onboarded" = "0" ] && return
[ "$4" != "$band" -o "$onboarded" = "0" ] && return
config_get ssid $1 ssid
config_get key $1 key
@@ -493,7 +501,12 @@ brcm_bsta_to_wireless() {
config_get enabled $1 enabled "0"
config_get bssid $1 bssid
echo $(mapagent_apply_wl_bsta $2 "$ssid" "$key" $encryption $4 "$bssid")
uci -q set mapagent.${other_section}.ssid="$ssid"
uci -q set mapagent.${other_section}.key="$key"
uci -q set mapagent.${other_section}.encryption=$encryption
uci -q set mapagent.${other_section}.bssid="$bssid"
uci commit mapagent
(mapagent_apply_wl_bsta "$3" "$ssid" "$key" $encryption "$5" "$bssid")
}
config_get band $1 band
@@ -502,14 +515,14 @@ brcm_bsta_to_wireless() {
config_get enabled $1 enabled "0"
if [ "$onboarded" = "0" ]; then
config_foreach mapagent_find_other_creds bsta $ifname $band $enabled
config_foreach mapagent_find_other_creds bsta $1 $ifname $band $enabled
else
config_get ssid $1 ssid
config_get key $1 key
config_get encryption $1 encryption
config_get bssid $1 bssid
echo $(mapagent_apply_wl_bsta $ifname "$ssid" "$key" $encryption $enabled "$bssid")
(mapagent_apply_wl_bsta $ifname "$ssid" "$key" $encryption $enabled "$bssid")
fi
}
@@ -528,6 +541,7 @@ brcm_bsta_to_wireless() {
diff=$(config_foreach mapagent_bsta_to_wireless bsta)
# [ "$diff" != "" ] && {
ubus call uci commit '{"config":"wireless"}'
# }
}
@@ -622,27 +636,43 @@ sync_mapcontroller_from_wireless() {
}
bsta_scan_on_enabled() {
config_load mapagent
local onboarded_bands=""
mapagent_onboarded_bands() {
config_get band $1 band
config_get onboarded $1 onboarded "0"
[ "$onboarded" = "0" ] && return
onboarded_bands="$onboarded_bands $band"
}
mapagent_enable_bk() {
config_get ifname $1 ifname
config_get band $1 band
config_get enabled $1 enabled
echo ifname $ifname enabled $enabled
[ "$enabled" = "0" ] && return
wpa_cli -i "$ifname" enable_network 0 > /dev/null 2>&1
wpa_cli -i "$ifname" reconnect > /dev/null 2>&1
wpa_cli -i "$ifname" save_config > /dev/null 2>&1
for onboarded_band in $onboarded_bands
do
[ "$onboarded_band" != "$band" ] && continue
logger -t multiap "bsta_scan_on_enabled $ifname $band"
wpa_cli -i "$ifname" enable_network 0 > /dev/null 2>&1
wpa_cli -i "$ifname" reconnect > /dev/null 2>&1
wpa_cli -i "$ifname" save_config > /dev/null 2>&1
done
}
config_load mapagent
config_foreach mapagent_onboarded_bands bsta
config_foreach mapagent_enable_bk bsta
}
bsta_enable_all() {
mapagent_enable_bk() {
config_get ifname $1 ifname "2"
config_get ifname $1 ifname
uci -q set mapagent.$1.enabled="1"
}
@@ -653,6 +683,58 @@ bsta_enable_all() {
bsta_scan_on_enabled
}
bsta_clear_all_bssid() {
mapagent_remove_bssid() {
uci -q set mapagent.$1.enabled="1"
uci -q del mapagent.$1.bssid
}
wireless_remove_bssid() {
config_get mode $1 mode
config_get ifname $1 ifname
[ "$mode" != "sta" ] && return
uci -q del wireless.$1.bssid
wpa_cli -i "$ifname" bssid 0 00:00:00:00:00:00 > /dev/null 2>&1
wpa_cli -i "$ifname" save_config > /dev/null 2>&1
}
config_load mapagent
config_foreach mapagent_remove_bssid bsta
uci commit mapagent
config_load wireless
config_foreach wireless_remove_bssid wifi-iface
uci commit wireless
}
# arg1 = ifname arg2 = bssid
bsta_blacklist_bssid_set() {
local ifname="$1"
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
}
bsta_blacklist_bssid_clear() {
mapagent_blacklist_by_band() {
config_get ifname $1 ifname
wpa_cli -i "$ifname" set_network 0 bssid_ignore "" > /dev/null 2>&1
wpa_cli -i "$ifname" save_config > /dev/null 2>&1
}
return
config_load mapagent
config_foreach mapagent_blacklist_by_band bsta
}
bsta_disable_lower_priority() {
config_load mapagent
@@ -702,7 +784,7 @@ bsta_disable_lower_priority() {
uci -q set mapagent.$1.enabled="$enabled"
echo $(mapagent_apply_wl_bsta $ifname $enabled) > /dev/null
(mapagent_apply_wl_bsta $ifname $enabled) > /dev/null
}
local bsta=$1
@@ -751,11 +833,14 @@ set_uplink_backhaul_info() {
local ul_1905id=$1
local ul_mac=$2
json_load "$(cat $MAPFILE)"
json_add_string "backhaul_device_id" "$ul_1905id"
json_add_string "backhaul_macddr" "$ul_mac"
json_dump > "$MAPFILE"
json_cleanup
(
flock -x 200
json_load "$(cat $MAPFILE)"
json_add_string "backhaul_device_id" "$ul_1905id"
json_add_string "backhaul_macddr" "$ul_mac"
json_dump > "$MAPFILE"
json_cleanup
) 200>/var/lock/map.backhaul.lock
}
set_uplink() {
@@ -769,31 +854,63 @@ set_uplink() {
json_add_string "type" "$type"
json_add_string "ifname" "$ifname"
json_add_string "macaddr" "$hwaddr"
json_dump > "$MAPFILE"
(
flock -x 200
json_dump > "$MAPFILE"
) 200>/var/lock/map.backhaul.lock
json_cleanup
config_load mapagent
island_prevention="$(uci -q get mapagent.agent.island_prevention)"
if [ "$island_prevention" = "1" -a "$type" = "eth" ]; then
ubus call map.agent toggle_fh '{"enable":true, "prevent_island":true, "ifname":"all"}'
fi
}
unset_uplink() {
rm "$MAPFILE" > /dev/null 2>&1
local type=${1:-wifi}
config_load mapagent
island_prevention="$(uci -q get mapagent.agent.island_prevention)"
if [ "$island_prevention" = "1" -a "$type" = "eth" ]; then
ubus call map.agent toggle_fh '{"enable":false, "prevent_island":true, "ifname":"all"}'
fi
(
flock -x 200
json_load "$(cat $MAPFILE)"
json_get_var bk_type type
json_cleanup
[ "$type" = "$bk_type" ] && rm -f "$MAPFILE" > /dev/null 2>&1
) 200>/var/lock/map.backhaul.lock
}
func=$1
shift
case "$func" in
wireless_teardown) brcm_wireless_teardown;;
setup_network) brcm_setup_network;;
setup_wireless) brcm_setup_wireless;;
write_credentials) brcm_write_credentials;;
sync_credentials) brcm_sync_credentials;;
wireless_teardown) wireless_teardown;;
setup_network) setup_network;;
setup_wireless) setup_wireless;;
write_credentials) write_credentials;;
sync_credentials) sync_credentials;;
bsta_steer) bsta_steer $@;;
set_network) brcm_set_network $@;;
set_network) set_network $@;;
write_bsta_config) write_bsta_config $@;;
teardown_iface) brcm_teardown_iface $@;;
bsta_to_wireless) brcm_bsta_to_wireless $@;;
teardown_iface) teardown_iface $@;;
bsta_to_wireless) bsta_to_wireless $@;;
sync_mapcontroller_from_wireless) sync_mapcontroller_from_wireless $@;;
ts) ts_sub $@;;
bsta_enable_all) bsta_enable_all $@;;
bsta_clear_all_bssid) bsta_clear_all_bssid $@;;
bsta_blacklist_bssid_set) bsta_blacklist_bssid_set $@;;
bsta_blacklist_bssid_clear) bsta_blacklist_bssid_clear $@;;
bsta_disable_lower_priority) bsta_disable_lower_priority $@;;
bsta_scan_on_enabled) bsta_scan_on_enabled $@;;
bsta_use_link) bsta_use_link $@;;

View File

@@ -2,6 +2,9 @@
. /lib/functions.sh
AL_BRIDGE=${AL_BRIDGE-"br-lan"}
PRIMARY_VID=${PRIMARY_VID-1}
### Traffic Separation ###
dbg() {
@@ -9,456 +12,157 @@ dbg() {
}
ts_sub() {
ts_usage() {
cat <<EOF
Usage: $0 [create|delete|populate|primary|reload]
Usage: $0 [create|reload]
Traffic Separation related functions.
create fh <iface> <vid> - create vlan device and rules for wifi fronthaul
create bh <iface> <vid> <profile> - create vlan device and rules for wifi backhaul
create eth <iface> <vid> <pbits> - create vlan device and rules for logical ethernet interface
delete <iface> - delete vlan device
populate eth <iface> <vid> - add secondary network rules for logical ethernet interface
primary get <iface> - read primary VID for interface from driver (from Association Response frame IE)
reload - reload network with new configuration
create vid - create vlan configuration with vlan_id
reload - reload network with new configuration
EOF
exit 1
}
_get_bridge() {
local bridge=$(ip link show $1 | grep -o "master [^\s]*" | cut -d ' ' -f 2)
echo $bridge
}
ts_create() {
_net_setup() {
local name=$1
local vid=$2
local proto=$3
local dev=$4
local port_dev=$5
set_wireless_bridge() {
config_load wireless
[ -z "$(uci -q get network.${name})" ] || return
_set_network() {
local sec=$1
local iface=$2
local bridge=$3
local ip_addr="192.168.${vid}.1"
local br_dev="${AL_BRIDGE/-/_}"
local tag=":t"
config_get ifname $sec ifname
[ "$iface" != "$ifname" ] && continue
[ "${vid}" = "${PRIMARY_VID}" ] && {
tag=""
config_get mode $sec mode
config_get multi_ap $sec multi_ap "0"
[ "$mode" = "sta" -a "$multi_ap" = "1" ] && continue
# Global options
[ -z "$(uci -q get network.${br_dev}.vlan_filtering)" ] && {
uci -q set network.${br_dev}.vlan_filtering=1;
}
config_get network $sec network
local new_network=${bridge##br-}
if [ "$new_network" != "$network" ] ; then
uci -q set wireless.${sec}.network=${new_network}
uci commit wireless
uci -q delete network.lan.proto
uci -q delete network.lan.ipaddr
uci -q delete network.lan.netmask
uci -q delete network.lan.ip6assign
}
uci -q set network.${name}="interface"
uci -q set network.${name}.device="$dev"
uci -q set network.${name}.is_lan="1"
if [ "$proto" = "static" ] ; then
uci -q set network.${name}.proto="static"
# TODO vid > 255
uci -q set network.${name}.ipaddr="${ip_addr}"
uci -q set network.${name}.netmask="255.255.255.0"
uci -q set network.${name}.ip6assign '60'
else
uci -q set network.${name}.proto="dhcp"
fi
brctl addif $bridge $iface &> /dev/null
}
uci -q add network bridge-vlan
uci -q set network.@bridge-vlan[-1].device="$AL_BRIDGE"
uci -q set network.@bridge-vlan[-1].vlan="$vid"
config_foreach _set_network wifi-iface ${1} ${2}
}
ts_create() {
_create_vlan_dev() {
iface=$1 # real iface
vid=$2 # Vlan ID
bridge=$3 # bridge iface should be connected
vlan_dev=$4
old_bridge="$(_get_bridge $iface)" # bridge iface is connected to
# remove interface from bridge if it is in one
[ -n "$old_bridge" ] && brctl delif $old_bridge $iface &> /dev/null
# (re)create vlan device
ip link show $vlan_dev && vlanctl --if-delete $vlan_dev
vlanctl --mcast --if-create-name $iface $vlan_dev --if $iface --set-if-mode-rg
vlanctl --if $iface --tx --tags 0 --default-miss-drop
vlanctl --if $iface --tx --tags 1 --default-miss-drop
vlanctl --if $iface --tx --tags 2 --default-miss-drop
vlanctl --if $iface --rx --tags 0 --default-miss-drop
vlanctl --if $iface --rx --tags 1 --default-miss-drop
vlanctl --if $iface --rx --tags 2 --default-miss-drop
# bring the vlan device up and add back to bridge if it was in one
brctl addif $bridge $vlan_dev &> /dev/null
}
ts_create_fh() {
iface=$1 # fh iface
vid=$2 # SSID specific (secondary) or primary vid
bridge=$3
[ -n "$iface" ] && [ -n "$vid" ] && [ -n "$bridge" ] || {
cat <<EOF
Adding FH device requires IFACE, VID and bridge
EOF
exit 1
}
# create vlan device
#set_wireless_bridge $iface $bridge
vlan_dev=${iface}_vlan${vid}
ip link set $vlan_dev down
_create_vlan_dev $iface $vid $bridge $vlan_dev
# add rules
# vlanctl --if $iface --rx --tags 0 --filter-ethertype 0x886c --set-rxif $vlan_dev --rule-append # incoming brcm
# EAPOL frames
vlanctl --if $iface --rx --tags 0 --filter-ethertype 34958 --set-rxif $vlan_dev --rule-append
vlanctl --if $iface --rx --tags 1 --filter-ethertype 34958 --pop-tag --set-rxif $vlan_dev --rule-append
vlanctl --if $iface --tx --tags 0 --filter-txif $vlan_dev --filter-ethertype 34958 --rule-append
# 8021q vlan id TAG/UNTAG
vlanctl --if $iface --rx --tags 0 --set-rxif $vlan_dev --push-tag --set-vid $vid 0 --rule-append
vlanctl --if $iface --tx --tags 1 --filter-txif $vlan_dev --filter-vid $vid 0 --pop-tag --dscp2pbits 0 --rule-append
ip link set $iface up
ip link set $vlan_dev up
}
ts_create_bh() {
iface=$1 # bh iface
vid=$2 # primary vid
profile=$3 # agent profile (1 or 2)
bridge=$4 # bridge interface should be connected to
[ -n "$iface" ] && [ -n "$vid" ] && [ -n "$profile" ] || {
cat <<EOF
Adding BH device requires IFACE, VID and PROFILE (1 or 2).
EOF
exit 1
}
#[ -n "$bridge" ] && set_wireless_bridge $iface $bridge
old_vid=$(wl -i $1 map_8021q_settings)
old_vid=${old_vid##* }
old_profile=$(wl -i $1 map_profile | cut -d ' ' -f 3)
[ "$old_vid" = "$vid" -a "$old_profile" = "$profile" ] && return
wl vlan_mode 0 &> /dev/null # make sure this is OFF, else driver won't handle vlan
wl -i $iface down &> /dev/null
wl -i $iface map_profile $profile &> /dev/null # only has effect on profile 2
wl -i $iface map_8021q_settings $vid &> /dev/null # can only be set on bBSS (read-only on bSTA)
wl -i $iface up &> /dev/null
}
ts_create_lei() {
vid=$1 # primary vid
pbits=$2 # default pbits to apply
vlan_bridge=$3 # name of ts subsystem bridge
lan_bridge=$4 # name of node local bridge
[ -n "$vid" ] && [ -n "$pbits" ] && [ -n "$vlan_bridge" ] && [ -n "$lan_bridge" ] || {
cat <<EOF
Adding ETH device requires IFACE, VID, PBITS and name of vlan and lan bridges.
EOF
exit 1
}
ip link show lei &> /dev/null || {
ip link add link lei name lei_lan type vlan id 1 2>/dev/null
}
old_vid=$(ip -d link show lei_lan | sed -n 's/vlan.*id \([0-9][0-9]*\) .*/\1/p')
[ "$old_vid" != "$vid" ] && {
ip link del lei_lan
ip link add link lei name lei_lan type vlan id ${vid}
}
brctl addif ${lan_bridge} lei_lan &>/dev/null
brctl addif ${vlan_bridge} lei_map &>/dev/null
ip link set lei up
ip link set lei_map up
ip link set lei_lan up
}
_create_eth() {
iface=$1 # Multi-AP Logical Ethernet Interface
vid=$2 # primary vid
bridge=$3 # name of ts subsystem bridge
pbits=0
[ -n "$iface" ] && [ -n "$vid" ] && [ -n "$bridge" ] || {
cat <<EOF
Adding ETH device requires IFACE, VID, PBITS and name of vlan and lan bridges.
EOF
exit 1
}
dbg create $@
ip link set $iface down
vlan_dev=${iface}_vlan${vid}
ip link set $vlan_dev down
_create_vlan_dev $iface $vid $bridge $vlan_dev
vlanctl --if $iface --rx --tags 0 --set-rxif $vlan_dev --push-tag --set-vid $vid 0 --set-pbits $pbits 0 --rule-append
vlanctl --if $iface --tx --tags 1 --filter-vid $vid 0 --filter-txif $vlan_dev --pop-tag --rule-append
[ $# -le 3 ] && exit 0
shift 3
while [ -n "$1" ] ; do
vid=$1
vlanctl --if $iface --rx --tags 1 --filter-vid $vid 0 --set-rxif $vlan_dev --rule-append
vlanctl --if $iface --tx --tags 1 --filter-vid $vid 0 --filter-txif $vlan_dev --rule-append
shift
for port in $(uci -q get network.${br_dev}.ports) ; do
echo $port | grep -q eth || continue
uci -q add_list network.@bridge-vlan[-1].ports="${port}${tag}"
done
ip link set $iface up
ip link set $vlan_dev up
uci -q add_list network.${br_dev}.ports="$port_dev"
uci -q add_list network.@bridge-vlan[-1].ports="$port_dev"
uci -q commit network
}
ts_create_eths() {
pvid=$1 # primary vid
bridge=$2 # name of ts subsystem bridge
_dhcp_setup() {
local name=$1
shift 2
# TODO use ieee1905 bridge
for iface in $(uci get network.br_lan.ports) ; do
[ "$iface" = "lei_lan" ] && continue
_create_eth $iface $pvid $bridge $@
ubus call ieee1905 del_interface "{\"ifname\":\"$iface\"}"
done
[ -n "$(uci -q get dhcp.${name})" ] && return
uci -q set dhcp.${name}=dhcp
uci -q set dhcp.${name}.interface="${name}"
uci -q set dhcp.${name}.start="100"
uci -q set dhcp.${name}.limit="150"
uci -q set dhcp.${name}.leasetime="1h"
uci -q set dhcp.${name}.dhcpv4="server"
uci -q set dhcp.${name}.dhcpv6="server"
uci -q set dhcp.${name}.ra="server"
uci -q set dhcp.${name}.ra_slaac="1"
uci -q add_list dhcp.${name}.ra_flags="managed-config"
uci -q add_list dhcp.${name}.ra_flags="other-config"
uci -q commit dhcp
}
ts_create_dhcp() {
local diff=""
_firewall_setup() {
local name=$1
local network=$1
local vid=$2
local zone_exist=0
_net_setup() {
local name=$1
local devname=$2
local vid=$3
config_load firewall
[ -z "$(uci -q get network.${name})" ] && {
uci -q set network.${name}="interface"
uci -q set network.${name}.device="$devname"
uci -q set network.${name}.is_lan="1"
uci -q set network.${name}.proto="static"
# TODO vid > 255
local ip_addr="192.168.${vid}.1"
[ "${vid}" = "1" ] && ip_addr="192.168.${vid}.2"
uci -q set network.${name}.ipaddr="${ip_addr}"
uci -q set network.${name}.netmask="255.255.255.0"
_process_zone() {
local section=$1
local new_name=$2
local name
diff="1"
}
config_get name $section name
[ "$diff" = "1" ] && uci -q commit network
[ "$name" == "$new_name" ] && zone_exist=1
}
_br_setup() {
local name=$1
local sinkname=$2
local vid=$3
config_foreach _process_zone zone $name
[ -z "$(uci -q get network.${name}_dev)" ] && {
uci -q set network.${name}_dev="device"
uci -q set network.${name}_dev.name="br-${name}"
uci -q set network.${name}_dev.type="bridge"
uci -q set network.${name}_dev.bridge_empty="1"
uci -q add_list network.${name}_dev.ports="${sinkname}"
[ "$zone_exist" != "0" ] && return
diff="1"
}
[ -z "$(uci -q get network.${name})" ] && {
uci -q set network.${name}="interface"
uci -q set network.${name}.device="br-${name}"
uci -q set network.${name}.is_lan="1"
uci -q set network.${name}.proto="static"
uci -q set network.${name}.ipaddr="192.168.${vid}.1"
uci -q set network.${name}.netmask="255.255.255.0"
diff="1"
}
[ "$diff" = "1" ] && uci -q commit network
[ "${vid}" = "${PRIMARY_VID}" ] && {
uci -q delete firewall.lan
}
_dhcp_setup() {
local name=$1
uci -q add firewall zone
uci -q set firewall.@zone[-1].name="$name"
uci -q add_list firewall.@zone[-1].network="$network"
uci -q set firewall.@zone[-1].input='ACCEPT'
uci -q set firewall.@zone[-1].output='ACCEPT'
uci -q set firewall.@zone[-1].forward='ACCEPT'
[ -n "$(uci -q get dhcp.${name})" ] && return
uci -q add firewall forwarding
uci -q set firewall.@forwarding[-1].src="$name"
uci -q set firewall.@forwarding[-1].dest="wan"
uci -q set dhcp.${name}=dhcp
uci -q set dhcp.${name}.interface="${name}"
uci -q set dhcp.${name}.start="100"
uci -q set dhcp.${name}.limit="150"
uci -q set dhcp.${name}.leasetime="1h"
uci -q set dhcp.${name}.dhcpv4="server"
uci -q set dhcp.${name}.dhcpv6="server"
uci -q set dhcp.${name}.ra="server"
uci -q set dhcp.${name}.ra_slaac="1"
uci -q add_list dhcp.${name}.ra_flags="managed-config"
uci -q add_list dhcp.${name}.ra_flags="other-config"
diff="1"
uci -q commit dhcp
}
_firewall_setup() {
local name=$1
local network=$2
local zone_exist=0
config_load firewall
_process_zone() {
local section=$1
local new_name=$2
local name
config_get name $section name
[ "$name" == "$new_name" ] && zone_exist=1
}
config_foreach _process_zone zone $name
[ "$zone_exist" != "0" ] && return
uci -q add firewall zone
uci -q set firewall.@zone[-1].name="$name"
uci -q add_list firewall.@zone[-1].network="$network"
uci -q set firewall.@zone[-1].input='ACCEPT'
uci -q set firewall.@zone[-1].output='ACCEPT'
uci -q set firewall.@zone[-1].forward='ACCEPT'
uci -q add firewall forwarding
uci -q set firewall.@forwarding[-1].src="$name"
uci -q set firewall.@forwarding[-1].dest="wan"
diff="1"
uci -q commit firewall
}
vid=$1 # primary vid
[ -n "$vid" ] || {
cat <<EOF
VID required to configure DHCP.
EOF
exit 1
}
ip link show sink${vid} || {
ip link add sink${vid} type veth peer name sink${vid}_vlan
ip link add link sink${vid} name sink${vid}_peer type vlan id ${vid}
}
ip link set sink${vid} up
ip link set sink${vid}_peer up
ip link set sink${vid}_vlan up
diff=""
_net_setup sink${vid} sink${vid}_peer ${vid}
_dhcp_setup sink${vid}
_firewall_setup lan${vid} sink${vid}
[ "$diff" = "1" ] && {
ubus call network reload
ubus -t 5 wait_for network.interface.sink${vid}
}
brctl addif br-map sink${vid}_vlan &> /dev/null
uci -q commit firewall
}
local type=$1
shift
vid=$1
case "$type" in
fh) ts_create_fh $@;;
bh) ts_create_bh $@;;
lei) ts_create_lei $@;;
eths) ts_create_eths $@;;
dhcp) ts_create_dhcp $@;;
--help|help) ts_usage;;
*) ts_usage; exit 1;;
esac
}
ts_delete() {
iface=$1
path=$(ls -d /sys/class/net/${iface}/upper_*)
[ -z "$path" ] && exit 0
vlan_dev=${path##*upper_}
bridge="$(_get_bridge $vlan_dev)"
[ -n "$bridge" ] && {
vlanctl --if-delete $vlan_dev # note: also removes rules and removes from bridge
brctl addif $bridge $iface &> /dev/null # needed to add again
}
}
ts_populate() {
local type=$1
shift
[ "$type" == "eth" ] || {
[ -n "$vid" ] || {
cat <<EOF
Populating ETH rules requires IFACE and VID.
VID required to configure.
EOF
exit 1
}
iface=$1 # Multi-AP Logical Ethernet Interface
vid=$2 # secondary vid
ip link show sink${vid} 2> /dev/null || {
ip link add sink${vid} type veth peer name sink_peer${vid}
}
path=$(ls -d /sys/class/net/${iface}/upper_*)
[ -z "$path" ] && exit 1
vlan_dev=${path##*upper_}
ip link set sink${vid} up
ip link set sink_peer${vid} up
# add rules
#vlanctl --if $iface --rx --tags 1 --filter-vid $vid 0 --set-rxif $vlan_dev --rule-append # note: retain secondary vids
#vlanctl --if $iface --tx --tags 1 --filter-vid $vid 0 --filter-txif $vlan_dev --rule-append # note: already default
}
proto="dhcp"
[ -x "/usr/sbin/mapcontroller" ] && proto="static" ;
_net_setup "vlan${vid}" ${vid} ${proto} "sink${vid}" "sink_peer${vid}"
ts_primary() {
local func=$1
shift
case "$func" in
get) vid=$(wl -i $1 map_8021q_settings); echo ${vid##* };;
*) ts_usage; exit 1;;
esac
}
ts_unicast() {
local mac=$1
local iface=$2
# TODO: improve?
res=$(ebtables -t broute -L | grep -i "$mac" | grep "$iface")
[ -n "$res" ] && return
ebtables -t broute -D BROUTING -d "$mac" -p 0x893a -j DROP
ebtables -t broute -I BROUTING -i "$iface" -d "$mac" -p 0x893a -j DROP
}
ts_multicast() {
local iface=$1
# TODO: improve?
res=$(ebtables -t broute -L | grep -i "1:80:C2:00:00:13" | grep "$iface")
[ -n "$res" ] && return
ebtables -t broute -D BROUTING -d 01:80:C2:00:00:13 -p 0x893a -j DROP
ebtables -t broute -D BROUTING -i "$iface" -d 01:80:C2:00:00:13 -p 0x893a -j DROP
ebtables -t broute -I BROUTING -i "$iface" -d 01:80:C2:00:00:13 -p 0x893a -j DROP
[ -x "/usr/sbin/mapcontroller" ] && {
_dhcp_setup vlan${vid}
_firewall_setup vlan${vid} ${vid}
}
}
ts_reload() {
@@ -466,32 +170,32 @@ EOF
# workaround for missing backhaul wifi.ap.* ubus obj's:
# iterate in config and setup bh
config_load wireless
# config_load wireless
_setup_bh_iface() {
local sec=$1
local iface=$2
local bridge=$3
# _setup_bh_iface() {
# local sec=$1
# local iface=$2
# local bridge=$3
config_get ifname $sec ifname
# config_get ifname $sec ifname
config_get mode $sec mode
config_get multi_ap $sec multi_ap "0"
[ "$mode" = "ap" -a "$multi_ap" = "1" ] && {
ts_create bh $ifname 1 2 br-map
}
}
# config_get mode $sec mode
# config_get multi_ap $sec multi_ap "0"
# [ "$mode" = "ap" -a "$multi_ap" = "1" ] && {
# ts_create bh $ifname 1 2 br-map
# }
#}
config_foreach _setup_bh_iface wifi-iface
# config_foreach _setup_bh_iface wifi-iface
[ -n "dhcp_reload" ] && /etc/init.d/dnsmasq reload
ubus call uci commit '{"config":"network"}'
/etc/init.d/firewall reload
# another workaround for netif? removed
# sink devices for br-map bridge
for sink in $(ubus list network.interface.sink*) ; do
local sink_vlan=${sink/network.interface./}_vlan
brctl addif br-map $sink_vlan &> /dev/null
done
#for sink in $(ubus list network.interface.sink*) ; do
# local sink_vlan=${sink/network.interface./}_vlan
#done
}
local func=$1
@@ -499,11 +203,6 @@ EOF
case "$func" in
create) dbg "create $@"; ts_create $@;;
delete) dbg "delete $@"; ts_delete $@;;
populate) dbg "populate $@"; ts_populate $@;;
primary) dbg "primary $@"; ts_primary $@;;
unicast) dbg "unicast $@"; ts_unicast $@;;
multicast) dbg "multicast $@"; ts_multicast $@;;
reload) dbg "reload $@"; ts_reload $@;;
--help|help) ts_usage;;
*) ts_usage; exit 1;;

View File

@@ -1,16 +1,13 @@
#
# Copyright (C) 2020 IOPSYS Software Solutions AB
# Copyright (C) 2020-22 IOPSYS Software Solutions AB
#
include $(TOPDIR)/rules.mk
PKG_NAME:=map-controller
PKG_VERSION:=6.0.5
PKG_VERSION:=2.10.0.2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=3562b7f774e6dffda2e58ad2acb382fc439273fb
PKG_LICENSE:=PROPRIETARY IOPSYS
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_VERSION:=4f638fc1663a75385ad3d8ac4efcf5b940ac52ae
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
@@ -20,6 +17,9 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/map-controller
@@ -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

@@ -1,67 +1,143 @@
config controller 'controller'
option enabled '1'
option registrar '5 2' #bands on which wps registrar supported
option debug '6'
option registrar '2 5'
option debug '0'
option enable_sta_steer '0'
option enable_bsta_steer '0'
option primary_vid '1'
option use_bcn_metrics '0'
option use_usta_metrics '0'
option primary_vid '0'
option primary_pcp '0'
config interface 'lan'
option 'dhcp'
config ap
option band '5'
option encryption 'sae-mixed'
option key '1234567890'
option ssid 'map-net5'
option vid '1'
option type 'fronthaul'
option network 'lan'
option allow_bgdfs '0'
option channel_plan '0'
config ap
option band '2'
option encryption 'sae-mixed'
option key '1234567890'
option ssid 'map-net2'
option vid '1'
option type 'fronthaul'
option network 'lan'
option ssid 'IOWRT-2.4GHz'
option encryption 'sae-mixed'
option key '1234567890'
config ap
option band '5'
option encryption 'sae'
option key '5555555555'
option ssid 'map-bkhaul-5'
option type 'backhaul'
option disallow_bsta '1' # bitmap, 1 for disallow p1, 2 to disallow p2, 3 to disallow both (probably never applicable)
option type 'fronthaul'
option vid '1'
option network 'lan'
option ssid 'IOWRT-5GHz'
option encryption 'sae-mixed'
option key '1234567890'
config ap
option band '2'
option encryption 'sae'
option key '2222222222'
option ssid 'map-bkhaul-2'
list disallow_bsta '0' # 0 or 1 profile-1 bSTA
option vid '1'
option type 'backhaul'
option network 'lan'
option vid '1'
list disallow_bsta '0'
option ssid 'MAP-BH-2.4GHz'
option encryption 'sae'
option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
config policy 'policy'
list steer_exclude '00:11:22:33:44:55'
list steer_exclude_btm '00:aa:bb:cc:dd:ee'
option steer_policy '2' # 0, 1, 2 - see MultiAP spec
option util_threshold '200' # channel-util as in BSS load
option rcpi_threshold '30' # 0 - 220 valid range
option report_scan '0' # 0 or 1 for independent scans
option report_sta_assocfails '1' # 0 or 1 - stas assoc failure
option report_sta_assocfails_rate '2' # reporting rate for STA assoc fails (attempts per minute)
option report_metric_periodic '0' # 0, or 1 - 255 in secs
option report_rcpi_threshold '0' # 0, or 1 - 220
option report_util_threshold '0' # 0, or channel-util value
option rcpi_hysteresis_margin '0' # 0, or > 0 - hysteresis margin
option include_sta_stats '0' # sta stats in AP metric resp
option include_sta_metric '0' # sta metric in AP metric resp
option disallow_bsta_p1 '0' # 0 or 1 profile-1 bSTA
option disallow_bsta_p2 '0' # 0 or 1 profile-2 bSTA
config ap
option band '5'
option type 'backhaul'
option vid '1'
list disallow_bsta '0'
option ssid 'MAP-BH-5GHz'
option encryption 'sae'
option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
# node and radio sections (per node) are auto
# generated per Multi-AP Agent in the network
#
#config node 'node_0a1b2c3d4e50'
# option agent_id '0a:1b:2c:3d:4e:50'
# following values use default values after onboarding if not explicitly set
# option backhaul_ul_macaddr '00:00:00:00:00:00'
# option backhaul_dl_macaddr '00:00:00:00:00:00'
# option backhaul_type 'none'
# option primary_vid '1'
# option primary_pcp '0'
# option report_sta_assocfails '0'
# option report_sta_assocfails_rate '0'
# option report_metric_periodic '0'
# option report_scan '0'
# option steer_exclude '0'
# option steer_exclude_btm '0'
# option steer_disallow '0'
# option coordinated_cac '0'
# option traffic_separation '0'
# option sta_steer '0'
#config radio 'radio_0a1b2c3d4e53'
# option agent_id '0a:1b:2c:3d:4e:50'
# option macaddr '0a:1b:2c:3d:4e:53'
# option band '2'
# following values use default values after onboarding if not explicitly set
# option steer_policy '0'
# option util_threshold '0'
# option rcpi_threshold '70'
# option report_rcpi_threshold '80'
# option report_util_threshold '0'
# option report_rcpi_hysteresis_margin '0'
# option include_sta_stats '1'
# option include_sta_metric '1'
#config radio 'radio_0a1b2c3d4e54'
# option agent_id '0a:1b:2c:3d:4e:50'
# option macaddr '0a:1b:2c:3d:4e:54'
# option band '5'
# following values use default values after onboarding if not explicitly set
# option steer_policy '0'
# option util_threshold '0'
# option rcpi_threshold '86'
# option report_rcpi_threshold '96'
# option report_util_threshold '0'
# option report_rcpi_hysteresis_margin '0'
# option include_sta_stats '1'
# option include_sta_metric '1'
#config node 'node_3fb1c2d3e460'
# option agent_id '3f:b1:c2:d3:e4:60'
# following values use default values after onboarding if not explicitly set
# option backhaul_ul_macaddr '00:00:00:00:00:00'
# option backhaul_dl_macaddr '00:00:00:00:00:00'
# option backhaul_type 'none'
# option primary_vid '1'
# option primary_pcp '0'
# option report_sta_assocfails '0'
# option report_sta_assocfails_rate '0'
# option report_metric_periodic '0'
# option report_scan '0'
# option steer_exclude '0'
# option steer_exclude_btm '0'
# option steer_disallow '0'
# option coordinated_cac '0'
# option traffic_separation '0'
# option sta_steer '0'
#config radio 'radio_3fb1c2d3e463'
# option agent_id '3f:b1:c2:d3:e4:60'
# option macaddr '3f:b1:c2:d3:e4:63'
# option band '2'
# following values use default values after onboarding if not explicitly set
# option steer_policy '0'
# option util_threshold '0'
# option rcpi_threshold '70'
# option report_rcpi_threshold '80'
# option report_util_threshold '0'
# option report_rcpi_hysteresis_margin '0'
# option include_sta_stats '1'
# option include_sta_metric '1'
#config radio 'radio_3fb1c2d3e464'
# option agent_id '3f:b1:c2:d3:e4:60'
# option macaddr '3f:b1:c2:d3:e4:64'
# option band '5'
# following values use default values after onboarding if not explicitly set
# option steer_policy '0'
# option util_threshold '0'
# option rcpi_threshold '86'
# option report_rcpi_threshold '96'
# option report_util_threshold '0'
# option report_rcpi_hysteresis_margin '0'
# option include_sta_stats '1'
# option include_sta_metric '1'

View File

@@ -23,7 +23,9 @@ validate_controller_section() {
'enable_sta_steer:bool:false' \
'enable_bsta_steer:bool:false' \
'use_bcn_metrics:bool:false' \
'use_usta_metrics:bool:false'
'use_usta_metrics:bool:false' \
'allow_bgdfs:range(0,2629744)' \
'channel_plan:range(0,2629744)'
[ "$?" -ne 0 ] && {
logger -s -t "mapcontroller" "Validation of controller section failed"
@@ -37,7 +39,7 @@ validate_ap_section() {
local section="$1"
uci_validate_section mapcontroller $section "${1}" \
'band:or("2", "5")' \
'band:or("2", "5", "6")' \
'ssid:string' \
'encryption:or("sae", "sae+aes", "psk2",
"psk2+aes", "sae-mixed", "sae-mixed+aes")' \

View File

@@ -1,37 +1,41 @@
#
# Copyright (C) 2020 iopsys
# Copyright (C) 2020-22 IOPSYS Software Solutions AB
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=map-topology
PKG_VERSION:=3.2.5
PKG_VERSION:=2.5.0.6
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_VERSION:=ddf78cca217ebfa83733a532bdd2d17b6c3af54e
PKG_SOURCE_VERSION:=8097afd9091e2da048a935b91d7c3f1069a0e1bf
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
PKG_MIRROR_HASH:=skip
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=PROPRIETARY IOPSYS
PKG_BUILD_DEPENDS:=ieee1905
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/map-topology
CATEGORY:=Utilities
DEPENDS:=+libubox +ubus +libpthread +libuci +libeasy \
+libieee1905 +map-plugin +libavahi-nodbus-support
+libavahi-nodbus-support +libnetfilter-conntrack +libnfnetlink +libmnl
TITLE:=Utility to build topology of a multi-AP network
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 \
-D_GNU_SOURCE
define Package/map-topology/description

View File

@@ -1,40 +0,0 @@
#
# Copyright (C) 2020 IOPSYS
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mqtt-ciotc
PKG_VERSION:=0.1
PKG_SOURCE_VERSION:=00da3fb1f1691d836037dc4d93e38d0835ba46a4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wifilife-testbed.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=Apache-2.0
include $(INCLUDE_DIR)/package.mk
define Package/mqtt-ciotc
CATEGORY:=Utilities
DEPENDS:=+libjwt +lib-paho-mqtt +libopenssl +libubox +ubus +libblobmsg-json
TITLE:=mqtt google iot clinet
endef
define Package/mqtt-ciotc/description
mqtt google iot client
endef
define Package/mqtt-ciotc/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mqtt_ciotc $(1)/sbin/
endef
$(eval $(call BuildPackage,mqtt-ciotc))

View File

@@ -1,3 +0,0 @@
config certs 'certs'
option private '/etc/mqtt-ciotc/rsa_private.pem'
option root '/etc/mqtt-ciotc/roots.pem'

View File

@@ -1,35 +0,0 @@
#!/bin/sh /etc/rc.common
START=96
STOP=10
PROG=/sbin/mqtt_ciotc
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command ${PROG}
config_load mqtt_ciotc
config_get private certs private
config_get root certs root
[ -n $private ] && procd_append_param command --private-cert $private
[ -n $root ] && procd_append_param command --root-cert $root
procd_set_param respawn
procd_close_instance
}
stop_service()
{
service_stop ${PROG}
}
reload_service() {
# procd_send_signal wifilife # use SIGHUP
stop
start
}
service_triggers() {
procd_add_reload_trigger "mqtt_ciotc"
}

View File

@@ -34,12 +34,13 @@ start_service() {
[ -n "$mode" ] || return
# Get the last saved mode
lastmode="$(cat /etc/netmodes/.last_mode 2>/dev/null)"
lastmode="$(cat $MODEDIR/.last_mode 2>/dev/null)"
# Return if desired mode is same as last saved mode
[ "$mode" == "$lastmode" ] && return
# Save mode as last mode
echo "$mode" > /etc/netmodes/.last_mode
[ -d $MODEDIR ] || mkdir -p $MODEDIR
echo "$mode" > $MODEDIR/.last_mode
logger -s -p user.info -t "netmode" "Switching to $mode Mode" >/dev/console

View File

@@ -2,16 +2,28 @@ if PACKAGE_obuspa
menu "Configuration"
config OBUSPA_MTP_ENABLE_STOMP
bool "Enable STOMP as mtp protocol"
default y
config OBUSPA_DB_PATH
string "Configure path for usp.db file"
default "/tmp/"
config OBUSPA_MTP_ENABLE_MQTT
bool "Enable MQTT as mtp protocol"
default y
config OBUSPA_MTP_ENABLE_WEBSOCKETS
bool "Enable WebSockets as mtp protocol"
default y
config OBUSPA_MTP_ENABLE_STOMP
bool "Enable STOMP as mtp protocol"
default y
config OBUSPA_MTP_ENABLE_COAP
bool "Enable CoAP as mtp protocol"
default y
default n
config OBUSPA_CONTROLLER_MTP_VERIFY
bool "Enable verification of MQTT response topic before processing the message"
default n
endmenu
endif

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspa
PKG_VERSION:=4.1.0.18
PKG_VERSION:=5.0.0.16
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=af3d4663d66942e3b0e3253375c5620629769aa5
PKG_SOURCE_VERSION:=cd47bcaf1cc82dfd5c10ea76491fd0dae4436cc6
PKG_SOURCE_URL:=https://dev.iopsys.eu/fork/obuspa.git
PKG_MAINTAINER:=Vivek Dutta <vivek.dutta@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
@@ -31,7 +31,7 @@ define Package/obuspa
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=USP agent
DEPENDS:=+libopenssl +libcurl +libsqlite3 +libubox +libubus +uspd +libmosquitto
DEPENDS:=+libopenssl +libuci +libblobmsg-json +libcurl +libsqlite3 +libubox +libubus +libmosquitto-ssl +libwebsockets-openssl
endef
define Package/obuspa/description
@@ -43,8 +43,18 @@ define Package/obuspa/config
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-D_GNU_SOURCE
-D_GNU_SOURCE \
-Wall \
-Werror
ifneq ($(CONFIG_OBUSPA_CONTROLLER_MTP_VERIFY),)
TARGET_CFLAGS += -DOBUSPA_CONTROLLER_MTP_VERIFY
endif
ifneq ($(CONFIG_OBUSPA_DB_PATH),)
CONFIGURE_ARGS += \
--localstatedir="$(CONFIG_OBUSPA_DB_PATH)"
endif
ifeq ($(CONFIG_OBUSPA_MTP_ENABLE_STOMP),y)
CONFIGURE_ARGS += \
@@ -70,6 +80,14 @@ else
--disable-coap
endif
ifeq ($(CONFIG_OBUSPA_MTP_ENABLE_WEBSOCKETS),y)
CONFIGURE_ARGS += \
--enable-websockets
else
CONFIGURE_ARGS += \
--disable-websockets
endif
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/obuspa/* $(PKG_BUILD_DIR)/
@@ -81,11 +99,14 @@ define Package/obuspa/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/obuspa
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(INSTALL_BIN) $(PKG_BUILD_DIR)/obuspa $(1)/usr/sbin/
$(INSTALL_BIN) ./files/etc/init.d/obuspa $(1)/etc/init.d/
$(INSTALL_DATA) ./files/etc/config/obuspa $(1)/etc/config/
$(INSTALL_DATA) ./files/etc/obuspa/roles.json $(1)/etc/obuspa/roles.json
$(INSTALL_DATA) ./files/etc/obuspa/dmcaching_exclude.json $(1)/etc/obuspa/dmcaching_exclude.json
$(INSTALL_DATA) ./files/etc/bbfdm/json/USPAgent.json $(1)/etc/bbfdm/json/USPAgent.json
$(INSTALL_DATA) ./files/etc/bbfdm/json/TransferComplete.json $(1)/etc/bbfdm/json/TransferComplete.json
endef
$(eval $(call BuildPackage,obuspa))

File diff suppressed because it is too large Load Diff

View File

@@ -16,7 +16,6 @@ mqtt_num=0
subs_num=0
challenge_num=0
index=0
role_def_file=""
PROFILE="/root/.profile"
. /lib/functions/network.sh
@@ -31,11 +30,11 @@ cleanup() {
trap cleanup EXIT
log() {
echo "${@}"|logger -t obuspa.init -p debug
echo "$*"|logger -t obuspa.init -p debug
}
db_set() {
if [ -n "${1}" ]; then
if [ -n "${1}" ] && [ -n "${2}" ]; then
echo "${1} \"${2}\"">>${PARAM_FILE}
else
echo >>${PARAM_FILE}
@@ -49,9 +48,8 @@ update_keep() {
return;
fi
grep -q "${keep_file}" ${KEEP_FILES}
if [ "$?" -ne 0 ]; then
echo ${keep_file} >> ${KEEP_FILES}
if grep -q "${keep_file}" ${KEEP_FILES}; then
echo "${keep_file}" >> ${KEEP_FILES}
fi
}
@@ -63,12 +61,15 @@ get_index() {
}
get_role_index_from_json() {
local role="${@}"
local role="$1"
local role_def_file="$2"
local num=0
local roles_obj
# In case of role is empty or file not present
if [ -z "${role}" -o ! -f "${role_def_file}" ]; then
return 0
if [ -z "${role}" ] || [ ! -f "${role_def_file}" ]; then
echo "${num}"
return ${num}
fi
json_init
@@ -79,20 +80,21 @@ get_role_index_from_json() {
for k in ${roles_obj}; do
local rname
json_select $k
json_select "$k"
json_get_var rname name
json_select ..
if [ "${rname}" != "Untrusted" -a "${rname}" != "full_access" ]; then
if [ "${rname}" != "Untrusted" ] && [ "${rname}" != "full_access" ]; then
num=$(( num + 1 ))
fi
if [ "${role}" = "${rname}" ]; then
echo "${num}"
return ${num}
fi
done
return 0
return ${num}
}
get_uci_ref_index() {
@@ -102,10 +104,10 @@ get_uci_ref_index() {
index=0
config_load $CONFIGURATION
config_foreach get_index $1 $2
config_foreach get_index "$1" "$2"
val=$(cat ${USP_TEMP_FILE})
if [ -z $val ]; then
if [ -z "${val}" ]; then
val=0
fi
@@ -121,7 +123,7 @@ validate_obuspa_section()
'trust_cert:file' \
'client_cert:file' \
'interface:string' \
'ifname:string:br-lan' \
'ifname:string' \
'debug:bool:false' \
'prototrace:bool:false' \
'log_level:uinteger' \
@@ -149,7 +151,7 @@ validate_controller_section()
'USPNotifRetryMinimumWaitInterval:uinteger:5' \
'USPNotifRetryIntervalMultiplier:uinteger:2000' \
'ControllerCode:string' \
'Protocol:or("STOMP","CoAP","MQTT")' \
'Protocol:or("STOMP","CoAP","MQTT", "WebSocket")' \
'Reference:string' \
'Destination:string:controller-notify-dest' \
'Topic:string' \
@@ -158,7 +160,14 @@ validate_controller_section()
'coap_path:string' \
'coap_port:port' \
'mqtt:string' \
'stomp:string'
'stomp:string' \
'Host:host' \
'Port:port' \
'Path:string' \
'EnableEncryption:bool' \
'KeepAliveInterval:uinteger' \
'SessionRetryIntervalMultiplier:uinteger' \
'SessionRetryMinimumWaitInterval:uinteger'
}
validate_subscription_section()
@@ -177,7 +186,7 @@ validate_mtp_section()
{
uci_validate_section ${CONFIGURATION} mtp "${1}" \
'Enable:bool:true' \
'Protocol:or("STOMP","CoAP","MQTT")' \
'Protocol:or("STOMP","CoAP","MQTT", "WebSocket")' \
'Reference:string' \
'ResponseTopicConfigured:string' \
'PublishQoS:uinteger' \
@@ -185,7 +194,12 @@ validate_mtp_section()
'coap_path:string' \
'coap_port:port' \
'mqtt:string' \
'stomp:string'
'stomp:string' \
'Path:string' \
'Port:port' \
'EnableEncryption:bool' \
'KeepAliveInterval:uinteger'
}
validate_stomp_connection_section()
@@ -223,25 +237,37 @@ validate_mqtt_client_section()
'ConnectRetryMaxInterval:uinteger:60'
}
get_oui_from_db() {
local oui="$(db get device.deviceinfo.ManufacturerOUI)"
validate_challenge_section()
{
uci_validate_section ${CONFIGURATION} challenge "${1}" \
'Enable:bool:true' \
'Alias:string' \
'Description:string' \
'role_name:string' \
'Role:string' \
'Value:string' \
'Retries:uinteger:3' \
'LockoutPeriod:uinteger:0'
}
echo "${oui}"
get_oui_from_db() {
db -q get device.deviceinfo.ManufacturerOUI
}
get_serial_from_db() {
local serial="$(db get device.deviceinfo.SerialNumber)"
# this can encoded further
echo "${serial}"
db -q get device.deviceinfo.SerialNumber
}
publish_endpoint() {
local AgentEndpointID serial oui user pass
local opt=""
if ! uci -q get obuspa.localmqtt; then
log "Remote mqtt broker configured, skip publishing endpoint"
return 0;
fi
# return if mosquitto_pub is not present
if [ ! "$(which mosquitto_pub)" ]; then
if [ ! "$(command -v mosquitto_pub)" ]; then
log "mosquitto_pub not present can't publish EndpointID"
return 0;
fi
@@ -256,22 +282,24 @@ publish_endpoint() {
fi
config_get user localmqtt Username
if [ -n "${user}" ]; then
opt="-u ${user}"
fi
config_get pass localmqtt Password
if [ -n "${pass}" ]; then
opt="${opt} -P ${pass}"
fi
# publish Agent's EndpointID in mosquito broker for discovery by usp-js
# This is a work around till obuspa adds supports for mDNS discovery
log "Publishing EndpointID ${AgentEndpointID} to local mqtt broker"
mosquitto_pub -r -t "obuspa/EndpointID" -m "${AgentEndpointID}" ${opt}
if [ -n "${user}" ] && [ -n "${pass}" ]; then
log "Publishing EndpointID ${AgentEndpointID} to local mqtt broker with username, password"
mosquitto_pub -r -t "obuspa/EndpointID" -m "${AgentEndpointID}" -u "${user}" -P "${pass}"
elif [ -n "${user}" ]; then
log "Publishing EndpointID ${AgentEndpointID} to local mqtt broker with username only"
mosquitto_pub -r -t "obuspa/EndpointID" -m "${AgentEndpointID}" -u "${user}"
else
log "Publishing EndpointID ${AgentEndpointID} to local mqtt broker"
mosquitto_pub -r -t "obuspa/EndpointID" -m "${AgentEndpointID}"
fi
}
configure_localagent() {
local Enable ParameterName EndpointID
local Enable EndpointID
validate_localagent_section 'localagent' || {
log "Validation of localagent section failed"
@@ -288,33 +316,48 @@ configure_localagent() {
configure_controller() {
local EndpointID Enable AssignedRole PeriodicNotifInterval PeriodicNotifTime USPNotifRetryMinimumWaitInterval
local USPNotifRetryIntervalMultiplier ControllerCode Protocol Destination coap_host coap_path coap_port
local Reference Topic mqtt stomp assigned_role_name
local Reference Topic mqtt stomp assigned_role_name ParameterName
local Host Port Path EnableEncryption KeepAliveInterval
local SessionRetryIntervalMultiplier SessionRetryMinimumWaitInterval
validate_controller_section "${1}" || {
log "Validation of controller section failed"
return 1;
}
if [ -z "${EndpointID}" -o -z "${Protocol}" ]; then
if [ -z "${EndpointID}" ] || [ -z "${Protocol}" ]; then
log "controller:: EndpointID id and Protocol cannot be empty"
return 1;
fi
if [ -z "${stomp}" -a -z "${Reference}" -a -z "${mqtt}" -a -z "${coap_path}" ]; then
# Support for backward compatibility for coap uci parameters
if [ -n "${coap_host}" ] && [ -z "${Host}" ]; then
Host="${coap_host}"
fi
if [ -n "${coap_path}" ] && [ -z "${Path}" ]; then
Path="${coap_path}"
fi
if [ -n "${coap_port}" ] && [ -z "${Port}" ]; then
Port="${coap_port}"
fi
if [ -z "${stomp}" ] && [ -z "${Reference}" ] && [ -z "${mqtt}" ] && [ -z "${Host}" ]; then
log "controller:: Invalid configuration"
return 1;
fi
if [ -z "${Reference}" ]; then
if [ "${Protocol}" = "STOMP" ]; then
val=$(get_uci_ref_index stomp ${stomp})
val=$(get_uci_ref_index stomp "${stomp}")
if [ "${val}" -eq 0 ]; then
log "Not able to find the referred stomp section"
return 1;
fi
Reference="Device.STOMP.Connection.${val}"
elif [ "${Protocol}" = "MQTT" ]; then
val=$(get_uci_ref_index mqtt ${mqtt})
val=$(get_uci_ref_index mqtt "${mqtt}")
if [ "${val}" -eq 0 ]; then
log "Not able to find the referred mqtt section"
return 1;
@@ -332,7 +375,7 @@ configure_controller() {
db_set Device.LocalAgent.Controller.${controller_num}.AssignedRole "${AssignedRole}"
else
if [ -n "${assigned_role_name}" ]; then
AssignedRole=$(get_role_index ${assigned_role_name})
AssignedRole=$(get_role_index "${assigned_role_name}")
db_set Device.LocalAgent.Controller.${controller_num}.AssignedRole "${AssignedRole}"
fi
fi
@@ -358,9 +401,18 @@ configure_controller() {
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.STOMP.Reference "${Reference}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.STOMP.Destination "${Destination}"
elif [ "${Protocol}" = "CoAP" ]; then
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.CoAP.Host "${coap_host}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.CoAP.Path "${coap_path}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.CoAP.Port "${coap_port}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.CoAP.Host "${Host}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.CoAP.Path "${Path}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.CoAP.Port "${Port}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.CoAP.EnableEncryption "${EnableEncryption}"
elif [ "${Protocol}" = "WebSocket" ]; then
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.WebSocket.Host "${Host}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.WebSocket.Port "${Port}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.WebSocket.Path "${Path}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.WebSocket.EnableEncryption "${EnableEncryption}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.WebSocket.KeepAliveInterval "${KeepAliveInterval}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.WebSocket.SessionRetryIntervalMultiplier "${SessionRetryIntervalMultiplier}"
db_set Device.LocalAgent.Controller.${controller_num}.MTP.1.WebSocket.SessionRetryMinimumWaitInterval "${SessionRetryMinimumWaitInterval}"
else
log "Unsupported Protocol ${Protocol}"
fi
@@ -373,7 +425,7 @@ configure_controller() {
db_set Device.LocalAgent.Controller.${controller_num}.BootParameter.${_pnum}.Alias "cpe-${_pnum}"
db_set Device.LocalAgent.Controller.${controller_num}.BootParameter.${_pnum}.Enable "${Enable}"
db_set Device.LocalAgent.Controller.${controller_num}.BootParameter.${_pnum}.ParameterName "${param}"
_pnum=$(( ${_pnum} + 1 ))
_pnum=$(( _pnum + 1 ))
done
db_set
@@ -388,12 +440,13 @@ configure_subscription(){
return 1;
}
if [ -z "${Recipient}" -a -z "${controller}" ]; then
if [ -z "${Recipient}" ] && [ -z "${controller}" ]; then
log "No recipient for subscription"
return 1;
fi
if [ -z "${Recipient}" ]; then
val=$(get_uci_ref_index controller ${controller})
val=$(get_uci_ref_index controller "${controller}")
if [ "${val}" -eq 0 ]; then
log "Not able to find the referred controller section"
return 1;
@@ -410,28 +463,17 @@ configure_subscription(){
db_set Device.LocalAgent.Subscription.${subs_num}.ReferenceList "${ReferenceList}"
db_set Device.LocalAgent.Subscription.${subs_num}.Persistent "${Persistent}"
db_set Device.LocalAgent.Subscription.${subs_num}.Recipient "${Recipient}"
}
validate_challenge_section()
{
uci_validate_section ${CONFIGURATION} challenge "${1}" \
'Enable:bool:true' \
'Alias:string' \
'Description:string' \
'role_name:string' \
'Role:string' \
'Value:string' \
'Retries:uinteger:3' \
'LockoutPeriod:uinteger:0'
db_set Device.LocalAgent.Subscription.${subs_num}.CreationDate "$(date -I'seconds')"
}
check_json_load()
{
local ret=0
local ret
ret=0
if [ -f "${role_def_file}" ]; then
json_init
json_load_file "${role_def_file}" 2>&1 |grep -q Failed
if [ $? -eq 0 ]; then # In case of invalid json file
if json_load_file "${role_def_file}" 2>&1 |grep -q Failed; then
log "failed to load [${role_def_file}]"
ret=1
fi
@@ -443,8 +485,10 @@ check_json_load()
get_role_index() {
local role="Device.LocalAgent.ControllerTrust.Role"
local idx=0
local role_name="${@}"
local role_name="$1"
local role_def_file
role_def_file=$(uci -q get obuspa.global.role_file 2>/dev/null)
case "${role_name}" in
'full_access')
idx=1;
@@ -456,9 +500,8 @@ get_role_index() {
local ji=0
check_json_load
if [ $? -eq 0 ]; then
get_role_index_from_json ${role_name}
ji=$?
if [ "$?" -eq "0" ]; then
ji=$(get_role_index_from_json "${role_name}" "${role_def_file}")
fi
idx=$(( ji + 2 )) # Add predefined roles
esac
@@ -474,7 +517,7 @@ configure_challenges() {
exit 1;
}
if [ -z "${role_name}" -a -z "${Role}" ]; then
if [ -z "${role_name}" ] && [ -z "${Role}" ]; then
log "Either role_name or Role must defined for a challenge";
return 1;
fi
@@ -487,10 +530,10 @@ configure_challenges() {
fi
if [ -z "${Role}" ]; then
Role=$(get_role_index ${role_name})
Role=$(get_role_index "${role_name}")
fi
if [ -z "${Alias}" -a -n "${role_name}" ]; then
if [ -z "${Alias}" ] && [ -n "${role_name}" ]; then
Alias=${role_name}
fi
@@ -504,22 +547,31 @@ configure_challenges() {
configure_mtp() {
local Enable Protocol Reference ResponseTopicConfigured PublishQoS
local stomp mqtt
local Path Port EnableEncryption KeepAliveInterval
validate_mtp_section "${1}" || {
log "Validation of mtp section failed"
return 1;
}
if [ -n "${coap_path}" ] && [ -z "${Path}" ]; then
Path="${coap_path}"
fi
if [ -n "${coap_port}" ] && [ -z "${Port}" ]; then
Port="${coap_port}"
fi
if [ -z "${Reference}" ]; then
if [ "${Protocol}" = "STOMP" ]; then
val=$(get_uci_ref_index stomp ${stomp})
val=$(get_uci_ref_index stomp "${stomp}")
if [ "${val}" -eq 0 ]; then
log "Referred stomp section not found"
return 1;
fi
Reference="Device.STOMP.Connection.${val}"
elif [ "${Protocol}" = "MQTT" ]; then
val=$(get_uci_ref_index mqtt ${mqtt})
val=$(get_uci_ref_index mqtt "${mqtt}")
if [ "${val}" -eq 0 ]; then
log "Referred mqtt section not found"
return 1;
@@ -542,8 +594,13 @@ configure_mtp() {
db_set Device.LocalAgent.MTP.${mtp_num}.STOMP.Reference "${Reference}"
db_set Device.LocalAgent.MTP.${mtp_num}.STOMP.Destination "${Destination}"
elif [ "${Protocol}" = "CoAP" ]; then
db_set Device.LocalAgent.MTP.${mtp_num}.CoAP.Path "${coap_path}"
db_set Device.LocalAgent.MTP.${mtp_num}.CoAP.Port "${coap_port}"
db_set Device.LocalAgent.MTP.${mtp_num}.CoAP.Path "${Path}"
db_set Device.LocalAgent.MTP.${mtp_num}.CoAP.Port "${Port}"
elif [ "${Protocol}" = "WebSocket" ]; then
db_set Device.LocalAgent.MTP.${mtp_num}.WebSocket.Path "${Path}"
db_set Device.LocalAgent.MTP.${mtp_num}.WebSocket.Port "${Port}"
db_set Device.LocalAgent.MTP.${mtp_num}.WebSocket.EnableEncryption "${EnableEncryption}"
db_set Device.LocalAgent.MTP.${mtp_num}.WebSocket.KeepAliveInterval "${KeepAliveInterval}"
else
log "Unsupported Protocol ${Protocol} in mtp"
fi
@@ -583,7 +640,7 @@ configure_stomp_connection() {
configure_mqtt_client(){
local BrokerAddress BrokerPort Enable Username Password ProtocolVersion KeepAliveTime
local TransportProtocol ConnectRetryTime ConnectRetryMaxInterval ConnectRetryIntervalMultiplier
local TransportProtocol ConnectRetryTime ConnectRetryMaxInterval ConnectRetryIntervalMultiplier ClientID
validate_mqtt_client_section "${1}" || {
log "Validation of mqtt section failed"
@@ -617,13 +674,9 @@ configure_mqtt_client(){
configure_obuspa() {
local enabled trust_cert ifname interface debug prototrace log_level db_file log_dest role_file
local client_cert
validate_obuspa_section "global" || {
log "Validation of global section failed"
return 1;
}
role_def_file="${role_file}"
validate_obuspa_section "global"
if [ "${debug}" -eq 1 ]; then
# Forward stdout of the command to logd
@@ -632,72 +685,94 @@ configure_obuspa() {
procd_set_param stderr 1
fi
if [ "${debug}" -eq 1 -a "${prototrace}" -eq 1 ]; then
if [ "${debug}" -eq 1 ] && [ "${prototrace}" -eq 1 ]; then
procd_append_param command -p
fi
if [ "${debug}" -eq 1 -a -n "${log_level}" ]; then
procd_append_param command -v ${log_level}
if [ "${debug}" -eq 1 ] && [ -n "${log_level}" ]; then
procd_append_param command -v "${log_level}"
fi
if [ -n "${log_dest}" ]; then
procd_append_param command -l ${log_dest}
procd_append_param command -l "${log_dest}"
fi
if [ -n "${interface}" ]; then
network_get_physdev ifname ${interface}
network_get_physdev ifname "${interface}"
fi
# Set this variable for root user and obuspa -c tool
if [ -f "${PROFILE}" ]; then
grep -q "export USP_BOARD_IFNAME=${ifname}" ${PROFILE}
if [ "$?" -ne 0 ]; then
grep -q "export USP_BOARD_IFNAME" ${PROFILE}
if [ "$?" -eq 0 ]; then
sed -i "g/export USP_BOARD_IFNAME/d" ${PROFILE}
fi
echo "export USP_BOARD_IFNAME=${ifname}" >> ${PROFILE}
if [ -n "${ifname}" ]; then
procd_set_param env USP_BOARD_IFNAME="${ifname}"
fi
if [ -z "${ifname}" ] || ! grep -F -q "export USP_BOARD_IFNAME=${ifname}" "${PROFILE}"; then
if [ -f "${PROFILE}" ]; then
sed -i "/export USP_BOARD_IFNAME/d" "${PROFILE}"
fi
if [ -n "${ifname}" ]; then
# Set this variable for root user and obuspa -c tool
echo "export USP_BOARD_IFNAME=${ifname}" >> "${PROFILE}"
fi
else
echo "export USP_BOARD_IFNAME=${ifname}" > ${PROFILE}
fi
if [ -n "${db_file}" ]; then
update_keep "${db_file}"
procd_append_param command -f ${db_file}
procd_append_param command -f "${db_file}"
fi
if [ -n "${trust_cert}" ]; then
update_keep "${trust_cert}"
if [ -f "${trust_cert}" ]; then
procd_append_param command -t ${trust_cert}
procd_append_param command -t "${trust_cert}"
fi
fi
if [ -n "${client_cert}" ]; then
update_keep "${client_cert}"
if [ -f "${client_cert}" ]; then
procd_append_param command -a ${client_cert}
procd_append_param command -a "${client_cert}"
fi
fi
procd_set_param env USP_BOARD_IFNAME=${ifname}
}
# Create factory reset file
db_init() {
# Load configuration
config_load $CONFIGURATION
config_foreach configure_obuspa obuspa
config_foreach configure_controller controller
[ "$?" -ne 0 ] && return 1;
config_foreach configure_localagent localagent
[ "$?" -ne 0 ] && return 1;
config_foreach configure_mtp mtp
[ "$?" -ne 0 ] && return 1;
config_foreach configure_stomp_connection stomp
[ "$?" -ne 0 ] && return 1;
config_foreach configure_mqtt_client mqtt
[ "$?" -ne 0 ] && return 1;
config_foreach configure_subscription subscription
[ "$?" -ne 0 ] && return 1;
config_foreach configure_challenges challenge
[ "$?" -ne 0 ] && return 1;
db_set Internal.Reboot.Cause "LocalFactoryReset"
return 0;
}
register_service()
{
procd_open_instance ${CONFIGURATION}
procd_set_param command ${PROG}
procd_append_param command -r ${PARAM_FILE}
configure_obuspa
procd_set_param respawn \
"${respawn_threshold:-5}" \
"${respawn_timeout:-10}" "${respawn_retry:-3}"
procd_set_param watch usp.raw
procd_close_instance
}
service_running() {
@@ -707,24 +782,19 @@ service_running() {
start_service() {
local enabled
mkdir -p /tmp/obuspa/
config_load obuspa
config_get enabled global enabled
config_get_bool enabled global enabled 0
if [ "${enabled}" -eq 0 ]; then
log "OBUSPA not enabled"
return 0;
fi
procd_open_instance ${CONFIGURATION}
procd_set_param command ${PROG}
db_init
procd_append_param command -r ${PARAM_FILE}
procd_set_param respawn \
${respawn_threshold:-5} \
${respawn_timeout:-10} ${respawn_retry:-3}
[ "$?" -ne 0 ] && return 1;
procd_set_param watch usp.raw
procd_close_instance
register_service
}
stop_service() {
@@ -733,10 +803,10 @@ stop_service() {
config_load obuspa
config_get db_file global db_file
${PROG} -c stop 2>&1 >/dev/null
${PROG} -c stop >/dev/null 2>&1
if [ -z "${db_file}" ]; then
db_file="/tmp/usp.db"
db_file="/tmp/obuspa/usp.db"
fi
[ -f "${db_file}" ] && rm -f ${db_file}
@@ -771,4 +841,14 @@ service_triggers() {
json_add_int "" "2000"
json_close_array
procd_close_trigger
procd_open_validate
validate_obuspa_section
validate_localagent_section
validate_controller_section
validate_subscription_section
validate_mtp_section
validate_stomp_connection_section
validate_mqtt_client_section
procd_close_validate
}

View File

@@ -1,6 +1,7 @@
{
"dmcaching_exclude": [
"Device.DeviceInfo.ProcessStatus.Process.",
"Device.Hosts.Host."
"Device.Hosts.Host.",
"Device.WiFi.DataElements."
]
}

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=owsd
PKG_VERSION:=1.1.3
PKG_VERSION:=1.1.4
PKG_RELEASE:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/owsd.git
PKG_SOURCE_VERSION:=f78f7198944758cd2140887ecd8970432f678fc1
PKG_SOURCE_VERSION:=e37c6f9d708c454c802eede814cc51fb89c919e9
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}

View File

@@ -1,47 +0,0 @@
#
# Copyright (C) 2020 IOPSYS
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=lib-paho-mqtt
PKG_VERSION:=0.1
PKG_SOURCE_VERSION:=9f715d0862a8e16099b5837c4e53a1bf6a6a0675
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/eclipse/paho.mqtt.c.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=edl-v10
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/lib-paho-mqtt
CATEGORY:=Libraries
DEPENDS:=+libopenssl
TITLE:=package for mqtt stuff
endef
define Package/lib-paho-mqtt/description
a library
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/ $(1)/usr/lib
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/*.h $(1)/usr/include/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/build/output/*.so* $(1)/usr/lib/
endef
define Package/lib-paho-mqtt/install
$(INSTALL_DIR) $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build/output/*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,lib-paho-mqtt))

View File

@@ -5,14 +5,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=periodicstats
PKG_VERSION:=1.1.0
PKG_VERSION:=1.2.0
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=7426c7458f792cc66920c206d62869c5620f1400
PKG_SOURCE_VERSION:=6c68428405bc88a9990e855f911aecc86f07f4a8
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/periodicstats.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -20,13 +20,15 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=bbf
include $(INCLUDE_DIR)/package.mk
define Package/periodicstats
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Periodic Statistics Daemon
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbf_api
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
endef
define Package/periodicstats/description
@@ -35,7 +37,7 @@ endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ./periodicstats/* $(PKG_BUILD_DIR)/
$(CP) -rf ~/git/periodicstats/* $(PKG_BUILD_DIR)/
endef
endif

View File

@@ -11,9 +11,12 @@ service_running() {
}
start_service() {
enable=$(uci -q get periodicstats.globals.enable)
local enable
if [ "$(enable)" != "1" ]; then
config_load periodicstats
config_get_bool enable globals enable 1
if [ "${enable}" -ne "1" ]; then
return 0;
fi
@@ -24,7 +27,7 @@ start_service() {
}
service_triggers() {
procd_add_reload_trigger periodicstats uspd
procd_add_reload_trigger periodicstats
}
reload_service() {

View File

@@ -12,7 +12,7 @@ PKG_NAME:=peripheral_manager
PKG_VERSION:=1.0.6
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=15ba90f01914113e7c5e8f8a6df6279c882e8265
PKG_SOURCE_VERSION:=21522c2003b8c61904acc61ff97e54fc9b0c3c92
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/peripheral-manager

View File

@@ -0,0 +1,62 @@
#!/bin/sh /etc/rc.common
START=20
USE_PROCD=1
setled() {
local enable
local brightness
config_get_bool enable $1 enable 1
config_get brightness $1 brightness 100
ubus call led.$1 set "{\"enable\":$enable,\"brightness\":$brightness}"
}
start_service() {
local enable
config_load leds
config_foreach setled led
config_get_bool enable leds enable 1
if [ "$enable" == "0" ]; then
ubus call leds set '{"state" : "alloff"}'
else
ubus call leds set '{"state" : "normal"}'
fi
}
boot() {
local led ledname
ubus list led* >/dev/null || sleep 1
ubus list led* >/dev/null || sleep 1
[ -f /etc/config/leds ] || touch /etc/config/leds
if ! uci -q get leds.leds >/dev/null; then
uci set leds.leds=leds
uci set leds.leds.enable=1
fi
for led in $(ubus list led.*); do
ledname=${led:4}
case $ledname in
*phy*) continue ;;
esac
if ! uci -q get leds.$ledname >/dev/null; then
uci set leds.$ledname=led
uci set leds.$ledname.enable=1
fi
done
uci commit leds
start
}
service_triggers()
{
procd_add_reload_trigger "leds"
}

View File

@@ -1,36 +0,0 @@
#!/bin/sh /etc/rc.common
START=98
STOP=10
USE_PROCD=1
NAME=ponmngr
PROG="/usr/sbin/omcid start"
include /lib/pon
start_service() {
if [ -f "/etc/config/pon" ]; then
procd_open_instance $NAME
procd_set_param command ${PROG}
procd_set_param respawn
procd_close_instance
start_gpon
fi
}
boot() {
start
}
stop_service() {
service_stop ${PROG}
stop_gpon
}
reload_service() {
stop
start
}

25
ponmngr/files/etc/init.d/xpon Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/sh /etc/rc.common
START=19
STOP=10
USE_PROCD=1
. /lib/functions.sh
include /lib/xpon
start_service() {
if [ "$(uci -q get xpon.ani.enable)" == "1" ]; then
init_xpon
fi
}
stop_service() {
# stopping omcid does not bring down the pon link, which should happen
# if ANI is disabled or stopped (go to O1)
deinit_xpon
}
service_triggers() {
procd_add_reload_trigger "xpon"
}

View File

@@ -1,27 +0,0 @@
#!/bin/sh
basemac="$(db -q get hw.board.basemac | tr -d ':')"
if [ -s "/etc/config/pon" ]; then
if uci -q get pon.globals >/dev/null; then
# return if there is any valid content
exit
else
rm -f /etc/config/pon
fi
fi
touch /etc/config/pon
mac=''
if [ -z "$basemac" ]; then
mac="12345678"
else
# read last 8 characters of basemac without :
mac=${basemac: -8}
fi
uci set pon.globals=globals
uci set pon.globals.enabled="1"
uci set pon.globals.serial_number="BRCM$mac"
uci commit pon

View File

@@ -0,0 +1,17 @@
#!/bin/sh
if [ -s "/etc/config/xpon" ]; then
if uci -q get xpon.ani >/dev/null; then
# return if there is any valid content
exit
else
rm -f /etc/config/xpon
fi
fi
touch /etc/config/xpon
uci set xpon.ani=ani
uci set xpon.ani.enable="1"
uci commit xpon

View File

@@ -1,70 +0,0 @@
#!/bin/sh
. /lib/functions.sh
. /usr/share/libubox/jshn.sh
configure_snpwd() {
local serial_no password
serial_no="$1"
password="$2"
# serial number comprises of 2 parts, vendor id and vendor specific, the vendor id is
# a string while the vendor specific is a hex, so split the 2 and set accordingly
local vendor_id vendor_specific
vendor_id=${serial_no:0:4}
vendor_specific=${serial_no: -8}
# attempt to conver vendor_id from string to hex
vendor_id=$(echo $vendor_id | hexdump -e '4/1 "%02X" "\n"')
vendor_id=${vendor_id:0:8}
bdmf_shell -c `cat /var/bdmf_sh_id` -cmd /b/configure gpon onu_sn={vendor_id=$vendor_id,vendor_specific=$vendor_specific}
if [ -n "$password" ]; then
password=$(echo $password | hexdump -n ${#password} -e '16/1 "%02X""\n"')
bdmf_shell -c `cat /var/bdmf_sh_id` -cmd /b/configure gpon password=$password
fi
}
configure_gpon() {
local enabled serial_no password
config_load pon
config_get enabled globals "enabled"
if [ "$enabled" == "0" ]; then
exit
fi
config_get serial_no globals "serial_number"
config_get password globals "password"
configure_snpwd $serial_no $password
}
start_gpon() {
if [ -n "$(which gponctl)" ]; then
configure_gpon
gponctl start
fi
}
stop_gpon() {
if [ -n "$(which gponctl)" ]; then
gponctl stop
fi
}
get_gpon_status() {
json_init
status="$(gponctl getstate)"
admin_status="$(echo $status | head -n1 | awk '{print $8;}')"
json_add_string "admin_status" "$admin_status"
op_status="$(echo $status | head -n1 | awk '{print $12;}')"
case $op_status in
NUMBER)
op_status="$(echo $status | head -n1 | awk '{print $13;}')"
;;
esac
op_status=${op_status:1:2}
json_add_string "operational_status" "$op_status"
json_dump
}

View File

@@ -0,0 +1,20 @@
#!/bin/sh
USE_PROCD=1
. /lib/functions.sh
init_xpon() {
procd_open_instance pon_msgd
procd_set_param command bcm_msgd -c gpon
procd_close_instance
procd_open_instance pon_daemon
procd_set_param command omcid start -n
procd_close_instance
}
deinit_xpon() {
gponctl stop
}

View File

@@ -1,19 +0,0 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
include /lib/pon
case "$1" in
list)
echo '{ "status": {} }'
;;
call)
case "$2" in
status)
get_gpon_status
;;
esac
;;
esac

View File

@@ -1,16 +1,20 @@
#!/bin/sh
populate_config_from_db() {
. /lib/network/utils.sh
. /lib/functions.sh
include /lib/network
portorder="$(db -q get hw.board.ethernetPortOrder)"
for port in $portorder; do
speed="$(get_max_port_speed $port 2>/dev/null)"
speed="${speed:-1000}"
uci add ports ethport
uci rename ports.@ethport[-1]="$(get_port_name $port)"
uci set ports.@ethport[-1].enabled=1
uci set ports.@ethport[-1].name="$(get_port_name $port)"
uci set ports.@ethport[-1].ifname="$port"
uci set ports.@ethport[-1].speed=1000
uci set ports.@ethport[-1].speed="$speed"
uci set ports.@ethport[-1].duplex="full"
uci set ports.@ethport[-1].autoneg=1
uci set ports.@ethport[-1].eee=0

View File

@@ -3,7 +3,7 @@
. /lib/functions.sh
ethwan="$(db -q get hw.board.ethernetWanPort)"
cpu_model="$(brcm_fw_tool -k info)"
cpu_model="$(cat /proc/socinfo | grep 'SoC Name' | cut -d':' -f2)"
generate_queue(){
section="$1"
@@ -19,7 +19,7 @@ generate_queue(){
if [ $is_lan -eq 1 ]; then
case $cpu_model in
68*) no_of_q="0 1 2 3" ;;
BCM68*) no_of_q="0 1 2 3" ;;
esac
if grep -qE '[0-9]+ archer$' /proc/devices; then

View File

@@ -4,8 +4,8 @@
IP_RULE=""
BR_RULE=""
BR6_RULE=""
POLICER_SKIP=0
POLICER_COUNT=0
INTF_NAME=""
Q_COUNT=0
@@ -292,6 +292,7 @@ flush_chains() {
init_broute_rule() {
BR_RULE=""
BR6_RULE=""
}
broute_filter_on_src_if() {
@@ -327,6 +328,82 @@ broute_filter_on_ether_type() {
BR_RULE="$BR_RULE --proto $1"
}
broute_filter_on_ether_type6() {
BR6_RULE="$BR6_RULE --proto IPv6"
}
ebt_match_src_ip() {
BR_RULE="$BR_RULE --ip-src $1"
}
ebt_match_dst_ip() {
BR_RULE="$BR_RULE --ip-dst $1"
}
ebt_match_ipv6_src_ip() {
BR_RULE="$BR_RULE --ip6-src $1"
}
ebt_match_ipv6_dst_ip() {
BR_RULE="$BR_RULE --ip6-dst $1"
}
ebt_match_ip_src_port() {
BR_RULE="$BR_RULE --ip-source-port $1"
}
ebt_match_ip_dst_port() {
BR_RULE="$BR_RULE --ip-destination-port $1"
}
ebt_match_ipv6_src_port() {
#when ethertype is not configured by user then both proto rules of ipv4
#and ipv6 to be installed so update BR6_RULE string as well otherwise
#update BR_RULE only for installation of ipv6 proto rule only.
if [ ! -z "$BR6_RULE" ]; then
BR6_RULE="$BR6_RULE --ip6-source-port $1"
else
BR_RULE="$BR_RULE --ip6-source-port $1"
fi
}
ebt_match_ipv6_dst_port() {
#when ethertype is not configured by user then both proto rules of ipv4
#and ipv6 to be installed so update BR6_RULE string as well otherwise
#update BR_RULE only for installation of ipv6 proto rule only.
if [ ! -z "$BR6_RULE" ]; then
BR6_RULE="$BR6_RULE --ip6-destination-port $1"
else
BR_RULE="$BR_RULE --ip6-destination-port $1"
fi
}
ebt_match_ip_protocol() {
BR_RULE="$BR_RULE --ip-proto $1"
}
ebt_match_ipv6_protocol() {
#when ethertype is not configured by user then both proto rules of ipv4
#and ipv6 to be installed so update BR6_RULE string as well otherwise
#update BR_RULE only for installation of ipv6 proto rule only.
if [ ! -z "$BR6_RULE" ]; then
BR6_RULE="$BR6_RULE --ip6-proto $1"
else
BR_RULE="$BR_RULE --ip6-proto $1"
fi
}
ebt_match_ipv6_dscp() {
#when ethertype is not configured by user then both proto rules of ipv4
#and ipv6 to be installed so update BR6_RULE string as well otherwise
#update BR_RULE only for installation of ipv6 proto rule only.
if [ ! -z "$BR6_RULE" ]; then
BR6_RULE="$BR6_RULE --ip6-tclass $1"
else
BR_RULE="$BR_RULE --ip6-tclass $1"
fi
}
broute_filter_on_dscp() {
# The broadcom option --ip-dscp-extend actually accepts tos
# and not dscp and that too in hex, hence, perform the conversion
@@ -337,6 +414,11 @@ broute_filter_on_dscp() {
}
broute_filter_on_vid() {
if [ $1 -lt 0 ]; then
return
fi
case "$BR_RULE" in
*proto*)
BR_RULE="$BR_RULE --vlan-id $1"
@@ -348,11 +430,145 @@ broute_filter_on_vid() {
}
broute_rule_set_traffic_class() {
#when ethertype is not configured by user then both proto rules of ipv4
#and ipv6 to be installed so update BR6_RULE string as well otherwise
#update BR_RULE only for installation of ipv6 proto rule only.
BR_RULE="$BR_RULE -j mark --mark-or 0x$1 --mark-target ACCEPT"
if [ ! -z "$BR6_RULE" ]; then
BR6_RULE="$BR6_RULE -j mark --mark-or 0x$1 --mark-target ACCEPT"
fi
}
broute_append_rule() {
#when ethertype is not configured by user then both proto rules of ipv4
#and ipv6 to be installed otherwise install ipv6 proto rule only.
echo "ebtables -t broute -A qos $BR_RULE" >> /tmp/qos/classify.ebtables
if [ -n "$BR6_RULE" ]; then
echo "ebtables -t broute -A qos $BR6_RULE" >> /tmp/qos/classify.ebtables
fi
}
set_ip_addr()
{
local cid=$1
local match_src_ip_func=$2
local match_dst_ip_func=$3
config_get src_ip "$cid" "src_ip"
config_get dst_ip "$cid" "dest_ip"
if [ ! -z "$src_ip" ]; then
$match_src_ip_func "$src_ip"
fi
if [ ! -z "$dst_ip" ]; then
$match_dst_ip_func "$dst_ip"
fi
}
set_ports()
{
local cid=$1
local match_src_port_func=$2
local match_dst_port_func=$3
local src_port=""
local dst_port=""
local src_port_range=""
local dst_port_range=""
config_get src_port "$cid" "src_port"
config_get dst_port "$cid" "dest_port"
config_get src_port_range "$cid" "src_port_range"
config_get dst_port_range "$cid" "dest_port_range"
if ! [ -z $src_port ] && ! [ -z $src_port_range ]; then
$match_src_port_func "$src_port:$src_port_range"
elif [ ! -z $src_port ]; then
$match_src_port_func $src_port
fi
if ! [ -z $dst_port ] && ! [ -z $dst_port_range ]; then
$match_dst_port_func "$dst_port:$dst_port_range"
elif [ ! -z $dst_port ]; then
$match_dst_port_func $dst_port
fi
}
protocol_string_to_num()
{
local value=-1
case "$1" in
*[0-9]*) value="$1"
;;
TCP|tcp) value=6
;;
UDP|udp) value=17
;;
ICMP|icmp) value=1
;;
ICMPv6|icmpv6) value=58
;;
IGMP|igmp) value=2
;;
SCTP|sctp) value=132
;;
*) value=-1
;;
esac
echo $value
}
broute_ipv4_rule_options()
{
local cid=$1
config_get protocol "$cid" "proto"
config_get dscp_filter "$cid" "dscp_filter"
set_ip_addr $cid ebt_match_src_ip ebt_match_dst_ip
if [ ! -z $dscp_filter ]; then
broute_filter_on_dscp "$dscp_filter"
fi
if [ ! -z $protocol ]; then
local proto_num=$(protocol_string_to_num "$protocol")
ebt_match_ip_protocol "$proto_num"
#port installation for protol tcp/udp/sctp
if [ $proto_num = "6" ] || [ $proto_num = "17" ] || [ $proto_num = "132" ] ; then
set_ports "$cid" ebt_match_ip_src_port ebt_match_ip_dst_port
fi
fi
}
broute_ipv6_rule_options()
{
local cid=$1
config_get protocol "$cid" "proto"
config_get dscp_filter "$cid" "dscp_filter"
set_ip_addr $cid ebt_match_ipv6_src_ip ebt_match_ipv6_dst_ip
if [ ! -z $dscp_filter ]; then
local tos_val
local tos_hex
tos_val=$(($dscp_filter<<2))
tos_hex=$(printf "%x" $tos_val)
ebt_match_ipv6_dscp "$tos_hex"
fi
if [ ! -z $protocol ]; then
local proto_num=$(protocol_string_to_num "$protocol")
ebt_match_ipv6_protocol "$proto_num"
#port installation for protol tcp/udp/sctp
if [ $proto_num = "6" ] || [ $proto_num = "17" ] || [ $proto_num = "132" ]; then
set_ports "$cid" ebt_match_ipv6_src_port ebt_match_ipv6_dst_port
fi
fi
}
handle_ebtables_rules() {
@@ -360,6 +576,8 @@ handle_ebtables_rules() {
local is_l2_rule=0
local src_dhcp_options=""
local dst_dhcp_options=""
local protocol=""
local ip_version=""
init_broute_rule
@@ -377,8 +595,9 @@ handle_ebtables_rules() {
config_get dst_clid "$sid" "dst_client_id" # dhcp option 61
config_get src_ucid "$sid" "src_user_class_id" # dhcp option 77
config_get dst_ucid "$sid" "dst_user_class_id" # dhcp option 77
config_get traffic_class "$sid" "traffic_class"
config_get protocol "$sid" "proto"
if [ -n "$src_if" ]; then
for interf in $(db -q get hw.board.ethernetPortOrder); do
@@ -405,13 +624,6 @@ handle_ebtables_rules() {
is_l2_rule=1
fi
if [ -n "$dscp_filter" ]; then
# filter on ethertype and proto is same thing
broute_filter_on_ether_type IPv4
broute_filter_on_dscp $dscp_filter
is_l2_rule=1
fi
if [ -n "$eth_type" ]; then
broute_filter_on_ether_type $eth_type
is_l2_rule=1
@@ -422,6 +634,47 @@ handle_ebtables_rules() {
is_l2_rule=1
fi
case $eth_type in
IPv4|IPV4|0800)
ip_version=4
;;
IPv6|IPV6|86DD)
ip_version=6
;;
*)
if [ -z "$eth_type" ]; then
case $src_ip$dest_ip in
*.*)
ip_version=4
broute_filter_on_ether_type "IPv4"
;;
*:*)
ip_version=6
broute_filter_on_ether_type "IPv6"
;;
*)
if [ -n "$protocol" ] || [ -n "$dscp_filter" ]; then
ip_version=1 #neither ether_type nor ip address used
#ethertype is not configured by user so install
#both proto ipv4 and ipv6 rule
BR6_RULE="$BR_RULE"
broute_filter_on_ether_type "IPv4"
broute_filter_on_ether_type6 "IPv6"
fi
esac
fi
esac
if [ $ip_version = "4" ] || [ $ip_version = "1" ]; then
broute_ipv4_rule_options "$sid"
is_l2_rule=1
fi
if [ $ip_version = "6" ] || [ $ip_version = "1" ]; then
broute_ipv6_rule_options "$sid"
is_l2_rule=1
fi
# first process options that will help figure our source mac address
# dhcp option for "vendor class id"
if [ -n "$src_vcid" ]; then
@@ -752,12 +1005,7 @@ handle_policer_rules() {
return
fi
# The policer object is not available on non BCM968* chips
if [ $POLICER_SKIP -eq 1 ]; then
assign_policer_to_port $ifname $pindex
else
config_ingress_rate_limit $ifname $ingress_rate $in_burst_size
fi
config_ingress_rate_limit $ifname $ingress_rate $in_burst_size
}
@@ -852,11 +1100,16 @@ pre_configure_queue() {
mkdir -p /tmp/qos/queue_stats/$intf
touch /tmp/qos/queue_stats/$intf/q_idx
echo 0 > /tmp/qos/queue_stats/$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
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
tmctl porttminit --devtype 0 --if $intf --flag 0 --numqueues 8
mkdir -p /tmp/qos/$intf
touch /tmp/qos/$intf/q_order
@@ -875,17 +1128,15 @@ configure_queue() {
configure_policer() {
# The policer object is not available on non BCM968* chips, just clean up
# the old config if any and return
if [ $POLICER_SKIP -eq 0 ]; then
for intf in $(db get hw.board.ethernetPortOrder); do
local unitport="$(get_port_number $intf)"
local unit=$(echo $unitport | cut -d ' ' -f 1)
local port=$(echo $unitport | cut -d ' ' -f 2)
# setting rate and burst size to 0 disables rate limiting
if [ $port != "" -a $unit != "" ]; then
ethswctl -c rxratectrl -n $unit -p $port -x 0 -y 0
fi
done
fi
for intf in $(db get hw.board.ethernetPortOrder); do
local unitport="$(get_port_number $intf)"
local unit=$(echo $unitport | cut -d ' ' -f 1)
local port=$(echo $unitport | cut -d ' ' -f 2)
# setting rate and burst size to 0 disables rate limiting
if [ $port != "" -a $unit != "" ]; then
ethswctl -c rxratectrl -n $unit -p $port -x 0 -y 0
fi
done
# Delete policer
local i=0
@@ -924,11 +1175,7 @@ configure_qos() {
reload_qos() {
local service_name="$1"
local cpu_model="$(brcm_fw_tool -k info)"
case $cpu_model in
68*|6755) POLICER_SKIP=1 ;;
esac
local cpu_model="$(cat /proc/socinfo | grep 'SoC Name' | cut -d':' -f2)"
if [ -z "$service_name" ]; then
configure_qos

View File

@@ -1,21 +1,20 @@
#
# Copyright (C) 2013-2020 iopsys
# Copyright (C) 2013-2022 iopsys
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=questd
PKG_VERSION:=5.2.3
PKG_VERSION:=5.2.4
PKG_SOURCE_VERSION:=cf54bd65ec821ac67f3aa1caeebcd3ea9aae07ad
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/questd
PKG_SOURCE_VERSION:=2ca3ae0c29dcbbf01282f6118eb8d5e5bc9a1c45
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
endif
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
@@ -23,8 +22,6 @@ PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
PKG_INSTALL:=
define Package/questd
CATEGORY:=Utilities
DEPENDS:=+libuci +libubox +ubus +libpthread
@@ -36,6 +33,13 @@ define Package/questd/description
this information via ubus
endef
ifeq ($(LOCAL_DEV),1)
CMAKE_OPTIONS:=-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
define Build/Prepare
$(CP) -rf ~/git/code/questd/* $(PKG_BUILD_DIR)/
endef
endif
define Package/questd/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/sbin

View File

@@ -1,23 +1,22 @@
#
# Copyright (C) 2018 iopsys
# Copyright (C) 2018-2022 iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=rulengd
PKG_VERSION:=1.2.6
PKG_VERSION:=1.2.7
PKG_RELEASE:=1
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/rulengd.git
PKG_SOURCE_VERSION:=e323bebe85cd7fb4eeb6cee535188227bc9b81e3
PKG_SOURCE_VERSION:=1f247e1afc845f47348febffa55fe40d8b552737
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
endif
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
@@ -35,6 +34,14 @@ define Package/rulengd/description
rulengd listens for events and executes speficied methods if the incoming event arguments contain speficied ones.
endef
#CMAKE_OPTIONS:=-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/code/rulengd/* $(PKG_BUILD_DIR)/
endef
endif
define Package/rulengd/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr/bin

View File

@@ -1,51 +0,0 @@
#
# Copyright (C) 2012-2014 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:=shflags
PKG_VERSION:=2012-06-11
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/kward/shflags.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=c12b30cebb92b49c5edb6df255c0952c65b4ddc6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=LGPL-2.1
include $(INCLUDE_DIR)/package.mk
define Package/shflags
SECTION:=libs
CATEGORY:=Libraries
TITLE:=shflags
DEPENDS:=+getopt
URL:=http://code.google.com/p/shflags/
MAINTAINER:=Luka Perkov <luka@openwrt.org>
endef
define Package/shflags/description
command-line flags module for Unix shell scripts
endef
define Build/Configure
endef
define Build/Compile
endef
define Build/Install
endef
define Package/shflags/install
$(INSTALL_DIR) $(1)/usr/share/shflags
$(CP) $(PKG_BUILD_DIR)/source/1.0/src/shflags $(1)/usr/share/shflags/shflags.sh
endef
$(eval $(call BuildPackage,shflags))

View File

@@ -1,763 +0,0 @@
--- a/source/1.0/src/shflags
+++ b/source/1.0/src/shflags
@@ -1,91 +1,10 @@
-# $Id$
-# vim:et:ft=sh:sts=2:sw=2
-#
-# Copyright 2008 Kate Ward. All Rights Reserved.
-# Released under the LGPL (GNU Lesser General Public License)
-#
-# shFlags -- Advanced command-line flag library for Unix shell scripts.
-# http://code.google.com/p/shflags/
-#
-# Author: kate.ward@forestent.com (Kate Ward)
-#
-# This module implements something like the google-gflags library available
-# from http://code.google.com/p/google-gflags/.
-#
-# FLAG TYPES: This is a list of the DEFINE_*'s that you can do. All flags take
-# a name, default value, help-string, and optional 'short' name (one-letter
-# name). Some flags have other arguments, which are described with the flag.
-#
-# DEFINE_string: takes any input, and intreprets it as a string.
-#
-# DEFINE_boolean: typically does not take any argument: say --myflag to set
-# FLAGS_myflag to true, or --nomyflag to set FLAGS_myflag to false.
-# Alternately, you can say
-# --myflag=true or --myflag=t or --myflag=0 or
-# --myflag=false or --myflag=f or --myflag=1
-# Passing an option has the same affect as passing the option once.
-#
-# DEFINE_float: takes an input and intreprets it as a floating point number. As
-# shell does not support floats per-se, the input is merely validated as
-# being a valid floating point value.
-#
-# DEFINE_integer: takes an input and intreprets it as an integer.
-#
-# SPECIAL FLAGS: There are a few flags that have special meaning:
-# --help (or -?) prints a list of all the flags in a human-readable fashion
-# --flagfile=foo read flags from foo. (not implemented yet)
-# -- as in getopt(), terminates flag-processing
-#
-# EXAMPLE USAGE:
-#
-# -- begin hello.sh --
-# #! /bin/sh
-# . ./shflags
-# DEFINE_string name 'world' "somebody's name" n
-# FLAGS "$@" || exit $?
-# eval set -- "${FLAGS_ARGV}"
-# echo "Hello, ${FLAGS_name}."
-# -- end hello.sh --
-#
-# $ ./hello.sh -n Kate
-# Hello, Kate.
-#
-# NOTE: Not all systems include a getopt version that supports long flags. On
-# these systems, only short flags are recognized.
-
-#==============================================================================
-# shFlags
-#
-# Shared attributes:
-# flags_error: last error message
-# flags_return: last return value
-#
-# __flags_longNames: list of long names for all flags
-# __flags_shortNames: list of short names for all flags
-# __flags_boolNames: list of boolean flag names
-#
-# __flags_opts: options parsed by getopt
-#
-# Per-flag attributes:
-# FLAGS_<flag_name>: contains value of flag named 'flag_name'
-# __flags_<flag_name>_default: the default flag value
-# __flags_<flag_name>_help: the flag help string
-# __flags_<flag_name>_short: the flag short name
-# __flags_<flag_name>_type: the flag type
-#
-# Notes:
-# - lists of strings are space separated, and a null value is the '~' char.
-
-# return if FLAGS already loaded
[ -n "${FLAGS_VERSION:-}" ] && return 0
FLAGS_VERSION='1.0.3'
-# return values
FLAGS_TRUE=0
FLAGS_FALSE=1
FLAGS_ERROR=2
-# reserved flag names
FLAGS_RESERVED='ARGC ARGV ERROR FALSE HELP PARENT RESERVED TRUE VERSION'
_flags_debug() { echo "flags:DEBUG $@" >&2; }
@@ -93,7 +12,6 @@ _flags_warn() { echo "flags:WARN $@" >&2
_flags_error() { echo "flags:ERROR $@" >&2; }
_flags_fatal() { echo "flags:FATAL $@" >&2; }
-# specific shell checks
if [ -n "${ZSH_VERSION:-}" ]; then
setopt |grep "^shwordsplit$" >/dev/null
if [ $? -ne ${FLAGS_TRUE} ]; then
@@ -107,20 +25,15 @@ if [ -n "${ZSH_VERSION:-}" ]; then
fi
fi
-#
-# constants
-#
-# getopt version
__FLAGS_GETOPT_VERS_STD=0
__FLAGS_GETOPT_VERS_ENH=1
__FLAGS_GETOPT_VERS_BSD=2
getopt >/dev/null 2>&1
case $? in
- 0) __FLAGS_GETOPT_VERS=${__FLAGS_GETOPT_VERS_STD} ;; # bsd getopt
+ 0) __FLAGS_GETOPT_VERS=${__FLAGS_GETOPT_VERS_STD} ;;
2)
- # TODO(kward): look into '-T' option to test the internal getopt() version
if [ "`getopt --version`" = '-- ' ]; then
__FLAGS_GETOPT_VERS=${__FLAGS_GETOPT_VERS_STD}
else
@@ -133,82 +46,49 @@ case $? in
;;
esac
-# getopt optstring lengths
__FLAGS_OPTSTR_SHORT=0
__FLAGS_OPTSTR_LONG=1
__FLAGS_NULL='~'
-# flag info strings
__FLAGS_INFO_DEFAULT='default'
__FLAGS_INFO_HELP='help'
__FLAGS_INFO_SHORT='short'
__FLAGS_INFO_TYPE='type'
-# flag lengths
__FLAGS_LEN_SHORT=0
__FLAGS_LEN_LONG=1
-# flag types
__FLAGS_TYPE_NONE=0
__FLAGS_TYPE_BOOLEAN=1
__FLAGS_TYPE_FLOAT=2
__FLAGS_TYPE_INTEGER=3
__FLAGS_TYPE_STRING=4
-# set the constants readonly
__flags_constants=`set |awk -F= '/^FLAGS_/ || /^__FLAGS_/ {print $1}'`
for __flags_const in ${__flags_constants}; do
- # skip certain flags
case ${__flags_const} in
FLAGS_HELP) continue ;;
FLAGS_PARENT) continue ;;
esac
- # set flag readonly
if [ -z "${ZSH_VERSION:-}" ]; then
readonly ${__flags_const}
- else # handle zsh
+ else
case ${ZSH_VERSION} in
[123].*) readonly ${__flags_const} ;;
- *) readonly -g ${__flags_const} ;; # declare readonly constants globally
+ *) readonly -g ${__flags_const} ;;
esac
fi
done
unset __flags_const __flags_constants
-#
-# internal variables
-#
-
-__flags_boolNames=' ' # space separated list of boolean flag names
-__flags_longNames=' ' # space separated list of long flag names
-__flags_shortNames=' ' # space separated list of short flag names
-
-__flags_columns='' # screen width in columns
-__flags_opts='' # temporary storage for parsed getopt flags
-
-#------------------------------------------------------------------------------
-# private functions
-#
-
-# Define a flag.
-#
-# Calling this function will define the following info variables for the
-# specified flag:
-# FLAGS_flagname - the name for this flag (based upon the long flag name)
-# __flags_<flag_name>_default - the default value
-# __flags_flagname_help - the help string
-# __flags_flagname_short - the single letter alias
-# __flags_flagname_type - the type of flag (one of __FLAGS_TYPE_*)
-#
-# Args:
-# _flags__type: integer: internal type of flag (__FLAGS_TYPE_*)
-# _flags__name: string: long flag name
-# _flags__default: default flag value
-# _flags__help: string: help string
-# _flags__short: string: (optional) short flag name
-# Returns:
-# integer: success of operation, or error
+
+__flags_boolNames=' '
+__flags_longNames=' '
+__flags_shortNames=' '
+__flags_columns=''
+__flags_opts=''
+
_flags_define()
{
if [ $# -lt 4 ]; then
@@ -226,16 +106,13 @@ _flags_define()
_flags_return_=${FLAGS_TRUE}
- # TODO(kward): check for validity of the flag name (e.g. dashes)
- # check whether the flag name is reserved
echo " ${FLAGS_RESERVED} " |grep " ${_flags_name_} " >/dev/null
if [ $? -eq 0 ]; then
flags_error="flag name (${_flags_name_}) is reserved"
_flags_return_=${FLAGS_ERROR}
fi
- # require short option for getopt that don't support long options
if [ ${_flags_return_} -eq ${FLAGS_TRUE} \
-a ${__FLAGS_GETOPT_VERS} -ne ${__FLAGS_GETOPT_VERS_ENH} \
-a "${_flags_short_}" = "${__FLAGS_NULL}" ]
@@ -244,7 +121,6 @@ _flags_define()
_flags_return_=${FLAGS_ERROR}
fi
- # check for existing long name definition
if [ ${_flags_return_} -eq ${FLAGS_TRUE} ]; then
if _flags_itemInList "${_flags_name_}" \
${__flags_longNames} ${__flags_boolNames}
@@ -255,7 +131,6 @@ _flags_define()
fi
fi
- # check for existing short name definition
if [ ${_flags_return_} -eq ${FLAGS_TRUE} \
-a "${_flags_short_}" != "${__FLAGS_NULL}" ]
then
@@ -266,9 +141,6 @@ _flags_define()
fi
fi
- # handle default value. note, on several occasions the 'if' portion of an
- # if/then/else contains just a ':' which does nothing. a binary reversal via
- # '!' is not done because it does not work on all shells.
if [ ${_flags_return_} -eq ${FLAGS_TRUE} ]; then
case ${_flags_type_} in
${__FLAGS_TYPE_BOOLEAN})
@@ -301,7 +173,7 @@ _flags_define()
fi
;;
- ${__FLAGS_TYPE_STRING}) ;; # everything in shell is a valid string
+ ${__FLAGS_TYPE_STRING}) ;;
*)
flags_error="unrecognized flag type '${_flags_type_}'"
@@ -311,7 +183,6 @@ _flags_define()
fi
if [ ${_flags_return_} -eq ${FLAGS_TRUE} ]; then
- # store flag information
eval "FLAGS_${_flags_name_}='${_flags_default_}'"
eval "__flags_${_flags_name_}_${__FLAGS_INFO_TYPE}=${_flags_type_}"
eval "__flags_${_flags_name_}_${__FLAGS_INFO_DEFAULT}=\
@@ -319,7 +190,6 @@ _flags_define()
eval "__flags_${_flags_name_}_${__FLAGS_INFO_HELP}=\"${_flags_help_}\""
eval "__flags_${_flags_name_}_${__FLAGS_INFO_SHORT}='${_flags_short_}'"
- # append flag name(s) to list of names
__flags_longNames="${__flags_longNames}${_flags_name_} "
__flags_shortNames="${__flags_shortNames}${_flags_short_} "
[ ${_flags_type_} -eq ${__FLAGS_TYPE_BOOLEAN} ] && \
@@ -333,17 +203,6 @@ _flags_define()
return ${flags_return}
}
-# Return valid getopt options using currently defined list of long options.
-#
-# This function builds a proper getopt option string for short (and long)
-# options, using the current list of long options for reference.
-#
-# Args:
-# _flags_optStr: integer: option string type (__FLAGS_OPTSTR_*)
-# Output:
-# string: generated option string for getopt
-# Returns:
-# boolean: success of operation (always returns True)
_flags_genOptStr()
{
_flags_optStrType_=$1
@@ -358,7 +217,6 @@ _flags_genOptStr()
${_flags_flag_} ${__FLAGS_INFO_SHORT}`
if [ "${_flags_shortName_}" != "${__FLAGS_NULL}" ]; then
_flags_opts_="${_flags_opts_}${_flags_shortName_}"
- # getopt needs a trailing ':' to indicate a required argument
[ ${_flags_type_} -ne ${__FLAGS_TYPE_BOOLEAN} ] && \
_flags_opts_="${_flags_opts_}:"
fi
@@ -366,7 +224,6 @@ _flags_genOptStr()
${__FLAGS_OPTSTR_LONG})
_flags_opts_="${_flags_opts_:+${_flags_opts_},}${_flags_flag_}"
- # getopt needs a trailing ':' to indicate a required argument
[ ${_flags_type_} -ne ${__FLAGS_TYPE_BOOLEAN} ] && \
_flags_opts_="${_flags_opts_}:"
;;
@@ -379,15 +236,6 @@ _flags_genOptStr()
return ${FLAGS_TRUE}
}
-# Returns flag details based on a flag name and flag info.
-#
-# Args:
-# string: long flag name
-# string: flag info (see the _flags_define function for valid info types)
-# Output:
-# string: value of dereferenced flag variable
-# Returns:
-# integer: one of FLAGS_{TRUE|FALSE|ERROR}
_flags_getFlagInfo()
{
_flags_name_=$1
@@ -399,13 +247,6 @@ _flags_getFlagInfo()
if [ -n "${_flags_value_}" ]; then
flags_return=${FLAGS_TRUE}
else
- # see if the _flags_name_ variable is a string as strings can be empty...
- # note: the DRY principle would say to have this function call itself for
- # the next three lines, but doing so results in an infinite loop as an
- # invalid _flags_name_ will also not have the associated _type variable.
- # Because it doesn't (it will evaluate to an empty string) the logic will
- # try to find the _type variable of the _type variable, and so on. Not so
- # good ;-)
_flags_typeVar_="__flags_${_flags_name_}_${__FLAGS_INFO_TYPE}"
_flags_strToEval_="_flags_type_=\"\${${_flags_typeVar_}:-}\""
eval "${_flags_strToEval_}"
@@ -424,15 +265,6 @@ _flags_getFlagInfo()
return ${flags_return}
}
-# check for presense of item in a list. passed a string (e.g. 'abc'), this
-# function will determine if the string is present in the list of strings (e.g.
-# ' foo bar abc ').
-#
-# Args:
-# _flags__str: string: string to search for in a list of strings
-# unnamed: list: list of strings
-# Returns:
-# boolean: true if item is in the list
_flags_itemInList()
{
_flags_str_=$1
@@ -449,34 +281,22 @@ _flags_itemInList()
return ${flags_return}
}
-# Returns the width of the current screen.
-#
-# Output:
-# integer: width in columns of the current screen.
_flags_columns()
{
if [ -z "${__flags_columns}" ]; then
- # determine the value and store it
if eval stty size >/dev/null 2>&1; then
- # stty size worked :-)
set -- `stty size`
__flags_columns=$2
elif eval tput cols >/dev/null 2>&1; then
set -- `tput cols`
__flags_columns=$1
else
- __flags_columns=80 # default terminal width
+ __flags_columns=80
fi
fi
echo ${__flags_columns}
}
-# Validate a boolean.
-#
-# Args:
-# _flags__bool: boolean: value to validate
-# Returns:
-# bool: true if the value is a valid boolean
_flags_validateBoolean()
{
_flags_bool_=$1
@@ -492,12 +312,6 @@ _flags_validateBoolean()
return ${flags_return}
}
-# Validate a float.
-#
-# Args:
-# _flags__float: float: value to validate
-# Returns:
-# bool: true if the value is a valid float
_flags_validateFloat()
{
_flags_float_=$1
@@ -507,10 +321,10 @@ _flags_validateFloat()
else
flags_return=${FLAGS_TRUE}
case ${_flags_float_} in
- -*) # negative floats
+ -*)
_flags_test_=`expr "${_flags_float_}" : '\(-[0-9][0-9]*\.[0-9][0-9]*\)'`
;;
- *) # positive floats
+ *)
_flags_test_=`expr "${_flags_float_}" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`
;;
esac
@@ -521,22 +335,16 @@ _flags_validateFloat()
return ${flags_return}
}
-# Validate an integer.
-#
-# Args:
-# _flags__integer: interger: value to validate
-# Returns:
-# bool: true if the value is a valid integer
_flags_validateInteger()
{
_flags_int_=$1
flags_return=${FLAGS_TRUE}
case ${_flags_int_} in
- -*) # negative ints
+ -*)
_flags_test_=`expr "${_flags_int_}" : '\(-[0-9][0-9]*\)'`
;;
- *) # positive ints
+ *)
_flags_test_=`expr "${_flags_int_}" : '\([0-9][0-9]*\)'`
;;
esac
@@ -546,23 +354,12 @@ _flags_validateInteger()
return ${flags_return}
}
-# Parse command-line options using the standard getopt.
-#
-# Note: the flag options are passed around in the global __flags_opts so that
-# the formatting is not lost due to shell parsing and such.
-#
-# Args:
-# @: varies: command-line options to parse
-# Returns:
-# integer: a FLAGS success condition
_flags_getoptStandard()
{
flags_return=${FLAGS_TRUE}
_flags_shortOpts_=`_flags_genOptStr ${__FLAGS_OPTSTR_SHORT}`
- # check for spaces in passed options
for _flags_opt_ in "$@"; do
- # note: the silliness with the x's is purely for ksh93 on Ubuntu 6.06
_flags_match_=`echo "x${_flags_opt_}x" |sed 's/ //g'`
if [ "${_flags_match_}" != "x${_flags_opt_}x" ]; then
flags_error='the available getopt does not support spaces in options'
@@ -585,15 +382,6 @@ _flags_getoptStandard()
return ${flags_return}
}
-# Parse command-line options using the enhanced getopt.
-#
-# Note: the flag options are passed around in the global __flags_opts so that
-# the formatting is not lost due to shell parsing and such.
-#
-# Args:
-# @: varies: command-line options to parse
-# Returns:
-# integer: a FLAGS success condition
_flags_getoptEnhanced()
{
flags_return=${FLAGS_TRUE}
@@ -617,17 +405,6 @@ _flags_getoptEnhanced()
return ${flags_return}
}
-# Dynamically parse a getopt result and set appropriate variables.
-#
-# This function does the actual conversion of getopt output and runs it through
-# the standard case structure for parsing. The case structure is actually quite
-# dynamic to support any number of flags.
-#
-# Args:
-# argc: int: original command-line argument count
-# @: varies: output from getopt parsing
-# Returns:
-# integer: a FLAGS success condition
_flags_parseGetopt()
{
_flags_argc_=$1
@@ -638,35 +415,26 @@ _flags_parseGetopt()
if [ ${__FLAGS_GETOPT_VERS} -ne ${__FLAGS_GETOPT_VERS_ENH} ]; then
set -- $@
else
- # note the quotes around the `$@' -- they are essential!
eval set -- "$@"
fi
- # provide user with number of arguments to shift by later
- # NOTE: the FLAGS_ARGC variable is obsolete as of 1.0.3 because it does not
- # properly give user access to non-flag arguments mixed in between flag
- # arguments. Its usage was replaced by FLAGS_ARGV, and it is being kept only
- # for backwards compatibility reasons.
FLAGS_ARGC=`expr $# - 1 - ${_flags_argc_}`
- # handle options. note options with values must do an additional shift
while true; do
_flags_opt_=$1
_flags_arg_=${2:-}
_flags_type_=${__FLAGS_TYPE_NONE}
_flags_name_=''
- # determine long flag name
case "${_flags_opt_}" in
- --) shift; break ;; # discontinue option parsing
+ --) shift; break ;;
- --*) # long option
+ --*)
_flags_opt_=`expr "${_flags_opt_}" : '--\(.*\)'`
_flags_len_=${__FLAGS_LEN_LONG}
if _flags_itemInList "${_flags_opt_}" ${__flags_longNames}; then
_flags_name_=${_flags_opt_}
else
- # check for negated long boolean version
if _flags_itemInList "${_flags_opt_}" ${__flags_boolNames}; then
_flags_name_=`expr "${_flags_opt_}" : 'no\(.*\)'`
_flags_type_=${__FLAGS_TYPE_BOOLEAN}
@@ -675,12 +443,10 @@ _flags_parseGetopt()
fi
;;
- -*) # short option
+ -*)
_flags_opt_=`expr "${_flags_opt_}" : '-\(.*\)'`
_flags_len_=${__FLAGS_LEN_SHORT}
if _flags_itemInList "${_flags_opt_}" ${__flags_shortNames}; then
- # yes. match short name to long name. note purposeful off-by-one
- # (too high) with awk calculations.
_flags_pos_=`echo "${__flags_shortNames}" \
|awk 'BEGIN{RS=" ";rn=0}$0==e{rn=NR}END{print rn}' \
e=${_flags_opt_}`
@@ -690,14 +456,12 @@ _flags_parseGetopt()
;;
esac
- # die if the flag was unrecognized
if [ -z "${_flags_name_}" ]; then
flags_error="unrecognized option (${_flags_opt_})"
flags_return=${FLAGS_ERROR}
break
fi
- # set new flag value
[ ${_flags_type_} -eq ${__FLAGS_TYPE_NONE} ] && \
_flags_type_=`_flags_getFlagInfo \
"${_flags_name_}" ${__FLAGS_INFO_TYPE}`
@@ -746,7 +510,6 @@ _flags_parseGetopt()
;;
esac
- # handle special case help flag
if [ "${_flags_name_}" = 'help' ]; then
if [ ${FLAGS_help} -eq ${FLAGS_TRUE} ]; then
flags_help
@@ -756,12 +519,10 @@ _flags_parseGetopt()
fi
fi
- # shift the option and non-boolean arguements out.
shift
[ ${_flags_type_} != ${__FLAGS_TYPE_BOOLEAN} ] && shift
done
- # give user back non-flag arguments
FLAGS_ARGV=''
while [ $# -gt 0 ]; do
FLAGS_ARGV="${FLAGS_ARGV:+${FLAGS_ARGV} }'$1'"
@@ -773,43 +534,18 @@ _flags_parseGetopt()
return ${flags_return}
}
-#------------------------------------------------------------------------------
-# public functions
-#
-
-# A basic boolean flag. Boolean flags do not take any arguments, and their
-# value is either 1 (false) or 0 (true). For long flags, the false value is
-# specified on the command line by prepending the word 'no'. With short flags,
-# the presense of the flag toggles the current value between true and false.
-# Specifying a short boolean flag twice on the command results in returning the
-# value back to the default value.
-#
-# A default value is required for boolean flags.
-#
-# For example, lets say a Boolean flag was created whose long name was 'update'
-# and whose short name was 'x', and the default value was 'false'. This flag
-# could be explicitly set to 'true' with '--update' or by '-x', and it could be
-# explicitly set to 'false' with '--noupdate'.
+
DEFINE_boolean() { _flags_define ${__FLAGS_TYPE_BOOLEAN} "$@"; }
-# Other basic flags.
DEFINE_float() { _flags_define ${__FLAGS_TYPE_FLOAT} "$@"; }
DEFINE_integer() { _flags_define ${__FLAGS_TYPE_INTEGER} "$@"; }
DEFINE_string() { _flags_define ${__FLAGS_TYPE_STRING} "$@"; }
-# Parse the flags.
-#
-# Args:
-# unnamed: list: command-line flags to parse
-# Returns:
-# integer: success of operation, or error
FLAGS()
{
- # define a standard 'help' flag if one isn't already defined
[ -z "${__flags_help_type:-}" ] && \
DEFINE_boolean 'help' false 'show this help' 'h'
- # parse options
if [ $# -gt 0 ]; then
if [ ${__FLAGS_GETOPT_VERS} -ne ${__FLAGS_GETOPT_VERS_ENH} ]; then
_flags_getoptStandard "$@"
@@ -818,7 +554,6 @@ FLAGS()
fi
flags_return=$?
else
- # nothing passed; won't bother running getopt
__flags_opts='--'
flags_return=${FLAGS_TRUE}
fi
@@ -832,23 +567,11 @@ FLAGS()
return ${flags_return}
}
-# This is a helper function for determining the `getopt` version for platforms
-# where the detection isn't working. It simply outputs debug information that
-# can be included in a bug report.
-#
-# Args:
-# none
-# Output:
-# debug info that can be included in a bug report
-# Returns:
-# nothing
flags_getoptInfo()
{
- # platform info
_flags_debug "uname -a: `uname -a`"
_flags_debug "PATH: ${PATH}"
- # shell info
if [ -n "${BASH_VERSION:-}" ]; then
_flags_debug 'shell: bash'
_flags_debug "BASH_VERSION: ${BASH_VERSION}"
@@ -857,7 +580,6 @@ flags_getoptInfo()
_flags_debug "ZSH_VERSION: ${ZSH_VERSION}"
fi
- # getopt info
getopt >/dev/null
_flags_getoptReturn=$?
_flags_debug "getopt return: ${_flags_getoptReturn}"
@@ -866,39 +588,16 @@ flags_getoptInfo()
unset _flags_getoptReturn
}
-# Returns whether the detected getopt version is the enhanced version.
-#
-# Args:
-# none
-# Output:
-# none
-# Returns:
-# bool: true if getopt is the enhanced version
flags_getoptIsEnh()
{
test ${__FLAGS_GETOPT_VERS} -eq ${__FLAGS_GETOPT_VERS_ENH}
}
-# Returns whether the detected getopt version is the standard version.
-#
-# Args:
-# none
-# Returns:
-# bool: true if getopt is the standard version
flags_getoptIsStd()
{
test ${__FLAGS_GETOPT_VERS} -eq ${__FLAGS_GETOPT_VERS_STD}
}
-# This is effectively a 'usage()' function. It prints usage information and
-# exits the program with ${FLAGS_FALSE} if it is ever found in the command line
-# arguments. Note this function can be overridden so other apps can define
-# their own --help flag, replacing this one, if they want.
-#
-# Args:
-# none
-# Returns:
-# integer: success of operation (always returns true)
flags_help()
{
if [ -n "${FLAGS_HELP:-}" ]; then
@@ -953,19 +652,14 @@ flags_help()
echo "${flags_helpStr_}" >&2
else
echo " ${flags_flagStr_} ${flags_help_}" >&2
- # note: the silliness with the x's is purely for ksh93 on Ubuntu 6.06
- # because it doesn't like empty strings when used in this manner.
flags_emptyStr_="`echo \"x${flags_flagStr_}x\" \
|awk '{printf "%"length($0)-2"s", ""}'`"
flags_helpStr_=" ${flags_emptyStr_} ${flags_defaultStr_}"
flags_helpStrLen_=`expr "${flags_helpStr_}" : '.*'`
if [ ${__FLAGS_GETOPT_VERS} -eq ${__FLAGS_GETOPT_VERS_STD} \
-o ${flags_helpStrLen_} -lt ${flags_columns_} ]; then
- # indented to match help string
echo "${flags_helpStr_}" >&2
else
- # indented four from left to allow for longer defaults as long flag
- # names might be used too, making things too long
echo " ${flags_defaultStr_}" >&2
fi
fi
@@ -978,12 +672,6 @@ flags_help()
return ${FLAGS_TRUE}
}
-# Reset shflags back to an uninitialized state.
-#
-# Args:
-# none
-# Returns:
-# nothing
flags_reset()
{
for flags_name_ in ${__flags_longNames}; do
@@ -1000,7 +688,6 @@ flags_reset()
eval ${flags_strToEval_}
done
- # reset internal variables
__flags_boolNames=' '
__flags_longNames=' '
__flags_shortNames=' '

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2020 iopsys Software Solutions AB
# Copyright (C) 2020-2022 IOPSYS Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,38 +8,83 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=stunc
PKG_VERSION:=1.0.4
PKG_RELEASE:=1
PKG_VERSION:=1.1.11
PKG_SOURCE_VERSION:=9c585888cae94180d715f46f6602090f328240d4
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/stunc.git
PKG_SOURCE_VERSION:=5afef8d2040fa31a73e6320c8a65b891a88518de
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
endif
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=bbf
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
define Package/stunc/default
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=BBF STUN Client
DEPENDS:=+libubus +libuci +libubox +libjson-c +libopenssl +libblobmsg-json +libbbf_api
DEPENDS:=+libubus +libuci +libubox +libjson-c +libblobmsg-json
endef
define Package/$(PKG_NAME)/description
BBF STUN Client
define Package/stunc-mbedtls
$(Package/stunc/default)
TITLE += (mbedtls)
DEPENDS += +PACKAGE_stunc-mbedtls:libmbedtls
VARIANT:=mbedtls
DEFAULT_VARIANT:=1
endef
define Package/stunc-openssl
$(Package/stunc/default)
TITLE += (openssl)
DEPENDS += +PACKAGE_stunc-openssl:libopenssl
CONFLICTS := stunc-mbedtls
VARIANT:=openssl
endef
define Package/stunc-wolfssl
$(Package/stunc/default)
TITLE += (wolfssl)
DEPENDS += +PACKAGE_stunc-wolfssl:libwolfssl
CONFLICTS := stunc-mbedtls stunc-openssl
VARIANT:=wolfssl
endef
TARGET_CFLAGS += \
-D_GNU_SOURCE
-D_GNU_SOURCE \
-Wall -Werror
define Package/$(PKG_NAME)/install
ifeq ($(BUILD_VARIANT),wolfssl)
MAKE_FLAGS += \
USE_WOLFSSL="yes"
endif
ifeq ($(BUILD_VARIANT),mbedtls)
MAKE_FLAGS += \
USE_MBEDTLS="yes"
endif
ifeq ($(BUILD_VARIANT),openssl)
MAKE_FLAGS += \
USE_OPENSSL="yes"
endif
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/stunc/* $(PKG_BUILD_DIR)/
endef
endif
define Package/stunc/default/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
@@ -50,4 +95,10 @@ define Package/$(PKG_NAME)/install
$(INSTALL_DATA) ./files/etc/config/stunc $(1)/etc/config/stunc
endef
$(eval $(call BuildPackage,$(PKG_NAME)))
Package/stunc-openssl/install = $(Package/stunc/default/install)
Package/stunc-wolfssl/install = $(Package/stunc/default/install)
Package/stunc-mbedtls/install = $(Package/stunc/default/install)
$(eval $(call BuildPackage,stunc-openssl))
$(eval $(call BuildPackage,stunc-wolfssl))
$(eval $(call BuildPackage,stunc-mbedtls))

View File

@@ -8,5 +8,5 @@ config stunc 'stunc'
option min_keepalive '30'
option max_keepalive '3600'
# option client_port 7547
option log_level '0'
option log_level '1'

View File

@@ -36,11 +36,6 @@ start_service() {
return 0;
fi
if [ -z "${server_address}" ]; then
log "Stun server address not defined or invalid"
return 0;
fi
procd_open_instance stunc
procd_set_param command ${PROG}
procd_set_param respawn "3" "7" "0"

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu
PKG_VERSION:=0.2.29
PKG_VERSION:=1.0.12
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/sulu.git
PKG_SOURCE_VERSION:=5c722ca387ffdd28ac2a2e01f27dba12015fc2e7
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu.git
PKG_SOURCE_VERSION:=fc82a32ab3cdcb18dc3aa7b907c62d8bed29b4ff
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz

View File

@@ -1,23 +1,26 @@
#
# Copyright (C) 2020 IOPSYS
# Copyright (C) 2022 IOPSYS Software Solutions AB
#
#
include $(TOPDIR)/rules.mk
PKG_NAME:=swmodd
PKG_VERSION:=2.0.21
PKG_VERSION:=2.1.5
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=78b54d0ed0223a9787133597d3beaa5e97d97520
PKG_SOURCE_VERSION:=2f953ea76b5779a73a540777dfb450982802e4f8
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/swmodd.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=bbf
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
@@ -26,7 +29,7 @@ define Package/swmodd
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:= Software Modules Daemon
DEPENDS:=+libuci +libubox +ubus +libuuid +libbbf_api +opkg +libcurl \
DEPENDS:=+libuci +libubox +ubus +libuuid +opkg +libcurl \
+PACKAGE_liblxc:liblxc +PACKAGE_liblxc:cgroupfs-mount \
+@BUSYBOX_CONFIG_BUSYBOX +@BUSYBOX_CONFIG_FEATURE_SHOW_SCRIPT
endef
@@ -41,7 +44,8 @@ endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-D_GNU_SOURCE
-D_GNU_SOURCE \
-Wall -Werror
ifeq ($(CONFIG_PACKAGE_liblxc),y)
MAKE_FLAGS += \
@@ -61,10 +65,12 @@ endif
define Package/swmodd/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_DIR) $(1)/etc/swmod
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/swmodd.init $(1)/etc/init.d/swmodd
$(INSTALL_BIN) ./files/etc/init.d/swmodd $(1)/etc/init.d/swmodd
$(INSTALL_BIN) ./files/etc/config/swmodd $(1)/etc/config/swmodd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/swmodd $(1)/usr/sbin/swmodd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libswmodd.so $(1)/usr/lib/bbfdm/libswmodd.so
ifeq ($(CONFIG_PACKAGE_liblxc),y)

Some files were not shown because too many files have changed in this diff Show More