Compare commits

...

1046 Commits
vcl ... obhp

Author SHA1 Message Date
Sukru Senli
6033a1ad5f obuspa: use hotplug instead of procd interface trigger 2020-12-22 09:25:38 +01:00
Amin Ben Ramdhane
8f0e98f50b bbf: 3.2.7 2020-12-21 21:00:55 +01:00
Amin Ben Ramdhane
d3cf57ef77 swmodd: 1.1.0 2020-12-21 20:58:43 +01:00
Amin Ben Ramdhane
036e27876a icwmp: 6.3.2-2020-12-21 2020-12-21 20:55:23 +01:00
Omar Kallel
69f8fcb047 icwmp: 6.3.1 memleak fixes 2020-12-21 11:27:19 +01:00
Jakob Olsson
c344fbe2ea map-agent: 3.1.3 2020-12-20 11:58:03 +01:00
Jakob Olsson
0a29c12e09 map-controller: 2.0.3: update cfg file name 2020-12-20 10:54:05 +01:00
Jakob Olsson
68ca5f7fb8 map-agent: 3.1.2: update cfg file name 2020-12-20 10:50:09 +01:00
Jakob Olsson
8cb7c61007 map-agent: 3.1.1 2020-12-20 10:15:39 +01:00
Jakob Olsson
61359cb291 map-controller: disable logging by default 2020-12-18 17:39:09 +01:00
Jakob Olsson
4a439783c8 map-agent: disable logging by default 2020-12-18 17:39:09 +01:00
Jakob Olsson
cd1ad2ec7a map-agent: 3.1.0 2020-12-18 17:39:09 +01:00
Jakob Olsson
9a25147997 map-controller: 2.0.2 2020-12-18 17:39:09 +01:00
Jakob Olsson
ad4c0f5cf1 map-agent: 3.0.4 2020-12-18 17:39:09 +01:00
Jakob Olsson
3f6076369f wifimngr: add reload trigger on wireless config 2020-12-18 17:39:09 +01:00
Jakob Olsson
fbc699524a map-1905: 0.0.15 2020-12-18 17:39:09 +01:00
Jakob Olsson
f7c45760da map-controller: 2.0.0 2020-12-18 17:39:05 +01:00
Jakob Olsson
e03c14ae2b map-agent: 3.0.0 2020-12-18 17:16:45 +01:00
Omar Kallel
355e042820 icwmp: Memory leak fix 2020-12-18 13:33:55 +01:00
Amin Ben Ramdhane
53d2088715 bbf: 3.2.6 2020-12-18 11:33:35 +01:00
Sukru Senli
833c97d216 bulkdata: use correct json get api from libbbf 2020-12-18 08:25:24 +01:00
vdutta
59d2324acd obuspa: Added mqtt test in module test 2020-12-18 11:48:59 +05:30
Omar Kallel
e3cb3586d7 icwmp: json enhancements 2020-12-17 18:34:58 +01:00
Omar Kallel
a5e43567b3 icwmp: jsong and segfault Fixes 2020-12-17 17:19:47 +01:00
vdutta
e03568f9b1 obuspa: Added tests 2020-12-17 17:32:01 +05:30
Omar Kallel
ea23e1489c icwmp: make check_value_change independent from bbf 2020-12-17 12:52:47 +01:00
Amin Ben Ramdhane
32db63deb0 bbf: Added support for FAST object 2020-12-17 11:44:13 +01:00
Jani Juvan
5211a49f67 Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
* 400cc66 added root object for G.fast
-------------------------------------------------------------------------------
commit 400cc66081f2b10b481d5a745bc505b78af098bd
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-12-16 14:39:24 +0100

    added root object for G.fast

Base directory -> /
 dslmngr.c | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 128 insertions(+), 9 deletions(-)
-------------------------------------------------------------------------------
2020-12-16 17:31:59 +01:00
Jakob Olsson
907f2fc59b easy-soc-libs: 6.0.2 2020-12-16 15:18:43 +01:00
Omar Kallel
cf8571b217 bbf: enhancements 2020-12-16 11:34:54 +01:00
vdutta
86bab4da22 uspd: Multiple fixes
- Uci Schema updated
- Ubus schema updated
- Config option for sock path
- config option for transaction_timeout
- config option to disable uspd
- Align with latest bbf
- Added tests
2020-12-16 15:53:19 +05:30
Amin Ben Ramdhane
3bdf2ba11b bbf: remove tr064 feature and cleanup 2020-12-16 10:17:41 +01:00
Amin Ben Ramdhane
4ee3a92064 icwmp: Align with latest bbf changes 2020-12-16 10:15:06 +01:00
Amin Ben Ramdhane
f1b4cbc520 bulkdata: Align with latest bbf changes 2020-12-16 10:13:34 +01:00
Omar Kallel
dff5045437 icwmp: use usp.raw methods instead of call ubus swmodules 2020-12-15 19:22:06 +01:00
Anjan Chanda
80a057b727 wifimngr: 8.3.0 2020-12-15 17:18:01 +01:00
Anjan Chanda
84a8afe5da easy-soc-libs: 6.0.1 2020-12-15 17:07:17 +01:00
Omar Kallel
609035d250 icwmp: Move and update some bbf functions to icwmp 2020-12-15 15:32:11 +01:00
Sukru Senli
bb0299fe26 tr064: remove package 2020-12-15 10:19:18 +01:00
vdutta
57f6e54646 obuspa: Updated schema and defaults
- Added interface option in global section
- Rebuild persistent db on uci change
- Updated keep.d with db_file
- Updated uci schema and docs
2020-12-14 16:31:26 +05:30
Sukru Senli
859a2af38e icwmp: temporary upgrade fix 2020-12-13 11:50:38 +01:00
Sukru Senli
477284e1a6 obuspa: add interface trigger and update default config 2020-12-13 07:30:24 +01:00
Omar Kallel
a9d10a8642 bbf: 3.1.1 2020-12-12 15:00:48 +01:00
Rahul
01cf113338 qosmngr: fix regression
Changes to resolve bug #4010 and #4011 are moved to devel as well.

Test: regression run on dg400prime devel, all test pass now
2020-12-12 16:23:58 +05:30
Sukru Senli
7da94735b5 icwmp: temporary fix for image verification
cwmp upgrade still does not work reliably on bcm
2020-12-11 21:40:34 +01:00
vdutta
baccd9ad56 obuspa: Fix log_level error in init script 2020-12-12 00:18:53 +05:30
vdutta
1642841acd obuspa: Added transaction id in transactions 2020-12-11 16:22:45 +05:30
vdutta
c3157ef44e uspd: Enhancement in transaction APIs 2020-12-11 16:15:17 +05:30
Omar Kallel
127f732831 icwmp: transaction_id 2020-12-11 11:32:23 +01:00
vdutta
be91f797dc obsupa: Updated uci for easy setup 2020-12-10 21:04:35 +05:30
vdutta
ae7a3e329f obsupa: Reduce number of groups 2020-12-10 19:43:37 +05:30
Jani Juvan
ef37f8d9c1 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* db2ced9 libdsl improvements for Broadcom platform
* 6d26413 libwifi: handle radio oper std for only STA iface
* fe5ba89 libwifi: mtk: add single/multi_ap mode
-------------------------------------------------------------------------------
commit db2ced904ddbd6ab936403ae193b2e343845fdf1
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-12-10 11:00:40 +0000

    libdsl improvements for Broadcom platform

    - Report supported profiles based on current config in DSL driver
    - Replace deprecated StandardsSupported and StandardUsed with XTSE and
    XTSUsed

Base directory -> /
 libdsl/broadcom/bcm_dsl_api.c | 260 +++++++++++++++++++++++++++++++++---------
 libdsl/xdsl.h                 |   1 +
 2 files changed, 210 insertions(+), 51 deletions(-)
-------------------------------------------------------------------------------
commit 6d26413522242a352715fafc1e9fc62626fc61f9
Author: Marek Puzyniak <marek.puzyniak@iopsys.eu>
Date: 2020-11-27 18:30:47 +0000

    libwifi: handle radio oper std for only STA iface

    Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c  | 13 ++++++++-----
 libwifi/wpactrl_util.c | 27 ++++++++++++++++-----------
 libwifi/wpactrl_util.h |  1 +
 3 files changed, 25 insertions(+), 16 deletions(-)
-------------------------------------------------------------------------------
commit fe5ba89b8479ba5574fe8cf6e38904125f6aa9fb
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-11-30 18:32:43 +0100

    libwifi: mtk: add single/multi_ap mode

    Extend wifi API with wps multi_ap parameter.

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/wifi.h         | 9 +++++----
 libwifi/wpactrl_util.c | 2 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
-------------------------------------------------------------------------------
2020-12-10 12:17:45 +01:00
vdutta
07ca78f548 uspd: Multiple fixes
- Initialise and commit dmmap on startup
- Fix transaction_ api related issues
- Configure socket buf size as per blob len
- Added option to register with named ubus sockets
- list_notify: Added method to list notification params
- Fix usp.raw schema and tests
2020-12-09 18:21:52 +05:30
Amin Ben Ramdhane
10a11f0cb8 BulkData & XMPP & TWAMP: align with latest bbf changes 2020-12-07 22:47:29 +01:00
Amin Ben Ramdhane
4c11cdac89 bbf: 3.1.0 2020-12-07 22:45:13 +01:00
Omar Kallel
8b51e8c03b icwmp: fix transactions 2020-12-07 16:19:12 +01:00
Sukru Senli
2d9f03d6ab iop: select mosquitto packages 2020-12-07 15:47:41 +01:00
Amin Ben Ramdhane
e19674ea70 Align BulkData & XMPP & TWAMP with latest bbf changes 2020-12-06 22:49:29 +01:00
Amin Ben Ramdhane
0af09b123c bbf: improve and cleanup the code 2020-12-06 22:47:40 +01:00
Amin Ben Ramdhane
6e6f7289ad bbf: init context before commit cwmp changes 2020-12-04 14:43:22 +01:00
Jakob Olsson
25f6109691 ieee1905: 2.1.32 2020-12-04 14:32:15 +01:00
Amin Ben Ramdhane
7e0fe946cd bbf: Multiple fixes in DHCPv4 object 2020-12-04 11:46:09 +01:00
Omar Kallel
c831c34a94 icwmp: Fix GPV issue 2020-12-04 10:25:55 +01:00
Amin Ben Ramdhane
a9180d3a2b bbf: commit cwmp changes without restarting its service 2020-12-03 21:40:56 +01:00
vdutta
3ad8ef4b40 uspd: Apply changes only if no fault for cwmp proto 2020-12-04 00:00:12 +05:30
Rahul
17fd0ab28a qosmngr: update default config
Precedence value update to map with tr181 in default config,
now goes from 1 to 8, 8 meaning queue has lowest priority and 1
meaning that the queue has highest priority.

The broadcom script takes care of reversing this and mapping this
to 0 to 7 before configuring actual queues.
2020-12-03 17:50:45 +01:00
Omar Kallel
8ae15aa39b icwmp: Fix GPA issue 2020-12-03 16:03:39 +01:00
Vivek Dutta
1ed5f0c0f6 uspd: update to transaction support 2020-12-03 16:01:47 +01:00
Amin Ben Ramdhane
939ff109c2 bbf: update libbbf to support transactions 2020-12-03 15:50:30 +01:00
Sukru Senli
5c9469589c icwmp: sync files 2020-12-03 12:42:20 +01:00
Sukru Senli
d6dae7cd0b icwmp: make wait for service ubus object based 2020-12-02 19:42:23 +01:00
Omar Kallel
0872d45d63 icwmp: Fix fails returned by CD-Router 2020-12-02 15:14:02 +01:00
Rahul
14e54fbf04 qosmngr: fix regression
latest patch to resolve precedence issue causes regression.
Bug: queues for any port not configured at boot
fix: create the folders which store queue precedence
2020-12-02 19:10:16 +05:30
vdutta
105edbfada obuspa: Align with uspd 2020-12-02 17:13:48 +05:30
vdutta
a77deb3f36 uspd: Transaction support and setm_values improvements 2020-12-02 17:09:18 +05:30
jjoseph
38f737fa20 qosmngr: Bug #3822: TR-181: Some Device.QoS.Queue parameters are returning invalid values 2020-12-02 06:26:48 +00:00
Amin Ben Ramdhane
600209795d bbf: 3.0.4 2020-12-01 19:27:52 +01:00
Omar Kallel
6819ccef9c icwmp: use transactions 2020-12-01 18:38:37 +01:00
Amin Ben Ramdhane
8d257729ef bbf: wifi: adapt OperatingChannelBandwidth get value to WiFi6 2020-11-30 19:35:29 +01:00
Amin Ben Ramdhane
78c84db435 bbf: 3.0.3 2020-11-29 23:12:38 +01:00
Sukru Senli
1b1e071b1b iop: deselect miniupnpc by default 2020-11-29 15:18:51 +01:00
vdutta
38bf0e3c89 obuspa: Free cached data and fix init script 2020-11-28 20:03:15 +05:30
Sukru Senli
2506c9874a obuspa: set db_file explicitly in uci until init script is fixed 2020-11-28 14:08:21 +01:00
Jani Juvan
ee486af38b Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 44ecccf libdsl: fixed missing test stub updates
* 7b299da libwifi: mtk: correct non-existing include
* 79ba626 libwifi: mtk: fix oper_std when no ap iface
* 905c729 libwifi: update phy to netdev with type parameter
* 9094176 libwifi: simplify get_assoclist
* bda31e8 bwifi: mtk: Add time to station and backhaul status
* b50dd79 libwifi: mtk: include staging_dir mac header instead of kernel
-------------------------------------------------------------------------------
commit 44ecccf9892e4b1a80d98964d67050026035eb2b
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-27 18:21:41 +0100

    libdsl: fixed missing test stub updates

Base directory -> /
 libdsl/test_stub/stub.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 7b299da891065b3a02f8e07bd9a835d0b0c74912
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-11-24 19:47:00 +0100

    libwifi: mtk: correct non-existing include

    nl80211.h does not exist in staging dir while esl is built. Copy of
    nl80211.h must be stored in esl.

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/modules/copy_nl80211.h | 6930 ++++++++++++++++++++++++++++++++++++++++
 libwifi/modules/nlwifi.c       |    2 +-
 2 files changed, 6931 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 79ba626ecdd15175c6375364e8eecac77c2193b1
Author: Marek Puzyniak <marek.puzyniak@iopsys.eu>
Date: 2020-11-18 12:17:19 +0000

    libwifi: mtk: fix oper_std when no ap iface

    Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 63 insertions(+), 6 deletions(-)
-------------------------------------------------------------------------------
commit 905c729efe237f2dc2088d00d4fac9b301dd52d7
Author: Marek Puzyniak <marek.puzyniak@iopsys.eu>
Date: 2020-11-23 14:58:22 +0000

    libwifi: update phy to netdev with type parameter

    Introduce nlwifi_phy_to_netdev_with_type function which allows to get netdev
    from phy wiyh requested type. Possible options are:
    -NLWIFI_MODE_AP,
    -NLWIFI_MODE_STA,
    -NLWIFI_MODE_AP_STA,
    -NLWIFI_MODE_ANY.

    Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 40 ++++++++++++++++++++++++++++++++--------
 libwifi/modules/nlwifi.h |  6 ++++++
 2 files changed, 38 insertions(+), 8 deletions(-)
-------------------------------------------------------------------------------
commit 909417616eea5e4ecc3059ae766fc8a55c21a6b1
Author: Marek Puzyniak <marek.puzyniak@iopsys.eu>
Date: 2020-11-24 11:02:32 +0000

    libwifi: simplify get_assoclist

    Use only one hostapd_cli command list_sta in order to collect assoctiated
    stations.

    Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>

Base directory -> /
 libwifi/wpactrl_util.c | 63 +++++++++-----------------------------------------
 1 file changed, 11 insertions(+), 52 deletions(-)
-------------------------------------------------------------------------------
commit bda31e8fa970f7eb5c5077fc17a64c3ca07fc1b6
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-11-24 08:28:34 +0100

    bwifi: mtk: Add time to station and backhaul status

    Numbers taken from station dump: iw dev wlan1_1 station dump | egrep
    "inactive time|connected time| duration" idle 		-> inactive
    time:	450 ms in_network 	-> connected time:	2949 seconds
    tx_airtime	-> tx duration:		57214 us rx_airtime	-> rx duration:
    1117926 us

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
-------------------------------------------------------------------------------
commit b50dd79423dcdf9c9eace5945c29641d849876db
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-11-24 08:25:02 +0100

    libwifi: mtk: include staging_dir mac header instead of kernel

    nl80211.h header in linux-4.14.195 not contain TX_DURATION define in status
    enum. Fixed by including staging header from mac80211.

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2020-11-27 18:26:51 +01:00
Sukru Senli
bf871111a5 iop: config: select uledd 2020-11-27 16:54:45 +01:00
vdutta
1388b566bc obsupa: Change debug level 2020-11-27 20:54:08 +05:30
vdutta
a63295be52 obsupa: Integrate 3.0.0 release
- Optimise uci to support configuration of multiple controllers
- Optimise init script to support MQTT proto
2020-11-27 20:47:16 +05:30
Amin Ben Ramdhane
450b9eaee9 Align XMPP & UDPEchoserver & TWAMP with latest bbf changes 2020-11-27 10:52:16 +01:00
Sukru Senli
e22a60c637 bulkdata: adapt to updated libbbf api 2020-11-27 08:43:08 +01:00
Hemlata Bhatt
32817656e1 bbf : Fix 3847 2020-11-26 12:20:19 +01:00
Jakob Olsson
da017f98e2 ieee1905: 2.1.31 2020-11-25 10:49:58 +01:00
Jakob Olsson
1e3c338abb Revert "ieee1905: 2.1.31"
This reverts commit 034f69408a.
2020-11-24 14:45:28 +01:00
Jakob Olsson
034f69408a ieee1905: 2.1.31 2020-11-24 14:43:05 +01:00
vdutta
d86e277461 obuspa: Align with transaction_* APIs 2020-11-24 17:14:12 +05:30
vdutta
2f333148b2 uspd: Multiple fixes
- 'transaction_*' apis with usp.raw object
 - new method 'setm_values' to set multiple values at once
 - 'dump_schema' with usp specific proto
 - Fix multiple output in 'getm_*' methods
 - Generate fault when set/add/del operations called without transaction
   using usp.raw object
 - Generate fault when set/add/del operation called using usp object and
   another transaction is in progress
2020-11-24 16:58:14 +05:30
Ronny Nilsson
8a275944e3 endptmngr: add a file necessary for build. 2020-11-24 11:29:48 +01:00
Ronny Nilsson
76d40e2e1e Update feed [ iopsys ] package [ endptmngr ]
-------------------------------------------------------------------------------
* c1d337a Fix a crash when endptmngr runs in Iopsys 6 with Broadcom 5.04.
-------------------------------------------------------------------------------
commit c1d337a584b42b5872fb3f3d043d487299d4f826
Author: Ronny Nilsson <ronny.nilsson@iopsys.eu>
Date: 2020-11-23 16:41:10 +0100

    Fix a crash when endptmngr runs in Iopsys 6 with Broadcom 5.04.

Base directory -> /
 src/Makefile              |  1 +
 src/brcm-504-workaround.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++
 src/line.c                |  2 ++
 src/main.c                |  2 ++
 4 files changed, 83 insertions(+)
-------------------------------------------------------------------------------
2020-11-23 21:36:31 +01:00
Sukru Senli
e00394f158 iop: sync config 2020-11-23 12:31:00 +01:00
sverma
64944425f5 wfadatad: Change UBUS object name to 'wifi.dataelements'. 2020-11-23 16:22:46 +05:30
Omar Kallel
9d996bdf9e icwmp: remove the use of forced_inform and force_notifications uci sections 2020-11-23 11:16:39 +01:00
Amin Ben Ramdhane
5c8e7cb740 bbf: 3.0.2 2020-11-20 21:47:49 +01:00
vdutta
201fb45c6c obuspa: Align with uspd 2020-11-20 23:24:47 +05:30
vdutta
7e2cdb88fb uspd: Fix getm_ method and pretty print 2020-11-20 23:11:14 +05:30
Jani Juvan
f750ab67d7 Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
* 6d32414 fixes for G.fast support
-------------------------------------------------------------------------------
commit 6d32414514842b70fae1ee96069d0712b900151e
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-18 18:03:52 +0100

    fixes for G.fast support

Base directory -> /
 dslmngr.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
2020-11-20 13:35:22 +01:00
Jani Juvan
1ba812351d Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* bb551b4 libdsl: add G.fast support
-------------------------------------------------------------------------------
commit bb551b434ac9de31581e905cf5516644c12a877c
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-06 16:01:47 +0100

    libdsl: add G.fast support

Base directory -> /
 libdsl/broadcom/bcm_dsl_api.c | 241 +++++++++++++++++++++++++++++++++++++++++-
 libdsl/utils.c                |   3 +
 libdsl/xdsl.h                 |  12 ++-
 3 files changed, 249 insertions(+), 7 deletions(-)
-------------------------------------------------------------------------------
2020-11-20 13:35:02 +01:00
Jani Juvan
efc11f8c6d dslmngr: update minor version number for adding G.fast support 2020-11-20 13:13:24 +01:00
Ronny Nilsson
69cf19cc8e TaaS: added boostrap support.
Nice to have feature which wipes the flash in a
remote lab DUT and writes the localy built image.
Note: no testing of the image is done.
2020-11-19 22:30:13 +01:00
Ronny Nilsson
085ec84436 taas: we have EX600 too in the dev remote lab. 2020-11-19 22:30:13 +01:00
Ronny Nilsson
faec0f002a taas: prerequisite check has been moved to a common lib. 2020-11-19 22:30:13 +01:00
Amin Ben Ramdhane
436a57f8d6 bbf: Fix some parameters that have invalid values 2020-11-19 20:54:53 +01:00
Janusz Dziedzic
e3d0362d1f Update feed [ iopsys ] package [ easy-soc-libs ]
1cb7c8 libwifi: bcm: get assoclist from hostap
eb0c403 libwifi: bcm: use wl command for neighbors
80c1a24 libwifi: wpactrl: fix neighbor handling
a2c17f7 libwifi: bcm: use reload_config
2020-11-19 18:12:01 +01:00
Jani Juvan
3135ad4865 Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
* 97e29e3 fixup for variable mixup in previous commit
-------------------------------------------------------------------------------
commit 97e29e3bb7bece10f728b09f8031b26b61b1debe
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-19 14:55:57 +0100

    fixup for variable mixup in previous commit

Base directory -> /
 dslmngr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2020-11-19 14:56:48 +01:00
Jani Juvan
12f4a5380b Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
* a81fc07 added missing index updates for stats
-------------------------------------------------------------------------------
commit a81fc073f54ba0d0c46685fff26bf074b40dc690
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-19 14:18:23 +0100

    added missing index updates for stats

Base directory -> /
 dslmngr.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2020-11-19 14:27:31 +01:00
Jani Juvan
3887bab7f7 dslmngr: update minor version for index change 2020-11-19 14:26:22 +01:00
vdutta
a6a54316e8 uspd: Multiple fixes
- instance_mode parameter in usp ubus object methods
 - Remove list_inform to align with latest bbf changes
 - transaction related usp.raw methods
 - Segregate usp and usp.raw object methods
 - Support of percent escaped double quote in unique key search
 - set: Show end_session_flag for cwmp proto
 - Parallel processing support for operate and get commands
 - unique_keys in 'dump_schema' method
 - In/Out parameters in 'list_operate' method
 - Performance optimizations
2020-11-19 18:04:07 +05:30
Amin Ben Ramdhane
0273969b9c icwmp: 6.0-2020-10-19 2020-11-19 13:20:24 +01:00
Andreas Gnau
0781d5620d natalie-dect: Change open SDK download URL to https 2020-11-19 13:18:03 +01:00
Andreas Gnau
d8d42400b1 endptmngr: Change open SDK download URL to https 2020-11-19 13:18:03 +01:00
Amin Ben Ramdhane
c3ee0a2d8a Align BulkData & XMPP & UDPEchoserver & TWAMP with latest bbf changes
- remove unnecessary arguments from object/parameter definition
2020-11-19 13:16:47 +01:00
Amin Ben Ramdhane
d66c3c0bbf bbf: 3.0-2020-11-19 2020-11-19 13:15:55 +01:00
Andreas Gnau
a57d03d7e9 iop: config: Change CONFIG_LOCALMIRROR to https 2020-11-19 13:11:42 +01:00
Jani Juvan
ec35396ffc Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
* c04da97 ubus indexes for line and channel starting from 1
-------------------------------------------------------------------------------
commit c04da9743198041de1fbaa05600d997a4f71c174
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-18 10:10:06 +0100

    ubus indexes for line and channel starting from 1

Base directory -> /
 dslmngr.c | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)
-------------------------------------------------------------------------------
2020-11-18 13:22:41 +01:00
Jani Juvan
7e9a109466 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 656dc78 libwifi: mtk: add SCAN_ABORT event
-------------------------------------------------------------------------------
commit 656dc782fda897559d5e3b336cab571162daee5f
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-11-16 11:46:52 +0100

    libwifi: mtk: add SCAN_ABORT event

    Add SCAN_ABORT event for radio interface.

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 3 +++
 libwifi/wifi.h           | 1 +
 2 files changed, 4 insertions(+)
-------------------------------------------------------------------------------
2020-11-18 13:22:27 +01:00
Omar Kallel
21c9d13b7a cwmp: get forced inform and froced notifications from cwmp uci config instead of bbf 2020-11-18 10:16:16 +01:00
Jani Juvan
f467f2a90f Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
* db4be52 fix for handling negative uints
-------------------------------------------------------------------------------
commit db4be520b7d03cfa576a95850ea44e59b41381ec
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-17 16:30:17 +0100

    fix for handling negative uints

Base directory -> /
 dslmngr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2020-11-17 16:39:27 +01:00
Sukru Senli
8ffe458009 remove reference to non-existing parameters 2020-11-17 13:22:09 +01:00
Sukru Senli
a9122f9909 cifsd, cifsd-tools: replaced by ksmbd and ksmbd-tools 2020-11-17 13:21:16 +01:00
Sukru Senli
cea453c91c correct copyright headers in package Makefiles 2020-11-17 13:14:22 +01:00
Rahul
4b707a26f4 Fix Bug #3822: BurstSize default value updated
The default value of burst size in config is set to -1 which is one
part of the problem. The other part of the problem is that the check
in tr181 is not good enough to disallow negative values. That will
be fixed in a seprate patch.
2020-11-17 16:32:29 +05:30
Amin Ben Ramdhane
81a39308cc bbf: 2.9-2020-11-16 2020-11-16 22:07:04 +01:00
Jani Juvan
73d7e51afa Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
* 2da1a3f clean-up json-files api-testing
* 21b0119 fixed invalid json
* 549a924 Fix a compilation error in testing
* c06c317 moved dependencies to shell-script instead of having them in docker file
-------------------------------------------------------------------------------
commit 2da1a3fc3d7ba2babfd88032af05c0e226e89008
Author: Suru Dissanaike <suru.dissanaike@iopsys.eu>
Date: 2020-08-12 17:14:11 +0200

    clean-up json-files api-testing

Base directory -> /
 test/api/json/atm.link.validation.json    | 12 ------------
 test/api/json/dsl.channel.validation.json |  2 +-
 test/api/json/dsl.line.validation.json    | 13 -------------
 3 files changed, 1 insertion(+), 26 deletions(-)
-------------------------------------------------------------------------------
commit 21b0119c090832da9f8a3e4882876649f747ed22
Author: Suru Dissanaike <suru.dissanaike@iopsys.eu>
Date: 2020-08-12 08:45:15 +0200

    fixed invalid json

Base directory -> /
 test/api/json/atm.link.validation.json | 3 ---
 1 file changed, 3 deletions(-)
-------------------------------------------------------------------------------
commit 549a924c5f3d48db43f02b469e7261feec10c47e
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date: 2020-08-10 12:39:18 +0200

    Fix a compilation error in testing

Base directory -> /
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit c06c31728555a091f2807e64ddf7849829c57fef
Author: Suru Dissanaike <suru.dissanaike@iopsys.eu>
Date: 2020-08-05 15:15:41 +0200

    moved dependencies to shell-script instead of having them in docker file

Base directory -> /
 .gitlab-ci.yml                    |  9 ++++++---
 gitlab-ci/install-dependencies.sh | 22 ++++++++++++++++++++++
 2 files changed, 28 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
2020-11-16 15:49:31 +01:00
Jani Juvan
557f2693d3 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 03a776e libdsl: dsl line and channel parameter corrections
* 1a0d70d libdsl: add support for gfast in makefile
* 82dd72a libwifi: mtk: Fix survey dump
* 6c0ba2a libwifi: mtk: nlwifi_phy_to_netdev correct name and behaviour
* f04cd96 libwifi: mtk: fill ifaces field in wifi_radio
-------------------------------------------------------------------------------
commit 03a776e8af7399e11d1405b351df0dafa3b9ae33
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-12 11:58:31 +0100

    libdsl: dsl line and channel parameter corrections

Base directory -> /
 libdsl/broadcom/bcm_dsl_api.c | 56 ++++++++++++++++++++++++++-----------------
 libdsl/xdsl.h                 |  4 ++--
 2 files changed, 36 insertions(+), 24 deletions(-)
-------------------------------------------------------------------------------
commit 1a0d70dddb5dbf8f23d902024ffbb7526e0fcf52
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-16 13:51:45 +0100

    libdsl: add support for gfast in makefile

Base directory -> /
 libdsl/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 82dd72a5b989b3a57d829c00100b89a1f53a908a
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-11-10 11:34:04 +0100

    libwifi: mtk: Fix survey dump

    nlwifi_phy_to_netdev commit introduce the bug in survey dump fetching.
    Variable name corrected here.

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 6c0ba2ae1b35298ea93b85fb3989d084b20fb113
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-11-09 13:20:52 +0100

    libwifi: mtk: nlwifi_phy_to_netdev correct name and behaviour

    phy_to_netdev -> nlwifi_phy_to_netdev This function does not depend on
    carrier any more. It uses get_ifstatus instead

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c    | 16 +++++++--------
 libwifi/modules/nlwifi.c | 51 +++++++++++++++++++-----------------------------
 libwifi/modules/nlwifi.h |  2 +-
 3 files changed, 29 insertions(+), 40 deletions(-)
-------------------------------------------------------------------------------
commit f04cd96dd16136b66f58be6e21d34bdd34f25294
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-11-06 21:55:04 +0100

    libwifi: mtk: fill ifaces field in wifi_radio

    ifaces will be listed for given phy.

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
-------------------------------------------------------------------------------
2020-11-16 15:48:24 +01:00
Sukru Senli
c9b2973ac8 qosmngr: correct cpu_model check 2020-11-13 22:51:13 +01:00
Sukru Senli
6f15e7ff27 qos: skip policer config for BCM6755 2020-11-13 22:37:38 +01:00
Sukru Senli
f431a3ddf5 icwmp: remove icwmp-tr098 subpackage 2020-11-13 21:51:08 +01:00
Anjan Chanda
4ce6578aa7 ieee1905-2.1.30 2020-11-13 21:45:44 +01:00
Amin Ben Ramdhane
39ab8e9282 bbf: 2.9-2020-11-13 2020-11-13 17:10:38 +01:00
Jani Juvan
e5694c1429 easy-soc-lib: Fix Makefile to pass correct broadcom chip config 2020-11-13 15:36:07 +01:00
Andreas Gnau
0c998dbb66 endptmngr: Renaming and clean-up of config-options
* Don't pass unused config options to Makefile
* Account for rename TARGET_NO_VOICE => !BCM_VOICE
2020-11-11 21:15:40 +01:00
Amin Ben Ramdhane
d8b5f3e1f0 bbf: 2.8-2020-11-11 2020-11-11 20:34:43 +01:00
Ronny Nilsson
0b39626067 Update feed [ iopsys ] package [ libpicoevent ]
-------------------------------------------------------------------------------
* f446f18 LICENSE: GPLv2 -> LGPLv2.1
-------------------------------------------------------------------------------
commit f446f186102539cceedaa15a95a33547ac3c1fd7
Author: Sukru Senli <sukru.senli@iopsys.eu>
Date: 2020-04-27 14:38:26 +0200

    LICENSE: GPLv2 -> LGPLv2.1

Base directory -> /
 LICENSE | 631 +++++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 406 insertions(+), 225 deletions(-)
-------------------------------------------------------------------------------
2020-11-11 20:07:31 +01:00
Ronny Nilsson
5665076321 endptmngr: restore autostart of endptmngr at boot. 2020-11-11 16:26:44 +01:00
Anjan Chanda
db5c1613f5 wfadatad: 3.0.0 2020-11-11 12:33:51 +01:00
Benjamin Larsson
c82cf9ebb0 Update feed [ iopsys ] package [ peripheral_manager ]
-------------------------------------------------------------------------------
* dd4a72a Dimmed LEDs should light up when press indicator is used.
* 68606f4 Remove test/include/mock_board.h
* c7e50cb Update path for IOP6.
* 5e2a45b Fully implement Linux GPIO and remove Broadcom ioctl().
* aff6aaf Update README.md
* 4dd33de Each button object needs to change lowercase, otherwise the button object will report error in ubus call.
-------------------------------------------------------------------------------
commit dd4a72aca663bf3c9a57f20e889e43a55d3da1b3
Author: Markus Gothe <markus.gothe@genexis.eu>
Date: 2020-10-06 10:06:15 +0200

    Dimmed LEDs should light up when press indicator is used.

    When having dimmed LEDs and press indicator event occurs, we do want to them
    to temporarily light up 100%.

Base directory -> /
 src/led.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)
-------------------------------------------------------------------------------
commit 68606f4dd3dbfe03d4256cd256e797f035d36c51
Author: Markus Gothe <markus.gothe@genexis.eu>
Date: 2020-10-09 14:58:55 +0200

    Remove test/include/mock_board.h

    The file 'mock_board.h' serves no purpose and should be removed.

    This commit removes it.

Base directory -> /
 test/include/mock_board.h | 109 ----------------------------------------------
 1 file changed, 109 deletions(-)
-------------------------------------------------------------------------------
commit c7e50cb16c2f583e842ccb0622631e7e03dc3079
Author: Markus Gothe <markus.gothe@genexis.eu>
Date: 2020-10-09 14:40:42 +0200

    Update path for IOP6.

    The paths have changed on IOP6, this change reflects the current paths.

Base directory -> /
 src/peripheral_manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 5e2a45b15b231da37764d00469137609471ae4c6
Author: Markus Gothe <markus.gothe@genexis.eu>
Date: 2020-10-09 14:38:12 +0200

    Fully implement Linux GPIO and remove Broadcom ioctl().

    This also removes the obsolete use of sprintf() and correctly initializes
    the variables (with cacheline alignment).

    What needs further testing is bit-banging via the /sys/class/gpio-interface.
    My initial testing on the EX600 showed however that this is possible.

Base directory -> /
 CMakeLists.txt            | 15 +------------
 src/eco_bug.c             |  4 +---
 src/gpio.c                | 56 -----------------------------------------------
 src/gpio.h                | 42 ++++++++---------------------------
 src/gpio_button.c         | 15 -------------
 src/gpio_led.c            |  7 ------
 src/gpio_linux.c          | 52 +++++++++++++++++++++----------------------
 src/gpio_test.c           | 13 ++++-------
 src/led.c                 |  4 ++--
 src/prox_px3220.c         |  2 +-
 src/touch_sx9512.c        | 23 +++++--------------
 test/include/mock_board.h |  1 -
 12 files changed, 48 insertions(+), 186 deletions(-)
-------------------------------------------------------------------------------
commit aff6aafa04d908dca48852babe7dc0b0fa900aa8
Author: Andreas Jonson <andreas.jonson@iopsys.eu>
Date: 2020-09-09 11:09:44 +0200

    Update README.md

Base directory -> /
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 4dd33de8f7b023c5260dc493ed37337fb2c2dc31
Author: pitchaiah prakash <pitchaiah.murugan@iopsys.eu>
Date: 2020-07-08 20:29:24 +0200

    Each button object needs to change lowercase, otherwise the button object
    will report error in ubus call.

Base directory -> /
 src/button.c | 1 +
 1 file changed, 1 insertion(+)
-------------------------------------------------------------------------------
2020-11-10 15:34:17 +01:00
Ronny Nilsson
1f7565536d endptmngr: Adaptions for working with Broadcom 5.04L.02 2020-11-10 15:01:51 +01:00
Ronny Nilsson
1922fa2560 iop: TaaS need the trickle application too. 2020-11-08 01:12:27 +01:00
Ronny Nilsson
fe86ade858 iop: Refactor, extract to separate function. 2020-11-08 01:11:10 +01:00
Ronny Nilsson
f49c4f4a64 Rename due to several remote lab TaaS commands will be added to same file. 2020-11-08 00:35:51 +01:00
Jani Juvan
ac7491c010 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 92f1e5a libdsl: broadcom header fixup
* 4c72c1f libwifi: mtk: use reload_config
* e1f9fb9 libwifi: refactor ap_info call
* 321445d libwifi: nlwifi: fill survey in channels_info
* c723e0a libwifi: nlwifi: add channels_info
* f3368e4 libwifi: nlwifi: get vendor/product id
* 24dca3f libwifi: wifi: add channels_info callback
* 012de6c libwifi: mtk: add req_btm
* b900276 libwifi: mtk: add oper_std indication for backhaul
* 2deb863 libwifi: mtk: get_param - empty outupt buffer
* 89cd623 libwifi: iterate wildcard SSID IE correctly
* 6f508cb libwifi: introduce IE defines
* 4b582a3 libwifi: nlwifi: get channel correctly
* 22d94bb libwifi: nlwifi: introduce nlwifi_get_survey()
* 3ca5d99 libwifi: nlwifi: check max for supp channels
* 846cf76 libwifi: nlwifi: move phy_to_netdev()
* ef7c9c6 libwifi: wifi: use u64 for radio diagnostic
* 78b05b3 libwifi: nlwifi: get noise level
* 3e356a9 libwifi: nlwifi: use nlwifi_cmd() for scan
* 57b7659 libwifi: nlwifi: use nlwifi_cmd()
* 9a9fedf libwifi: nlwifi: use nlwifi_cmd()
* af18d6d libwifi: nlwifi: unlock phy commands
* b63aa97 libwifi: nlwifi: prepare for DFS
* 38e0638 libwifi: nlwifi: introduce nlwifi_cmd()
* 96eb796 libwifi: mtk: implement get_beacon_ies
-------------------------------------------------------------------------------
commit 92f1e5a99226bd18897b1832e1879555e9953751
Author: Jani Juvan <jani.juvan@iopsys.eu>
Date: 2020-11-05 15:55:05 +0100

    libdsl: broadcom header fixup

Base directory -> /
 libdsl/Makefile              |  2 +-
 libdsl/broadcom/AdslMibDef.h | 53 +++++++++++++++++++++++++++-----------------
 libdsl/broadcom/bcmadsl.h    | 31 ++++++++++++++++++--------
 3 files changed, 56 insertions(+), 30 deletions(-)
-------------------------------------------------------------------------------
commit 4c72c1ff3c7e1d45d2007f68b6eb867e583b9bb7
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-28 10:24:41 +0100

    libwifi: mtk: use reload_config

    Use reload_config command when add/remove interfaces.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
commit e1f9fb9f62876029f83be79e51a9ccdce706edb5
Author: Marek Puzyniak <marek.puzyniak@iopsys.eu>
Date: 2020-10-12 10:05:57 +0000

    libwifi: refactor ap_info call

    Use beacon ie in ap_info call to collect information about AP. Use size_t
    instead of int to pass size arguments. Add some generic functions to parse
    ies content. Move generic functions from wpactrl_util to util.

    Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c  |  31 +-----
 libwifi/util.c         | 114 ++++++++++++++++++++++
 libwifi/util.h         |   3 +
 libwifi/wpactrl_util.c | 256 ++++++++++++++++---------------------------------
 libwifi/wpactrl_util.h |  17 +++-
 5 files changed, 216 insertions(+), 205 deletions(-)
-------------------------------------------------------------------------------
commit 321445d0a8edfb171400cada477e15d154cb1c61
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-20 20:49:58 +0200

    libwifi: nlwifi: fill survey in channels_info

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 104 +++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 96 insertions(+), 8 deletions(-)
-------------------------------------------------------------------------------
commit c723e0ae1224212ec352161cf02cd328bcc2c07a
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-20 14:42:35 +0200

    libwifi: nlwifi: add channels_info

    Add implementation for channels_info. Fill DFS related params.

    We still need to add survey data.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c    |  1 +
 libwifi/modules/nlwifi.c | 90 ++++++++++++++++++++++++++++++++++++++++++------
 libwifi/modules/nlwifi.h |  1 +
 3 files changed, 81 insertions(+), 11 deletions(-)
-------------------------------------------------------------------------------
commit f3368e44b69287499bde0206dca312c22ea2f73e
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-20 12:03:53 +0200

    libwifi: nlwifi: get vendor/product id

    Fill driver info vendor/product id.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c    |  1 +
 libwifi/modules/nlwifi.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++
 libwifi/modules/nlwifi.h |  1 +
 3 files changed, 76 insertions(+)
-------------------------------------------------------------------------------
commit 24dca3f513087668117bd3d9127eab4051148380
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-09-23 15:50:41 +0200

    libwifi: wifi: add channels_info callback

    Will be used to get information about channels, like:
    - dfs
    - dfs state
    - busy percent
    - our busy_tx/busy_rx percent
    - noise flour
    - CAC time
    - left NOP time

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/wifi.c | 11 +++++++++++
 libwifi/wifi.h | 37 ++++++++++++++++++++++++++++++++++++-
 2 files changed, 47 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 012de6c2776f745d4578fa34c7489ddbdb862515
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-15 16:27:37 +0200

    libwifi: mtk: add req_btm

    Add implementation for req_btm()

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c    | 23 +++++++++++++++++++++++
 libwifi/modules/nlwifi.c |  2 +-
 libwifi/wpactrl_util.c   |  3 +++
 libwifi/wpactrl_util.h   |  2 ++
 4 files changed, 29 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit b9002767a83303d2a833948e9086bd85cd306d96
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-10-15 08:51:50 +0200

    libwifi: mtk: add oper_std indication for backhaul

    oper_std will return the information about link standard. 5GHz: a/n/ac are
    supported separatelly 2,4GHz: b/g or n are supported.

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c  |  8 +++++-
 libwifi/wpactrl_util.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++-
 libwifi/wpactrl_util.h |  3 +++
 3 files changed, 75 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 2deb86307a763a288eb8735b390ad7953f56ff01
Author: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
Date: 2020-10-14 12:39:23 +0200

    libwifi: mtk: get_param - empty outupt buffer

    get_param function called multiple times, might not refresh output buffer.
    Clear buffer before filling up with new data.

    Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>

Base directory -> /
 libwifi/wpactrl_util.c | 1 +
 1 file changed, 1 insertion(+)
-------------------------------------------------------------------------------
commit 89cd6237ba90346101f62721424408202785e1c8
Author: Marek Puzyniak <marek.puzyniak@iopsys.eu>
Date: 2020-10-14 10:36:32 +0000

    libwifi: iterate wildcard SSID IE correctly

    For wildcard SSID lenght of information element is zero, change macro
    wifi_foreach_ie to handle also this case.

    Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>

Base directory -> /
 libwifi/wifi.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 6f508cbe6d958cdfc5f60c6827ce9b0cf939e53e
Author: Marek Puzyniak <marek.puzyniak@iopsys.eu>
Date: 2020-10-05 20:53:50 +0000

    libwifi: introduce IE defines

    Replace raw IE ids with more redable defines like:
    "0" -> IE_SSID

    It will be usefull in IE's composition/decomposition.

    Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>

Base directory -> /
 libwifi/modules/bcm.c    | 14 +++++++-------
 libwifi/modules/intel.c  | 14 +++++++-------
 libwifi/modules/nlwifi.c | 22 +++++++++++-----------
 libwifi/util.c           | 12 ++++++------
 libwifi/wifi.h           | 15 +++++++++++++++
 5 files changed, 46 insertions(+), 31 deletions(-)
-------------------------------------------------------------------------------
commit 4b582a3b69b7196ed7784d1f23b93523e49d0e1a
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-06 14:33:32 +0200

    libwifi: nlwifi: get channel correctly

    In case we don't have netdev, get channel from supported channels.

    In other case upper layer could show band incorrectly.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c    |  7 ++-----
 libwifi/modules/nlwifi.c | 50 ++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 44 insertions(+), 13 deletions(-)
-------------------------------------------------------------------------------
commit 22d94bb33d7a876ef8a6c588ba7f91b0c56e11a7
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-06 14:31:44 +0200

    libwifi: nlwifi: introduce nlwifi_get_survey()

    Get survey and fill radio diagnostic counters.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 76 +++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 62 insertions(+), 14 deletions(-)
-------------------------------------------------------------------------------
commit 3ca5d99a6d56699fdb0f5c7ee3d7690c49f110e7
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-06 14:26:17 +0200

    libwifi: nlwifi: check max for supp channels

    Check max for supported channels.

    This is important while we are using NLM_F_DUMP - so cb() could be called
    multiple times.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 846cf765afec559effe2fcb3598f4f88f1c2bbd4
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-06 14:07:23 +0200

    libwifi: nlwifi: move phy_to_netdev()

    Move phy_to_netdev() to nlwifi, while this is specyfic for opensource wifi
    stack.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c    | 35 -----------------------------------
 libwifi/modules/nlwifi.c | 36 ++++++++++++++++++++++++++++++++++++
 libwifi/modules/nlwifi.h |  1 +
 3 files changed, 37 insertions(+), 35 deletions(-)
-------------------------------------------------------------------------------
commit ef7c9c6a90cc5b85ce1c6ad1300aeddbda260ca8
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-06 14:03:51 +0200

    libwifi: wifi: use u64 for radio diagnostic

    Use larger type for radio diagnostic counters.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/wifi.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
-------------------------------------------------------------------------------
commit 78b05b31fb07e5daefd3052a00e3dc1693772892
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-10-01 16:51:13 +0200

    libwifi: nlwifi: get noise level

    Get noise level for the current channel.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 64 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 3e356a934396ae8b354c3096f97c01c90689d6ec
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-09-30 19:06:16 +0200

    libwifi: nlwifi: use nlwifi_cmd() for scan

    Use it also for NL80211_CMD_GET_SCAN.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 42 +++++++++++-------------------------------
 1 file changed, 11 insertions(+), 31 deletions(-)
-------------------------------------------------------------------------------
commit 57b7659c33b6a90963f95e251a8ab0b58b151861
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-09-30 18:42:22 +0200

    libwifi: nlwifi: use nlwifi_cmd()

    Use it for NL80211_CMD_GET_STATION command.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 168 +++++++++++------------------------------------
 1 file changed, 38 insertions(+), 130 deletions(-)
-------------------------------------------------------------------------------
commit 9a9fedf0317820ad193ab457000a2cec193b4877
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-09-30 17:13:30 +0200

    libwifi: nlwifi: use nlwifi_cmd()

    Use it for NL80211_CMD_GET_INTERFACE.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 257 ++++++++++-------------------------------------
 1 file changed, 52 insertions(+), 205 deletions(-)
-------------------------------------------------------------------------------
commit af18d6dcb14b8e643cc5a51655b9bedff3f033ba
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-09-30 12:13:30 +0200

    libwifi: nlwifi: unlock phy commands

    Before we allow only netdev commands.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c    | 45 ++++++++++++++++-----------------------------
 libwifi/modules/nlwifi.c | 44 +++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 55 insertions(+), 34 deletions(-)
-------------------------------------------------------------------------------
commit b63aa970233edb3ab75c8e5b48021669928ad410
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-09-30 11:56:00 +0200

    libwifi: nlwifi: prepare for DFS

    Request and show DFS channel state. This is preparation for real
    implementation.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 38e063868ba27f6bea61b5f4fb905bd5480bc41c
Author: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: 2020-09-30 08:44:21 +0200

    libwifi: nlwifi: introduce nlwifi_cmd()

    Intruduce function that will send NL commands. As example use this command
    for all calls that using NL80211_CMD_GET_WIPHY.

    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>

Base directory -> /
 libwifi/modules/nlwifi.c | 274 +++++++++++++++++++----------------------------
 1 file changed, 108 insertions(+), 166 deletions(-)
-------------------------------------------------------------------------------
commit 96eb796d35f53a540ed93b2a2a3c7f4575573021
Author: Marek Puzyniak <marek.puzyniak@iopsys.eu>
Date: 2020-09-29 19:24:45 +0000

    libwifi: mtk: implement get_beacon_ies

    Beacon IEs are taken from hostapd via new hostapd_cli command "get_beacon
    ies". IEs from hex string format are converted to binary array.

    Signed-off-by: Marek Puzyniak <marek.puzyniak@iopsys.eu>

Base directory -> /
 libwifi/modules/mtk.c  |  7 +++++++
 libwifi/wpactrl_util.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 libwifi/wpactrl_util.h |  2 ++
 3 files changed, 57 insertions(+)
-------------------------------------------------------------------------------
2020-11-06 08:37:44 +01:00
Jani Juvan
63db10eb1f easy-soc-lib: Fix Makefile to pass broadcom chip id properly 2020-11-06 08:35:41 +01:00
vdutta
651ad4ce22 map-1905: Add validate function in plugin 2020-11-06 10:14:22 +05:30
vdutta
51a3b0ad35 uspd: Added ubus methods to list_inform and init_notify 2020-11-05 15:50:09 +05:30
Oskar Viljasaar
0c8b1ea046 iop: genconfig: add iopsys-bcm2711 (rpi-4) support 2020-11-02 17:33:21 +01:00
Oskar Viljasaar
104805a36e feeds_update: add support for iopsys-bcm27xx 2020-11-02 17:32:25 +01:00
Oskar Viljasaar
a1bfb1b568 iop: genconfig_min: add iopsys-bcm2711 (rpi-4) support 2020-11-02 17:31:41 +01:00
Sukru Senli
5c744f71e3 remove reference to iopsys_brcm63xx_mips target 2020-11-01 10:42:32 +01:00
Sukru Senli
20ca483d80 iop: genconfig: change juci theme directory 2020-10-31 12:28:24 +01:00
Sukru Senli
7a466c989c iop: do not select loop-detector 2020-10-31 12:14:53 +01:00
Kenneth Johansson
ff63939e84 ssh_upgrade: Add handling for config option.
can now handle no reboot and keep config options.
2020-10-30 19:06:22 +01:00
Kenneth Johansson
3b283b8f3a iop: ssh_upgrade: use sysupgrade as default.
sysupgrade is now more functional than iopu so use that instead.
2020-10-29 18:33:00 +01:00
Jakob Olsson
d93d72587e ieee1905: 20.0.30 2020-10-29 13:51:52 +01:00
Ronny Nilsson
b098ef3dc2 Add support for TaaS smoketesting of images.
For developers and Jenkins etc. A short hand command for
testing the just built image on real hardware. To be
used before pushing commits and nightly images to public.
2020-10-28 16:11:26 +01:00
Simon Tate
8c69fc062a bulkdata: Bulkdata fails to build on x86
To get bulkdata to build on x86, added limitation on the asprintf %.*s
to use integer type (as per the programming manual).
2020-10-27 13:05:24 +01:00
Amin Ben Ramdhane
8ad4f32786 bbf: 2.7-2020-10-23 2020-10-23 18:08:30 +01:00
vdutta
71b66376f0 uspd: Fix fault codes
- Generate fault for add_object/del_object if path is invalid
 - Generate fault in case of add_object/del_object/operate/set if the search query is failed
 - Fix set_attribute method to apply the attribute changes
2020-10-23 11:15:14 +05:30
Amin Ben Ramdhane
48525b051a icwmp: 5.2-2020-10-19 2020-10-19 23:44:00 +01:00
Amin Ben Ramdhane
753e894b69 bbf: 2.6-2020-10-19 2020-10-19 23:40:23 +01:00
Amin Ben Ramdhane
ce701702c5 XMPP,BulkData,UDPecho,TWAMP: Fixed invalid int && unsignedInt && hexBinary parameter values 2020-10-19 23:37:01 +01:00
Omar Kallel
11550d140a Add new notification feature & delete icwmp_notifd
(cherry picked from commit 37865ab486)
2020-10-18 11:31:14 +02:00
Sukru Senli
f622a96054 icwmp: keep cwmp session backup xml file over upgrade
(cherry picked from commit 2284fcabbd)
2020-10-18 11:29:55 +02:00
Jakob Olsson
3f19a43df2 map-1905: 0.0.13 2020-10-15 12:31:24 +02:00
Amin Ben Ramdhane
d2fedc407a icwmp: 5.1-2020-10-09 2020-10-15 07:28:50 +01:00
Amin Ben Ramdhane
783fd44680 uspd: Fix compilation issue 2020-10-14 17:15:36 +01:00
Amin Ben Ramdhane
614774cb8b bbf: 2.5-2020-10-14 2020-10-14 17:14:57 +01:00
Amin Ben Ramdhane
84521942ca XMPP, BulkData, TWAMP: add unique keys 2020-10-14 17:07:02 +01:00
Rahul
bbbbdf9650 qosmngr: add log
Syslog added to log non-availability of traffic policing on the wan
port on 63138, this is a chip level limitation.
2020-10-14 15:13:50 +05:30
Rahul
98071d157d qosmngr: add support for dhcp options as classification params
DHCP option value 60, 61 and 77 can now be used to identify lan
clients. Details of UCI as follows:

config classify
    option src_vendor_class_id 'abc' // DHCP option 60.
    option dst_vendor_class_id 'abc' // DHCP option 60.
    option src_client_id 'xyz'       // DHCP option 61
    option dst_client_id 'xyz'       // DHCP option 61
    option src_user_class_id 'dfg'   // DHCP option 77
    option dst_user_class_id 'dfg'   // DHCP option 77
2020-10-14 11:31:48 +05:30
Kenneth Johansson
d829f00e07 iop: ssh_upgrade: remove debug printout 2020-10-13 21:56:33 +02:00
Kenneth Johansson
640535a2ef iop: ssh_upgrade now defaults to use the last.pkgtb file. 2020-10-13 21:46:30 +02:00
Amin Ben Ramdhane
7837417219 bbf: 2.4-2020-10-13 2020-10-13 13:00:10 +01:00
Amin Ben Ramdhane
269cbe364e udpecho: Fix invalid dateTime parameter values 2020-10-13 12:57:33 +01:00
Rahul
54cc458a2d qosmngr: add support for upstream policing on dg400prime 2020-10-12 22:32:39 +05:30
Sukru Senli
fdc882b6e0 iop: select icwmp instead of icwmp-curl 2020-10-11 15:15:20 +02:00
vdutta
346eaf0414 map-1905: Fix parsing of channel preference tlv 2020-10-08 17:29:10 +05:30
nevadita.chatterjee
d946f11c32 map-topology:Added version 2020-10-07 17:48:53 +05:30
Sukru Senli
c0957a425a icwmp: remove unnecessary parts from init script 2020-10-07 13:58:05 +02:00
vdutta
8015a503ac ieee1905: Fix crash in ex400 2020-10-07 16:37:49 +05:30
vdutta
a7d09f5ede map-1905: Multiple fixes
- Change structure for countrycode in CAC capability
 - Fix segfault in timestamp tlv
2020-10-07 16:34:18 +05:30
Amin Ben Ramdhane
8a5b49d585 icwmp: 5.0-2020-09-29 2020-10-01 22:59:32 +01:00
Amin Ben Ramdhane
ac69ea616e bbf: 2.3-2020-09-29 2020-10-01 22:58:13 +01:00
Amin Ben Ramdhane
f358d6338d Update XMPP & BulkData & UDPEcho to the latest version of bbf 2020-10-01 22:57:00 +01:00
Jakob Olsson
c514903145 wifimngr: 8.2.9 2020-10-01 15:36:45 +02:00
Anjan Chanda
dd69c371ae wifimngr: 8.2.8 2020-09-30 07:36:40 +02:00
Anjan Chanda
4a1ab17bd4 easy-soc-libs: 5.3.14 2020-09-30 07:33:41 +02:00
Rahul
208b2cc8e5 qosmngr: add support for traffic policing
Support for traffic policing added to allow configuration of
ingress rate limiting.

Test (on panther):
- ingress rate limiting on per lan port basis for US traffic.
- ingress rate limiting on wan port for DS traffic.
- when ingress rate limiting is applied on traffic in one direction,
  then traffic in other direction remains un-affected, that is, if
  ingress rate limiting is applied in DS, then US traffic on the port
  is unaffected

Note: Autotest are ready and will be merge for now with the tag not_ready.
Once devel is ready or if we decide to merge this to release-5.3, the same
can be tagged ready and executed as part of nightly suite.
2020-09-29 19:36:03 +05:30
vdutta
2e934a7169 uspd: B#3272 improvements in resolving paths 2020-09-24 13:38:38 +05:30
Anjan Chanda
b06980688a map-topology: 1.5.5 - notify topology change event 2020-09-24 09:41:28 +02:00
Amin Ben Ramdhane
29b9605e02 icwmp: 5.0-2020-09-15 2020-09-23 19:26:53 +01:00
Amin Ben Ramdhane
0afa721bca bbf: 2.2-2020-09-21 2020-09-23 19:24:18 +01:00
Amin Ben Ramdhane
3c0de388d1 Ticket refs #3228: QEMU - ICWMP is segfaulting
Fix missing objects
2020-09-23 19:19:04 +01:00
vdutta
aa1741e87a ieee1905: Get auth mode from bss.security 2020-09-23 18:59:24 +05:30
Anjan Chanda
3040359e85 map-controller: 1.0.3-internal 2020-09-23 14:58:20 +02:00
Anjan Chanda
237286f42d map-agent: 2.0.3-internal 2020-09-23 14:57:50 +02:00
vdutta
7758b30397 ieee1905: Remove redundant info from ubus objects 2020-09-22 19:54:22 +05:30
Sukru Senli
7b0dce915c iop: genconfig: comment out mediatek open parts 2020-09-22 12:33:23 +02:00
Grzegorz Sluja
b6fdd0115a wifimngr: Add support of local source build
If You want to build wifimngr from Your local sources downloaded into
~/git, the following actions are needed:

1) set LOCAL_DEV=1 in wifimngr/Makefile

2) clean and compile wifimngr with command:
make V=s package/feeds/iopsys/wifimngr/{clean,compile}

Signed-off-by: Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
2020-09-22 11:34:31 +02:00
Kenneth Johansson
392e08e2fc genconfig: rename variable.
just to make it clear what config path this is.
2020-09-21 18:18:56 +02:00
Jakob Olsson
2ae2110799 rearrange start orders for topology and ieee1905 2020-09-21 16:16:15 +02:00
Jakob Olsson
773e7af7f6 wfadatad: use service_running hook to wait for ieee1905 object 2020-09-21 09:13:51 +02:00
Jakob Olsson
75e9a5360f ieee1905: config trigger to reload 2020-09-21 09:13:51 +02:00
Jakob Olsson
db5e42434e ieee1905: change start order from 99 to 13 2020-09-21 09:13:51 +02:00
Jakob Olsson
00fd7efa3b wfadatad: wait up to 2 seconds if ieee1905 is not up before start 2020-09-21 09:13:51 +02:00
Jakob Olsson
34f495f0a5 map-topology: iterate til ieee1905 object is up 2020-09-18 16:14:30 +02:00
Anjan Chanda
e3b7c9c238 ieee1905d: enable map plugin in default config 2020-09-18 15:16:56 +02:00
Anjan Chanda
e3f2e715c1 wfadatad: 2.3.0 2020-09-18 15:12:37 +02:00
Anjan Chanda
4c149ff680 map-topology: 1.5.1 2020-09-17 21:29:07 +02:00
Anjan Chanda
959b0546bc wifimngr: 8.2.3 2020-09-17 21:28:28 +02:00
Anjan Chanda
e39430ceaf easy-soc-libs: 5.3.3 2020-09-17 21:27:45 +02:00
Amin Ben Ramdhane
6ea9942320 xmpp, udpecho, twamp: compile with fPIC 2020-09-17 18:12:03 +01:00
Amin Ben Ramdhane
a5e812f785 bbf: 2.1-2020-09-17 2020-09-17 10:20:34 +01:00
vdutta
a604987a3e uspd: Optimize to reduce cpu usages 2020-09-17 11:12:52 +05:30
Anjan Chanda
7b2d8edacf map-topology: 1.5.0 2020-09-17 07:40:40 +02:00
Jakob Olsson
47b2b4fc51 map-topology: include mdns changes 2020-09-16 18:24:01 +02:00
Jakob Olsson
6b3e6bcd11 map-topology: add dependency on libavahi-nodbus-support 2020-09-16 16:30:09 +02:00
Anjan Chanda
52726289cc wifimngr: 8.1.0 2020-09-16 16:07:37 +02:00
Anjan Chanda
6c2aac5db5 easy-soc-libs: 5.0.3 2020-09-16 16:07:15 +02:00
Sukru Senli
bfc2b17a72 bulkdata: compile with fPIC 2020-09-16 10:03:12 +02:00
Sukru Senli
e98422f81e icwmp: set userid empty in cwmp config; it will be filled by uci-default 2020-09-16 08:22:26 +02:00
Sukru Senli
841a76a7e6 move tr-069 packages out of trx69 folder 2020-09-15 16:20:11 +02:00
Grzegorz Sluja
1760ea526c wifimngr: Set default debug level to ERR
When wifimngr debugging is enabled debug level is set to ERR only
by default.

Signed-off-by: Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
2020-09-15 10:50:01 +02:00
Yalu Zhang
b5a493e540 Update package bbf
TR-104: add some missing parameters
2020-09-15 09:56:45 +02:00
Omar Kallel
7f00d0419f Add the file /lib/upgrade/keep.d/icwmp when installing icwmp 2020-09-14 17:32:42 +01:00
Markus Gothe
64da6686af Fix gryphon LED module crash.
Update gryphon LED module to work with Linux 4.1
and not to crash when 'gpiod_get_index()' fails.

Change-Id: I27fcbe3ad9dbc755eabdd3f2120544b171b07885
2020-09-14 16:18:01 +02:00
Amin Ben Ramdhane
8cc1877efd bbf: 2.0-2020-09-12 2020-09-12 15:44:13 +01:00
Roman Azarenko
6673a85a21 iop: generate_tarballs: bcmkernel: add symlink if missing, partially fix shellcheck warnings 2020-09-11 19:01:53 +02:00
nevadita.chatterjee
3e07ea7f8d map-topology: Config file change 2020-09-11 19:28:47 +05:30
sverma
8b4ef46681 wfadatad: Changes UBUS objects name 2020-09-11 18:54:27 +05:30
Anjan Chanda
f35e41cc0c wifimngr: 8.0.4 2020-09-11 13:14:57 +02:00
Anjan Chanda
0aff258e29 easy-soc-libs: 4.9.1 2020-09-11 13:14:11 +02:00
Amin Ben Ramdhane
d919f4440e icwmp: 5.0-2020-09-10 2020-09-11 10:13:42 +01:00
Kenneth Johansson
9d20839041 make ./iop ssh_upgrade work on sdk504
./iop ssh_upgrade will now install latest image on broadcom boards.
2020-09-10 19:54:59 +02:00
Kenneth Johansson
36ec134e33 genconfig: make sure there is an empty line.
when concatenating configurations there has to be an empty line at
the end otherwise the last line could be combined with the next
configuration option.
2020-09-10 17:32:31 +02:00
Amin Ben Ramdhane
ea57418313 Ticket #2910: Separate BBF packages to their own packages with their own config files 2020-09-10 10:59:47 +01:00
Omar Kallel
c61aa804ce icwmp: 09-09-2020 2020-09-09 15:37:22 +01:00
Omar Kallel
19bbb87682 icwmp: Active notification 08/09/2020 2020-09-08 17:42:40 +01:00
Amin Ben Ramdhane
3ee01927b1 bbf: 2.0-2020-09-08 2020-09-08 12:29:00 +01:00
Roman Azarenko
d9f6b37bd7 questd: 5.2.1 2020-09-08 11:42:30 +02:00
Ronny Nilsson
c3dd0a996b base-files: move db to etc
Due to read only rootfs the /lib/db will move into /etc.
2020-09-07 12:27:43 +02:00
Rahul
90c5c5c52c qosmngr: add support for mixed mode
A couple of bugs detected during autotest are resolved, details as
follows:
1. Assumes precedence is qid, which is incorrect, does not allow config
of WRR queues which require precedence to be 0 for all queues.

As a consequence, the logic to configure and read queue stats had to be
updated, no change in behaviour though, that is, no regression.

As a neat outcome of this change, mixed mode scheduling can now be configured
on upstream queues, for which autotests are also being added now.

To verify that no regression is caused by this change, QoS L2 and L3 suite
were executed on both platform and were found to pass, hence, this change
is ready to submit.
2020-09-06 09:43:42 +05:30
vdutta
f7cb4c8aac ieee1905: Fix DG400prime crash
- Fix segfault in DG400prime on startup
 - Optimize ACS renew handling
2020-09-04 16:12:00 +05:30
Amin Ben Ramdhane
07cbf0938e bbf:Added support for IEEE1905 datamodel 2020-09-02 17:58:05 +01:00
Rahul
a31bb99c30 mcastmngr: resolve bug #3015
Configuration of robustness value and fast leave in snooping take
effect.
2020-09-02 18:50:09 +05:30
Suru Dissanaike
80e3d89d9a IOP: added owsd 2020-09-02 13:43:04 +02:00
Amin Ben Ramdhane
d26eaf0ef0 bbf: 1.8-2020-09-01 2020-09-01 20:01:12 +01:00
Amin Ben Ramdhane
e437fc821e bbf: fix issue in get schema method 2020-08-31 15:05:42 +01:00
Markus Gothe
c86d16daf9 Redmine#27829 - easy-soc-libs: Use correct chipset defintions
The struct for passing ioctl() data does differ in size
(and offsets) on different platforms, hence we need to pass
the correct defines to the compiler.

Change-Id: If81a4bd79b21c5e93443e5ef48fb3f1b07058f60
2020-08-31 15:36:45 +02:00
Amin Ben Ramdhane
a91b41d70a bbf: 1.7-2020-08-31 2020-08-31 11:26:47 +01:00
Rahul
847b27c879 qosmngr: flush flows
After every QoS config, it is required that flows are flushed. Instead
of doing this as an extrenal step, its good to integrate this in the
qosmngr itself so that each config is atomically competent enough to
take effect with any further steps needed manually.
2020-08-31 15:42:30 +05:30
vdutta
89fe5115f0 obuspa: Fix registration of routing objects 2020-08-31 15:31:03 +05:30
vdutta
aba88e359d uspd: Fix ubus freeze issue 2020-08-31 15:28:25 +05:30
Kenneth Johansson
84b594e9bf Endprmngr: do not build if TARGET_NO_VOICE is set. 2020-08-28 18:20:33 +02:00
Jakob Olsson
e3dd402d4e owsd: let written be longer than len 2020-08-28 13:37:39 +02:00
Rahul
a06ffa00ce qosmngr: clean shaper config
Bug identified: if a shaper config is removed from the UCI file,
it still remains active on the port since the logic to clean shaper
config is missing in the qosmngr.

Resolution: clean shapers on each reload so that fresh config takes
place as per the UCI file.
2020-08-28 14:19:06 +05:30
sverma
c3c5d4ff8b wfadatad: Fixed remote device scanresult data. 2020-08-27 18:52:05 +05:30
vdutta
bb996c64df uspd: Remove dependency on cwmp config 2020-08-27 18:46:13 +05:30
vdutta
adbb8b70c1 ieee1905: Add functional tests 2020-08-27 13:45:47 +05:30
vdutta
34b3478d77 map-1905: Add functional api tests 2020-08-27 13:43:35 +05:30
vdutta
181dd5039e uspd: Align with bbf trailing dot fix 2020-08-27 13:41:02 +05:30
Anjan Chanda
10e83915c7 easy-soc-libs: 4.8.6 2020-08-26 21:00:07 +02:00
Anjan Chanda
59e0b78e84 iop: select ieee1905, map-plugin, map-topology and wfadatad 2020-08-26 20:48:32 +02:00
Rahul
c1e7c8f103 qosmngr: improve l2 classification logic
I noticed that there is a potential improvement in the way the
ebtables rules are generated from the UCI file. The thing is,
a restart of the firewall does not flush the ebtables, so, the
ebtables have to flushed by adding the ebtables -t broute -F
command in the firewall.qos (or any other script) to remove the
rules generated by firewall.qos. This also flushes the rule that
directed the lookup of the qos chain. Now, to the rule to lookup
qos chain needs to be manually added which I think is not the best
thing to do. The qosmngr should be independent in this regard, hence,
this improvement.
2020-08-26 17:03:59 +05:30
Anjan Chanda
de9a7c447d wfadatad: 2.2.1 2020-08-26 13:10:41 +02:00
nevadita.chatterjee
8cbcc039d7 map-topology:version 1.4.2 2020-08-26 12:53:07 +02:00
Amin Ben Ramdhane
044dd31be4 bbf: 1.7-2020-08-26 2020-08-26 11:30:14 +01:00
Omar Kallel
48b286031a bbf: Fix InterfaceStack issues 2020-08-26 10:36:26 +01:00
sverma
ee3dceb433 wfadatad: wfa_delm exec name rename to wfadatad 2020-08-26 13:56:26 +05:30
Anjan Chanda
aa1353f08e map-topology: 1.4.1 2020-08-24 16:29:23 +02:00
vdutta
682497f68c map-1905: Added 0.0.9 2020-08-24 18:04:28 +05:30
vdutta
bfb98073c1 ieee1905: Added 2.0.24
- Renaming lib1905 to libieee1905
 - test: Add functional test and docs
 - Remove dependency on mq_ APIs
 - ubus: Added higher layer response in broadcast list
 - Fix crash in ex400
2020-08-24 17:59:21 +05:30
Rahul
a8960be7b5 qosmngr: cumulative counters on dg400prime and eg400
The runner hardware on both the chips are different due to which
the operation of counter read on dg400prime and eg400 units is
actually a read and reset. As a result cumulative counter values
are not available.

To uniformalise the behaviour of qosmngr across platforms, handling
is added to represent cumulative value of counters.

Test:
Scripts that were earlier failing on dg400prime and passing on panther
in the QoS L3 suite were executed and with this fix scripts pass on both
the platforms. This is a good enough indicator beside the manual tests,
that the issue now stands resolved.

Note: pending scripts can now be closed with this fix.
2020-08-24 16:35:05 +05:30
Ronny Nilsson
6255b9b2df iop: remove BusyBox web server since we never use it. 2020-08-21 16:39:05 +02:00
Ronny Nilsson
4e11dda2c0 iop: add packages necessary for boot from block device. 2020-08-21 16:39:05 +02:00
Anjan Chanda
c898217717 map-topology: 1.4.0 2020-08-21 15:14:20 +02:00
Anjan Chanda
4d2358aa2a wifimngr: 7.8.0 2020-08-21 15:02:29 +02:00
Anjan Chanda
d3fb4ec562 easy-soc-libs: 4.8.0 2020-08-21 15:01:41 +02:00
Anjan Chanda
b06ca2b5e5 wfadatad: 2.2.0 - fix standalone mode build 2020-08-20 20:02:04 +02:00
nevadita.chatterjee
30928e5eb9 feeds: Makefile changes in map-topology 2020-08-20 12:34:23 +05:30
vdutta
c75d639a69 ieee1905: Added 2.0.23 2020-08-17 13:02:40 +05:30
vdutta
0bb19c25f7 map-1905: Added 0.0.8 2020-08-17 13:00:45 +05:30
Anjan Chanda
64a826896d Revert "map-topology: 1.2.0"
This reverts commit eee9c7a70c.
2020-08-14 16:58:12 +02:00
Anjan Chanda
eee9c7a70c map-topology: 1.2.0 2020-08-14 16:43:51 +02:00
vdutta
0c0e9f15f2 uspd: Added 2.0.0 2020-08-14 11:49:29 +05:30
vdutta
48ab39fa31 obuspa: Align with usp-2.0 2020-08-14 11:46:16 +05:30
Andreas Gnau
6914c0548f endptmngr: Disable hash check open tarball 2020-08-13 18:36:19 +02:00
Roman Azarenko
ffe74261d9 iop: config: add $TMOUT support in busybox ash
This feature will prove useful to close idle sessions in automation workflows.

On mips 24kc, this feature adds 16 bytes to busybox executable,
therefore its effect on image size is negligible.
2020-08-11 15:38:12 +02:00
Anjan Chanda
1b5630c67e easy-soc-libs: 4.7.12 2020-08-10 08:37:43 +02:00
Anjan Chanda
2bf5014aeb easy-soc-libs: 4.7.4 2020-08-02 17:43:47 +02:00
Anjan Chanda
279a583d23 map-topology: 1.1.0 2020-08-02 17:43:23 +02:00
Bartlomiej Grzeskowiak
0a0cad9715 wifimngr: ease wifimngr debugging
Two params are needed to enable wifimngr debugging.
1. env IOP_LLA_LIBS_DEBUG=3    #for debugging only
2. stderr 1
Second param is added and commented out by default.

Signed-off-by: Bartlomiej Grzeskowiak <bartlomiej.grzeskowiak@iopsys.eu>
2020-07-31 11:28:32 +02:00
Anjan Chanda
74618b9377 map-topology: 1.0.0 2020-07-29 14:05:55 +02:00
Anjan Chanda
5ff2854490 ieee1905: 2.0.22 2020-07-29 14:04:20 +02:00
Anjan Chanda
7ae3a29d08 wifimngr: 6.2.0 2020-07-28 09:48:16 +02:00
Anjan Chanda
68e4189d05 easy-soc-libs: 4.6.0 2020-07-28 09:47:48 +02:00
Rahul
c0f7c0ecf1 mcastmngr: handle mcast config for ifup in snooping
The handling of ifup event in case of snooping config was missing.

Note: ifup event is generated only for l3 interface, so, say ethx is
member of br-y which has proto none. In this case if ethx link goes
down and comes up again, IPTV will not work without a mcast reload.
From the look of it this will be the case in old version as well and
at the moment I don't know how this can be handled but considering this
is a remote scenario in my opinion I don't think the risk is too high.
I would continue to look for a solution ofcourse.
2020-07-17 12:25:17 +05:30
vdutta
825f1ff76d ieee1905: Change plugin path 2020-07-17 10:36:38 +05:30
vdutta
7fa1bf30c1 map-1905: Change plugin path
- Remove unused compile time flags
2020-07-17 10:26:07 +05:30
Anjan Chanda
ee3e6d5975 wifimngr: 3.4.1 2020-07-16 16:29:45 +02:00
Anjan Chanda
96d0a3fba8 easy-soc-libs: 4.4.1 2020-07-16 16:27:07 +02:00
vdutta
7b158a918a ieee1905: Updated readme 2020-07-15 15:38:08 +05:30
vdutta
6bad87c47f map-1905: Copy plugin in correct path 2020-07-15 15:36:28 +05:30
Anjan Chanda
c73ae26618 wifimngr: 3.1.4 2020-07-13 15:58:11 +02:00
Anjan Chanda
d73a60a4f3 easy-soc-libs: 4.1.8 2020-07-13 15:55:14 +02:00
vdutta
0c52946965 obuspa: Updated to 2.0.19 2020-07-13 18:42:57 +05:30
vdutta
e89485f19c uspd: Added 1.0.26 2020-07-13 18:37:06 +05:30
Amin Ben Ramdhane
bfb73ba4b5 bbf: 1.6-2020-07-10 2020-07-11 12:44:18 +02:00
Anjan Chanda
b3e19722b7 easy-soc-libs: 4.0.2 2020-07-10 10:43:14 +02:00
vdutta
908ef455c2 map-1905: Added map-1905 0.0.5 version 2020-07-10 10:13:20 +05:30
vdutta
950687c88b ieee1905: ieee1905-2.0.19 2020-07-10 09:45:49 +05:30
Amin Ben Ramdhane
5675ff87de bbf: 1.6-2020-07-08 2020-07-08 18:45:53 +01:00
Anjan Chanda
ae0213ce8c wifimngr 3.0.1 2020-07-08 12:52:22 +02:00
Anjan Chanda
a45957e872 easy-soc-libs 4.0.1 2020-07-08 12:52:04 +02:00
Amin Ben Ramdhane
2c67b66e15 bbf: 1.5-2020-07-07 2020-07-08 09:05:25 +01:00
Omar Kallel
bf5b932a93 icwmp: 2020-07-07 2020-07-07 10:52:26 +01:00
Rahul
3f6c55a86d mcastmngr: fix multicast forwarding on untagged interface.
Modifying the lookup method for forwarding multicast packets enables
forwarding on both tagged and untagged upstream interfaces.

I have tested:
- forwarding of traffic in untagged interface.
- forwarding of traffic on tagged interface.
- response to queries in above scenarios by upstream server.
- forwarding of unsolicited joins and leaves to upstream server.

I cannot see a fault at the moment
2020-07-06 16:45:05 +05:30
Anjan Chanda
133c45e91d map-controller-1.0.1: initial 2020-07-03 09:24:01 +02:00
Amin Ben Ramdhane
fce1fa2eae bbf: 1.5-2020-06-30 2020-06-30 19:13:05 +01:00
Andreas Gnau
986fc5ea78 Make dev-check check for SSH instead of non-HTTP
In order to determine, whether we are developers or not, check the
git-remotes for SSH-URLs instead of checking for the non-existence of
any HTTP-URLs. This fixes dev-mode not being detected properly when
curious devs add other HTTP-remotes such as upstream OpenWRT.

This also makes the check consistent with the check done in the main
"iop" script in the root.
2020-06-30 13:12:51 +02:00
pitchaiah prakash
95e887087f peripheral_manager: 1.0.5 2020-06-30 10:54:13 +02:00
vdutta
0082d26141 obsupa: Suppress schema errors in get if its present in uspd 2020-06-30 11:19:27 +05:30
Saurabh Verma
2306b1e76f map-topology: Makefile added 2020-06-26 14:19:59 +02:00
Suru Dissanaike
7b432d88f8 IOP: added support for iopsys-armvirt and x86 target 2020-06-26 13:47:28 +02:00
Sukru Senli
c56aed73d4 icwmp-4.0-2020-06-25 2020-06-26 10:19:07 +02:00
vdutta
af719df40c obuspa: Multiple fixes
- 447a01c vendor_uspd: Multiple fixes
 - d269d52 vendor_upsd: fix schema not getting created
 - 82a3765 openwrt: Set destination for MTP config
 - 63eac80 openwrt: Change destination default config value
2020-06-26 13:31:35 +05:30
vdutta
2d25beb3ab uspd: Multiple fixes
- bb11466 Initialise blob_buf before use
 - e23b2b4 Show "value" parameter on get_names_safe
2020-06-26 13:29:17 +05:30
vdutta
ba561afb24 ieee1905: Multiple fixes
- Supports reassembly of fragmented cmdus
 - Dependency on json config file removed
 - Support reliable multicast for map cmdus
 - Do cleanup on exit
 - Memory related fixes
2020-06-25 15:59:10 +05:30
Sukru Senli
4f8906c1f7 obuspa: log to stdout by default 2020-06-25 09:02:07 +02:00
Jakob Olsson
42c7aafb93 iop: config: select juci-sysupgrade and rpcd-mod-rpcsys by default 2020-06-24 09:55:14 +02:00
Jakob Olsson
6c1b78b69d owsd: make async cleanout timeout more leniant 2020-06-23 16:48:05 +02:00
Amin Ben Ramdhane
1eade44fe6 bbf: 1.5-2020-06-22 2020-06-22 16:50:41 +01:00
Anjan Chanda
834522d107 wifimngr: 2.9.2 - show supp_bands in radio info 2020-06-22 15:58:30 +02:00
vdutta
cc65e6ce52 obuspa: Fix duplicate alias entries from get 2020-06-19 16:53:52 +05:30
vdutta
b2061f27e0 obsupa: Dynamic registration of dm_schema 2020-06-19 14:34:26 +05:30
vdutta
cc26f7bbe9 uspd: Added object type and permission in object_names 2020-06-19 14:31:37 +05:30
Amin Ben Ramdhane
6841172f75 bbf: 1.5-2020-06-19 2020-06-19 09:58:33 +01:00
Sukru Senli
8fd7232ea2 peripheral_manager: 1.0.4
pitchaiah prakash <pitchaiah.murugan@iopsys.eu>
2020-06-19 10:45:31 +02:00
Sukru Senli
4d7ac5941e bbf: correct wifi associated device noise value mapping 2020-06-18 16:09:25 +02:00
Sukru Senli
2bd9e1ac13 bbf: 1.5-2020-06-17 2020-06-18 15:47:38 +02:00
Sukru Senli
766379c8e4 Revert "config: enable hostapd_cli and mpstat"
This reverts commit dd8edbec71.
2020-06-18 14:56:50 +02:00
Janusz Dziedzic
dd8edbec71 config: enable hostapd_cli and mpstat
For opensource iopsys-ramips we will use
hostapd_cli from libwifi.

Enable mpstat to get correct picture of
CPU/cores usage for platforms with more
than one CPU.

After that we have output like:

root@iopsys:~# mpstat -P ALL 2
Linux 4.14.171 (iopsys)         06/18/20        _mips_  (4 CPU)

CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
all    0.50    0.00    0.75    0.00    0.00    0.50    0.00    0.00    0.00   98.26
  0    1.00    0.00    1.00    0.00    0.00    0.50    0.00    0.00    0.00   97.51
  1    0.50    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   98.51
  2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
  3    0.50    0.00    1.00    0.00    0.00    1.49    0.00    0.00    0.00   97.01

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2020-06-18 14:01:02 +02:00
Anjan Chanda
a0bfac1658 wfadatad: fix dependency on map-agent 2020-06-17 17:12:13 +02:00
Anjan Chanda
ec68c58bb7 easy-soc-events: copy kmod to proper path for brcm-arm 2020-06-17 17:06:49 +02:00
Omar Kallel
701a77b6b3 icwmp: 2020-06-17 2020-06-17 11:56:08 +01:00
Janusz Dziedzic
18e94a6b47 iopsys-ramips: set subtarget in genconfig.sh
Today we base on open source code/tree.
In this code we need to setup subtarget
correctly.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2020-06-16 21:52:41 +02:00
vdutta
514a85703c obuspa: Override get values from uspd 2020-06-16 16:25:09 +05:30
Markus Gothe
e72ef7290b peripheral-manager: 1.0.3 2020-06-15 20:42:57 +02:00
Jakob Olsson
428a1791ed owsd: fix segfault on remove_client
use safe func when iterating and removing from list
2020-06-15 16:12:13 +02:00
vdutta
43bd7d872f uspd: Multiple fixes
- c2d0d99 uspd: Align ut cases with next-level parameter
 - 46e9475 Add get_safe variant of object_names
 - 366e022 Add ParameterKey to set callback
 - 15b8a80 Cleanup and reuse code
 - 86d72e8 Add get_attributes call
2020-06-15 15:31:19 +05:30
Sukru Senli
1fd62bbfa2 port-management: remove unused functions 2020-06-14 18:27:48 +02:00
Rahul
08c542cf6f mcastmngr: update stats param names, config l2l mcast
- The parameters used for stats are updated.
- Configuration support for lan to lan multicast via UCI added.
2020-06-14 20:15:07 +05:30
Rahul
098f3340b1 mcastmngr: add support for stats
ubus call added to fetch igmp stats, format is,
ubus call mcast stats

Sample output:

root@iopsys:~# ubus call mcast stats
{
	"snooping": [
		{
			"interface": "br-lan",
			"groups": [
				{
					"group_address": "225.10.10.20",
					"associated_devices": [
						{
							"host_address": "192.168.1.152",
							"source_interface": "eth1",
							"timeout": "258"
						}
					]
				},
				{
					"group_address": "225.10.10.2",
					"associated_devices": [
						{
							"host_address": "192.168.1.146",
							"source_interface": "eth0",
							"timeout": "259"
						}
					]
				}
			]
		}
	]
}
2020-06-14 13:26:12 +05:30
Sukru Senli
d43113a471 bbf: 1.5-2020-06-13 2020-06-13 14:53:41 +02:00
Sukru Senli
597fadf578 questd: 5.1.11 2020-06-13 13:47:51 +02:00
Yalu Zhang
d45959b3da Update package easy-soc-libs
libdsl: update header files for Broadcom platform due to upgrading
2020-06-12 14:22:48 +02:00
Sukru Senli
8952a6eca8 bbf: 1.5-2020-06-11 2020-06-11 18:21:04 +02:00
Markus Gothe
c5df7e08a1 peripheral-manager: 1.0.2 2020-06-11 18:04:54 +02:00
vdutta
a2c6430caa obuspa: Align version with obuspa 2020-06-11 20:52:48 +05:30
vdutta
e364957074 uspd: 'next-level' parameter in 'object_names'
a8a90df object_names: add all entries returned from libbbf
0937f3c object_names: add 'next-level' parameter
2020-06-11 20:20:24 +05:30
vdutta
a14e72e26f obuspa: Support dynamic datamodel parameters from uspd
- Skip registration of datamodel objects supported by uspd
2020-06-11 20:13:30 +05:30
Yalu Zhang
fc38f16aa5 Update package endptmngr: Change country code from 3 letters to 2 2020-06-11 16:35:31 +02:00
Markus Gothe
ebf1f8fd39 peripheral_manager: add test-mode 2020-06-11 12:58:42 +02:00
Anjan Chanda
005d53ff14 dslmngr 1.0.1: handle easysoc netlink events 2020-06-10 15:18:47 +02:00
Anjan Chanda
a585061b6c wifimngr: 2.9.1: ignore non-wifi 'easysoc/notify' events 2020-06-10 12:08:33 +02:00
Anjan Chanda
c945f19c3c easy-soc-libs: 3.3.1 - fix event handling when ifname=NULL 2020-06-10 12:06:35 +02:00
Sukru Senli
9566dbfb8e questd: 5.1.10 2020-06-10 11:47:06 +02:00
Sukru Senli
120785335c wifimngr: hotplug script handling wifi and wps button press 2020-06-09 19:58:07 +02:00
Sukru Senli
f87a160b98 inbd: 1.0.1 2020-06-09 19:23:59 +02:00
vdutta
bf6342472a uspd: Updated Readme with log_level 2020-06-09 16:43:13 +05:30
Rahul
36e9c3a3d7 mcastmngr: updates
- Default filter value updated as per requirements.
- Logic added to modify filter ip address as accepted in /var/mcpd.conf
  in broadcom.sh

Noticed one hard coding in qos, fixed that too.
2020-06-09 13:31:33 +05:30
Sukru Senli
3c79856802 bbf: bump version 2020-06-08 18:01:27 +02:00
Sukru Senli
e29ab21280 ndt: add pkg_hash 2020-06-08 16:20:47 +02:00
Rahul
c2b993b494 qosmngr: improvements
- ubus call for reloading each individual service as well as all of
  qos added.
- init script modified to call ubus call and also to have a boot and
  restart section.
- to have separate uci parameters for detination mask and source mask
  make no sense, both destination/source ip and mask in tr181 should
  map to destination/source ip uci parameter, updated.
- firewall rules added by qos are moved to a separate chain, flushing
  is hence restricted to this chain only.
- the hotplug is not really required, hence removed.
2020-06-08 18:44:51 +05:30
vdutta
fbc5226978 uspd: Align operate cmd output 2020-06-08 18:32:10 +05:30
Amin Ben Ramdhane
3d5a5d4697 bbf: add Device.Hosts.Host.{i}.WANStats. object 2020-06-08 12:46:47 +01:00
Sukru Senli
0be99d1bc0 iop: select map package 2020-06-08 13:24:37 +02:00
Sukru Senli
053bfa1442 questd: 5.1.9 2020-06-07 13:58:09 +02:00
vdutta
0346ce9285 uspd: Fix table name in get output 2020-06-06 11:17:37 +05:30
Amin Ben Ramdhane
ae3b959cbf bbf: Ethernet.Interface.{i}.Stats: update stats values 2020-06-05 18:46:00 +01:00
Anjan Chanda
2e10c5845e ethmngr: 1.0.4 2020-06-05 19:29:01 +02:00
Amin Ben Ramdhane
83bb965d81 bbf:1.4-2020-06-05 2020-06-05 15:48:47 +01:00
vdutta
a80cff151d uspd: Added maxdepth and u64 conversion fix
- f101ef0 uspd: Fix conversion of u64 values
 - cf418dc uspd: Align resolve path syntax as per obuspa
 - 1355839 uspd: Added maxdepth in get method of usp object
2020-06-05 19:24:11 +05:30
vdutta
76a5df9115 uspd: Multiple fixes
* Added resolve method to verify object path
* Added check to identify the valid paths before any operation
* Align instance names as per obuspa
* Fix unit test cases as per the new instance syntax
* Fix usp freeze issue on invalid syntax in path
 - ubus call usp get '{"path":"Device.\*"}'
2020-06-05 13:51:34 +05:30
Omar Kallel
e63d9f0445 icwmp: 2020-06-04 2020-06-04 17:26:15 +01:00
Omar Kallel
0432b27f39 bbf: 2020-06-04 2020-06-04 17:19:45 +01:00
Anjan Chanda
dcae4a36ea wifimngr 2.9.0 2020-06-04 16:58:45 +02:00
Anjan Chanda
3dc00d7c04 easy-soc-libs - 3.3.0: libwifi - get wmm params and wifi meta info 2020-06-04 16:57:26 +02:00
Amin Ben Ramdhane
12a7fb224d bbf: 1.4-2020-06-03 2020-06-03 10:31:47 +01:00
Anjan Chanda
dfd2d75021 wifimngr 2.8.1 2020-06-02 13:21:15 +02:00
Anjan Chanda
0bc504232a easy-soc-libs - 3.2.1: libwifi - include noise in station info 2020-06-02 13:16:21 +02:00
Anjan Chanda
6d5bb86e58 ethmngr: 1.0.3 - change ubus methods 2020-06-02 10:58:33 +02:00
vdutta
ff47df64b8 ieee1905: Fix tlv count logic in a stream 2020-06-02 13:10:29 +05:30
Anjan Chanda
b1f86fdc3b ethmngr: 1.0.2 - add 'ethernet' ubus object 2020-06-01 15:03:34 +02:00
Anjan Chanda
a0a457cd35 easy-soc-libs: 3.1.10 - libethernet: update get rmon stats API 2020-06-01 15:00:16 +02:00
Jakob Olsson
0c5f03d50c owsd: make client connection timers configurable 2020-06-01 08:55:39 +02:00
Amin Ben Ramdhane
4c124ccd4e bbf: 1.4-2020-05-31 2020-06-01 00:06:59 +01:00
Amin Ben Ramdhane
321eb8c8e4 tr098:1.0-2020-05-31 2020-06-01 00:02:15 +01:00
Rahul
776dc46d49 qosmngr: fix start up issues
Fixes the issue related to queue setup at boot.
Also resolved classification when source port is used as the
criteria.
2020-05-31 20:36:05 +05:30
Sukru Senli
dcfbd0349a iop: config: deselect crashlog and select iopupgrade as module 2020-05-31 16:18:08 +02:00
Anjan Chanda
ed5d4e572d ethmngr: 1.0.1 - initial version 2020-05-31 12:36:11 +02:00
Anjan Chanda
22429269e2 easy-soc-libs: 3.1.9 libethernet: bcm rom stats and link status 2020-05-31 11:39:56 +02:00
Sukru Senli
eee0fcf3db easy-soc-libs: compile test platform for target iopsys-armvirt 2020-05-31 11:06:36 +02:00
Sukru Senli
9f6f39a094 iop: genconfig: allow explicitly specifying the linux target
same board/profile names might be available under different targets
2020-05-31 10:58:25 +02:00
Sukru Senli
0e0bbb2339 iop: add support for iopsys-armvirt target 2020-05-31 10:58:20 +02:00
Omar Kallel
36ded309bc bbf: 2020-05-30 2020-05-30 23:36:42 +01:00
Sukru Senli
182b08fcbf qosmngr: broadcom needs qsize set 2020-05-30 13:43:51 +02:00
Sukru Senli
17fef094df iop: remove reference to wifilife open 2020-05-30 12:48:04 +02:00
Sukru Senli
bcdbb5dae8 iop: config: select swmodd as module 2020-05-30 10:55:21 +02:00
Sukru Senli
f1be5f4ee4 questd: 5.1.8 2020-05-30 10:49:51 +02:00
Rahul
33eeedcdd7 mcastmngr: fix upstream interface generation 2020-05-29 18:15:59 +05:30
Rahul
5e41b8c3bc qosmngr: enhance support plus fix some bugs
- Enhance support to cover ipv6 rules
- Add support to differentiate between l2 and l3 rules
- Resolve bug related to source interface for output chain
2020-05-29 18:02:09 +05:30
Rohit Topno
4652ec7399 qosmngr: Added support for ip6tables and other change for ifname uci option 2020-05-29 15:24:49 +05:30
Rahul
7cccc5d048 mcastmngr: add check for valid interface
Add check to validate if the configured interface is valid or not
before writing it into the mcpd.conf.
2020-05-29 12:56:01 +05:30
Amin Ben Ramdhane
4843a8e9ff bbf: 1.4-2020-05-28 2020-05-28 20:32:50 +01:00
Amin Ben Ramdhane
a67aedda72 icwmp: 4.0-2020-05-28 2020-05-28 20:31:31 +01:00
Sukru Senli
d5a7db3a91 easy-soc-libs: use test platform for iopsys_x86 target 2020-05-28 17:41:17 +02:00
Jakob Olsson
45190fb2fd iop: add iopsys-x86 target support 2020-05-28 17:25:12 +02:00
Rahul
c8a8cda534 mcastmngr: update proxy config
- generate proxy config by default
- resolve bug in processing multiple upstream or downstream interfaces
- add hotplug script for mcast
- add default values for query interval, response interval and last
  query response interval
2020-05-28 19:48:56 +05:30
pitchaiah prakash
64e0a86b77 Peripheral Manager: Changed the project from autotools to CMake. 2020-05-28 12:39:25 +02:00
Rahul
123e2df9fa qosmngr: update qos stats as per feedback
- All params apart from ifname converted to intergers.
- Output of stats for a particular interface now available.
- The ubus call accepts qid as integer.
2020-05-28 08:44:16 +05:30
Sukru Senli
61d9885cd5 iop: select lscpu 2020-05-27 13:04:11 +02:00
Amin Ben Ramdhane
733cb365ee bbf: 1.4-2020-05-27 2020-05-27 09:07:02 +01:00
vdutta
aeba764008 map-1905: Added unit tests 2020-05-27 11:08:34 +05:30
Rahul
d0350ee279 mcastmngr: add support for snooping mode
Support for snooping mode configuration added.
2020-05-26 18:37:24 +05:30
vdutta
00b6800c2f map-1905: Improvements in map-plugin 2020-05-26 17:18:23 +05:30
vdutta
ea0079eec8 ieee1905: map plugin improvements 2020-05-26 17:11:24 +05:30
Amin Ben Ramdhane
b72d3a45b3 swmodd: clean up 2020-05-26 09:51:48 +01:00
vdutta
d71c6382d5 obuspa: Fix client freeze on SIGINT
- B#2637 Fix obuspa -c get command freeze issue
 - Obuspa stop scripts improvement to speed up stop and reload
2020-05-25 18:31:18 +05:30
Rahul
ef4570dd83 qosmngr: fix port related config issue
Bug found in specifying input port as classification criteria,
fixed with this change.
2020-05-23 19:33:11 +05:30
Rohit Topno
56273668d6 qosmngr: Simplified code for writing iptables rules 2020-05-22 16:10:39 +05:30
Rahul
413c86b854 qosmngr: fix uci param name
The uci parameter name for destination mac address is incorrect.
It should be dst_mac and dest_mac, the same is rectified with this
change.
2020-05-22 13:34:56 +05:30
Rohit Topno
53d9ff537d qosmngr: Made iptables rule addition through single function and other changes 2020-05-21 14:00:06 +05:30
Rohit Topno
024d1bf061 qosmngr: Support for mapping internal packets to queue based on packet length 2020-05-20 21:15:17 +05:30
Sukru Senli
cb5d38eb86 iop: config: remove reference to samba3 2020-05-20 15:41:29 +02:00
Rahul
9108848387 qosmngr: update ubus call for queue stats
Update the rpcd to enable fetching stats for particular queue of an
interface.
Also, move all broadcom specific functions to broadcom.sh so that the
rpcd is soc agnostic.
2020-05-20 17:12:50 +05:30
Rohit Topno
81fb5ff455 qosmngr: Support for mapping IP packets to queue based on packet length. 2020-05-20 15:12:16 +05:30
Sukru Senli
5d16d75162 obuspa: add support for configuring log destination 2020-05-20 08:40:53 +02:00
Anjan Chanda
da5b719e6d wifimngr: 2.7.2 2020-05-20 08:37:38 +02:00
Anjan Chanda
3baa8f3157 easy-soc-libs: 3.1.8 2020-05-19 16:52:39 +02:00
Yalu Zhang
27610a0305 Update package endptmngr 2020-05-19 16:30:39 +02:00
vdutta
3ef6f4b04c uspd: Multiple fixes
- 69547f8 Remove DM_USE_LIBUBUS compile defines
 - 06fbaef Add openwrt makefile
 - 6ce0cad Fix invalid use of strncpy/cat functions
 - da2d3d8 uspd: Added compile time flags
2020-05-19 19:24:35 +05:30
vdutta
0bea0f9635 obsuap: Fix segfault in case of parameter returns fault 2020-05-19 19:13:18 +05:30
Anjan Chanda
8ee10eb149 easy-soc-events: v1.1 2020-05-18 21:30:20 +02:00
Anjan Chanda
1a36a1d22a rename mapagent -> map-agent 2020-05-18 21:29:25 +02:00
Omar Kallel
4b11d665ff bbf: Device.LANConfigSecurity. object 2020-05-18 14:03:57 +01:00
Amin Ben Ramdhane
ab710068a6 change package name: opkgd -> swmodd 2020-05-18 12:36:02 +01:00
Sukru Senli
9ceec5cc0b easy-soc-libs: compile TEST modules for x86 target 2020-05-18 12:50:03 +02:00
Amin Ben Ramdhane
9161d99082 bbf: 1.3-2020-05-18 2020-05-18 10:49:07 +01:00
vdutta
fa76f6f32c uspd: Fix memory leak in get_safe method 2020-05-18 14:08:33 +05:30
Rahul
c37934cb69 mcastmngr: Fix section name issue
In the default config that is generated by the mcast manager,
after support for MLD config via bbf was added the name of section
was updated. This caused unwanted behaviour when config addition
were made by the bbf on top of default config. Updated the default
config igmp snooping section name to resolve that.
2020-05-18 09:52:32 +05:30
Rahul
53a52bc455 qosmngr: Add service trigger
The service trigger was missing from the init file, added.
2020-05-18 09:49:41 +05:30
Sukru Senli
7f58e5409d libmicroxml: update source url 2020-05-17 20:50:45 +02:00
Sukru Senli
ccad65dd89 iop: config cleanup 2020-05-17 18:18:33 +02:00
Sukru Senli
e5b8c6f46b samba3: remove package 2020-05-17 18:11:57 +02:00
Sukru Senli
7ec727e994 owsd: install uproxyd only if selected 2020-05-17 17:21:51 +02:00
Sukru Senli
52313cdaa8 iop: update config 2020-05-15 18:42:57 +02:00
Sukru Senli
da18a10782 remove deprecated and redundant packages 2020-05-15 18:38:51 +02:00
Sukru Senli
0ae10079fb wifilife: remove package 2020-05-15 17:00:54 +02:00
Omar Kallel
0e22b3d267 icwmp: 4.0-2020-05-15 2020-05-15 13:31:32 +01:00
Rahul
895cfbc4f0 qosmngr: Add support for L2 classification
* Support of the QoS.Classify object parameters is extended to cover
L2 scenarios.
* There was a mistake in the way p-bit to queue mapping was configured,
that has been corrected now.

For now, qosmngr write L2 classification rules into /tmp/qos/classify.ebtables
file and then executes this script to apply the classification rules.

Decision on whether to go for this or to add this script to firewall uci
default config will be taken at the time of integration.

Note: before enabling qosmngr in devel, firewall.qos should be removed.
All QoS handling should be done from qosmngr.
2020-05-14 16:49:39 +05:30
vdutta
85cf73c66b uspd: Added conversion of unsigned long values 2020-05-14 16:25:18 +05:30
Rohit Topno
e8ddd67747 qosmngr: 4.4.4.25: Support for DSCP mark and remark based on L3 classifier supported by the system 2020-05-14 14:40:53 +05:30
Sukru Senli
60396bad6d icwmp: 4.0-2020-05-08 2020-05-13 11:52:45 +02:00
Benjamin Larsson
568098ee0b Update feed [ iopsys ] package [ peripheral_manager ]
-------------------------------------------------------------------------------
* 4851bc6 Merge branch 'production-button' into 'devel'
* 4dd5f3c Peripheral-manager: Add production mode support for button
-------------------------------------------------------------------------------
commit 4851bc6a0ee52a6f3399ac26a70e4ccced1b72cc
Author: Benjamin Larsson <benjamin.larsson@iopsys.eu>
Date: 2020-05-08 13:33:47 +0200

    Merge branch 'production-button' into 'devel'

    Peripheral-manager: Add production mode support for button

    See merge request iopsys/peripheral-manager!2
Base directory -> /
 src/button.c | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 118 insertions(+), 10 deletions(-)
-------------------------------------------------------------------------------
commit 4dd5f3c38a7a4e5c7fcc5c9461f0f13a99023fb4
Author: pitchaiah prakash <pitchaiah.murugan@iopsys.eu>
Date: 2020-05-08 12:20:16 +0200

    Peripheral-manager: Add production mode support for button

Base directory -> /
 src/button.c | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 118 insertions(+), 10 deletions(-)
-------------------------------------------------------------------------------
2020-05-13 11:45:10 +02:00
Anjan Chanda
868fece089 easy-soc-events: 1.0 2020-05-13 08:06:11 +02:00
Amin Ben Ramdhane
e0cb0e7a07 bbf: implement Device.Hosts. object 2020-05-12 16:46:40 +01:00
Amin Ben Ramdhane
49f9faa58c wifilife: TR-181 X_IOPSYS_EU_WiFiLife vendor extensions 2020-05-12 16:29:31 +01:00
Sukru Senli
30245d6dec questd-5.1.7 2020-05-12 12:07:23 +02:00
Amin Ben Ramdhane
8df424c249 bbf: 1.2-2020-05-12 2020-05-12 10:12:25 +01:00
Sukru Senli
e732109ef2 questd-5.1.6 2020-05-10 11:54:21 +02:00
Sukru Senli
0e64d6f262 libtrace: correct dependency 2020-05-09 16:46:39 +02:00
Sukru Senli
57816f3353 questd-5.1.5 2020-05-09 16:46:02 +02:00
Sukru Senli
0cb4e026c7 bbf: 1.2-2020-05-09 2020-05-09 16:45:44 +02:00
vdutta
25a6e81181 uspd: Test support with fixes
- Readme: Updated readme
 - Updated api specification and tests
 - Remove redundant code
 - Fix '==' operation for boolean type
 - Fix '!=' operation
 - Fix output of del_object method
 - Improved comparator algorithm for non integer values
 - Added unit test cases
 - Added functional api test cases
 - Fixed static analysis errors
 - Fixed cpd errors
2020-05-08 18:47:55 +05:30
Amin Ben Ramdhane
352e54af58 bbf: 1.2-2020-05-06 2020-05-06 15:54:39 +01:00
Omar Kallel
f5b4e71927 icwmp: Fix bug related to the authentication 2020-05-05 17:56:11 +01:00
Yalu Zhang
37dae0ee6f Update commitment of endptmngr: Adaptation for voice config restructure 2020-05-05 18:12:52 +02:00
Amin Ben Ramdhane
045dd954fa bbf: fix memory leak and issue related to delete object 2020-05-05 15:20:55 +01:00
yyashvardhan
ecde3a89eb ieee1905: Added 1905 stack validation tests 2020-05-05 12:26:24 +05:30
Amin Ben Ramdhane
7e5b693624 bbf: 1.2-2020-05-05 2020-05-05 01:18:14 +01:00
Amin Ben Ramdhane
7bbbfb150c icwmp: 4.0-2020-05-05 2020-05-05 01:16:53 +01:00
Amin Ben Ramdhane
317f4118e1 opkgd: Update the object name softwaremanagement -> swmodules 2020-05-05 01:14:47 +01:00
Amin Ben Ramdhane
a819c14f7d bbf: fix issue in delete object of IP.Interface 2020-05-04 17:41:34 +01:00
Amin Ben Ramdhane
f4b98bd8e9 bbf: 1.2-2020-05-04 2020-05-04 14:52:27 +01:00
Yalu Zhang
1eeb09bfa2 Remove package voice-client
The functionalites of the package will be merged to package asterisk
2020-05-04 15:29:20 +02:00
Ronny Nilsson
3e67053e9d endptmngr: source file was badly computed in Makefile. 2020-05-03 21:42:35 +02:00
Amin Ben Ramdhane
3630dd5fc1 bbf: 1.2-2020-05-03 2020-05-03 15:08:21 +01:00
Sukru Senli
29d72d64d6 remove reference to deprecated rpcd acl config option 2020-05-03 15:18:00 +02:00
Amin Ben Ramdhane
19e3f822e7 bbf: 1.2-2020-05-02 2020-05-02 13:29:42 +02:00
Sukru Senli
87969bddae iop: config: deselect out of scope juci packages 2020-05-02 13:23:21 +02:00
Sukru Senli
1f6dc0d9fb libcgroup: deprecated
procd and LXCs are used for containerization
2020-05-02 12:41:38 +02:00
Sukru Senli
c92d47953e testnet: control broadband led if wan led is not available
WAN and Broadband LED will be handled by ruleng rules when ubus switch events are ready
2020-05-01 15:09:00 +02:00
Sukru Senli
e4221b84f0 netmode: temporary testnet object to query online status 2020-04-29 13:52:43 +02:00
Suru Dissanaike
593da2e6f8 Update genconfig_min.sh 2020-04-28 10:09:26 +02:00
Jakob Olsson
d882e35820 wifilife: firewall.mibd: surpress errors when removing files 2020-04-27 15:44:01 +02:00
Sukru Senli
89e0a6ba35 license correction: endptmngr and libpicoevent 2020-04-27 14:45:05 +02:00
Ronny Nilsson
0c69245845 peripheral_manager: were sometimes built incorrectly with many cores and Broadcom 5.02L.07. 2020-04-27 14:12:47 +02:00
vdutta
a3265ea7f7 uspd: Collate all failure on get method
- 418daea get_safe: don't abort on single path failures
2020-04-27 16:59:17 +05:30
Sukru Senli
155df35229 iop: compile unusued packages as modules only 2020-04-26 17:23:08 +02:00
Sukru Senli
b477f767f3 power-management: moved to broadcom feed as it is broadcom specific 2020-04-26 17:20:03 +02:00
Sukru Senli
883023b588 questd-5.1.4 2020-04-26 15:25:26 +02:00
Amin Ben Ramdhane
96322d2a2c bbf: 1.2-2020-04-26 2020-04-26 13:53:10 +01:00
Omar Kallel
ff72d4e88b bbf: 1.2-2020-04-24 2020-04-24 11:56:31 +01:00
Jakob Olsson
4f5a1ad365 owsd: init.d: let whitelist_interface_as_origin default to 1 2020-04-23 13:32:05 +02:00
Sukru Senli
56f93e1eab voice_client: adapt to led name change 2020-04-23 12:41:08 +02:00
Jakob Olsson
57e2a69575 netmode: remove status method, depend on 'enabled' option 2020-04-23 12:25:18 +02:00
Rahul
c7f037fdd7 bbf: Update mcastmngr to handle mld config
The mcast manager can now configure mld snooping and proxy
2020-04-23 14:41:31 +05:30
Sukru Senli
ea87bfe337 owsd: disable ubus-x by default 2020-04-23 11:11:15 +02:00
Sukru Senli
df93ed2d3c netmode: deprecate config based mode switching 2020-04-23 09:59:21 +02:00
Jakob Olsson
de03c6149c owsd: remove some sections from default cfg 2020-04-23 08:42:18 +02:00
Jakob Olsson
92480328ac owsd: update default configuration 2020-04-22 13:55:48 +02:00
Jakob Olsson
02404d5f22 owsd: only include json-validator.h if flag is given 2020-04-22 12:47:32 +02:00
Jakob Olsson
bd65c9a666 owsd: update for lws-3.1.0, make one vhost per origin 2020-04-22 12:36:40 +02:00
Sukru Senli
ec443bbb91 qosmngr: remove reference to db layer2 option 2020-04-22 11:40:35 +02:00
Ronny Nilsson
0292918ef4 iop: add rsync
It is used by the sysbackup and sysrestore utilities.
2020-04-21 17:06:56 +02:00
Jakob Olsson
947d72ae96 wifilife: firewall.mbid: remove lockfile if script is interrupted 2020-04-21 13:26:41 +02:00
Suru Dissanaike
fb195d9456 IOP: added --opensdk flag, support for cloning using https, and minimalistic genconfig_min 2020-04-20 15:11:09 +02:00
Amin Ben Ramdhane
aa6ff005ea icwmp: 4.0-2020-04-17 2020-04-20 12:11:08 +01:00
Amin Ben Ramdhane
a404289e69 bbf: 1.2-2020-04-20 2020-04-20 12:09:13 +01:00
vdutta
ccb5d3108a uspd: Show fault as per cmwp specification 2020-04-20 15:26:16 +05:30
Sukru Senli
ed23fc33b4 iop: generate_tarballs script fix 2020-04-20 08:21:32 +02:00
Rahul
c1dbba3545 mcastmngr: remove max_groups section from uci
The option max_groups is not really needed in the uci, hence,
removed. Also, max_membership and max_msf are set internally
by mcpd so no need to echo them seperately.
2020-04-20 07:09:18 +05:30
Sukru Senli
ab7cf3e44a questd: 5.1.3 2020-04-19 20:18:11 +02:00
Sukru Senli
2afe82e86b qosmngr: depend on existence of tool 2020-04-19 20:08:59 +02:00
Rahul
cd4733efa9 mcastmngr: Add mcastmngr
The mcastmngr read the uci file and configures the corresponding
multicast daemon accordingly. It is for now doing this for broadcom's
mcpd utility. Here are a few examples of what UCI config gets converted
to what /var/mcpd.conf

Snooping:
config snooping 'msnoop_1'
    option enable '1'
    option proto 'igmp'
    option version '2'
    option robustness '2'
    option aggregation '0'
    option interface 'br-wan100'

root@iopsys:~# cat /var/mcpd.conf
igmp-default-version 2
igmp-robustness-value 2
igmp-max-groups 20
igmp-max-sources 10
igmp-max-members 20
igmp-snooping-enable 1
igmp-proxy-enable 0
igmp-query-interval 125
igmp-query-response-interval 100
igmp-last-member-query-interval 10
igmp-mcast-interfaces  eth5.100
igmp-snooping-interfaces br-wan100

Proxy:
config proxy 'mproxy_1'
    option enable '1'
    option proto 'igmp'
    option version '2'
    option robustness '2'
    option aggregation '0'
    option last_member_query_interval '10'
    option query_interval '120'
    option query_response_interval '100'
    list downstream_interface 'br-lan'
    list upstream_interface 'eth5.1'

root@iopsys:~# cat /var/mcpd.conf
igmp-default-version 2
igmp-robustness-value 2
igmp-max-groups 20
igmp-max-sources 10
igmp-max-members 20
igmp-snooping-enable 2
igmp-proxy-enable 1
igmp-fast-leave 1
igmp-query-interval 120
igmp-query-response-interval 100
igmp-last-member-query-interval 10
igmp-proxy-interfaces  eth5.1
igmp-mcast-interfaces  eth5.1
igmp-snooping-interfaces br-lan
2020-04-19 15:27:38 +05:30
Sukru Senli
123dcd9d87 iop: config cleanup 2020-04-18 21:21:44 +02:00
Sukru Senli
fa2f34ef58 bbf: 1.2-2020-04-17 2020-04-17 14:34:02 +02:00
Sukru Senli
f099a39137 bbf: 1.2-2020-04-16 2020-04-16 18:59:06 +02:00
Sukru Senli
011e469c8a questd: 5.1.2 2020-04-16 12:47:12 +02:00
Suru Dissanaike
f085b5552f PKG_SOURCE_URL should use HTTPS
(cherry picked from commit 70c394db7c42a268de04d20efaf1f54e6c02a15d)
2020-04-16 10:53:32 +02:00
Sukru Senli
434f0f79a5 iop: generate correct wifilife tarball for mediatek 2020-04-15 12:41:43 +02:00
Sukru Senli
59206bb37f bbf:1.2-2020-04-14 2020-04-14 19:15:10 +02:00
Yalu Zhang
b7d7b2a382 Make endptmngr and dectmngr2 stripped in the root filesystem on targets
This can totally save ~9M bytes space.
2020-04-14 14:59:49 +02:00
Sukru Senli
d7564ddf36 questd: 5.1.1 2020-04-14 10:58:34 +02:00
Ronny Nilsson
e2f238a155 busybox: add fractional sleep time.
Sleeping less than 1 second is of great usage in many shell scripts.
2020-04-13 22:36:46 +02:00
Anjan Chanda
0fe4491394 easy-soc-libs: 3.1.6 2020-04-13 19:02:36 +02:00
vdutta
c471e4b465 mapagent: Fix compilation 2020-04-13 19:53:29 +05:30
Anjan Chanda
8436c5e39a mapagent: 2.0.1 - initial version 2020-04-13 13:28:26 +02:00
Anjan Chanda
d4d7cb9ed0 wfadatad: 2.0.1 - standalone daemon and plugin mode 2020-04-13 13:24:51 +02:00
Sukru Senli
a72d39cac8 bbf: 1.2-2020-04-12 2020-04-12 12:19:26 +02:00
Sukru Senli
ccf5343e62 iup: remove package 2020-04-11 20:18:15 +02:00
Sukru Senli
28a125cc5b icwmp: remove obselete README 2020-04-11 20:18:02 +02:00
Yalu Zhang
abc791f516 voice-client: Add cdr_manager.conf.TEMPLATE and fix an error in cdr_syslog.conf.TEMPLATE 2020-04-09 15:51:01 +02:00
Anjan Chanda
e599097a22 mt76xx: fix consumer build due to removed wifi drivers 2020-04-09 12:18:10 +02:00
Rahul
71ee9e3311 qosmngr: introduce enable in queue and shaper section
Introduce enable in the queue and shaper section in qos config, if
disabled, configuration not done for that instance.

Fixed some bugs in the broadcom.sh script.

Note: The broadcom.sh script has not been updated to take into account
the fact that the board 6846 does not have enough queues available.
This script is kept so for the same of flexibility. The number of queues
per port can be controlled from the uci file now which easily available
and configurable.
2020-04-09 14:26:49 +05:30
vdutta
d7936fd7d1 uspd: Align boolean values to uci defaults 2020-04-09 13:54:50 +05:30
vdutta
70fb4a6442 uspd: Multiple fixes
4328f3a delete_object: fix memleak and endless list growing
99ddcf2 {add,del}_object: add "parameterKey" parameter
93155dc Add get_safe method
2020-04-09 11:59:34 +05:30
Sukru Senli
0e21fc2475 bbf: 1.2-2020-04-08 2020-04-09 08:13:51 +02:00
Anjan Chanda
4d5f387738 mt76xx: remove mediatek wifi drivers from iopsys feeds 2020-04-08 14:51:15 +02:00
Rahul
78bab83bed qosmngr: rename the queue section name
rename the queue section name from q<0-4? to queue numbers being per
interface, so it is now for example q<0-7>_eth<0-5>
2020-04-07 20:58:17 +05:30
Rahul
9745a16694 qosmngr: fix default queue config generation
In case there is a valid config in the uci file, the script should
do nothing.
2020-04-07 13:14:35 +05:30
Sukru Senli
158f1d94a6 qosmngr: qos init script is platform unaware 2020-04-07 08:39:05 +02:00
Rahul
bdb29afd54 qosmngr: generating queue config dynamically
Changes done to generate uci config for queue from uci-defaults script
instead of using hard coded values.
2020-04-07 12:02:36 +05:30
Sukru Senli
57d179ed01 bbf: 1.2-2020-04-06 2020-04-06 19:09:00 +02:00
Rohit Topno
2c18313c13 qosmngr: updated UCI file for eth3, eth4 and eth5 2020-04-06 18:49:24 +05:30
Ronny Nilsson
61d80f6cc5 busybox: gzip --fast is sometimes required. 2020-04-06 12:15:23 +02:00
Rohit Topno
5ddc513d5d Changed the way the UCI file is read. now using functions defined in /lib/functions.sh 2020-04-04 18:24:35 +05:30
Sukru Senli
5e4549e413 iop: config: remove snmpd from default config 2020-04-01 23:28:29 +02:00
Sukru Senli
dc36c83866 wifimngr: do not install keep config script until the issues are fixed 2020-03-29 15:49:29 +02:00
Amin Ben Ramdhane
5eeef917e6 icwmp: 4.0-2020-03-25 2020-03-29 14:35:30 +01:00
Amin Ben Ramdhane
ea5535f374 bbf-1.2-2020-03-29 2020-03-29 14:32:55 +01:00
Sukru Senli
696b4b063a port-management: move port population to uci-defaults 2020-03-29 13:51:24 +02:00
Sukru Senli
8660069566 port-management: move port population to uci-defaults 2020-03-29 13:50:48 +02:00
Ronny Nilsson
44943fdea7 Revert "wifimngr: do not install keep config script until the issues are fixed"
We don't need this patch any more. It has been implemented by feeds/openwrt_core/e3c1d70a1774380acc7bb

This reverts commit f52528f806.
2020-03-29 12:23:00 +02:00
Ronny Nilsson
70cacfbe71 sysupgrade: use a lib func for printing to syslog. 2020-03-29 12:22:47 +02:00
Ronny Nilsson
6aa2fe7749 sysupgrade: remove the first boot check. It's handled in corresponding lib func. 2020-03-29 12:22:47 +02:00
Ronny Nilsson
a01a3be0d1 sysupgrade: move UCI diff into a separate function lib
For reuse by other modules as well.
2020-03-29 12:22:47 +02:00
Sukru Senli
f52528f806 wifimngr: do not install keep config script until the issues are fixed 2020-03-28 16:31:02 +01:00
Sukru Senli
bcce414686 port-management: remove sfp management 2020-03-28 15:47:11 +01:00
Sukru Senli
579757f4d9 port-management: call db with -q 2020-03-28 15:45:13 +01:00
Sukru Senli
81841777b9 port-management: populate with correct option 2020-03-28 15:31:04 +01:00
Sukru Senli
392e014872 iop: config: select ethtool by default 2020-03-28 15:28:41 +01:00
Sukru Senli
5557c69ec4 port-management: granularize uci config 2020-03-28 15:26:45 +01:00
vdutta
614a8556d9 ieee1905: On-boarding of ieee1905 device 2020-03-27 17:53:54 +05:30
Benjamin Larsson
db110b74e7 Update feed [ iopsys ] package [ peripheral_manager ]
-------------------------------------------------------------------------------
* 778735d add missing temperature call
* 87dbafa Read sfp i2c bus device from hw.board.sfpBus instead of hardcoded config in binary, enable temperature readings
* 986c088 Update README.md
* 2816e70 Add sfp data.
* 38791c3 Update README.md
* 385be13 Add empty README.md
-------------------------------------------------------------------------------
commit 778735da4e25e2075a6ecb365850a61ceb4bd515
Author: Benjamin Larsson <benjamin.larsson@iopsys.eu>
Date: 2020-03-25 18:40:58 +0100

    add missing temperature call

Base directory -> /
 src/sfp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 87dbafa7c7e14b6ea7dcd592b8779a71dab128b3
Author: Benjamin Larsson <benjamin.larsson@iopsys.eu>
Date: 2020-03-25 17:03:51 +0100

    Read sfp i2c bus device from hw.board.sfpBus instead of hardcoded config in
    binary, enable temperature readings

Base directory -> /
 src/sfp.c | 55 ++++++++++++++++---------------------------------------
 1 file changed, 16 insertions(+), 39 deletions(-)
-------------------------------------------------------------------------------
commit 986c0887197fc3410c796f2e5777b0c233ee2623
Author: Benjamin Larsson <benjamin.larsson@iopsys.eu>
Date: 2020-03-16 16:24:18 +0100

    Update README.md

Base directory -> /
 README.md | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 2816e70a9e5e68199a4864073311c4cb3cce06bb
Author: Benjamin Larsson <benjamin.larsson@iopsys.eu>
Date: 2020-03-16 15:36:56 +0100

    Add sfp data.

Base directory -> /
 README.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)
-------------------------------------------------------------------------------
commit 38791c32e769c195593067d5af7d157cc6725b24
Author: Benjamin Larsson <benjamin.larsson@iopsys.eu>
Date: 2020-03-13 15:38:53 +0100

    Update README.md

Base directory -> /
 README.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)
-------------------------------------------------------------------------------
commit 385be132924cb824b25c9d7adbcaaab4126533b5
Author: Benjamin Larsson <benjamin.larsson@iopsys.eu>
Date: 2020-03-13 13:47:16 +0100

    Add empty README.md

Base directory -> /
 README.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
2020-03-26 18:03:15 +01:00
Yalu Zhang
533a7d68eb Fix a compiling error in libtrace for Intel platform 2020-03-26 17:49:14 +01:00
Ronny Nilsson
79f7343cb4 sysupgrade: uci wireless santity checks. 2020-03-26 16:23:07 +01:00
Anjan Chanda
61c11e2520 easy-soc-libs: 3.1.5 2020-03-25 20:58:02 +01:00
vdutta
b91bf2fa67 map-1905: ieee1905d MAP-r2 plugin 2020-03-25 15:42:17 +05:30
Sukru Senli
720e45c20e opkgd: correct Makefile 2020-03-24 08:32:37 +01:00
Amin Ben Ramdhane
08230823d5 bbf-1.2-2020-03-23 2020-03-23 23:31:58 +01:00
Amin Ben Ramdhane
52614cee38 icwmp: 4.0-2020-03-23 2020-03-23 23:21:34 +01:00
Anjan Chanda
e648f237eb wifimngr: 2.7.1 2020-03-23 15:35:51 +01:00
Anjan Chanda
3cc9a2d72e easy-soc-libs: 3.1.4 2020-03-23 15:32:15 +01:00
Sukru Senli
332b6ce7b6 netmode: testnet: use pgrep to check if tesnet is running 2020-03-21 19:42:53 +01:00
Sukru Senli
6aa3467f29 netmode: remove bcm netmodes 2020-03-21 13:07:50 +01:00
Yalu Zhang
644f9b68eb Update packages [ easy-soc-libs ] and [ dslmngr ]
Add module test and documentation of newly added features mainly on
the TEST platform.
2020-03-18 11:15:22 +01:00
vdutta
5b6e76e51c ieee1905: Configure registrar 2020-03-18 12:57:57 +05:30
vdutta
4ffaeace88 ieee1905: wfamap: Fill non 1905 neighbor info 2020-03-12 13:33:09 +05:30
Ronny Nilsson
8814788e9f Update feed [ iopsys ] package [ endptmngr ]
-------------------------------------------------------------------------------
* 156c3f0 Revert linkin with libiqctl. It doesn't build but seems to work without it.
-------------------------------------------------------------------------------
commit 156c3f01d6e48d4cc2ffdcb1eb38ff7656478dd0
Author: Ronny Nilsson <ronny.nilsson@iopsys.eu>
Date: 2020-03-11 13:45:20 +0100

    Revert linkin with libiqctl. It doesn't build but seems to work without it.

Base directory -> /
 src/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2020-03-11 13:54:45 +01:00
Amin Ben Ramdhane
c8355daac5 bbf-1.2-2020-03-10 2020-03-10 23:48:05 +01:00
Ronny Nilsson
fec9e5486c Update feed [ iopsys ] package [ endptmngr ]
-------------------------------------------------------------------------------
* a463f0a Fix compile error with 5.02L07p1 on mips.
-------------------------------------------------------------------------------
commit a463f0a33cbc470acba91782d511c8c60aa830a9
Author: Jonas Höglund <jonas.hoglund@embeddednation.com>
Date: 2020-02-17 13:16:45 +0100

    Fix compile error with 5.02L07p1 on mips.

Base directory -> /
 src/Makefile     | 2 +-
 src/connection.c | 1 +
 src/line-dect.c  | 1 +
 src/line.c       | 1 +
 4 files changed, 4 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
2020-03-10 22:18:21 +01:00
Ronny Nilsson
e860576802 sysupgrade: support for diff migration of UCI named sections 2020-03-08 13:00:49 +01:00
Ronny Nilsson
d20f43a756 sdk: remove duplicated login prompts. One is enough.
Only one process at a time can read/write the console.
2020-03-05 16:17:58 +01:00
Ronny Nilsson
de730bc4f0 sdk: Disable preinit urandom seed.
It is very strange. It seeds urandom with data from urandom.
2020-03-05 13:05:39 +01:00
Ronny Nilsson
ce6946ca9b sdk: disable failsafe login during boot.
None seems to use it and it steals time and complexity during boot.
2020-03-05 13:05:39 +01:00
Ronny Nilsson
e73efef313 sdk: skip building of a rootfs tarball due to we never user it.
It only steals long time during build.
2020-03-05 13:05:39 +01:00
Ronny Nilsson
0bdd4644e5 sdk: Delay serial console login prompt until boot has finished. 2020-03-05 13:05:39 +01:00
Yalu Zhang
a2932315c3 Update packages [ easy-soc-libs ]
Fix a build error in libdsl for Intel platform
2020-03-05 11:21:36 +01:00
Yalu Zhang
af7a636751 Update packages [ easy-soc-libs ] and [ dslmngr ]
Also install more header files in libdsl to staging dir
2020-03-04 15:56:21 +01:00
Omar Kallel
a7c83c46cf bbf: Device.security 2020-03-03 16:22:11 +01:00
Ronny Nilsson
64cb92e9e9 Update feed [ iopsys ] package [ natalie-dect-h ]
-------------------------------------------------------------------------------
* f3889dc updated License from RTX
-------------------------------------------------------------------------------
commit f3889dc3f80bed10374f46430009aca24448bdcc
Author: Strhuan Blomquist <strhuan@iopsys.eu>
Date: 2019-10-10 13:28:40 +0200

    updated License from RTX

Base directory -> /
 IntenoLicenseTerms_R01_signed.pdf                      | Bin 517134 -> 0 bytes
 ...tware solutions AB_License-Terms_Oct2019_Signed.pdf | Bin 0 -> 94676 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
-------------------------------------------------------------------------------
2020-03-02 17:42:46 +01:00
Ronny Nilsson
2972baa68b Update feed [ iopsys ] package [ libpicoevent ]
-------------------------------------------------------------------------------
* f4ab03b Add LICENSE
-------------------------------------------------------------------------------
commit f4ab03b22fca57cec6c959fb5c54bcdd64c32467
Author: Sukru Senli <sukru.senli@iopsys.eu>
Date: 2019-09-11 14:40:06 +0200

    Add LICENSE

Base directory -> /
 LICENSE | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 308 insertions(+)
-------------------------------------------------------------------------------
2020-03-02 17:42:24 +01:00
vdutta
3a1b07e868 obuspa: Fix compilation error on gcc-8.3.x 2020-03-02 19:41:02 +05:30
Oussama Ghorbel
f34d0abc6b uboot: update intel_mips bootloader to ugw 8.4.1.50 2020-02-28 17:49:13 +01:00
vdutta
6ad4df7ea0 ieee1905: wfamap: Multiple fixes
- Fix typos
 - Integrate libwifi
 - Integrate libeasy
 - Cleanup
 - Get APIs for tlvs
2020-02-28 13:51:47 +05:30
vdutta
d44433ed59 wfamap: APIs for perparing MAP tlvs 2020-02-26 18:31:24 +05:30
vdutta
e4a4b44719 ieee1905: APIs for perparing tlvs 2020-02-26 18:26:11 +05:30
sverma
a5c2af7a95 obuspa: SYNC commands handling as per TR181-2.13 2020-02-26 14:16:38 +05:30
Ronny Nilsson
0543036ebd sysupgrade: Migrate WiFi settings only if the system has WiFi. 2020-02-25 14:55:46 +01:00
Anjan Chanda
b2b6c19e74 easy-soc-libs: 3.1.3 2020-02-25 10:24:59 +01:00
sverma
c3ecfabfc6 obuspa: ASYNC commands handling as per TR181-2.13 2020-02-24 18:40:11 +05:30
Anjan Chanda
a2c3063520 mt7603: copy eeprom file and update default .dat 2020-02-23 14:18:34 +01:00
Anjan Chanda
c2c28d0cea mt7615: disable multi-profile and enable more features 2020-02-23 14:10:14 +01:00
Amin Ben Ramdhane
0940898f7b bbf: add support for parameter validation 2020-02-21 18:57:26 +01:00
Jonas Höglund
ea29e6bce0 Update feed [ iopsys ] package [ endptmngr ]
-------------------------------------------------------------------------------
* 1092361 Fix compilation error on 5.02L07p1.
* be0e76e Add .gitlab-ci.yml
* 756f603 Revert "Fix a bug in "ubus call endpt status" that report off-hook status wrongly"
* 179d941 Fix a bug in "ubus call endpt status" that report off-hook status wrongly
-------------------------------------------------------------------------------
commit 1092361e274147babb6f750eab3cda2c7df436a1
Author: Jonas Höglund <jonas.hoglund@embeddednation.com>
Date: 2020-02-19 12:58:10 +0100

    Fix compilation error on 5.02L07p1.

Base directory -> /
 src/connection.c | 1 +
 src/line-dect.c  | 1 +
 src/line.c       | 1 +
 3 files changed, 3 insertions(+)
-------------------------------------------------------------------------------
commit be0e76ed7d423e50fd514b04cce128e038a63282
Author: Suru Dissanaike <suru.dissanaike@iopsys.eu>
Date: 2019-12-01 20:08:04 +0100

    Add .gitlab-ci.yml

Base directory -> /
 .gitlab-ci.yml | 10 ++++++++++
 1 file changed, 10 insertions(+)
-------------------------------------------------------------------------------
commit 756f6032012e1398a92f488fa0c9d69640f483ed
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date: 2019-11-26 15:56:05 +0100

    Revert "Fix a bug in "ubus call endpt status" that report off-hook status
    wrongly"

    This reverts commit 179d9418662b9c3336cf6dba64848e9f9f680035.

Base directory -> /
 src/ubus.c | 17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)
-------------------------------------------------------------------------------
commit 179d9418662b9c3336cf6dba64848e9f9f680035
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date: 2019-11-26 15:30:02 +0100

    Fix a bug in "ubus call endpt status" that report off-hook status wrongly

    When Tel 1 was off-hook, the ubus call reported Tel 2 was off-hook and vice
    verse.

Base directory -> /
 src/ubus.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2020-02-19 14:59:31 +01:00
vdutta
bd54ff5c52 wfamap: Added forge and parse method for MAP2 TLVs 2020-02-19 19:28:06 +05:30
Amin Ben Ramdhane
11330760dd icwmp: 4.0-2020-02-19 2020-02-19 14:56:24 +01:00
vdutta
7e82a361b5 obuspa: Added proto option in usp object methods 2020-02-19 15:56:04 +05:30
vdutta
8c55345f85 uspd: Support proto in ubus method input
- uspd can be used to perform on usp/cwmp datamodel based on proto option
2020-02-19 15:15:18 +05:30
Jonas Höglund
c29a46aeee Revert "Update feed [ iopsys ] package [ endptmngr ]"
This reverts commit 2f91b5e726.
2020-02-19 09:36:07 +01:00
jjoseph
946b5b3932 bbf: Revert Layer 2 changes 2020-02-19 10:59:02 +05:30
jjoseph
c80f64db82 Updated the commit id in Makefile for Layer 2 changes in bbf. 2020-02-18 16:19:06 +05:30
Anjan Chanda
b4d2e92cb6 iop: fix mediatek kernel generation for consumer release 2020-02-18 09:38:51 +01:00
Jonas Höglund
2f91b5e726 Update feed [ iopsys ] package [ endptmngr ]
-------------------------------------------------------------------------------
* a463f0a Fix compile error with 5.02L07p1 on mips.
* be0e76e Add .gitlab-ci.yml
* 756f603 Revert "Fix a bug in "ubus call endpt status" that report off-hook status wrongly"
* 179d941 Fix a bug in "ubus call endpt status" that report off-hook status wrongly
-------------------------------------------------------------------------------
commit a463f0a33cbc470acba91782d511c8c60aa830a9
Author: Jonas Höglund <jonas.hoglund@embeddednation.com>
Date: 2020-02-17 13:16:45 +0100

    Fix compile error with 5.02L07p1 on mips.

Base directory -> /
 src/Makefile     | 2 +-
 src/connection.c | 1 +
 src/line-dect.c  | 1 +
 src/line.c       | 1 +
 4 files changed, 4 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit be0e76ed7d423e50fd514b04cce128e038a63282
Author: Suru Dissanaike <suru.dissanaike@iopsys.eu>
Date: 2019-12-01 20:08:04 +0100

    Add .gitlab-ci.yml

Base directory -> /
 .gitlab-ci.yml | 10 ++++++++++
 1 file changed, 10 insertions(+)
-------------------------------------------------------------------------------
commit 756f6032012e1398a92f488fa0c9d69640f483ed
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date: 2019-11-26 15:56:05 +0100

    Revert "Fix a bug in "ubus call endpt status" that report off-hook status
    wrongly"

    This reverts commit 179d9418662b9c3336cf6dba64848e9f9f680035.

Base directory -> /
 src/ubus.c | 17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)
-------------------------------------------------------------------------------
commit 179d9418662b9c3336cf6dba64848e9f9f680035
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date: 2019-11-26 15:30:02 +0100

    Fix a bug in "ubus call endpt status" that report off-hook status wrongly

    When Tel 1 was off-hook, the ubus call reported Tel 2 was off-hook and vice
    verse.

Base directory -> /
 src/ubus.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2020-02-17 16:09:30 +01:00
Anjan Chanda
aa0fc5a7ed iop: fix mediatek wifi consumer build 2020-02-17 12:23:40 +01:00
Anjan Chanda
b4e1f18cc5 wifilife-2.7.0: use libeasy.so for common helpers 2020-02-17 09:30:19 +01:00
Anjan Chanda
8d43795c34 ifbt-0.3: fix linking against libeasy.so 2020-02-17 09:16:02 +01:00
vdutta
8e957a6c69 wfamap: Added config options 2020-02-17 12:41:48 +05:30
vdutta
db1db9da8d ieee1905: Added config options for ieee1905 2020-02-17 12:40:04 +05:30
Anjan Chanda
301d3a0cd6 mt7615, mt7603: add eeprom and sku data files 2020-02-16 21:45:22 +01:00
Anjan Chanda
39093e4b1a mt7615: rename iNic_ap.dat -> iNIC_ap.dat 2020-02-16 21:24:06 +01:00
Anjan Chanda
a58467cad0 easy-soc-libs: v3.1.2 - fix wps interfaces for mtk 2020-02-16 20:58:12 +01:00
Anjan Chanda
0a3dc9f316 wifi: mediatek driver packages for mt7603 and mt7615
add kernel module packages for following wifi drivers -
  mt7603e v4.1.2.0_20190222
  mt7615e v5.0.4.0_20190503
2020-02-16 19:35:31 +01:00
Ronny Nilsson
47a15eb231 sdk: At first boot; copy factory default to cwmp UCI. 2020-02-14 22:58:20 +01:00
Anjan Chanda
a6b66929e4 easy-soc-libs: v3.1.1, wifimngr: v2.7.0 2020-02-14 16:08:41 +01:00
vdutta
9b1a3ebc71 ieee1905: Added ieee1905 ubus methods
- 86d4406 ieee1905: Added async topology method for local al
 - 4505816 ieee1905: Added ubus methods details in Readme
 - c7a3932 ieee1905: Added multiple ieee1905* ubus methods
 - b815539 ieee1905: Cleanup message queue on exit
2020-02-14 18:36:59 +05:30
Ronny Nilsson
87ec25c82c sysupgrade: Tweak an expression to reduce potential (safe) warning messages. 2020-02-14 12:20:48 +01:00
sverma
8153cf8d74 obuspa: DataModel allignment as per TR181_2.13 2020-02-14 16:13:38 +05:30
Ronny Nilsson
766096cba4 sysupgrade: migration of anonymous section requires checking each.
It is not enough to migrate all or none anonymous section. We
need to check each one individually.
2020-02-13 15:50:51 +01:00
Rahul
dd00b7eb2e qosmngr: merging qosmngr to devel 2020-02-13 18:57:16 +05:30
Yalu Zhang
a60fa6797a Update package [easy-soc⨪libs] and [dslmngr] 2020-02-13 11:22:02 +01:00
vdutta
0f31287335 ieee1905: wfamap: Multiple fixes
- ieee1905:
  -- 439e8ce ieee1905: Updated Readme with ALME over ubus
  -- b441fca ieee1905: Multiple fixes
     --- Added alme over ubus
     --- Redesigned static 63*1024 size buffer allocation for ALME over tcp
     --- Cleanup
     --- Support of blob in DMdumpNetworkDevices API
  -- e550dcc ieee1905: Support of blob in visit_* functions
  -- b940298 ieee1905: cleanup
  -- 09f4af9 ieee1905: Added info for ieee1905 ubus object

- wfamap:
  -- 1c6b48c wfamap: Support for alme over ubus
  -- 0b45bed wfamap: Support for blob in visit_* functions
2020-02-13 13:22:37 +05:30
Ronny Nilsson
5dcde335dd wifi: As part of sysupgrade we migrate the users custom changes to the new fs. 2020-02-12 13:27:44 +01:00
Anjan Chanda
29f49ff674 easy-soc-libs-3.0.1: use consistent apis in libwifi 2020-02-11 13:45:44 +01:00
Anjan Chanda
9ddbbdfe17 wifimngr-2.6.0: use helper library 'libeasy.so' 2020-02-11 12:23:13 +01:00
Anjan Chanda
b23f81f3ba easy-soc-libs: add helper functions library 'libeasy' 2020-02-11 12:22:10 +01:00
Omar Kallel
5b5addb7fc This reverts commit 7de0b7e20d 2020-02-10 15:27:04 +01:00
Omar Kallel
1e9e7be709 Device.UPnP review code 2020-02-10 15:24:36 +01:00
vdutta
bce138d52e ieee1905: Fix race condition in intf access 2020-02-10 16:13:19 +05:30
Ronny Nilsson
7de0b7e20d libbbfdm: depends on libminiupnpc since last update. 2020-02-07 21:12:56 +01:00
Omar Kallel
376ddd4a12 bbf: Device.UPnP. object 2020-02-07 16:42:15 +01:00
Ronny Nilsson
b6399da95b sdk: Try conditional dependencies for icwmp.
The icwmp package has subcomponents which pulls in third party
librarys although they are explicity disabled in the top level
config. This in turn sometimes makes causes build failures.
2020-02-07 16:20:01 +01:00
sverma
295ee80a1a obuspa: Runtime handling for multi-instance objects 2020-02-07 17:48:21 +05:30
vdutta
ac71c9e85f ieee1905: Remove libpicoevent dependency 2020-02-04 19:04:53 +05:30
Amin Ben Ramdhane
d0fc0ffc43 bbf: Update db parameters 2020-02-04 11:37:36 +01:00
sverma
cee4575f63 obuspa: Registered nodes for Device.Services in DB
Functionality added to get object instances only
2020-02-04 15:21:16 +05:30
vdutta
4f1ad101bc obuspa: Vendor hooks for reset related operations 2020-02-04 12:13:47 +05:30
vdutta
9386ec4bc2 ieee1905: Updated readme 2020-02-03 18:38:04 +05:30
Oussama Ghorbel
84af00e784 uboot: update pkg source version
this is an update to ugw-8.4.1.30
2020-02-03 10:37:46 +01:00
vdutta
cc2d40a912 ieee1905: Multiple fixes
- Compile flag for alme tcp server
 - MAP db support in plugin
 - Modification for map lib renaming
 - Cleanup
 - Move alme server to lib1905ubus
2020-01-31 16:17:13 +05:30
vdutta
21b4c960a3 wfamap: Multiple fixes
- MAP db
 - Restoring broken functionalities after re-structuring
 - Renaming library to libwifimap-2.so
 - Cleanup
2020-01-31 16:13:03 +05:30
Roman Azarenko
89df7ce409 Fix "iop genconfig" for public builds
This introduces an extra check to avoid attempting to clone a private customer/consumer repository, when the main SDK repo is cloned via HTTPS.
2020-01-29 11:22:10 +01:00
sverma
97fd03d966 Merge branch 'devel' of dev.iopsys.eu:feed/iopsys into devel 2020-01-28 14:23:54 +05:30
sverma
bdfb498fb6 obuspa: Initialize multi-intsance objects on bootup
Add log-level UCI option
2020-01-28 14:21:03 +05:30
Jonas Höglund
b61bc3cd02 obouspa: Only set up .profile once. 2020-01-27 13:55:40 +01:00
Jonas Höglund
6223a63efe obuspa: Don't overwrite existing .profile. 2020-01-24 16:14:29 +01:00
vdutta
74df3bbd25 ieee1905: Added multiAP plugin support
- ieee1905 stack will call multiAP library functions, if
   -- /usr/lib/libwfamap.so is present in DUT
   -- uci parameter multiap_plugin is enabled in ieee1905
2020-01-24 19:28:51 +05:30
vdutta
4afaeddbda wfamap: Created runtime plugin 2020-01-24 19:28:51 +05:30
sverma
c552774826 uspd: Improve logging for uspd methods 2020-01-24 17:38:43 +05:30
sverma
1335405ccc obuspa: reduce ubus calls to uspd
- Reduce number of ubus calls to uspd on obuspa_get
 - Add uci option to enable/disable obuspa
2020-01-24 17:22:02 +05:30
Oussama Ghorbel
871a3c3907 clean up db and use new variables names 2020-01-23 14:39:32 +01:00
Oussama Ghorbel
8815e230ed questd: upgrade to version 5.0.0
- use cmake
- implement feature #1535: system object model redesign
2020-01-23 14:39:32 +01:00
Ronny Nilsson
0bf21c30c6 owsd: Workaround a bug which cases origin check to fail on LAN.
When the LAN interface has an IPv6 Unique local address owsd gets confused.
IPv4 requests arrive into the virtual IPv6 interface of owsd which makes
the origin check to fail. Workaround the problem by disabling origin check
for LAN. This shouldn't be a problem (?) due to we already has the same
check disabled on WAN by default.
2020-01-23 12:44:59 +01:00
vdutta
e6edca3137 wfamap: Added wfamap 2020-01-23 17:12:30 +05:30
vdutta
7247a2d0d4 ieee1905: Changes to support wfamap library 2020-01-23 17:12:30 +05:30
vdutta
0f62b3f2be ieee1905: Fix compilation for ex400 2020-01-23 12:44:32 +05:30
vdutta
6f2a9d0fd4 uspd: Log level support in uci 2020-01-23 11:43:53 +05:30
vdutta
2910b13325 uspd: Align with new bbfdm changes 2020-01-22 19:20:34 +05:30
vdutta
4d89930dae ieee1905: Restructuring 1905 stack 2020-01-22 18:18:41 +05:30
Amin Ben Ramdhane
c5568cc3a8 icwmp: 4.0-2020-01-21 2020-01-21 23:14:43 +01:00
Amin Ben Ramdhane
d145893c54 bbf-1.1-2020-01-21 2020-01-21 23:09:59 +01:00
Ronny Nilsson
7efa7dc06b sdk: dependency was again incorrect. This time there were issues when building for Mediatek. 2020-01-21 15:57:33 +01:00
Ronny Nilsson
dcc3b5090f sdk: dependency was again incorrect. This time there were issues when building for Mediatek. 2020-01-21 15:57:33 +01:00
Anjan Chanda
2771475f57 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 6506026 fix CMD_GET_ASSOCLIST request struct size
* 07ca2c6 remove 'wfs_delm.h'
* 3aafa35 define steer policy for sta
-------------------------------------------------------------------------------
commit 6506026c70944cba7611c3e0ffaec3255c73eb32
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2020-01-20 14:59:31 +0100

    fix CMD_GET_ASSOCLIST request struct size

Base directory -> /
 src/agent/agent.c      | 5 ++++-
 src/comm/comm.h        | 2 +-
 src/controller/cntlr.c | 3 +--
 3 files changed, 6 insertions(+), 4 deletions(-)
-------------------------------------------------------------------------------
commit 07ca2c64287070a637e3a2f6f05f6bdb5a8b7272
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2020-01-20 11:07:26 +0100

    remove 'wfs_delm.h'

Base directory -> /
 src/wfa_delm.h | 164 ---------------------------------------------------------
 1 file changed, 164 deletions(-)
-------------------------------------------------------------------------------
commit 3aafa35aec53b1687423e5e850f553b7a54d7b7a
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2020-01-20 11:02:23 +0100

    define steer policy for sta

Base directory -> /
 src/agent/agent.c         | 32 ++++++++++++++++----------------
 src/agent/agent.h         | 15 +++++++++------
 src/agent/agent_ubus.c    |  6 +++---
 src/agent/default_steer.h | 17 +++++++++++++++--
 src/controller/cntlr.h    |  1 -
 5 files changed, 43 insertions(+), 28 deletions(-)
-------------------------------------------------------------------------------
2020-01-21 09:31:29 +01:00
vdutta
7993de3335 Ticket#434: Fix write access in cifsd init 2020-01-20 10:50:01 +01:00
vdutta
387b9fcfef Ticket#434: Added more cifsd configurabale parameters 2020-01-20 10:50:01 +01:00
Vladimir Vid
456bca5cbb cifsd: add package
* add cifsd - kernel module
* add cifsd-tools - userspace package

Reference repos:

https://github.com/namjaejeon/cifsd
https://github.com/namjaejeon/cifsd-tools

Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
2020-01-20 10:50:01 +01:00
jjoseph
10337ed433 wfadatad : Makefile and init.d file changes 2020-01-17 16:54:34 +05:30
Ronny Nilsson
cab7f065f3 Samba 3 depends on the readline library for building. 2020-01-16 15:24:17 +01:00
Ronny Nilsson
e877a0c949 uboot: OpenWrt v19 har changed so /boot is cleaned every build.
Need to defer install of uboot image until after the OpenWrt clean.
2020-01-16 11:39:11 +01:00
Amin Ben Ramdhane
20ce9c5f65 icwmp: 4.0-2020-01-15 2020-01-15 14:37:42 +01:00
vdutta
fc01428650 ieee1905: Support for Openssl 1.1.x series 2020-01-14 16:01:57 +05:30
Ronny Nilsson
18008a9ec9 sdk: Remove build dependencies to bcmopen
From OpenWRT point of view no bcmopen package exist. bcmopen
is really just bcmkernel built with alternate flags.
2020-01-13 15:31:00 +01:00
Jakob Olsson
51180ef90d easy-soc-libs: api updates, fix utilization, rssi and snr 2020-01-13 14:17:59 +01:00
Jakob Olsson
3df32e7860 wifilife: refactor arp flush logic on missing disassoc ev 2020-01-13 14:16:56 +01:00
Jakob Olsson
bb51885313 wifimngr: update in accordance with libwifi api changes 2020-01-13 14:16:08 +01:00
Jonas Höglund
89b623b415 Revert "icwmp: remove unused library"
This reverts commit cb504ababe.
2020-01-09 17:24:07 +01:00
Sukru Senli
061d5c0eef icwmp: 4.0-2019-12-28 2020-01-09 14:57:52 +01:00
Sukru Senli
75869b899c tr098 1.0-2019-12-28 2020-01-09 14:55:29 +01:00
Sukru Senli
ea19916cc4 bbf-1.0-2019-12-28 2020-01-09 14:50:51 +01:00
vdutta
d416df6f86 ieee1905: Add get_topology command 2020-01-09 14:50:51 +01:00
vdutta
72c59bc2ad ieee1905: Pretty print multiAP cmdu events 2020-01-09 14:50:51 +01:00
Amin Ben Ramdhane
5f2b3a3f9b bbf: use src local if the src folder exists 2020-01-09 14:50:51 +01:00
Amin Ben Ramdhane
cb504ababe icwmp: remove unused library 2020-01-09 14:50:51 +01:00
vdutta
ab44d2383e ieee1905: Generating topology/push button event
- Generating topology change event on ubus "client" event
 - Generating push button event on ubus "wifi.wps", "in-progress" event
2020-01-09 14:50:51 +01:00
vdutta
30d72f1683 ieee1905: Added configure Discovery timer uci option 2020-01-09 14:50:51 +01:00
vdutta
45b8a62027 ieee1905: Added support for 1905 multiap extensions 2020-01-09 14:50:51 +01:00
Anjan Chanda
c476a8ec75 wifimngr: 2.5.0 2020-01-09 14:50:51 +01:00
Anjan Chanda
4a3d6e0331 easy-soc-libs: version-2.5.0 2020-01-09 14:50:51 +01:00
vdutta
a947dae5f3 meshcomms: Removing meshcomms pkg
- Removing meshcomms pkg as functionality moved in ieee1905
2020-01-09 14:50:51 +01:00
vdutta
b219be48eb ieee1905: MultiAP code segregation 2020-01-09 14:50:51 +01:00
Amin Ben Ramdhane
87fc510726 icwmp: compile icwmp-tr098d binary only if CONFIG_PACKAGE_icwmp-tr098 is selected 2020-01-09 14:50:46 +01:00
Jonas Höglund
4929ebc503 questd: Remove dependencies on libdsl,ethernet and wifi. 2020-01-09 09:50:10 +01:00
Jonas Höglund
88af9763a0 Fix dependancy error. 2020-01-08 12:00:24 +01:00
Ronny Nilsson
34343d4824 netmode: remove variables from templates which is automatically set on first boot.
In Iopsys 5 each subsystem has to take care of its own data. If netmode modifies
the hostname, SSID etc. It by it self has to generate fully valid UCI data. If
netmode needs help with that it may use the scripts in /rom/etc/uci-defaults
2020-01-07 14:18:47 +01:00
Sukru Senli
708a417086 iop: naming correction: IopsysWrt -> iopsysWrt 2019-12-23 09:56:57 +01:00
Jonas Höglund
e8ba4a8a14 Fix mediatek tarball generation for iop5. 2019-12-20 14:20:57 +01:00
Ronny Nilsson
b2523c14b6 icwmp: In Iopsys 5 each subsystem has to take care of its own data.
OUI in UCI is not created automatically for CWMP (or any
other package). Anyone who needs it has to fix it them self.
2019-12-18 15:26:49 +01:00
Jonas Höglund
2677dd57de icwmp: Remove packet with broken dependancy 2019-12-11 12:55:32 +01:00
Jonas Höglund
df919ded0c Fix dependancy warning for bcmopen 2019-12-11 12:50:03 +01:00
Ronny Nilsson
343ed3993b sdk: Redesign generation of /etc/banner. OpenWrt has built in support for it that we can use instead. 2019-12-11 12:39:42 +01:00
Ronny Nilsson
41b934575e sdk: Clenup of redundant variables. There were several with identical information.
After asking around there were no clear answer to why there were redundant
information. Thus, I'm doing cleanup all over the place to reduce complexity.
2019-12-11 12:39:42 +01:00
Ronny Nilsson
579fd3bf07 sdk: Clenup of redundant variables. There were several with identical information.
After asking around there were no clear answer to why there were redundant
information. Thus, I'm doing cleanup all over the place to reduce complexity.
2019-12-11 12:39:42 +01:00
Sukru Senli
ee30bacc15 tr098: fix compilation issue 2019-12-11 12:35:31 +01:00
Sukru Senli
06bad4b9c4 icwmp: fix compilation issue 2019-12-11 12:35:23 +01:00
Amin Ben Ramdhane
04a08815e7 tr098: 1.0-2019-12-09 2019-12-10 16:25:56 +01:00
Amin Ben Ramdhane
8397922ecd icwmp: 4.0-2019-12-07 2019-12-10 16:24:39 +01:00
Sukru Senli
4de8c13136 bbf: correct license 2019-12-10 16:19:19 +01:00
Strhuan Blomquist
b9b81709af Delete cve-check.sh 2019-12-10 16:19:19 +01:00
Amin Ben Ramdhane
b4c7eb1a3e bbf: 1.0-2019-12-10 2019-12-10 16:19:19 +01:00
Amin Ben Ramdhane
6706e94bc2 libbfdm: add tr157 files to include repo 2019-12-10 16:19:19 +01:00
Amin Ben Ramdhane
44c870e1bb bbf: 1.0-2019-12-07 2019-12-10 16:19:15 +01:00
Amin Ben Ramdhane
4f5c7623d2 opkgd: add new package 2019-12-10 16:19:15 +01:00
vdutta
5ca4ee678b ieee1905: 1905 meshcomms stack integration 2019-12-10 16:19:15 +01:00
Jakob Olsson
ebb112f264 netmode: on revert write backup cfgs prior to commiting and restart network 2019-12-10 16:19:12 +01:00
Jakob Olsson
b30aca1b27 owsd: include fix for memory leak on too many requests 2019-12-10 16:19:10 +01:00
Amin Ben Ramdhane
5d7af4f3c3 bbf: 1.0-2019-11-11 2019-12-10 16:19:06 +01:00
Anjan Chanda
e5204b2fdc Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 0accbd7 libwifi: intel: show chan utilization instead of load
-------------------------------------------------------------------------------
commit 0accbd7266b2742ad8921edd5dab974fc384a49a
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-27 10:19:28 +0100

    libwifi: intel: show chan utilization instead of load

Base directory -> /
 libwifi/modules/intel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-12-10 16:19:00 +01:00
Anjan Chanda
ed855b6921 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 429988c libwifi: mtk: implement radio info api
* 8e66b90 libwifi: add radio diagnostic struct
-------------------------------------------------------------------------------
commit 429988cbd11edab826355f01b09f0588893b550a
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-24 19:47:59 +0100

    libwifi: mtk: implement radio info api

Base directory -> /
 libwifi/modules/mtk.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++
 libwifi/modules/mtk.h | 57 ++++++++++++++++++++++++++++++++++--
 libwifi/wifi.h        | 35 ++++++++--------------
 3 files changed, 148 insertions(+), 25 deletions(-)
-------------------------------------------------------------------------------
commit 8e66b90aeadf95dd69dfc7e067e06073039e87c0
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-22 16:45:41 +0100

    libwifi: add radio diagnostic struct

Base directory -> /
 libwifi/modules/mtk.c |  9 +++++++++
 libwifi/modules/mtk.h | 14 ++++++++++++++
 libwifi/wifi.h        | 18 +++++++++++-------
 3 files changed, 34 insertions(+), 7 deletions(-)
-------------------------------------------------------------------------------
2019-12-10 16:19:00 +01:00
Anjan Chanda
052823c0fd Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* 4b876cc show basic and supported rates in radio status
* aad1a26 add radio info details including diagnostics
-------------------------------------------------------------------------------
commit 4b876ccabc1df73202bfb165b35fd6464ed019aa
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-25 16:54:49 +0100

    show basic and supported rates in radio status

Base directory -> /
 wifimngr.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit aad1a26637b7a1429022d172af43847b2d28ae1c
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-24 19:54:31 +0100

    add radio info details including diagnostics

Base directory -> /
 wifimngr.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 74 insertions(+), 16 deletions(-)
-------------------------------------------------------------------------------
2019-12-10 16:19:00 +01:00
Yalu Zhang
e5f389aab6 Change line/channel names from tapi/1 and tapi/2 to tapi/0 and tapi1
Unsupported lines/channes like TAPI/[2-6], BRCM/6 are also removed.

This change has the following benefits.
- To simplify the line/channel name handling in /etc/init.d/voice_client
- To have the consistent implementation both on Intel and on Broadcom platforms

(cherry picked from commit 40c426ca09)
2019-12-10 16:19:00 +01:00
vdutta
6bf2135bbc meshcomms: Optimize meshcomms library 2019-12-10 16:19:00 +01:00
vdutta
dcc58ea25a meshcomms: Remove compile time Endianness dependency 2019-12-10 16:19:00 +01:00
Anjan Chanda
8644eb21ab Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* edaace5 libwifi: intel: fix bss utilization and sta count
-------------------------------------------------------------------------------
commit edaace5a36b0dcac66a0371b40a2bc7ed99b4119
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-14 12:24:35 +0100

    libwifi: intel: fix bss utilization and sta count

Base directory -> /
 libwifi/modules/intel.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
-------------------------------------------------------------------------------
2019-12-10 16:19:00 +01:00
vdutta
170a1f6ad8 meshcomms: Add dynamic meshcomms library 2019-12-10 16:19:00 +01:00
Anjan Chanda
362b54c642 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* d4e760c libwifi: intel: get maxassoc and hidden info in wifi_ap_info
* 703ce26 libwifi: bcm: get maxassoc and hidden info in wifi_ap_info
-------------------------------------------------------------------------------
commit d4e760c73a600749325b2cc6d5554696a6c956f8
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-11 12:25:32 +0100

    libwifi: intel: get maxassoc and hidden info in wifi_ap_info

Base directory -> /
 libwifi/modules/intel.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 703ce26a3e884937ea520c624ee27b88d0991367
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-11 11:34:53 +0100

    libwifi: bcm: get maxassoc and hidden info in wifi_ap_info

Base directory -> /
 libwifi/modules/bcm.c | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2019-12-10 16:18:26 +01:00
Jakob Olsson
d9e28aa3ca questd: print port speed when link is down #571 2019-12-10 16:18:26 +01:00
Ronny Nilsson
a942e21040 endptmngr: support parallell build. 2019-12-10 16:18:26 +01:00
Ronny Nilsson
49dd5d8e31 voice: modified dependencies again. Turns out we need both the old ones AND the new ones
Due to there are TWO dependency systems(!?). One for Kconfig and one for Make. And they
don't cooperate as good as one expects.
2019-12-10 16:18:26 +01:00
Strhuan Blomquist
86757e41a3 added RTX to licenses info 2019-12-10 16:18:26 +01:00
Strhuan Blomquist
3f86658c46 added more info to PROPRIETARY tag 2019-12-10 16:18:26 +01:00
Kenneth Johansson
7fa87aca9d genconfig: mirror var is CONFIG_LOCALMIRROR.
To get the use of the mirror to work.
2019-12-10 16:18:26 +01:00
Jakob Olsson
5259cc9edb questd: relocate locks and move dump client invokes 2019-12-10 16:18:26 +01:00
Anjan Chanda
b39000ea58 Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* 939b0ae rename 11xx_ caps to dot11xx_
* 381cd70 wifi_sta_disconnect() accepts macaddress in bytes
-------------------------------------------------------------------------------
commit 939b0ae989979a1ad1942373791fe230bc3e41ca
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-10-29 16:47:55 +0100

    rename 11xx_ caps to dot11xx_

Base directory -> /
 wifimngr.c | 144 ++++++++++++++++++-------------------------------------------
 1 file changed, 41 insertions(+), 103 deletions(-)
-------------------------------------------------------------------------------
commit 381cd70238230aa7fc56b85369f265272698165f
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-09-23 09:26:41 +0200

    wifi_sta_disconnect() accepts macaddress in bytes

Base directory -> /
 wifimngr.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
-------------------------------------------------------------------------------
2019-12-10 16:18:26 +01:00
Anjan Chanda
001d494afd Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 3ddc5af libwifi: mtk: fix cipher type in get_security
-------------------------------------------------------------------------------
commit 3ddc5af4c29e98c14424fd5d7ef15f72d31b53dc
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-07 12:01:54 +0100

    libwifi: mtk: fix cipher type in get_security

Base directory -> /
 libwifi/modules/mtk.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-12-10 16:17:53 +01:00
Sukru Senli
3befafcbc1 bbf: bump version to 1.0-2019-11-05 2019-12-10 16:17:53 +01:00
vdutta
597d866204 easy_qos: Mark packets with iptables and classcfg 2019-12-10 16:17:53 +01:00
Sukru Senli
568b6785d3 easy-qos: use prerouting chain instead of output 2019-12-10 16:17:53 +01:00
Ronny Nilsson
3a7975bd9b iopupgrade: Configuration handling has been moved into the iopu_chroot script. 2019-12-04 15:18:51 +01:00
Ronny Nilsson
e54251dc24 iopupgrade: Less error prone invoke of iopupgrade. 2019-12-04 15:14:41 +01:00
Ronny Nilsson
ec2b9e76c4 iopupgrade: minor typo 2019-12-04 15:11:20 +01:00
Ronny Nilsson
d8b65da11f iopupgrade: Make the watchdog send an alarm only if it fully times out. 2019-12-04 15:10:48 +01:00
Ronny Nilsson
3f124c31f0 iopupgrade: Minor better cleanup. 2019-12-04 15:09:14 +01:00
Ronny Nilsson
b376a0b16a iopupgrade: Kill the watchdog only if it has been started. 2019-12-04 15:07:55 +01:00
Ronny Nilsson
42c0e1ecc8 iopupgrade: Prevent cleaning twice. 2019-12-04 15:06:18 +01:00
Ronny Nilsson
cdce816fd2 iopupgrade: The variables are written as integers and thus should be read as integers. 2019-12-04 15:04:31 +01:00
Ronny Nilsson
a49951ad7e iopupgrade: The post rootfs fixup need some arguments for backward compatibility. 2019-12-04 15:01:04 +01:00
Ronny Nilsson
887cef9b37 iopupgrade: Unify indentation to either space or tab, but not intermixed. 2019-12-04 14:59:30 +01:00
Ronny Nilsson
3ccdcb4140 Double verification of the string before invoking it. 2019-12-03 15:38:58 +01:00
Ronny Nilsson
0a80afc550 iopu: pass on all command line arguments as documented in the Bash manual. 2019-12-03 15:38:04 +01:00
Ronny Nilsson
c5c4a6dcbe iopu: configuration migration is handled via iopu_chroot. Like the bootloader upgrade. 2019-12-03 13:37:41 +01:00
Ronny Nilsson
6f5e41bb76 iopu: Exit with same returncode as the program we invoke. 2019-12-03 12:15:21 +01:00
Kenneth Johansson
20937718f1 iopu: prepare for configuration handling.
for now just print that it does not exist.
add some help text.
2019-12-02 17:58:39 +01:00
Kenneth Johansson
f7b13cf973 iopu: add -c option to run any command in the newroot env.
Also fix so that it is safe to ctrl-c in all cases and not get
bind mounts hanging around.

if command has arguments make the entire command a string like.

iopu -c "cat /etc/os-release"
2019-12-02 17:35:46 +01:00
Ronny Nilsson
946b7a453c busybox: add run-parts and mountpoint, for use in future sysupgrade copy config. 2019-11-29 13:41:18 +01:00
Jonas Höglund
fcf102b9d2 Use inotify-tools from openwrt-packages 2019-11-26 14:22:57 +01:00
Jonas Höglund
6355eb4b9e Remove deleted package from config. 2019-11-26 11:18:51 +01:00
Jonas Höglund
315d7b44f9 Remove deprecated wifixd 2019-11-26 10:53:32 +01:00
Jonas Höglund
6c342e930d Fix spelling error 2019-11-26 10:40:38 +01:00
Jonas Höglund
624e67df4b There is no kmod-ipv6 2019-11-26 10:21:52 +01:00
Jonas Höglund
8f2694b035 There is no libwifix 2019-11-26 10:20:40 +01:00
Jonas Höglund
776baa7c95 There is no libdatamodel 2019-11-26 10:19:26 +01:00
Jonas Höglund
baff3cf6c7 There is no libzstream package 2019-11-26 10:12:04 +01:00
Jonas Höglund
a5e007a3b6 Add shflags for icwmp 2019-11-26 10:10:07 +01:00
Jonas Höglund
23b88839a0 Define package to fix dependency issue 2019-11-25 16:13:53 +01:00
Jonas Höglund
ddc1933862 Remove deprecated package 2019-11-25 15:57:47 +01:00
Jonas Höglund
50e836e3e7 Remove unneeded packages 2019-11-25 15:18:44 +01:00
Jonas Höglund
e3f7ad9156 Fix conditional dependancy. 2019-11-25 14:22:51 +01:00
Jonas Höglund
73d9e5a6f1 Add librpc 2019-11-22 14:46:18 +01:00
Jonas Höglund
73124c3d37 Overwrite from openwrt_core 2019-11-20 15:12:48 +01:00
Jonas Höglund
be2a34fcb4 iop: Remove base-files from default packages.
Base-files extraction is broken. Apply initial commit from existing
base-files branch and modify extract_core.sh like so:

- orphan_branch tmp
+ # orphan_branch tmp
+  git checkout $repo

Then extract base-files.
2019-11-20 11:48:30 +01:00
Jonas Höglund
a3f8d33711 iop: Update extract core for iop5 2019-11-20 10:35:17 +01:00
Jonas Höglund
a500724e17 Add libmicroxml from lede-managment 2019-11-19 10:41:24 +01:00
Jonas Höglund
ab4b8f3373 Update feed [ iopsys ] package [ libtr098 ]
-------------------------------------------------------------------------------
* 65bd1d7 Fix linker issue for iop5
-------------------------------------------------------------------------------
commit 65bd1d77eb85a2d5d3d55e5c68abd38268b89ec8
Author: Jonas Höglund <jonas.hoglund@embeddednation.com>
Date: 2019-11-14 15:13:16 +0100

    Fix linker issue for iop5

Base directory -> /
 tr098/wandevice.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2019-11-14 15:15:19 +01:00
Jonas Höglund
bc0452e56d Update feed [ iopsys ] package [ icwmp ]
-------------------------------------------------------------------------------
* 9cfbfa9 Resolve linker problem in iop5
-------------------------------------------------------------------------------
commit 9cfbfa9a381d372643fe18f8c258779bed3ee3bd
Author: Jonas Höglund <jonas.hoglund@embeddednation.com>
Date: 2019-11-14 14:50:44 +0100

    Resolve linker problem in iop5

Base directory -> /
 event.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-11-14 14:50:58 +01:00
Anjan Chanda
da92efc708 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 63f749f libwifi: intel: populate fields in ap info
* 61ab677 libwifi: intel: implement add/del vendor ie
* b9026d6 libwifi: intel: implement monitor sta
-------------------------------------------------------------------------------
commit 63f749faa67670229a5cbaf39ee0fef92d8276f3
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-04 14:48:49 +0100

    libwifi: intel: populate fields in ap info

Base directory -> /
 libwifi/modules/intel.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 61ab677a480f2bc87e117c720d1ae32ff91b665e
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-10-10 15:06:43 +0200

    libwifi: intel: implement add/del vendor ie

Base directory -> /
 libwifi/modules/intel.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
-------------------------------------------------------------------------------
commit b9026d620fba8df6f886dbb938383e1662f40ae5
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-10-09 15:02:21 +0200

    libwifi: intel: implement monitor sta

Base directory -> /
 libwifi/modules/intel.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 72 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
2019-11-04 15:18:19 +01:00
Anjan Chanda
ba98d3e7aa Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 878ad93 agent: do not trigger scan when ssid is blank
* 0172e3e Add LICENSE
* 2884e00 cppcheck: add 'check' target in Makefile
-------------------------------------------------------------------------------
commit 878ad93c0f1ad49bd187f776808e0b86402b2238
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-11-04 14:43:09 +0100

    agent: do not trigger scan when ssid is blank

Base directory -> /
 src/agent/agent.c | 67 ++++++++++++++++++++++++++++++-------------------------
 1 file changed, 37 insertions(+), 30 deletions(-)
-------------------------------------------------------------------------------
commit 0172e3e0ae6872f5568b02a820b0583f6d3b93af
Author: Strhuan Blomquist <strhuan@iopsys.eu>
Date: 2019-10-31 10:31:27 +0100

    Add LICENSE

Base directory -> /
 LICENSE | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
-------------------------------------------------------------------------------
commit 2884e003560880aec1b7264db8a653d718aaa047
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-10-29 16:33:02 +0100

    cppcheck: add 'check' target in Makefile

Base directory -> /
 src/Makefile           | 14 ++++++++++++++
 src/agent/agent.c      | 14 +++++++-------
 src/controller/cntlr.c |  6 +++++-
 src/utils/alloctrace.c |  4 ++--
 4 files changed, 28 insertions(+), 10 deletions(-)
-------------------------------------------------------------------------------
2019-11-04 15:16:02 +01:00
Reidar Cederqvist
019a02fa7f asterisk: fix No call logs for internal calls
Remove the check of sip user so that the internal call can be parsed as call log.
2019-11-04 10:26:02 +01:00
Amin Ben Ramdhane
42d496107e bbf: 1.0-2019-11-02 2019-11-02 12:23:19 +01:00
vdutta
549378ecbd uspd: Updated readme document 2019-11-01 19:19:19 +05:30
vdutta
c0bef6ce70 meshcomms: Add lan in interface list 2019-11-01 17:26:09 +05:30
vdutta
97853638bf meshcomms: Broadcast received CMDUs as ubus event
Description:
 - Broadcast event format
   `{"address": "String", "version":Integer, "type":Integer, "mid":Integer, "relay":Integer, "data":"String"}`
 - Example event
 `{ "meshcomms": {"address":"34:e3:80:76:01:21","version":0,"type":2,"mid":24104,"relay":0,"data":"000000025e280080000000"} }`
 - Address in broadcast event is the received macaddress of CMDU
2019-11-01 15:16:20 +05:30
yyashvardhan
a968641bd1 ieee1905: Broadcast meshcomms event on ieee1905.event 2019-11-01 13:52:06 +05:30
Strhuan Blomquist
e7c8c56819 added licenses tag in the right place 2019-10-31 16:35:42 +01:00
Strhuan Blomquist
f4b1bf345c Update Makefile 2019-10-31 10:57:05 +01:00
Strhuan Blomquist
6d212ecea3 Updated packages in iopsys feeds to have licenses info 2019-10-31 10:34:16 +01:00
yyashvardhan
444a5a0c82 ieee1905: Added package dependencies 2019-10-31 12:48:36 +05:30
yyashvardhan
b2fce09a7f ieee1905: Added new package 2019-10-31 12:34:45 +05:30
Strhuan Blomquist
6fe9ad271e libpicoevent:added licenses info. 2019-10-30 16:36:50 +01:00
Ronny Nilsson
7677e51aeb Endptmngr: rework dependencies of the Broadcom kernel
Due to OpenWRT tries to be smart with them, but fails.
2019-10-30 15:20:51 +01:00
Strhuan Blomquist
9724913f14 iop: added option to create a license report after a build 2019-10-30 13:49:46 +01:00
vdutta
99925c9360 meshcomms: Added Package 2019-10-30 17:25:16 +05:30
Ronny Nilsson
621ca1c23a icwmp: clean a recursive make dependency. 2019-10-30 11:05:01 +01:00
vdutta
316e7d1d47 uspd: Fixed signedness related warnings 2019-10-30 12:54:13 +05:30
Ronny Nilsson
8ebe2c7f5a ated: Convert improper C-comments to Make-comments. 2019-10-29 17:30:07 +01:00
Ronny Nilsson
0b4be48bf3 voice applications: add build dependency of generic voice support. 2019-10-29 16:31:56 +01:00
Ronny Nilsson
f680ff2229 Dect: add build dependency for the endptmngr application which is needed in runtime. 2019-10-29 16:31:56 +01:00
Sachin Singla
60034eab91 ifbt: fix issue when key name is same 2019-10-29 14:59:32 +01:00
vdutta
6d539c17a7 obuspa: Fix output of async command for Controller 2019-10-22 19:48:24 +05:30
Anjan Chanda
2c06bbeaf0 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* daa3db5 cppcheck: fix errors and important warnings
* 339f2ee README: update for new wifilife config
-------------------------------------------------------------------------------
commit daa3db5baf7336a4ddd6fa57af944e2fd131396b
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-10-21 15:56:56 +0200

    cppcheck: fix errors and important warnings

Base directory -> /
 src/agent/agent.c                | 26 ++++++++++++++++++++------
 src/controller/cntlr.c           | 10 +++++-----
 src/controller/cntlr_comm_ubus.c |  6 ++++--
 src/utils/utils.c                |  2 +-
 4 files changed, 30 insertions(+), 14 deletions(-)
-------------------------------------------------------------------------------
commit 339f2eefe9117eac3d20c7e1b86c7540cefedacf
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-10-21 09:49:08 +0200

    README: update for new wifilife config

Base directory -> /
 README.md | 269 ++++++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 193 insertions(+), 76 deletions(-)
-------------------------------------------------------------------------------
2019-10-22 10:39:15 +02:00
Suru Dissanaike
d36147601b wifilife: remove -Og optimization 2019-10-18 09:20:05 +02:00
Suru Dissanaike
cb3c2d4b0e json-editor: update copyright 2019-10-18 09:02:30 +02:00
Jakob Olsson
e11950b9a1 json-editor: add pkg to simulate javascript style json api 2019-10-18 08:57:42 +02:00
Amin Ben Ramdhane
901c2df5cf bbf: 1.0-2019-10-17 2019-10-17 16:11:15 +01:00
Amin Ben Ramdhane
504621b64b icwmp: 4.0-2019-10-17 2019-10-17 16:08:51 +01:00
Amin Ben Ramdhane
916ac0eea7 Add json folder under /etc/bbfdm/ 2019-10-17 16:03:23 +01:00
yyashvardhan
d7859ebe06 obuspa: Registered some more datamodel nodes 2019-10-17 17:55:36 +05:30
vdutta
c96e9c170a obuspa: Rebase with v2.0.0
Description:
 - Rebase with obuspa v2.0.0
 - Added more configurable options in obuspa uci
 - Optimized default db generation from uci
 - moved interface from connection to global obuspa context in uci
2019-10-16 17:10:43 +05:30
Reidar Cederqvist
9cb726d649 voice-client: do not overwrite tx/rx gain 2019-10-16 09:44:33 +02:00
Reidar Cederqvist
c3bb2895dc Endptmngr: unset patch_dir for open builds
to avoid patching the binaries downloaded when building open builds
2019-10-15 16:24:45 +02:00
Ronny Nilsson
f9f19d1e0c add workaround for EG400 endpt status call
fix for the GUI when board-profile has dect but
dect card is unpopulated
2019-10-15 14:16:23 +02:00
Strhuan Blomquist
df03c86b1d buildsystem iop:add support to generate CVE reports to iop 2019-10-15 09:54:18 +02:00
Jakob Olsson
72aba70aaf wifilife: poll for wifimngr status till success 2019-10-15 09:47:35 +02:00
Jakob Olsson
09e20e451a owsd: allow ubus.object.* events if access specified to affected obj in acl #267 2019-10-14 12:38:16 +02:00
Jakob Olsson
743a9fb0ac wifilife: get mobid & oui on new proxy obj 2019-10-11 15:50:45 +02:00
vdutta
605d816076 uspd: Added support for add/delete of objects 2019-10-10 18:50:30 +05:30
vdutta
7319e7d6aa obuspa: Add support for add/delete of objects 2019-10-10 18:49:43 +05:30
Anjan Chanda
e89954c0c0 easy-soc-libs: libwifi: implement 11k and 11v apis for intel wifi 2019-10-09 10:52:53 +02:00
Jakob Olsson
dcc6644b6e questd: on intel always explicitly show port speed when not 1000mbps autoneg #571 2019-10-08 14:56:31 +02:00
Anjan Chanda
26a5a54673 wifilife: meld misc bugfixes and cleanups from 4.3 2019-10-04 15:03:38 +02:00
Anjan Chanda
a5d00e28d6 easy-soc-libs: libwifi: remove nbr_header from struct nbr 2019-10-04 14:35:16 +02:00
yyashvardhan
d5ab22bcbf obuspa: Added support for IP Diagnostic commands 2019-10-04 16:06:08 +05:30
Amin Ben Ramdhane
31f5f9b017 bbf: 1.0-2019-10-01 2019-10-01 14:33:20 +01:00
Amin Ben Ramdhane
055489fb21 icwmp: 4.0-2019-10-01 2019-10-01 14:31:05 +01:00
Omar Kallel
3b09d142d9 icwmp: firmware and vendor config download logging 2019-09-30 17:12:09 +01:00
Sukru Senli
96909bca38 icwmp: enable tr-181 support by default 2019-09-27 12:03:57 +02:00
Omar Kallel
31b38d98ec Generate two icwmp binaries: icwmpd & icwmp_tr098d 2019-09-27 09:14:10 +01:00
Sukru Senli
f18405e303 tr098: use https url 2019-09-27 10:00:45 +02:00
vdutta
6973cf5f63 obuspa: Change default interface to wan 2019-09-26 19:32:31 +05:30
vdutta
b9c5aaa012 uspd: Fix uspd freeze issue on empty input 2019-09-26 19:27:47 +05:30
vdutta
a4c5bde955 obuspa: Add obuspa interface support in uci 2019-09-26 19:04:54 +05:30
Amin Ben Ramdhane
66ed795149 icwmp+bbf: add TR157 Bulkdata 2019-09-25 17:20:30 +01:00
Omar Kallel
9268a2960e Add tr098 package 2019-09-25 16:29:33 +01:00
vdutta
ee9f652942 uspd: Align with libbbfdm 2019-09-25 17:46:11 +05:30
Omar Kallel
100b91d3d5 icwmp: add TR098 includes 2019-09-25 12:07:57 +01:00
vdutta
e58a80228d uspd: Updated dependency to libbbfdm 2019-09-25 09:48:43 +05:30
Sukru Senli
9f21e1568a easy-soc-libs: libdsl depends on kmod-ppa-drv for intel_mips target 2019-09-24 19:04:55 +02:00
Sukru Senli
71f340a122 bbf: change pkg build dir 2019-09-24 17:18:55 +02:00
Sukru Senli
6d9ecd06bf iop: select easy-qos by default 2019-09-24 15:34:28 +02:00
Sukru Senli
3e8e332696 easy-qos: depend on intel_mips or brcm63xx targets 2019-09-24 15:33:51 +02:00
Sukru Senli
414f3b72cd iop: config: select uspd and obuspa by default 2019-09-24 15:06:18 +02:00
Sukru Senli
575793bd53 obuspa: update to commit hash with controller support 2019-09-24 14:56:44 +02:00
Amin Ben Ramdhane
625caee84e icwmp: add the icwmpd folder to save the backup files on it 2019-09-23 18:52:45 +01:00
Yalu Zhang
eb7e99ea18 easy-soc-libs: libdsl: Add HEC counters in showtime period statistics for Broadcom platform 2019-09-23 16:52:18 +02:00
Anjan Chanda
b50516bc99 rename wifimngr.deprecated -> wifixd 2019-09-23 10:42:58 +02:00
Sukru Senli
819d0afed8 bbk_cli: initial package 2019-09-21 14:12:35 +02:00
Sukru Senli
8467c584cb gigaset-elements: remove obselete package 2019-09-21 14:07:10 +02:00
Sukru Senli
7cf77df7e5 change opensdk tarball path 2019-09-21 13:20:29 +02:00
Sukru Senli
edb29ae7a7 ifsi: remove obselete package 2019-09-21 13:19:23 +02:00
ke hu
2cb1b84329 ICWMP: generate symlink for certificate on startup refs #15952
after the software is upgraded a new symlink needs to be created'
to the certificate that ICWMP uses for encrypted traffic
2019-09-20 14:37:58 +02:00
Yalu Zhang
b3755be235 easy-soc-libs: libdsl: Fix bug #1094: Broadcom: dsl* objects incorrect data 2019-09-19 16:00:01 +02:00
Anjan Chanda
6fd4d4a461 easy-soc-libs: libwifi: update few bcm apis 2019-09-19 15:05:30 +02:00
Kenneth Johansson
b16525aa3b iopu: fix help printout.
getopts string missed the "h"
2019-09-19 12:29:49 +02:00
Anjan Chanda
d6d609ae30 wifilife-2.5.0 2019-09-19 11:10:49 +02:00
Anjan Chanda
89d19b3904 wifimngr-2.4.0 2019-09-19 10:59:31 +02:00
Anjan Chanda
5206bb33d1 easy-soc-libs: update package to 2.4.0 2019-09-19 10:55:36 +02:00
Amin Ben Ramdhane
4933b63783 icwmp-4.0-2019-09-15 + bbf-1.0-2019-09-18 2019-09-18 13:50:14 +01:00
vdutta
c408f954d3 obuspa: Added Wan interface env variable in init.d script 2019-09-18 14:41:09 +05:30
Sukru Senli
66ff95a2b0 iop: remove ice-client from open tarball generation 2019-09-12 15:02:26 +02:00
Sukru Senli
8526a8d2de ice-client: remove package 2019-09-09 16:31:30 +02:00
Yalu Zhang
7bec58715e Update brcm.conf.TEMPLATE in package voice-client
Add one config param "hold_target_before_refer" controlling whether the transferor puts
the transfer target on-hold before sending REFER.

(cherry picked from commit 25e6850872)
2019-09-09 16:24:07 +02:00
Anjan Chanda
ac1153e9bb wifilife: update package to 2.4.4 2019-09-06 14:42:51 +02:00
Amin Ben Ramdhane
663a785048 bbf-1.0-2019-09-06 2019-09-06 10:37:15 +01:00
Strhuan Blomquist
e6aa002493 picolisp:opkg license tags 2019-09-05 16:58:27 +02:00
Strhuan Blomquist
df39d6948c peripheral_manager:added license info to makefile 2019-09-05 16:48:31 +02:00
Strhuan Blomquist
e1f420ef99 peripherial_manager: aded opkg links 2019-09-05 16:47:37 +02:00
Strhuan Blomquist
f55913599a paho-mqtt:added opkg licences tag 2019-09-05 16:43:22 +02:00
Strhuan Blomquist
d35680fb5d owsd:Added opkg LICENSE tag 2019-09-05 16:14:51 +02:00
Strhuan Blomquist
cbcd6876ff Update obuspa/Makefile 2019-09-05 16:05:51 +02:00
Strhuan Blomquist
5dd670bd2e obuspa:Added opkg licenses definition 2019-09-05 16:03:00 +02:00
Strhuan Blomquist
20daaf0f46 netmode:added license info to makefile also opkg declarations 2019-09-05 16:00:03 +02:00
Strhuan Blomquist
2ebb6d0930 ndt:Added Copyright tag for opkg 2019-09-05 15:54:07 +02:00
Jakob Olsson
ca4e0b2997 peripheral_manager: updated start order from 19 to 12 2019-09-05 15:37:18 +02:00
Strhuan Blomquist
1e4f3b47cb ndisc: Added opkg licenses tag 2019-09-05 15:34:44 +02:00
Strhuan Blomquist
66964d0ebc natalie-dect-h:Added opkg licences tag 2019-09-05 15:32:54 +02:00
Strhuan Blomquist
005ed196d5 natalie-dect:updated licenses info for opkg 2019-09-05 15:24:23 +02:00
Strhuan Blomquist
07eacc8fb4 multiwan:added opkg license info 2019-09-05 15:20:40 +02:00
Strhuan Blomquist
b97d527d07 lqt-nand:added opkg licences hooks 2019-09-05 15:15:58 +02:00
Strhuan Blomquist
0055fc9150 loopdetector:Update Makefile for license also added opkg hooks 2019-09-05 15:13:56 +02:00
Strhuan Blomquist
285c541f08 logrotate:Added opkg licence hooks 2019-09-05 15:11:56 +02:00
Strhuan Blomquist
dfee9563e0 lmbench: added opkg licences hooks 2019-09-05 15:10:16 +02:00
Strhuan Blomquist
a6525fd8f4 libtrace: Make file update with opkg hooks 2019-09-05 15:08:13 +02:00
Strhuan Blomquist
c62e301431 libwjt:added opkg licenses tag 2019-09-05 14:30:02 +02:00
Strhuan Blomquist
89cb5e1b25 iwatchdog:updated copyright and added opkgs data plus changed name to iopsys 2019-09-05 14:20:08 +02:00
Strhuan Blomquist
faac31760d iopupgrade:added copyright headers and opkg markers 2019-09-05 14:09:26 +02:00
Strhuan Blomquist
c775b02470 iop:added copywrite 2019-09-05 14:07:11 +02:00
Strhuan Blomquist
1d83535e85 inotify:added opkg marker so that opkg databases has license info 2019-09-05 14:04:41 +02:00
Strhuan Blomquist
34035e3e01 inbd:added tags to make file for opkg database 2019-09-05 14:02:21 +02:00
Strhuan Blomquist
193719d4a9 imonitor: added opkg marker for licences 2019-09-05 13:59:07 +02:00
Strhuan Blomquist
7b65761c4b ifsi:Added Copywrite to make file and updated opkg database 2019-09-05 13:56:17 +02:00
Strhuan Blomquist
c19b8f618d ifbt:added licence tag for opkg 2019-09-05 13:53:51 +02:00
Yalu Zhang
484e9a8789 Add one configuration parameter, hold_target_before_refer
This is used to control if the transferor puts the transfer target on-hold before sending REFER

(cherry picked from commit 158360fb0f)
2019-09-05 11:56:43 +02:00
Strhuan Blomquist
08be96216a icwmp:Update Makefile License and add opkg database tags 2019-09-05 11:52:02 +02:00
Strhuan Blomquist
1d2203e1c3 icgroupd: Change license from Inteno to iopsys 2019-09-05 11:44:12 +02:00
Jakob Olsson
86ca6b3835 wifimngr.deprecated: update pkg to include wifix status updates 2019-09-05 11:15:39 +02:00
Jakob Olsson
4b37729c45 easy-soc-libs.deprecated: update pkg to include wifi_ap_get_stats 2019-09-05 11:13:15 +02:00
Strhuan Blomquist
6f6d09ac3d gryphon-led:changed licenses tag so that it reflects the package real licences 2019-09-05 10:43:31 +02:00
Strhuan Blomquist
85a4b5b163 fatrace: Changed licences to correct license file and update opkg database 2019-09-05 10:32:51 +02:00
yyashvardhan
9389b60a2a uspd:libbbfdm integration 2019-09-04 21:05:27 +05:30
Strhuan Blomquist
ac364ff42d easy-soc-libs:Update to Makefile for licence tags 2019-09-04 17:03:53 +02:00
Strhuan Blomquist
f8f54a79ff easy-qos:Added licence info to makefile and opkg 2019-09-04 16:58:15 +02:00
Strhuan Blomquist
b285dc2746 dectmngr2: added opkg licences tags to Makefile 2019-09-04 16:56:04 +02:00
Strhuan Blomquist
d3a3b2cb7f dectmngr/dslmanager update Makefile add licence 2019-09-04 16:55:01 +02:00
Strhuan Blomquist
623071bfb3 crashlog:Update Makefile with new license info and opkg database 2019-09-04 16:23:24 +02:00
Strhuan Blomquist
c67f2f0212 catv:adding licence info to make file and opkg 2019-09-04 16:21:37 +02:00
Strhuan Blomquist
7bf30f7332 endpntmngr:Fixed Messed up makefile with c style comment notation 2019-09-04 16:19:25 +02:00
Strhuan Blomquist
f3d98c64e9 bachdb:update Makefile with licence info 2019-09-04 16:13:15 +02:00
Strhuan Blomquist
04453ff6fd bootchart2: Makefile added licence 2019-09-04 16:12:34 +02:00
Strhuan Blomquist
16a97216ab bbf:update Makefile with licence info for opkg 2019-09-04 16:06:49 +02:00
Strhuan Blomquist
3e413b9276 bashdb: added licence tags for opkg 2019-09-04 16:03:30 +02:00
Amin Ben Ramdhane
5de11e18af bbf-1.0-2019-09-03 2019-09-03 15:41:26 +01:00
Strhuan Blomquist
9fdc173034 ated: Updated Licence and added opkg tags for licence 2019-09-03 16:06:15 +02:00
Strhuan Blomquist
6b147af435 Cleaned up makefile 2019-09-03 16:04:29 +02:00
Strhuan Blomquist
cd7bff0998 endptmnggr: updated Licence and added opkg tags for licence 2019-09-03 15:52:33 +02:00
Strhuan Blomquist
eca9e3208f Added Licence tag to make file so that opkg databases has licenses info 2019-09-03 10:28:57 +02:00
Kenneth Johansson
170cc15016 u-boot: all Intel targets except norrlands was broken. 2019-09-02 15:42:18 +02:00
vdutta
772c9641e1 easy_qos: rename parameters as per openwrt 2019-09-02 14:51:55 +05:30
Sukru Senli
7e2cc957b9 easy-qos: correct priority mapping in easyqos.classcfg 2019-08-31 10:59:24 +02:00
Sukru Senli
d51bd6a098 easy-qos: install easy_qos.classcfg only if target is intel_mips 2019-08-31 10:53:37 +02:00
Amin Ben Ramdhane
3a70037e8b bbf-1.0-2019-08-30 2019-08-30 18:49:33 +01:00
vdutta
457a56f7a0 easy-qos: All displayed in proto in case of tcp/udp
- In easy-qos gui, all is displayed as proto in case tcp/udp selected
for a rule.
2019-08-30 15:51:51 +05:30
vdutta
7a6482c873 easy-qos: Added easy_qos classification rule for Intel 2019-08-30 15:37:31 +05:30
Jakob Olsson
047e004f92 port_management: add a boot section to init.d script restarting wan
Issue with uplink LED not being brough up on boot
after earlier fix preventing restart of all
ports on every reload
2019-08-30 10:40:57 +02:00
Jakob Olsson
f9ff2b2ff3 inbd: update pkg to change start order 2019-08-30 10:27:34 +02:00
Anjan Chanda
3956bfc9bb Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* f3c54b9 libwifi: bcm: fix sta airtime fetch
-------------------------------------------------------------------------------
commit f3c54b95727d11b5f768a7e6c92b8d1c3d398e5b
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-08-27 15:52:15 +0200

    libwifi: bcm: fix sta airtime fetch

Base directory -> /
 libwifi/modules/bcm.c      | 53 ++++++++++++++++++++++++++++++++++++++++++++++
 libwifi/modules/broadcom.h | 32 ++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+)
-------------------------------------------------------------------------------
2019-08-27 16:19:26 +02:00
Amin Ben Ramdhane
1088a23e25 icwmp-4.0-2019-08-26 + bbf-1.0-2019-08-27 2019-08-27 10:43:59 +01:00
Sukru Senli
a2776279f0 voice-client: assign uci default values for sip_provider section 2019-08-23 11:37:35 +02:00
Sukru Senli
3af4857d4a rulengd: start earlier 2019-08-22 15:29:54 +02:00
Sukru Senli
48a82996c8 voice-client: firewall.sip: do not hardcode rtp ports 2019-08-21 10:07:19 +02:00
Sukru Senli
fd16e6dc81 owsd: save owsd_acl file under /tmp/owsd folder 2019-08-20 08:58:41 +02:00
Omar Kallel
859c3cb259 icwmp: Device.USB. object (fixes) 2019-08-19 13:43:46 +01:00
Omar Kallel
721b9c6ef9 icwmp: Device.USB. object 2019-08-19 13:33:51 +01:00
Jakob Olsson
d5f4e280d2 questd: update pkg to remove des key from system.info 2019-08-19 10:30:24 +02:00
Amin Ben Ramdhane
dcff8ad7f1 icwmp-4.0-2019-08-17 2019-08-17 13:56:57 +01:00
Anjan Chanda
1bb235d521 iop: config: add wifimngr.deprecated and libwifix by default 2019-08-16 20:54:16 +02:00
Anjan Chanda
2fc15825d7 questd: remove wifi.h as libwifi is not used 2019-08-16 20:02:26 +02:00
Anjan Chanda
862cf3ffa3 ifbt-0.2: use new libwifi-5.so 2019-08-16 19:55:01 +02:00
Anjan Chanda
c36e798c15 wifimngr,libwifix: packages for deprecated 'wifix' object 2019-08-16 16:32:54 +02:00
Anjan Chanda
5770660ee7 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 3451d86 link against new libwifi-5.so.*
-------------------------------------------------------------------------------
commit 3451d86000af6ce40742fc3b0b1193a2f24fb138
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-08-16 14:59:14 +0200

    link against new libwifi-5.so.*

Base directory -> /
 src/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-08-16 15:05:16 +02:00
Anjan Chanda
e21f7385fb Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* c3ecd3b libwifi: add library versioning
-------------------------------------------------------------------------------
commit c3ecd3b943e89e66875c73c34bcfdfb476fbec83
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-08-16 12:08:06 +0200

    libwifi: add library versioning

Base directory -> /
 .gitignore       |  2 +-
 libwifi/Makefile | 14 ++++++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)
-------------------------------------------------------------------------------
2019-08-16 14:43:00 +02:00
Anjan Chanda
90c56d83d8 Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* 7d65bf3 redefine wps methods and cleanup macros
* 3c7e584 use new versioned libwifi-5.so.*
-------------------------------------------------------------------------------
commit 7d65bf397b157656459e7e25228893611cf9f024
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-08-16 14:17:53 +0200

    redefine wps methods and cleanup macros

Base directory -> /
 wifimngr.c |  38 -----------
 wifimngr.h |   7 +++
 wps.c      | 209 +++++++++++++++++++++----------------------------------------
 3 files changed, 77 insertions(+), 177 deletions(-)
-------------------------------------------------------------------------------
commit 3c7e58401f06205e4283aa3cd384d2b49407f348
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-08-16 12:12:56 +0200

    use new versioned libwifi-5.so.*

Base directory -> /
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-08-16 14:42:22 +02:00
Anjan Chanda
faa4397094 easy-soc-libs: copy versioned libwifi* files 2019-08-16 12:15:38 +02:00
Jakob Olsson
3c06e57779 questd: update pkg to include intel ssid fix #1073 2019-08-16 12:08:56 +02:00
Jakob Olsson
dcaec2e717 questd: update pkg hash to include intel port up status 2019-08-16 11:26:36 +02:00
Jakob Olsson
cd097820bc port_management: pass cfg name to set_port_speed #1059 #1060 2019-08-15 11:06:40 +02:00
Anjan Chanda
e7eebce5cd Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* f7473c7 add 'mgmt' and 'diagnostic' objects
* 1f16609 update copyright info
-------------------------------------------------------------------------------
commit f7473c76195f6d92e4a85f94b1083965914a6d23
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-08-14 15:26:19 +0200

    add 'mgmt' and 'diagnostic' objects

Base directory -> /
 wifimngr.c | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 wifimngr.h |   1 +
 2 files changed, 156 insertions(+)
-------------------------------------------------------------------------------
commit 1f16609e96980df102b9a6a4152b3cb822293af0
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-08-14 14:00:33 +0200

    update copyright info

Base directory -> /
 main.c           |  6 +++---
 wifimngr.c       |  4 ++--
 wifimngr.h       | 22 ++++++++++++++++++++++
 wifimngr_event.c |  4 +++-
 4 files changed, 30 insertions(+), 6 deletions(-)
-------------------------------------------------------------------------------
2019-08-14 15:32:22 +02:00
Anjan Chanda
1549268047 wifimngr: 2.0.2 - adapt to new way of event handling 2019-08-14 12:43:25 +02:00
Anjan Chanda
fb704d7b0d easy-soc-libs: 2.0.2 - new way of event handling in libwifi 2019-08-14 12:31:23 +02:00
Jakob Olsson
b2e60d696f voice_client: prevent malicious crontab injection through dayns #1008 2019-08-14 11:12:48 +02:00
Sachin Singla
a4b6d27172 ifbt: fix build issues with mediatek and broadcom 2019-08-14 09:56:37 +02:00
Sachin Singla
c94bcdd579 ifbt: add hostapd support 2019-08-12 15:18:30 +02:00
Jakob Olsson
314d432420 owsd: update pkg and init.d to pass arguments from a json config file 2019-08-12 10:36:03 +02:00
Ronny Nilsson
01ce0fd65f dectmngr2: First steps to support Broadcom SDK 5.02L.06. 2019-08-09 16:56:53 +02:00
Ronny Nilsson
81927b8b20 peripheral-manager: Remove support for VOX since it is not in use any more. 2019-08-09 16:14:29 +02:00
Jakob Olsson
d40d5139b3 netmode: prevent path traversal in pre and post from netmode.sh #1010 2019-08-09 09:24:00 +02:00
Anjan Chanda
2c42ca1377 easy-soc-libs: change dependency for libwifi 2019-08-07 16:28:25 +02:00
Jakob Olsson
e39cbf8f5e voice_client: ringing: prevent scheduler from creating malicious cronjobs #1008 2019-08-06 10:56:29 +02:00
Anjan Chanda
0c3b6e72f6 wifilife: adapt to new libwifi and bump package version to 2.0.0 2019-08-01 13:32:11 +02:00
Anjan Chanda
60505fba27 wifimngr: use new libwifi and bump package version to 2.0.0 2019-08-01 13:28:16 +02:00
Anjan Chanda
42e5f56ecb easy-soc-libs: bump package version due to new libwifi 2019-08-01 13:21:57 +02:00
Oussama Ghorbel
b57ad750ba uboot: update package source revision
commit 819227ec4cf4f2f8f7e8d46a3bee58e329089de6
Author: Oussama Ghorbel <oussama.ghorbel@iopsys.eu>
Date:   Thu Jul 25 14:34:55 2019 +0200

    adjust brightness to Genexis recommended values
2019-07-25 14:43:17 +02:00
Oussama Ghorbel
b6b35d4584 Revert "protect u-boot by password for norrland board"
This reverts commit fc3a0f8169.
2019-07-25 14:09:35 +02:00
Oussama Ghorbel
3e52019dea gryphon-led-module: set brightness level to 15
This is requested by Genexis
2019-07-23 14:18:41 +02:00
Oussama Ghorbel
fc3a0f8169 protect u-boot by password for norrland board
b1aea2a7df protect u-boot prompt by sha256 password
860cd65bdb initialize SHA buffer size var in passwd_abort
2019-07-23 13:18:32 +02:00
yyashvardhan
0d7435a926 obuspa: More tr181 datamodel elements registered 2019-07-19 11:56:19 +05:30
Anjan Chanda
ba6a36b6f1 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* a0ec330 bcm: fix maxrate calculation
-------------------------------------------------------------------------------
commit a0ec330f74d0ef5ec6d7e61ac4079de9c93f36ab
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-07-10 12:45:53 +0200

    bcm: fix maxrate calculation

Base directory -> /
 libwifi/bcm.c | 223 ++++++++++++++++------------------------------------------
 1 file changed, 61 insertions(+), 162 deletions(-)
-------------------------------------------------------------------------------
2019-07-10 12:48:17 +02:00
yyashvardhan
ea4992c8b9 obuspa: More tr181 datamodel elements registered 2019-07-08 18:22:05 +05:30
Sukru Senli
e882dd0320 netmode: reload macoffset when changing mode 2019-07-08 12:14:24 +02:00
Sukru Senli
0822323784 netmode: remove unused omcproxy config 2019-07-08 10:18:56 +02:00
Sukru Senli
5776cee5f6 netmode: disable ubusproxy in repeater mode 2019-07-08 10:18:37 +02:00
yyashvardhan
b4c01123db obuspa: More tr181 data elements registered in obuspa 2019-07-05 11:28:11 +05:30
Sukru Senli
bcf34ec28a voice-client: adapt voice.asterisk to incoming calls ending up in call_line context 2019-07-04 20:10:15 +02:00
yyashvardhan
320a49da86 obuspa: Register tr181 datamodel elements 2019-07-04 19:02:31 +02:00
Sukru Senli
9c92e02f70 icwmp-4.0-2019-07-03 2019-07-03 13:47:42 +02:00
Amin Ben Ramdhane
5f99b07a08 icwmp-4.0-2019-06-30 2019-07-01 09:04:47 +01:00
Sukru Senli
b5878cbe60 questd: add wifix object to ubusproxy list 2019-06-29 12:20:32 +02:00
Sukru Senli
a3f87cbc04 wifilife: explicitly add wifix and wifi.' objects to ubusproxy list 2019-06-29 12:17:30 +02:00
Anjan Chanda
92a770ee3e Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* a0c58c9 bcm: free buffer in get_bss_info
-------------------------------------------------------------------------------
commit a0c58c991e3c3b2656c76d2ebfc8359f64fe2711
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-06-28 19:33:41 +0200

    bcm: free buffer in get_bss_info

Base directory -> /
 libwifi/bcm.c | 1 +
 1 file changed, 1 insertion(+)
-------------------------------------------------------------------------------
2019-06-28 20:26:56 +02:00
Anjan Chanda
2dcb3a6360 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 37d199b agent: flush neighbor copy lists after joining
-------------------------------------------------------------------------------
commit 37d199b928f444710ab1ad0538f9f40650f5608c
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-06-28 19:27:23 +0200

    agent: flush neighbor copy lists after joining

Base directory -> /
 src/agent.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-06-28 20:13:40 +02:00
Sukru Senli
abd919b06e voice-client: currently intel supports ETS only 2019-06-28 09:12:26 +02:00
Sukru Senli
08f2370477 voice-client: supported countries ubus method 2019-06-27 18:47:17 +02:00
Omar Kallel
a9415b745c icwmp datamodel: Device.WiFi object 2019-06-27 10:24:37 +01:00
Sukru Senli
01ddeaf4d7 netmode: more logs during mode switch 2019-06-27 10:47:26 +02:00
Sukru Senli
7271ea30d6 netmode: wps_enroll and wps_stop methods for repeater object 2019-06-27 10:22:52 +02:00
Jakob Olsson
43e6374c89 netmode: update pkg to include using is_ignored_option on transmitting side 2019-06-26 10:34:35 +02:00
Jakob Olsson
80dafc80ea netmode: init.d: add ignore option macaddr argument 2019-06-26 10:34:14 +02:00
Sukru Senli
85d12dec82 icwmp: hotplug script for xmpp 2019-06-25 21:59:30 +02:00
Sukru Senli
f3cf9cd7e1 netmode: update wireless configs 2019-06-25 11:37:35 +02:00
Sukru Senli
11c81b7cc0 icwmp: adapt to new uci wps option 2019-06-25 11:36:46 +02:00
Sukru Senli
3a5af746ef icwmp-4.0-2019-06-24 2019-06-25 08:52:52 +02:00
Sukru Senli
261e890771 owsd: ubusproxy with demo only certificates 2019-06-25 08:51:03 +02:00
Sukru Senli
b6fabaaec4 wifilife: router.system object is required by controller 2019-06-24 19:26:26 +02:00
Sukru Senli
c3363f01ab netmode: use generic name for uci-default script 2019-06-24 19:17:07 +02:00
Sukru Senli
6051f2bed9 questd-4.1.1 2019-06-24 19:17:04 +02:00
yyashvardhan
75fa4cd2c9 uspd: Added support for granular ubus objects 2019-06-24 19:16:58 +02:00
Sukru Senli
1254fec036 icwmp: xmpp: make use of TLS configurable 2019-06-20 17:05:34 +02:00
Sukru Senli
21f4faebee icwmp: 4.0-2019-06-20 2019-06-20 14:11:49 +02:00
Vivek Dutta
04cacf422e uspd: Support for non-pretty output with usp.raw object 2019-06-19 15:27:31 +05:30
Vivek Dutta
b051d4f1b3 obuspa: Added dependency of uspd package 2019-06-19 15:25:58 +05:30
Oussama Ghorbel
668175520c questd: fix dependency issue
Fix parallel build issue
2019-06-17 15:43:55 +02:00
Jakob Olsson
947da034bb owsd: start owsd without ubusproxy args if ubusx validation fails 2019-06-17 09:47:12 +02:00
Sukru Senli
a9b3b78a13 netmode: support for supported_boards array 2019-06-15 12:53:03 +02:00
Vivek Dutta
9af1d10122 obuspa: bbf usp agent initial integration 2019-06-14 20:14:40 +02:00
Jakob Olsson
e6cd75747f easy-soc-libs: update pkg to include snr addition for intel 2019-06-13 11:34:15 +02:00
Anjan Chanda
13def2aa05 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 90bbfa9 bcm: use 'deauthenticate' sta instead of ioctl
-------------------------------------------------------------------------------
commit 90bbfa93f1c3c472f595ed879c7c660973d37830
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-06-11 12:55:57 +0200

    bcm: use 'deauthenticate' sta instead of ioctl

Base directory -> /
 libwifi/bcm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2019-06-11 13:12:13 +02:00
Anjan Chanda
cb72509bae Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 9ee0ee4 reduce logging verbosity
-------------------------------------------------------------------------------
commit 9ee0ee4bbd8a7791bfbe13b3ce8488973f5686e7
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-06-11 12:26:30 +0200

    reduce logging verbosity

Base directory -> /
 src/agent.c         |  2 +-
 src/cntlr.c         |  2 +-
 src/default_rules.c | 15 +++++++--------
 3 files changed, 9 insertions(+), 10 deletions(-)
-------------------------------------------------------------------------------
2019-06-11 13:10:39 +02:00
Sukru Senli
f501a209f5 voice-client: default useragent without ':' in macaddr 2019-06-11 12:03:36 +02:00
Anjan Chanda
685ee1e939 Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* 9cd787d remove duplicate tx_pkts_retries in stations' dump
* 633a24f show idle time in 'stations' dump
-------------------------------------------------------------------------------
commit 9cd787def3934610ed790d75cfba3208a84fcd81
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-06-11 11:51:59 +0200

    remove duplicate tx_pkts_retries in stations' dump

Base directory -> /
 wifimngr.c | 2 --
 1 file changed, 2 deletions(-)
-------------------------------------------------------------------------------
commit 633a24f7c5a4a347af9caa0d0c7be7e452b90e15
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-06-04 10:40:20 +0200

    show idle time in 'stations' dump

Base directory -> /
 wifimngr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-06-11 11:55:56 +02:00
Anjan Chanda
a90191a6ef Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* b71a003 bcm: fix tx total and user frames' retry counts
-------------------------------------------------------------------------------
commit b71a00357eb37dd1c045cf0c4d3cd9395c18ba94
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-06-11 11:47:34 +0200

    bcm: fix tx total and user frames' retry counts

Base directory -> /
 libwifi/bcm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2019-06-11 11:54:47 +02:00
Sukru Senli
63c53a497f voice-client: fix logic in intel voicelib getSerial function 2019-06-10 19:40:41 +02:00
Oussama Ghorbel
1930d8bb89 uboot: update package source version
commit 670ad7a30f3c6871b6c8a972e19ca2dd78ea8c9b
Author: Oussama Ghorbel <oussama.ghorbel@iopsys.eu>
Date:   Mon Jun 10 16:47:22 2019 +0200

update web gui to iopsys look
2019-06-10 17:32:50 +02:00
Yalu Zhang
94ad6902f7 Re-fix Bug #705: Asterisk gives tone even if number is not configured
Remove voice_client.sip0.call_lines in the default config. So no voice lines
are bound to "Incoming Phone Lines" of any SIP accounts by default.

Reload FXS channel before chan_sip when voice configuration changes.
2019-06-10 11:43:37 +02:00
Jakob Olsson
829275bc4a wifilife: update pkg hash to initiliaze as_table 2019-06-10 11:09:38 +02:00
Sukru Senli
a7a16746f5 voice-client: some cleanup 2019-06-06 13:40:25 +02:00
Sukru Senli
dbfc56ac98 voice-client: make line indexing platform independent 2019-06-05 14:33:05 +02:00
Sukru Senli
244f439694 voice-client: update default config 2019-06-05 14:33:05 +02:00
Anjan Chanda
a76446c04b Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* be17e0c cntlr: replace AND by OR when filtering repeated mac addresses prior to disconnecting
* 05ba56f cntlr: active stalist - use generic hlist_ functions
-------------------------------------------------------------------------------
commit be17e0c7977ad2e17a4643b57a3a64f59577613b
Author: Jakob Olsson <jakob.olsson@iopsys.eu>
Date: 2019-05-28 15:31:06 +0200

    cntlr: replace AND by OR when filtering repeated mac addresses prior to
    disconnecting

Base directory -> /
 src/cntlr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 05ba56f1a2604d577d65e8e3339eade197e87a91
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-05-28 15:07:32 +0200

    cntlr: active stalist - use generic hlist_ functions

Base directory -> /
 src/Makefile     |   2 +-
 src/allsta.c     | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/allsta.h     |  31 +++++++++++++
 src/cntlr.c      |  60 +++++++++++++++---------
 src/cntlr.h      |   1 +
 src/hash_table.c | 138 -------------------------------------------------------
 src/hash_table.h |  24 ----------
 src/hlist.h      | 113 +++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 320 insertions(+), 185 deletions(-)
-------------------------------------------------------------------------------
2019-06-05 14:32:01 +02:00
407 changed files with 18616 additions and 18260 deletions

View File

@@ -1,8 +1,15 @@
#
# Copyright (C) 2016 inteno
# Copyright (C) 2019 iopsys Software Solutions AB. All rights reserved.
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# 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
@@ -20,6 +27,9 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.
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

View File

@@ -13,6 +13,9 @@ PKG_MD5SUM:=b72c17870bfab2fd791b1f6de4d79f9e
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)

19
bbf/Config_bbfdm.in Normal file
View File

@@ -0,0 +1,19 @@
if PACKAGE_libbbfdm
config LIBBBFDM_VENDOR_PREFIX
string "Vendor Prefix"
default "X_IOPSYS_EU_"
config BBF_TR181
bool "Compile with tr181 device features"
default y
config BBF_TR104
bool "Compile with tr104 voice features"
default y
config BBF_TR143
bool "Compile with tr143 diagnostics features"
default y
endif

119
bbf/Makefile Normal file
View File

@@ -0,0 +1,119 @@
#
# Copyright (C) 2019 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libbbfdm
PKG_VERSION:=3.2.7
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=ae196c54590dc343db14a70879f21ef88203c426
PKG_RELEASE=$(PKG_SOURCE_VERSION)
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:=LGPL-2.1
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/libbbf_api
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library for libbbfdm API
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
endef
define Package/libbbfdm
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library for broadband-forum data model
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libtrace +libbbf_api +libopenssl +libmbedtls
endef
define Package/libbbfdm/config
source "$(SOURCE)/Config_bbfdm.in"
endef
define Package/libbbf_api/description
Library contains the API(UCI, UBUS, JSON, CLI and Browse) of libbbfdm
endef
define Package/libbbfdm/description
Library contains the data model tree. It includes TR181, TR104 and TR143 data models
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 += -DCUSTOM_PREFIX=\\\"$(CONFIG_LIBBBFDM_VENDOR_PREFIX)\\\"
TARGET_CFLAGS += \
-D_GNU_SOURCE -D_AADJ
ifeq ($(CONFIG_BBF_TR181),y)
CONFIGURE_ARGS += \
--enable-tr181
endif
ifeq ($(CONFIG_BBF_TR104),y)
CONFIGURE_ARGS += \
--enable-tr104
endif
ifeq ($(CONFIG_BBF_TR143),y)
CONFIGURE_ARGS += \
--enable-tr143
endif
ifeq ($(CONFIG_PACKAGE_libopenssl),y)
CONFIGURE_ARGS += \
--enable-libopenssl
endif
ifeq ($(CONFIG_PACKAGE_libmbedtls),y)
CONFIGURE_ARGS += \
--enable-libmbedtls
endif
define Package/libbbf_api/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbf_api.so* $(1)/lib/
endef
define Package/libbbfdm/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.so* $(1)/lib/
$(INSTALL_DIR) $(1)/usr/share/bbfdm
$(CP) $(PKG_BUILD_DIR)/scripts/functions $(1)/usr/share/bbfdm
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
endef
define Package/libbbfdm/prerm
#!/bin/sh
rm -rf /etc/bbfdm/*
exit 0
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/libbbfdm
$(INSTALL_DIR) $(1)/usr/include/libbbf_api
$(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include/libbbfdm/
$(CP) $(PKG_BUILD_DIR)/libbbf_api/*.h $(1)/usr/include/libbbf_api/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbfdm.{a,so*} $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libbbf_api.{a,so*} $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libbbf_api))
$(eval $(call BuildPackage,libbbfdm))

42
bbk_cli/Makefile Normal file
View File

@@ -0,0 +1,42 @@
#
# Copright (C) 2018 The Internet Foundation In Sweden
#
include $(TOPDIR)/rules.mk
PKG_NAME:=bbk_cli
PKG_SOURCE_VERSION:=7b810a696c78b746185c11282bdbe3fb7f8c5d4b
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/dotse/bbk.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/bbk_cli
CATEGORY:=Utilities
DEPENDS:=+libpthread +libstdcpp
TITLE:=Bredbandskollen CLI - A bandwidth measurement tool
endef
define Package/bbk_cli/description
To measure connection speed in an environment that is missing a web browser,
for example, in a server, you can use our command line interface bbk_cli,
which is available for some of the most common operating systems.
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/src/cli CROSS_COMPILE="$(TARGET_CROSS)"
endef
define Package/bbk_cli/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/cli/cli $(1)/sbin/bbk_cli
endef
$(eval $(call BuildPackage,bbk_cli))

View File

@@ -0,0 +1,25 @@
diff --git a/src/framework/engine.h b/src/framework/engine.h
index 57a48ad..9e1bc36 100644
--- a/src/framework/engine.h
+++ b/src/framework/engine.h
@@ -10,6 +10,7 @@
#include <map>
#include <vector>
#include <string>
+#include <sys/select.h>
#include "logger.h"
diff --git a/src/framework/mk.inc b/src/framework/mk.inc
index 793e211..13275be 100644
--- a/src/framework/mk.inc
+++ b/src/framework/mk.inc
@@ -7,7 +7,7 @@ OS:=$(shell uname)
CXXFLAGS += -O2 -W -Wall -I$(DIRLEVEL)
ifeq ($(OS),Linux)
-CXX = g++
+CXX = $(CROSS_COMPILE)g++
endif
ifeq ($(OS),Darwin)

View File

@@ -18,6 +18,9 @@ PKG_SOURCE_VERSION:=3ab81137cafe25c2ca4bc3a5f322a63646f9ce8d
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/bootchart2

44
bulkdata/Makefile Executable file
View File

@@ -0,0 +1,44 @@
#
# Copyright (C) 2020 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:=bulkdata
PKG_VERSION:=1.0.0
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=utils
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
endef
define Build/Prepare
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
TARGET_CFLAGS += \
-D_GNU_SOURCE
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
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -0,0 +1,43 @@
config bulkdata 'bulkdata'
option enable '0'
#Log levels: Critical=0, Warning=1, Notice=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

@@ -0,0 +1,34 @@
#!/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
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
}
boot() {
start
}
reload_service() {
stop
start
}
service_triggers()
{
procd_add_reload_trigger bulkdata
}

23
bulkdata/src/Makefile Normal file
View File

@@ -0,0 +1,23 @@
PROG = bulkdatad
LIB = libbulkdata.so
PROG_OBJS = bulkdata.o common.o config.o http.o log.o report.o times.o buci.o
LIB_OBJS = datamodel.o
PROG_CFLAGS = $(CFLAGS) -Wall -Werror -fPIC
PROG_LDFLAGS = $(LDFLAGS) -lubus -luci -lubox -ljson-c -lcurl -lblobmsg_json -lbbfdm -lbbf_api
LIB_LDFLAGS = $(LDFLAGS) -lbbf_api
%.o: %.c
$(CC) $(PROG_CFLAGS) $(FPIC) -c -o $@ $<
all: $(PROG) $(LIB)
$(PROG): $(PROG_OBJS)
$(CC) $(PROG_CFLAGS) -o $@ $^ $(PROG_LDFLAGS)
$(LIB): $(LIB_OBJS)
$(CC) $(PROG_CFLAGS) $(LIB_LDFLAGS) -shared -o $@ $^
clean:
rm -f *.o $(PROG) $(LIB)

265
bulkdata/src/buci.c Normal file
View File

@@ -0,0 +1,265 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#include <strings.h>
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <errno.h>
#include <unistd.h>
#include <ctype.h>
#include "buci.h"
struct uci_context *uci_ctx = NULL;
int buci_init(void)
{
uci_ctx = uci_alloc_context();
if (!uci_ctx) {
return -1;
}
return 0;
}
int buci_fini(void)
{
if (uci_ctx) {
uci_free_context(uci_ctx);
}
return 0;
}
static bool buci_validate_section(const char *str)
{
if (!*str)
return false;
for (; *str; str++) {
unsigned char c = *str;
if (isalnum(c) || c == '_')
continue;
return false;
}
return true;
}
static int buci_init_ptr(struct uci_context *ctx, struct uci_ptr *ptr, char *package, char *section, char *option, char *value)
{
memset(ptr, 0, sizeof(struct uci_ptr));
/* value */
if (value) {
ptr->value = value;
}
ptr->package = package;
if (!ptr->package)
goto error;
ptr->section = section;
if (!ptr->section) {
ptr->target = UCI_TYPE_PACKAGE;
goto lastval;
}
ptr->option = option;
if (!ptr->option) {
ptr->target = UCI_TYPE_SECTION;
goto lastval;
} else {
ptr->target = UCI_TYPE_OPTION;
}
lastval:
if (ptr->section && !buci_validate_section(ptr->section))
ptr->flags |= UCI_LOOKUP_EXTENDED;
return 0;
error:
return -1;
}
struct uci_section *buci_walk_section(char *package, char *section_type, struct uci_section *prev_section)
{
struct uci_ptr ptr;
struct uci_element *e;
struct uci_section *next_section;
if (section_type == NULL) {
if (prev_section) {
e = &prev_section->e;
if (e->list.next == &prev_section->package->sections)
return NULL;
e = container_of(e->list.next, struct uci_element, list);
next_section = uci_to_section(e);
return next_section;
}
else {
if (buci_init_ptr(uci_ctx, &ptr, package, NULL, NULL, NULL)) {
return NULL;
}
if (uci_lookup_ptr(uci_ctx, &ptr, NULL, true) != UCI_OK) {
return NULL;
}
if (ptr.p->sections.next == &ptr.p->sections)
return NULL;
e = container_of(ptr.p->sections.next, struct uci_element, list);
next_section = uci_to_section(e);
return next_section;
}
}
else {
struct uci_list *ul, *shead = NULL;
if (prev_section) {
ul = &prev_section->e.list;
shead = &prev_section->package->sections;
}
else {
if (buci_init_ptr(uci_ctx, &ptr, package, NULL, NULL, NULL)) {
return NULL;
}
if (uci_lookup_ptr(uci_ctx, &ptr, NULL, true) != UCI_OK) {
return NULL;
}
ul = &ptr.p->sections;
shead = &ptr.p->sections;
}
while (ul->next != shead) {
e = container_of(ul->next, struct uci_element, list);
next_section = uci_to_section(e);
if (strcmp(next_section->type, section_type) == 0)
return next_section;
ul = ul->next;
}
return NULL;
}
return NULL;
}
void buci_print_list(struct uci_list *uh, char **val, char *delimiter)
{
struct uci_element *e;
static char buffer[512];
char *buf = buffer;
*buf = '\0';
uci_foreach_element(uh, e) {
if (*buf) {
strcat(buf, delimiter);
strcat(buf, e->name);
}
else {
strcpy(buf, e->name);
}
}
*val = buf;
}
struct uci_element *buci_lookup_list(struct uci_list *list, const char *name)
{
struct uci_element *e;
uci_foreach_element(list, e) {
if (!strcmp(e->name, name))
return e;
}
return NULL;
}
int uci_lookup_ptr_bysection(struct uci_context *ctx, struct uci_ptr *ptr, struct uci_section *section, char *option, char *value)
{
struct uci_element *e;
memset(ptr, 0, sizeof(struct uci_ptr));
ptr->package = section->package->e.name;
ptr->section = section->e.name;
ptr->option = option;
ptr->value = value;
ptr->flags |= UCI_LOOKUP_DONE;
ptr->p = section->package;
ptr->s = section;
if (ptr->option) {
e = buci_lookup_list(&ptr->s->options, ptr->option);
if (!e)
return UCI_OK;
ptr->o = uci_to_option(e);
ptr->last = e;
ptr->target = UCI_TYPE_OPTION;
}
else {
ptr->last = &ptr->s->e;
ptr->target = UCI_TYPE_SECTION;
}
ptr->flags |= UCI_LOOKUP_COMPLETE;
return UCI_OK;
}
char *buci_get_value_bysection(struct uci_section *section, char *option)
{
struct uci_ptr ptr;
char *val = "";
if (uci_lookup_ptr_bysection(uci_ctx, &ptr, section, option, NULL) != UCI_OK) {
return val;
}
if (!ptr.o)
return val;
if(ptr.o->type == UCI_TYPE_LIST) {
buci_print_list(&ptr.o->v.list, &val, " ");
return val;
}
if (ptr.o->v.string)
return ptr.o->v.string;
else
return val;
}
char *buci_get_value(char *package, char *section, char *option)
{
struct uci_ptr ptr;
char *val = "";
if (!section || !option)
return val;
if (buci_init_ptr(uci_ctx, &ptr, package, section, option, NULL)) {
return val;
}
if (uci_lookup_ptr(uci_ctx, &ptr, NULL, true) != UCI_OK) {
return val;
}
if (!ptr.o)
return val;
if(ptr.o->type == UCI_TYPE_LIST) {
buci_print_list(&ptr.o->v.list, &val, " ");
return val;
}
if (ptr.o->v.string)
return ptr.o->v.string;
else
return val;
}

31
bulkdata/src/buci.h Normal file
View File

@@ -0,0 +1,31 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#ifndef __BUCI_H
#define __BUCI_H
#include <uci.h>
int buci_init(void);
int buci_fini(void);
struct uci_section *buci_walk_section(char *package, char *section_type, struct uci_section *prev_section);
void buci_print_list(struct uci_list *uh, char **val, char *delimiter);
struct uci_element *buci_lookup_list(struct uci_list *list, const char *name);
int uci_lookup_ptr_bysection(struct uci_context *ctx, struct uci_ptr *ptr, struct uci_section *section, char *option, char *value);
char *buci_get_value_bysection(struct uci_section *section, char *option);
char *buci_get_value(char *package, char *section, char *option);
#define buci_foreach_section(package, section_type, section) \
for (section = buci_walk_section(package, section_type, NULL); \
section != NULL; \
section = buci_walk_section(package, section_type, section))
#endif //__BUCI_H

144
bulkdata/src/bulkdata.c Normal file
View File

@@ -0,0 +1,144 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
* Omar Kallel <omar.kallel@pivasoftware.com>
*/
#include <stdio.h>
#include <string.h>
#include <libubox/uloop.h>
#include "http.h"
#include "config.h"
#include "log.h"
#include "common.h"
#include "report.h"
#include "times.h"
#include "bulkdata.h"
struct bulkdata bulkdata_main = {0};
int profiles_number = 0;
void bulkdata_profile_cb(struct uloop_timeout *timeout);
int get_retry_period(int min)
{
srand(time(NULL));
return rand()%min + min;
}
static void bulkdata_run_profiles(struct bulkdata *bulkdata)
{
unsigned int next_period;
int i = 0;
for (i = 0; i < profiles_number; i++) {
bulkdata->profile[i].utimer.cb = bulkdata_profile_cb;
LIST_HEAD(failedreports);
bulkdata->profile[i].failed_reports = &failedreports;
next_period = get_next_period(bulkdata->profile[i].time_reference, bulkdata->profile[i].reporting_interval);
bulkdata_log(SINFO, "The session of profile_id %d will be start in %d sec", bulkdata->profile[i].profile_id, next_period);
uloop_timeout_set(&bulkdata->profile[i].utimer, next_period * 1000);
}
}
int http_send_report(struct profile *profile, char *report)
{
char *msg_in = NULL;
int http_code;
http_client_init(profile);
bulkdata_log(SINFO, "Send the report of profile_id %d to Bulkdata Collector", profile->profile_id);
http_code = http_send_message(profile, report, strlen(report), &msg_in);
http_client_exit();
return http_code;
}
void bulkdata_profile_cb(struct uloop_timeout *timeout)
{
struct profile *profile;
unsigned int http_code, retry_period;
char *report = NULL;
profile = container_of(timeout, struct profile, utimer);
time_t now = time(NULL);
bulkdata_log(SINFO, "New session of profile_id %d started", profile->profile_id);
if(profile->retry_count == 0 || profile->next_retry > now || !profile->http_retry_enable) //Perdiodic execution
create_encoding_bulkdata_report(profile, &report);
else
create_failed_report(profile, &report);
bulkdata_log(SDEBUG, "The content of the profile_id report %d is :\n==========\n%s\n==========\n", profile->profile_id, report);
http_code= http_send_report(profile, report);
if(http_code != 200){
if(profile->retry_count == 0 || profile->next_retry > now || !profile->http_retry_enable) { //Perdiodic execution
retry_period = get_retry_period(profile->http_retry_minimum_wait_interval);
profile->next_period = now + profile->reporting_interval;
profile->next_retry = now + retry_period;
profile->retry_count = 1;
profile->min_retry = profile->http_retry_minimum_wait_interval * 2;
if((profile->next_retry < profile->next_period) && profile->http_retry_enable) {
bulkdata_log(SINFO, "Retry session of profile_id %d in %d sec", profile->profile_id, retry_period);
uloop_timeout_set(timeout, 1000 * retry_period);
}
else {
bulkdata_log(SINFO, "Start New session of profile_id %d in %d sec", profile->profile_id, profile->reporting_interval);
uloop_timeout_set(timeout, 1000 * profile->reporting_interval);
}
} else { //Retry execution
retry_period= get_retry_period(profile->min_retry);
profile->min_retry*=2;
profile->next_retry+=retry_period;
profile->retry_count++;
if(profile->next_retry < profile->next_period) {
bulkdata_log(SINFO, "Retry session of profile_id %d in %d sec", profile->profile_id, retry_period);
uloop_timeout_set(timeout, 1000 * retry_period);
}
else {
bulkdata_log(SINFO, "Retry session of profile_id %d in %d sec", profile->profile_id, (profile->next_period-profile->next_retry+retry_period));
uloop_timeout_set(timeout, 1000 * (profile->next_period-profile->next_retry+retry_period));
}
}
if(profile->new_report){
bulkdata_add_failed_report(profile, profile->new_report);
FREE(profile->new_report);
}
FREE(report);
} else {
if(profile->retry_count == 0 || profile->next_retry > now || !profile->http_retry_enable) {
bulkdata_log(SINFO, "Start New session of profile_id %d in %d sec", profile->profile_id, profile->reporting_interval);
uloop_timeout_set(timeout, 1000 * profile->reporting_interval);
}
else {
bulkdata_log(SINFO, "Retry session of profile_id %d in %d sec", profile->profile_id, (profile->next_period-profile->next_retry));
uloop_timeout_set(timeout, 1000 * (profile->next_period-profile->next_retry));
}
FREE(profile->new_report);
FREE(report);
empty_failed_reports_list(profile);
profile->retry_count= 0;
}
}
int main(void)
{
struct bulkdata *bulkdata = &bulkdata_main;
if (bulkdata_config_init(bulkdata) == -1)
return -1;
bulkdata_log(SINFO, "Start bulkdatad daemon");
uloop_init();
bulkdata_run_profiles(bulkdata);
uloop_run();
uloop_done();
bulkdata_config_fini(bulkdata);
bulkdata_log(SINFO, "Stop bulkdatad daemon");
return 0;
}

18
bulkdata/src/bulkdata.h Normal file
View File

@@ -0,0 +1,18 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#ifndef __BULKDATA_H
#define __BULKDATA_H
extern struct bulkdata bulkdata_main;
extern int profiles_number;
#endif /* __BULKDATA_H */

105
bulkdata/src/bulkdata.md Normal file
View File

@@ -0,0 +1,105 @@
# README #
bulkdatad is an implementation of The HTTP bulk data collection mechanism which is an extended feature of CPE and other agents implementing TR-069(CWMP) or TR-369(USP), defined by the Broadband Forum. It provides a means by which an Auto-Configuration Server (ACS), or USP Controller, can configure an agent to periodically send a JSON or CSV formatted set of Device information to an HTTP server running a data collection application.
## Configuration File ##
The bulkdatad UCI configuration is located in **'/etc/config/bulkdata'**, and contains 4 sections: **bulkdata**, **profile**, **profile\_parameter** and **profile\_http\_request\_uri\_parameter**.
```
config bulkdata 'bulkdata'
option enable '0'
option log_level '3'
config profile
option profile_id '1'
option enable '0'
option csv_encoding_row_time_stamp 'unix'
option json_encoding_report_time_stamp 'unix'
option http_retry_minimum_wait_interval '5'
option http_retry_interval_multiplier '2000'
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 ''
```
### bulkdata section ###
It defines **bulkdata configuration**: enable and log\_level.
| Name | Type | Description |
| ----------- | ------- | ----------------------------------------------------------------------------------------------- |
| `enable` | boolean | Enables the BulkData feature if set to **1**. |
| `log_level` | integer | Specifies the log type to use, by default **'INFO'**. The possible types are **'EMERG', 'ALERT', 'CRITIC' ,'ERROR', 'WARNING', 'NOTICE', 'INFO' and 'DEBUG'**. |
### profile section ###
It defines **the profile section configuration**: enable, name,... The possible options for **profile** section are listed below:
| Name | Type | Description |
| ---------------------------------- | ------- | ---------------------------------------------- |
| `profile_id` | integer | The profile id to use. |
| `enable` | boolean | If set to **1**, enables the bulkdata profile. |
| `name` | string | The name of the profile. |
| `nbre_of_retained_failed_reports` | integer | The number of failed reports to be retained and transmitted at the end of the current reporting interval. |
| `protocol` | string | The protocol used for the collection profile. |
| `encoding_type` | string | The encoding type used for the collection profile. |
| `reporting_interval` | integer | The reporting interval in seconds. |
| `time_reference` | integer | The time reference to determine when the profile will be transmitted to the ACS collector. |
| `csv_encoding_field_separator` | string | The field separator to use when encoding CSV data. |
| `csv_encoding_row_separator` | string | The row separator to use when encoding CSV data. |
| `csv_encoding_escape_character` | string | The escape character to use when encoding CSV data. |
| `csv_encoding_report_format` | string | Describes how reports will be formatted. Two possible formats are supported: **'ParameterPerRow' and 'ParameterPerColumn'**. |
| `csv_encoding_row_time_stamp` | string | The format of the timestamp to use for data inserted into the row. The row time stamp supported are **'Unix-Epoch', 'ISO-8601' and 'None'**. |
| `json_encoding_report_format` | string | Describes the report format. The supported report formats are **'ObjectHierarchy' and 'NameValuePair'**. |
| `json_encoding_report_time_stamp` | string | The format of the timestamp to use for the JSON Object named "CollectionTime". The supported timestamp are **'Unix-Epoch', 'ISO-8601' and 'None'**. |
| `http_url` | string | The URL of the collection server. |
| `http_username` | string | The username of the collection server. |
| `http_password` | string | The password of the collection server. |
| `http_compression` | string | The HTTP Compression mechanism used by the collection server. The supported compression mechanism are **'GZIP', 'Compress' and 'Deflate'**. |
| `http_method` | string | The HTTP method used by the collection server. Two methods are supported: **'POST' and 'PUT'**. |
| `http_use_date_header` | boolean | If set to **1**, the CPE encodes the HTTP Date Header. |
| `http_retry_enable` | boolean | If set to **1**, the CPE retries unsuccessful attempts to transfer data. |
| `http_retry_minimum_wait_interval` | integer | The data transfer retry wait interval. |
| `http_retry_interval_multiplier` | integer | The retry interval multiplier. |
| `http_persist_across_reboot` | boolean | If set to **1**, failed data transfers must be persisted across reboots. |
### profile_parameter section ###
It defines **the profile\_parameter section configuration**: profile\_id, name, reference.
| Name | Type | Description |
| ------------ | ------- | --------------------------------------- |
| `profile_id` | integer | The id of the used profile. |
| `name` | string | The name of the profile parameter. |
| `reference` | string | The reference of the profile parameter. |
### profile_http_request_uri_parameter section ###
It defines **the profile\_http\_request\_uri\_parameter section configuration**: profile\_id, name, reference.
| Name | Type | Description |
| ------------ | ------- | --------------------------------------- |
| `profile_id` | integer | The id of the used profile. |
| `name` | string | The name of the Request-URI parameter. |
| `reference` | string | The reference of the profile parameter. |
## Dependencies ##
To successfully build bulkdatad, the following libraries are needed:
| Dependency | Link | License |
| ----------- | ------------------------------------------- | -------------- |
| libuci | https://git.openwrt.org/project/uci.git | LGPL 2.1 |
| libubox | https://git.openwrt.org/project/libubox.git | BSD |
| libjson-c | https://s3.amazonaws.com/json-c_releases | MIT |
| libcurl | https://dl.uxnr.de/mirror/curl | MIT |
| libbbfdm | https://dev.iopsys.eu/iopsys/bbf.git | LGPL 2.1 |

450
bulkdata/src/common.c Normal file
View File

@@ -0,0 +1,450 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
* Omar Kallel <omar.kallel@pivasoftware.com>
*/
#include "common.h"
static pathnode *head = NULL;
static pathnode *temphead = NULL;
int bulkdata_dm_ctx_init(struct dmctx *ctx)
{
struct bulkdata *bulkdata = &bulkdata_main;
dm_ctx_init(ctx, bulkdata->instance_mode);
return 0;
}
int bulkdata_dm_ctx_clean(struct dmctx *ctx)
{
dm_ctx_clean(ctx);
return 0;
}
static char **str_split(const char* str, const char* delim, size_t* numtokens)
{
char *s = strdup(str);
size_t tokens_alloc = 1;
size_t tokens_used = 0;
char **tokens = calloc(tokens_alloc, sizeof(char*));
char *token, *strtok_ctx;
for (token = strtok_r(s, delim, &strtok_ctx); token != NULL; token = strtok_r(NULL, delim, &strtok_ctx)) {
if (tokens_used == tokens_alloc) {
tokens_alloc *= 2;
tokens = realloc(tokens, tokens_alloc * sizeof(char*));
}
tokens[tokens_used++] = strdup(token);
}
// cleanup
if (tokens_used == 0) {
FREE(tokens);
} else {
tokens = realloc(tokens, tokens_used * sizeof(char*));
}
*numtokens = tokens_used;
FREE(s);
return tokens;
}
static bool bulkdata_match(const char *string, const char *pattern)
{
regex_t re;
if (regcomp(&re, pattern, REG_EXTENDED) != 0) return 0;
int status = regexec(&re, string, 0, NULL, 0);
regfree(&re);
if (status != 0) return false;
return true;
}
static bool is_res_required(char *str, int *start, int *len)
{
char temp_char[NAME_MAX] = {'\0'};
if (bulkdata_match(str, GLOB_CHAR)) {
int s_len = strlen(str);
int b_len = s_len, p_len = s_len;
char *star = strchr(str, '*');
if(star)
s_len = star - str;
*start = MIN(MIN(s_len, p_len), b_len);
if (*start == s_len)
*len = 1;
strncpy(temp_char, str+*start, *len);
if (bulkdata_match(temp_char, "[*+]+"))
return true;
}
*start = strlen(str);
return false;
}
static void insert(char *data, bool active)
{
pathnode *link = (pathnode*) calloc(1, sizeof(pathnode));
if(!link) {
return;
}
link->ref_path = data;
if(active) {
link->next = head;
head = link;
} else {
link->next = temphead;
temphead = link;
}
}
static void swap_heads(void)
{
pathnode *temp = head;
head = temphead;
temphead = temp;
}
static void deleteList(void)
{
pathnode *ptr = head, *temp;
while(ptr != NULL) {
temp = ptr;
free(ptr->ref_path);
if(ptr->next != NULL) {
ptr = ptr->next;
} else {
ptr = NULL;
}
free(temp);
}
head = NULL;
swap_heads();
}
void bulkdata_add_data_to_list(struct list_head *dup_list, char *name, char *value, char *type)
{
struct resultsnode *link;
link = calloc(1, sizeof(struct resultsnode));
list_add_tail(&link->list, dup_list);
link->name = strdup(name);
link->data = strdup(value);
link->type = strdup(type);
}
void bulkdata_delete_data_from_list(struct resultsnode *link)
{
list_del(&link->list);
FREE(link->name);
FREE(link->data);
FREE(link->type);
FREE(link);
}
void bulkdata_free_data_from_list(struct list_head *dup_list)
{
struct resultsnode *link;
while (dup_list->next != dup_list) {
link = list_entry(dup_list->next, struct resultsnode, list);
bulkdata_delete_data_from_list(link);
}
}
static bool bulkdata_get(int operation, char *path, struct dmctx *dm_ctx)
{
int fault = 0;
switch(operation) {
case CMD_GET_NAME:
fault = dm_entry_param_method(dm_ctx, CMD_GET_NAME, path, "true", NULL);
break;
case CMD_GET_VALUE:
fault = dm_entry_param_method(dm_ctx, CMD_GET_VALUE, path, NULL, NULL);
break;
default:
return false;
}
if (dm_ctx->list_fault_param.next != &dm_ctx->list_fault_param) {
return false;
}
if (fault) {
return false;
}
return true;
}
char *bulkdata_get_value_param(char *path)
{
struct dmctx ctx = {0};
struct dm_parameter *n;
char *value = NULL;
bulkdata_dm_ctx_init(&ctx);
if(bulkdata_get(CMD_GET_VALUE, path, &ctx)) {
list_for_each_entry(n, &ctx.list_parameter, list) {
value = strdup(n->data);
break;
}
}
bulkdata_dm_ctx_clean(&ctx);
return value;
}
void bulkdata_get_value(char *path, struct list_head *list)
{
struct dmctx ctx = {0};
struct dm_parameter *n;
bulkdata_dm_ctx_init(&ctx);
if(bulkdata_get(CMD_GET_VALUE, path, &ctx)) {
list_for_each_entry(n, &ctx.list_parameter, list) {
bulkdata_add_data_to_list(list, n->name, n->data, n->type);
}
}
bulkdata_dm_ctx_clean(&ctx);
}
bool bulkdata_get_name(char *path)
{
struct dmctx ctx = {0};
struct dm_parameter *n;
bool ret = false;
bulkdata_dm_ctx_init(&ctx);
if(bulkdata_get(CMD_GET_NAME, path, &ctx)) {
list_for_each_entry(n, &ctx.list_parameter, list) {
insert(strdup(n->name), false);
}
ret = true;
}
bulkdata_dm_ctx_clean(&ctx);
return ret;
}
static void fill_node_path(void)
{
pathnode *p=head;
while(p!=NULL) {
bulkdata_get_name(p->ref_path);
p=p->next;
}
deleteList();
}
static void bulkdata_filter_results(char *path, int start, int end)
{
int startpos = start, m_index = 0, m_len = 0;
char *pp = path + startpos;
char exp[NAME_MAX] = {'\0'};
if(start >= end) {
return;
}
if(!is_res_required(pp, &m_index, &m_len)) {
//append rest of the path to the final list
if(pp == path ) {
insert(strdup(pp), true);
return;
}
pathnode *p = head;
while(p != NULL) {
char name[NAME_MAX] = {'\0'};
strcpy(name, p->ref_path);
strcat(name, pp);
insert(strdup(name), false);
p = p->next;
}
deleteList();
return;
}
// Get the string before the match
char name[NAME_MAX]={'\0'};
strncpy(name, pp, m_index);
pathnode *p = head;
if(p == NULL) {
insert(strdup(name), false);
}
while(p != NULL) {
char ref_name[NAME_MAX] = {'\0'};
sprintf(ref_name, "%s%s", p->ref_path, name);
insert(strdup(ref_name), false);
p = p->next;
}
deleteList();
startpos += m_index;
strncpy(exp, pp+m_index, m_len);
pp = path + startpos;
fill_node_path();
startpos += 2;
bulkdata_filter_results(path, startpos, end);
}
static void bulkdata_parse_results(struct list_head *list)
{
pathnode *p = head;
while(p != NULL) {
bulkdata_get_value(p->ref_path, list);
p = p->next;
}
deleteList();
}
void bulkdata_get_value_results(char *path, struct list_head *list)
{
bulkdata_filter_results(path, 0, strlen(path));
bulkdata_parse_results(list);
}
char *create_request_url(struct profile *profile)
{
int i = 0, http_uri_number = profile->profile_http_request_uri_parameter_number;
char *value, *uri_param = NULL, *uri_tmp = NULL, *http_url = NULL;
for (i = 0; i < http_uri_number; i++)
{
if((profile->profile_http_uri_parameter[i].reference == NULL) || (profile->profile_http_uri_parameter[i].name == NULL))
continue;
value = bulkdata_get_value_param(profile->profile_http_uri_parameter[i].reference);
if(!uri_param) {
asprintf(&uri_param, "&%s=%s", profile->profile_http_uri_parameter[i].name, value);
free(value);
}
else {
uri_tmp = strdup(uri_param);
free(uri_param);
asprintf(&uri_param, "%s&%s=%s", uri_tmp, profile->profile_http_uri_parameter[i].name, value);
free(value);
free(uri_tmp);
}
}
if(uri_param) {
asprintf(&http_url, "%s%s", profile->http_url, uri_param);
free(uri_param);
} else {
asprintf(&http_url, "%s", profile->http_url);
}
return http_url;
}
char *get_bulkdata_profile_parameter_name(char *paramref, char *paramname, char *param)
{
char **paramarr, *idx1 = NULL, *idx2 = NULL, *res = NULL, *instance = NULL, *tmp = NULL, *retparam = NULL, *s = NULL;
int i, j = 0;
size_t length;
if(paramname == NULL || strlen(paramname) <= 0)
return strdup(param);
paramarr = str_split(paramref, "*", &length);
res = strdup(paramname);
for(i = 0; i < length; i++) {
if(i == length - 1)
break;
j++;
idx1 = strstr(param, paramarr[i]);
idx2 = strstr(param, paramarr[i+1]);
instance = (char*)calloc(idx2 - idx1 - strlen(paramarr[i]) + 1, sizeof(char));
memcpy(instance, idx1 + strlen(paramarr[i]), idx2 - idx1 - strlen(paramarr[i]));
tmp = strdup(res);
FREE(res);
asprintf(&res, "%s.%s", tmp, instance);
FREE(tmp);
FREE(instance);
}
if ((s = strstr(param,paramarr[j]) ) != NULL && strlen(s) == strlen(paramarr[j]))
asprintf(&retparam, "%s", res);
else
asprintf(&retparam, "%s.%s", res, strstr(param, paramarr[j]) + strlen(paramarr[j]));
FREE(res);
for(int k = 0; k < length; k++)
FREE(paramarr[k]);
FREE(paramarr);
return retparam;
}
void append_string_to_string(char *strappend, char **target)
{
char *tmp = NULL;
if(strappend == NULL || strlen(strappend) <= 0)
return;
if(*target == NULL || strlen(*target) <= 0) {
*target = strdup(strappend);
return;
} else {
tmp = strdup(*target);
FREE(*target);
}
asprintf(target, "%s%s", tmp, strappend);
FREE(tmp);
}
void bulkdata_add_failed_report(struct profile *profile, char *freport)
{
struct failed_reports *report, *retreport, *rtmp;
if(profile->nbre_failed_reports < profile->nbre_of_retained_failed_reports || profile->nbre_of_retained_failed_reports < 0) {
profile->nbre_failed_reports++;
} else {
list_for_each_entry_safe(retreport, rtmp, profile->failed_reports, list) {
bulkdata_delete_failed_report(retreport);
break;
}
}
report = calloc(1, sizeof(struct failed_reports));
list_add_tail(&report->list, profile->failed_reports);
report->freport= strdup(freport);
}
void bulkdata_delete_failed_report(struct failed_reports *report)
{
if(report != NULL) {
list_del(&report->list);
FREE(report->freport);
FREE(report);
}
}
struct failed_reports* empty_failed_reports_list(struct profile *profile)
{
struct failed_reports *report, *rtmp;
if(list_empty(profile->failed_reports))
return NULL;
list_for_each_entry_safe(report, rtmp, profile->failed_reports, list) {
list_del(&report->list);
FREE(report->freport);
FREE(report);
}
return NULL;
}
void add_failed_reports_to_report_csv(struct profile *profile, char **report, int isnext)
{
struct failed_reports *retreport = NULL;
int j = 0;
if(list_empty(profile->failed_reports))
return;
list_for_each_entry(retreport, profile->failed_reports, list) {
if(!j && isnext) {
j = 1;
continue;
}
append_string_to_string(retreport->freport, report);
}
}

69
bulkdata/src/common.h Normal file
View File

@@ -0,0 +1,69 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#ifndef __COMMON_H
#define __COMMON_H
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <regex.h>
#include <sys/param.h>
#include <libubox/blobmsg.h>
#include <libubox/blobmsg_json.h>
#include <libubox/utils.h>
#include <libubus.h>
#include <libbbfdm/dmentry.h>
#include <libbbfdm/dmbbfcommon.h>
#include "config.h"
#include "log.h"
#include "bulkdata.h"
typedef struct pathnode {
char *ref_path;
struct pathnode *next;
} pathnode;
typedef struct resultsnode {
struct list_head list;
char *name;
char *data;
char *type;
} resultsnode;
struct failed_reports {
struct list_head list;
char *freport;
};
#define GLOB_CHAR "[[+*]+"
int bulkdata_dm_ctx_init(struct dmctx *ctx);
int bulkdata_dm_ctx_clean(struct dmctx *ctx);
char *bulkdata_get_value_param(char *path);
void bulkdata_get_value(char *path, struct list_head *list);
void bulkdata_free_data_from_list(struct list_head *dup_list);
void bulkdata_get_value_results(char *path, struct list_head *list);
char *create_request_url(struct profile *profile);
char *get_bulkdata_profile_parameter_name(char *paramref, char *paramname, char *param);
void append_string_to_string(char *strappend, char **target);
void bulkdata_add_failed_report(struct profile *profile, char *freport);
void bulkdata_delete_failed_report(struct failed_reports *report);
struct failed_reports *empty_failed_reports_list(struct profile *profile);
void add_failed_reports_to_report_csv(struct profile *profile, char **report, int isnext);
#endif //__COMMON_H

523
bulkdata/src/config.c Normal file
View File

@@ -0,0 +1,523 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
* Omar Kallel <omar.kallel@pivasoftware.com>
*/
#include <stdio.h>
#include <strings.h>
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include "log.h"
#include "config.h"
#include "buci.h"
#include "common.h"
#include "bulkdata.h"
int get_log_level_config(struct bulkdata *bulkdata)
{
char *value = NULL;
buci_init();
value = buci_get_value("bulkdata", "bulkdata", "log_level");
if(value != NULL && *value != '\0')
bulkdata->log_level = atoi(value);
else
bulkdata->log_level = DEFAULT_LOGLEVEL;
bulkdata_log(SDEBUG,"Log Level of Bulkdata is : %d", bulkdata->log_level);
buci_fini();
return 0;
}
int get_amd_version_config(struct bulkdata *bulkdata)
{
char *value = NULL;
buci_init();
value = buci_get_value("cwmp", "cpe", "amd_version");
if(value != NULL && *value != '\0')
bulkdata->amd_version = atoi(value);
else
bulkdata->amd_version = DEFAULT_AMD_VERSION;
bulkdata_log(SDEBUG,"CWMP Amendment Version is : %d", bulkdata->amd_version);
buci_fini();
return 0;
}
int get_instance_mode_config(struct bulkdata *bulkdata)
{
char *value = NULL;
buci_init();
value = buci_get_value("cwmp", "cpe", "instance_mode");
if(value != NULL && *value != '\0') {
if(!strcmp(value, "InstanceNumber"))
bulkdata->instance_mode = INSTANCE_MODE_NUMBER;
else
bulkdata->instance_mode = INSTANCE_MODE_ALIAS;
}
else
bulkdata->instance_mode = DEFAULT_INSTANCE_MODE;
bulkdata_log(SDEBUG,"CWMP Instance Mode is : %d", bulkdata->instance_mode);
buci_fini();
return 0;
}
int get_device_id_config(struct bulkdata *bulkdata)
{
struct dmctx dmctx = {0};
bulkdata_dm_ctx_init(&dmctx);
bulkdata->device_id.manufacturer_oui = bulkdata_get_value_param("Device.DeviceInfo.ManufacturerOUI");
bulkdata->device_id.product_class = bulkdata_get_value_param("Device.DeviceInfo.ProductClass");
bulkdata->device_id.serial_number = bulkdata_get_value_param("Device.DeviceInfo.SerialNumber");
bulkdata_dm_ctx_clean(&dmctx);
return 0;
}
int load_profile_config(struct bulkdata *bulkdata, struct uci_section *s, int i)
{
char *value = NULL;
value = buci_get_value_bysection(s, "profile_id");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].profile_id = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The profile_id of profile_id %d is : %d", i, bulkdata->profile[i].profile_id);
} else
return -1;
value = buci_get_value_bysection(s, "nbre_of_retained_failed_reports");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].nbre_of_retained_failed_reports = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The nombre of retained failed reports of profile_id %d is : %d", bulkdata->profile[i].profile_id, bulkdata->profile[i].nbre_of_retained_failed_reports);
}
value = buci_get_value_bysection(s, "protocol");
if(value != NULL && *value != '\0' && strcasecmp(value, "http")==0) {
bulkdata->profile[i].protocol = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The protocol of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].protocol);
} else
return -1;
value = buci_get_value_bysection(s, "encoding_type");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].encoding_type = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The encoding type of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].encoding_type);
} else
return -1;
value = buci_get_value_bysection(s, "reporting_interval");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].reporting_interval = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The reporting interval of profile_id %d is : %d", bulkdata->profile[i].profile_id, bulkdata->profile[i].reporting_interval);
} else
return -1;
value = buci_get_value_bysection(s, "time_reference");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].time_reference = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The time reference of profile_id %d is : %ld", bulkdata->profile[i].profile_id, bulkdata->profile[i].time_reference);
} else
return -1;
value = buci_get_value_bysection(s, "csv_encoding_field_separator");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].csv_encoding_field_separator = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The csv encoding field separator of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].csv_encoding_field_separator);
} else
return -1;
value = buci_get_value_bysection(s, "csv_encoding_row_separator");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].csv_encoding_row_separator = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The csv encoding row separator of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].csv_encoding_row_separator);
} else
return -1;
value = buci_get_value_bysection(s, "csv_encoding_escape_character");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].csv_encoding_escape_character = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The csv encoding escape character of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].csv_encoding_escape_character);
}
value = buci_get_value_bysection(s, "csv_encoding_report_format");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].csv_encoding_report_format = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The csv encoding report format of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].csv_encoding_report_format);
} else
return -1;
value = buci_get_value_bysection(s, "csv_encoding_row_time_stamp");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].csv_encoding_row_time_stamp = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The csv encoding row time stamp of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].csv_encoding_row_time_stamp);
} else
return -1;
value = buci_get_value_bysection(s, "json_encoding_report_format");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].json_encoding_report_format = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The json encoding report format of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].json_encoding_report_format);
} else
return -1;
value = buci_get_value_bysection(s, "json_encoding_report_time_stamp");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].json_encoding_report_time_stamp = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The json encoding report time stamp of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].json_encoding_report_time_stamp);
} else
return -1;
value = buci_get_value_bysection(s, "http_url");
if(value != NULL && *value != '\0') {
char *url = NULL;
asprintf(&url, "%s?oui=%s&pc=%s&sn=%s", value, bulkdata->device_id.manufacturer_oui, bulkdata->device_id.serial_number, bulkdata->device_id.serial_number);
bulkdata->profile[i].http_url = strdup(url);
free(url);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP url of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_url);
} else
return -1;
value = buci_get_value_bysection(s, "http_username");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_username = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP username of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_username);
} else {
bulkdata->profile[i].http_username = NULL;
}
value = buci_get_value_bysection(s, "http_password");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_password = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP password of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_password);
} else {
bulkdata->profile[i].http_password = NULL;
}
value = buci_get_value_bysection(s, "http_compression");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_compression = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP compression of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_compression);
} else
return -1;
value = buci_get_value_bysection(s, "http_method");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_method = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP method of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_method);
} else
return -1;
value = buci_get_value_bysection(s, "http_use_date_header");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_use_date_header = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP use date header of profile_id %d is : %d", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_use_date_header);
}
value = buci_get_value_bysection(s, "http_retry_enable");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_retry_enable = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP retry enable of profile_id %d is : %d", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_retry_enable);
} else
return -1;
value = buci_get_value_bysection(s, "http_retry_minimum_wait_interval");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_retry_minimum_wait_interval = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP retry minimum wait interval of profile_id %d is : %d", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_retry_minimum_wait_interval);
}
value = buci_get_value_bysection(s, "http_retry_interval_multiplier");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_retry_interval_multiplier = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP retry interval multiplier of profile_id %d is : %d", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_retry_interval_multiplier);
}
value = buci_get_value_bysection(s, "http_persist_across_reboot");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_persist_across_reboot = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP persist across reboot of profile_id %d is : %d", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_persist_across_reboot);
} else
return -1;
value = buci_get_value_bysection(s, "http_ssl_capath");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_ssl_capath = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP ssl capath of profile_id %d is : %s", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_ssl_capath);
} else {
bulkdata->profile[i].http_ssl_capath = NULL;
}
value = buci_get_value_bysection(s, "http_insecure_enable");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].http_insecure_enable = atoi(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP insecure enable of profile_id %d is : %d", bulkdata->profile[i].profile_id, bulkdata->profile[i].http_insecure_enable);
}
bulkdata->profile[i].retry_count = 0;
bulkdata->profile[i].nbre_failed_reports = 0;
return 0;
}
int get_profiles_enable(struct bulkdata *bulkdata)
{
struct uci_section *s;
char *enable;
int i = 0, nbr_profiles = 0;
buci_init();
buci_foreach_section("bulkdata", "profile", s) {
enable = buci_get_value_bysection(s, "enable");
if(strcmp(enable, "1") == 0) {
nbr_profiles++;
}
}
if(nbr_profiles != 0)
bulkdata->profile = calloc(2, sizeof(struct profile));
buci_foreach_section("bulkdata", "profile", s) {
enable = buci_get_value_bysection(s, "enable");
if(strcmp(enable, "1") == 0) {
if(load_profile_config(bulkdata, s, i) == -1) {
bulkdata_log(SCRIT,"Not able to start bulkdata: some required bulkdata configurations in profile must be set");
return -1;
}
i++;
}
}
profiles_number = nbr_profiles;
buci_fini();
return 0;
}
int load_profile_parameter_config(struct bulkdata *bulkdata, struct uci_section *s, int i, int j)
{
char *value = NULL;
value = buci_get_value_bysection(s, "name");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].profile_parameter[j].name = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The parameter name %d of profile_id %d is : %s", j+1, bulkdata->profile[i].profile_id, bulkdata->profile[i].profile_parameter[j].name);
} else {
bulkdata->profile[i].profile_parameter[j].name = NULL;
}
value = buci_get_value_bysection(s, "reference");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].profile_parameter[j].reference = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The parameter reference %d of profile_id %d is : %s", j+1, bulkdata->profile[i].profile_id, bulkdata->profile[i].profile_parameter[j].reference);
} else
return -1;
return 0;
}
int get_profiles_parameters(struct bulkdata *bulkdata)
{
struct uci_section *s;
char *profile_id;
int i, j, nbr_profile_parameters;
buci_init();
for (i = 0; i < profiles_number; i++) {
j = 0;
nbr_profile_parameters = 0;
buci_foreach_section("bulkdata", "profile_parameter", s) {
profile_id = buci_get_value_bysection(s, "profile_id");
if(bulkdata->profile[i].profile_id != atoi(profile_id))
continue;
nbr_profile_parameters++;
if(nbr_profile_parameters == 1) {
bulkdata->profile[i].profile_parameter = calloc(1, sizeof(struct profile_parameter));
} else {
bulkdata->profile[i].profile_parameter = realloc(bulkdata->profile[i].profile_parameter, nbr_profile_parameters * sizeof(struct profile_parameter));
}
if(load_profile_parameter_config(bulkdata, s, i, j) == -1) {
bulkdata_log(SCRIT,"Not able to start bulkdata: some required bulkdata configurations in profile_parameter must be set");
return -1;
}
j++;
}
bulkdata->profile[i].profile_parameter_number = nbr_profile_parameters;
}
buci_fini();
return 0;
}
int load_profile_http_request_uri_parameter_config(struct bulkdata *bulkdata, struct uci_section *s, int i, int j)
{
char *value = NULL;
value = buci_get_value_bysection(s, "name");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].profile_http_uri_parameter[j].name = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP resuest URI parameter name %d of profile_id %d is : %s", j+1, bulkdata->profile[i].profile_id, bulkdata->profile[i].profile_http_uri_parameter[j].name);
} else
return -1;
value = buci_get_value_bysection(s, "reference");
if(value != NULL && *value != '\0') {
bulkdata->profile[i].profile_http_uri_parameter[j].reference = strdup(value);
value = NULL;
bulkdata_log(SDEBUG,"The HTTP resuest URI parameter reference %d of profile_id %d is : %s", j+1, bulkdata->profile[i].profile_id, bulkdata->profile[i].profile_http_uri_parameter[j].reference);
} else
return -1;
return 0;
}
int get_profile_http_request_uri_parameter(struct bulkdata *bulkdata)
{
struct uci_section *s;
char *profile_id;
int i, j, nbr_profile_http_request_uri_parameter;
buci_init();
for (i = 0; i < profiles_number; i++) {
j = 0;
nbr_profile_http_request_uri_parameter = 0;
buci_foreach_section("bulkdata", "profile_http_request_uri_parameter", s) {
profile_id = buci_get_value_bysection(s, "profile_id");
if(bulkdata->profile[i].profile_id != atoi(profile_id))
continue;
nbr_profile_http_request_uri_parameter++;
if(nbr_profile_http_request_uri_parameter == 1) {
bulkdata->profile[i].profile_http_uri_parameter = calloc(1, sizeof(struct profile_http_request_uri_parameter));
} else {
bulkdata->profile[i].profile_http_uri_parameter = realloc(bulkdata->profile[i].profile_http_uri_parameter, nbr_profile_http_request_uri_parameter * sizeof(struct profile_http_request_uri_parameter));
}
if(load_profile_http_request_uri_parameter_config(bulkdata, s, i, j)== -1) {
bulkdata_log(SCRIT,"Not able to start bulkdata: some required bulkdata configurations in profile_http_request_uri_parameter must be set");
return -1;
}
j++;
}
bulkdata->profile[i].profile_http_request_uri_parameter_number = nbr_profile_http_request_uri_parameter;
}
buci_fini();
return 0;
}
int bulkdata_config_init(struct bulkdata *bulkdata)
{
get_log_level_config(bulkdata);
get_amd_version_config(bulkdata);
get_instance_mode_config(bulkdata);
get_device_id_config(bulkdata);
if (get_profiles_enable(bulkdata) == -1)
return -1;
if (get_profiles_parameters(bulkdata) == -1)
return -1;
if (get_profile_http_request_uri_parameter(bulkdata) == -1)
return -1;
return 0;
}
int free_device_id_config(struct bulkdata *bulkdata)
{
FREE(bulkdata->device_id.manufacturer_oui);
FREE(bulkdata->device_id.product_class);
FREE(bulkdata->device_id.serial_number);
return 0;
}
int free_profiles_enable(struct bulkdata *bulkdata)
{
for(int i = 0; i < profiles_number; i++) {
FREE(bulkdata->profile[i].protocol);
FREE(bulkdata->profile[i].encoding_type);
FREE(bulkdata->profile[i].csv_encoding_field_separator);
FREE(bulkdata->profile[i].csv_encoding_row_separator);
FREE(bulkdata->profile[i].csv_encoding_escape_character);
FREE(bulkdata->profile[i].csv_encoding_report_format);
FREE(bulkdata->profile[i].csv_encoding_row_time_stamp);
FREE(bulkdata->profile[i].json_encoding_report_format);
FREE(bulkdata->profile[i].json_encoding_report_time_stamp);
FREE(bulkdata->profile[i].http_url);
FREE(bulkdata->profile[i].http_username);
FREE(bulkdata->profile[i].http_password);
FREE(bulkdata->profile[i].http_compression);
FREE(bulkdata->profile[i].http_method);
FREE(bulkdata->profile[i].http_ssl_capath);
}
FREE(bulkdata->profile);
return 0;
}
int free_profiles_parameters(struct bulkdata *bulkdata)
{
for(int i = 0; i < profiles_number; i++) {
for(int j = 0; j < bulkdata->profile[i].profile_parameter_number; j++) {
FREE(bulkdata->profile[i].profile_parameter[j].name);
FREE(bulkdata->profile[i].profile_parameter[j].reference);
}
FREE(bulkdata->profile[i].profile_parameter);
}
return 0;
}
int free_profile_http_request_uri_parameter(struct bulkdata *bulkdata)
{
for(int i = 0; i < profiles_number; i++) {
for(int j = 0; j < bulkdata->profile[i].profile_http_request_uri_parameter_number; j++) {
FREE(bulkdata->profile[i].profile_http_uri_parameter[j].name);
FREE(bulkdata->profile[i].profile_http_uri_parameter[j].reference);
}
FREE(bulkdata->profile[i].profile_http_uri_parameter);
}
return 0;
}
int bulkdata_config_fini(struct bulkdata *bulkdata)
{
free_device_id_config(bulkdata);
free_profiles_parameters(bulkdata);
free_profile_http_request_uri_parameter(bulkdata);
free_profiles_enable(bulkdata);
return 0;
}

103
bulkdata/src/config.h Normal file
View File

@@ -0,0 +1,103 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>
#include <libubox/uloop.h>
#define DEFAULT_AMD_VERSION 2
#define DEFAULT_INSTANCE_MODE 0
typedef struct device_id {
char *manufacturer_oui;
char *product_class;
char *serial_number;
} device_id;
typedef struct profile_parameter {
int profile_id;
char *name;
char *reference;
} profile_parameter;
typedef struct profile_http_request_uri_parameter {
int profile_id;
char *name;
char *reference;
} profile_http_request_uri_parameter;
typedef struct profile {
struct uloop_timeout utimer;
int profile_id;
int nbre_of_retained_failed_reports;
int nbre_failed_reports;
int reporting_interval;
int profile_parameter_number;
int profile_http_request_uri_parameter_number;
int http_retry_minimum_wait_interval;
int http_retry_interval_multiplier;
int min_retry;
int retry_count;
char *protocol;
char *encoding_type;
char *csv_encoding_field_separator;
char *csv_encoding_row_separator;
char *csv_encoding_escape_character;
char *csv_encoding_report_format;
char *csv_encoding_row_time_stamp;
char *json_encoding_report_format;
char *json_encoding_report_time_stamp;
char *http_url;
char *http_username;
char *http_password;
char *http_compression;
char *http_method;
char *http_ssl_capath;
char *new_report;
time_t time_reference;
time_t next_retry;
time_t next_period;
bool http_persist_across_reboot;
bool http_insecure_enable;
bool enable;
bool http_use_date_header;
bool http_retry_enable;
struct profile_parameter *profile_parameter;
struct profile_http_request_uri_parameter *profile_http_uri_parameter;
struct list_head *failed_reports;
} profile;
typedef struct bulkdata {
struct device_id device_id;
struct profile *profile;
int log_level;
int amd_version;
unsigned int instance_mode;
} bulkdata;
int bulkdata_config_init(struct bulkdata *bulkdata);
int bulkdata_config_fini(struct bulkdata *bulkdata);
#ifndef FREE
#define FREE(x) do { if(x) {free(x); x = NULL;} } while (0)
#endif
#endif //__CONFIG_H

1293
bulkdata/src/datamodel.c Normal file

File diff suppressed because it is too large Load Diff

29
bulkdata/src/datamodel.h Normal file
View File

@@ -0,0 +1,29 @@
/*
* Copyright (C) 2020 iopsys Software Solutions AB
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 2.1
* as published by the Free Software Foundation
*
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*/
#ifndef _BULKDATA_H_
#define _BULKDATA_H_
#include <libbbf_api/dmcommon.h>
extern DMOBJ tDeviceBulkDataObj[];
extern DMOBJ tBulkDataObj[];
extern DMLEAF tBulkDataParams[];
extern DMOBJ tBulkDataProfileObj[];
extern DMLEAF tBulkDataProfileParams[];
extern DMLEAF tBulkDataProfileParameterParams[];
extern DMLEAF tBulkDataProfileCSVEncodingParams[];
extern DMLEAF tBulkDataProfileJSONEncodingParams[];
extern DMOBJ tBulkDataProfileHTTPObj[];
extern DMLEAF tBulkDataProfileHTTPParams[];
extern DMLEAF tBulkDataProfileHTTPRequestURIParameterParams[];
#endif //__BULKDATA_H_

196
bulkdata/src/http.c Normal file
View File

@@ -0,0 +1,196 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
* Omar Kallel <omar.kallel@pivasoftware.com>
*/
#include "http.h"
static struct http_client http_c;
static CURL *curl;
int http_client_init(struct profile *profile)
{
char *url = create_request_url(profile);
if(url) {
asprintf(&http_c.url, "%s", url);
free(url);
}
bulkdata_log(SINFO, "ACS url: %s", http_c.url);
curl_global_init(CURL_GLOBAL_SSL);
curl = curl_easy_init();
if (!curl) return -1;
return 0;
}
void http_client_exit(void)
{
FREE(http_c.url);
if (http_c.header_list) {
curl_slist_free_all(http_c.header_list);
http_c.header_list = NULL;
}
curl_easy_cleanup(curl);
curl_global_cleanup();
}
static size_t http_get_response(void *buffer, size_t size, size_t rxed, char **msg_in)
{
char *c;
if (asprintf(&c, "%s%.*s", *msg_in, (int) (size * rxed), (char *)buffer) == -1) {
FREE(*msg_in);
return -1;
}
free(*msg_in);
*msg_in = c;
return size * rxed;
}
int http_send_message(struct profile *profile, char *msg_out, int msg_out_len, char **msg_in)
{
CURLcode res;
long http_code = 0;
char errbuf[CURL_ERROR_SIZE];
http_c.header_list = NULL;
http_c.header_list = curl_slist_append(http_c.header_list, "User-Agent: iopsys-bulkdata");
if (!http_c.header_list) return -1;
if (profile->http_use_date_header) {
if (bulkdata_get_time() != NULL) {
http_c.header_list = curl_slist_append(http_c.header_list, bulkdata_get_time());
if (!http_c.header_list) return -1;
}
}
if (strcmp(profile->encoding_type, "json") == 0) {
http_c.header_list = curl_slist_append(http_c.header_list, "Content-Type: application/json; charset=\"utf-8\"");
if (!http_c.header_list) return -1;
if(strcmp (profile->json_encoding_report_format, "objecthierarchy") == 0) {
http_c.header_list = curl_slist_append(http_c.header_list, "BBF-Report-Format: \"ObjectHierarchy\"");
if (!http_c.header_list) return -1;
} else if(strcmp(profile->json_encoding_report_format, "namevaluepair") == 0) {
http_c.header_list = curl_slist_append(http_c.header_list, "BBF-Report-Format: \"NameValuePair\"");
if (!http_c.header_list) return -1;
}
} else if(strcmp(profile->encoding_type, "csv") == 0) {
http_c.header_list = curl_slist_append(http_c.header_list, "Content-Type: text/csv; charset=\"utf-8\"");
if (!http_c.header_list) return -1;
if(strcmp (profile->csv_encoding_report_format, "row") == 0) {
http_c.header_list = curl_slist_append(http_c.header_list, "BBF-Report-Format: \"ParameterPerRow\"");
if (!http_c.header_list) return -1;
} else if(strcmp (profile->csv_encoding_report_format, "column") == 0) {
http_c.header_list = curl_slist_append(http_c.header_list, "BBF-Report-Format: \"ParameterPerColumn\"");
if (!http_c.header_list) return -1;
}
}
curl_easy_setopt(curl, CURLOPT_URL, http_c.url);
curl_easy_setopt(curl, CURLOPT_USERNAME, profile->http_username);
curl_easy_setopt(curl, CURLOPT_PASSWORD, profile->http_password);
curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC|CURLAUTH_DIGEST);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, HTTP_TIMEOUT);
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, HTTP_TIMEOUT);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
curl_easy_setopt(curl, CURLOPT_NOBODY, 0);
if(strcasecmp(profile->http_compression, "gzip") == 0) {
curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "gzip");
http_c.header_list = curl_slist_append(http_c.header_list, "Content-Encoding: gzip");
} else if(strcasecmp(profile->http_compression, "compress") == 0) {
curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "compress");
http_c.header_list = curl_slist_append(http_c.header_list, "Content-Encoding: compress");
} else if(strcasecmp(profile->http_compression, "deflate") == 0) {
curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "deflate");
http_c.header_list = curl_slist_append(http_c.header_list, "Content-Encoding: deflate");
}
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, http_c.header_list);
if(strcasecmp(profile->http_method, "put") == 0)
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, msg_out);
if (msg_out)
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long) msg_out_len);
else
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, http_get_response);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, msg_in);
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
if (profile->http_ssl_capath)
curl_easy_setopt(curl, CURLOPT_CAPATH, profile->http_ssl_capath);
if (profile->http_insecure_enable) {
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
}
*msg_in = (char *) calloc (1, sizeof(char));
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
size_t len = strlen(errbuf);
if(len) {
if (errbuf[len - 1] == '\n') errbuf[len - 1] = '\0';
bulkdata_log(SCRIT, "libcurl: (%d) %s", res, errbuf);
} else {
bulkdata_log(SCRIT, "libcurl: (%d) %s", res, curl_easy_strerror(res));
}
}
if (!strlen(*msg_in))
FREE(*msg_in);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_code);
if(http_code == 200)
bulkdata_log(SINFO, "Receive HTTP 200 OK from Bulkdata Collector");
else if(http_code == 401)
bulkdata_log(SINFO, "Receive HTTP 401 Unauthorized from Bulkdata Collector");
else if(http_code == 204)
bulkdata_log(SINFO, "Receive HTTP 204 No Content from Bulkdata Collector");
else
bulkdata_log(SINFO, "Receive HTTP %d from Bulkdata Collector", http_code);
if(http_code == 415)
{
strcpy(profile->http_compression, "None");
goto error;
}
if (http_code != 200 && http_code != 204)
goto error;
curl_easy_reset(curl);
if (http_c.header_list) {
curl_slist_free_all(http_c.header_list);
http_c.header_list = NULL;
}
if (res) goto error;
return http_code;
error:
FREE(*msg_in);
if (http_c.header_list) {
curl_slist_free_all(http_c.header_list);
http_c.header_list = NULL;
}
return -1;
}

37
bulkdata/src/http.h Normal file
View File

@@ -0,0 +1,37 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#ifndef __HTTP_H
#define __HTTP_H
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <curl/curl.h>
#include "config.h"
#include "log.h"
#include "times.h"
#include "common.h"
#define HTTP_TIMEOUT 30
struct http_client
{
struct curl_slist *header_list;
char *url;
};
int http_client_init(struct profile *profile);
void http_client_exit(void);
int http_send_message(struct profile *profile, char *msg_out, int msg_out_len, char **msg_in);
#endif //__HTTP_H

57
bulkdata/src/log.c Normal file
View File

@@ -0,0 +1,57 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#include <stdarg.h>
#include <stdbool.h>
#include <stdio.h>
#include <syslog.h>
#include <time.h>
#include "bulkdata.h"
#include "config.h"
#include "log.h"
static const int log_syslogmap[] = {
[SCRIT] = LOG_CRIT,
[SWARNING] = LOG_WARNING,
[SNOTICE] = LOG_NOTICE,
[SINFO] = LOG_INFO,
[SDEBUG] = LOG_DEBUG
};
static const char* log_str[] = {
[SCRIT] = "CRITICAL",
[SWARNING] = "WARNING",
[SNOTICE] = "NOTICE",
[SINFO] = "INFO",
[SDEBUG] = "DEBUG"
};
void bulkdata_log(int priority, const char *format, ...)
{
va_list vl;
if (priority <= bulkdata_main.log_level) {
time_t t = time(NULL);
struct tm tm = *localtime(&t);
va_start(vl, format);
printf("%d-%02d-%02d %02d:%02d:%02d [bulkdata] %s - ", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec, log_str[priority]);
vprintf(format, vl);
va_end(vl);
printf("\n");
openlog("bulkdata", 0, LOG_DAEMON);
va_start(vl, format);
vsyslog(log_syslogmap[priority], format, vl);
va_end(vl);
closelog();
}
}

28
bulkdata/src/log.h Normal file
View File

@@ -0,0 +1,28 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#ifndef __LOG_H
#define __LOG_H
#define DEFAULT_LOGLEVEL SINFO
enum bulkdata_log_level_enum {
SCRIT,
SWARNING,
SNOTICE,
SINFO,
SDEBUG,
__MAX_SLOG
};
void bulkdata_log(int priority, const char *format, ...);
#endif //__LOG_H

336
bulkdata/src/report.c Normal file
View File

@@ -0,0 +1,336 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
* Author: Omar Kallel <omar.kallel@pivasoftware.com>
*
*/
#include "report.h"
static void add_new_json_obj(json_object *json_obj, char *name, char *data, char *type)
{
json_object *jobj;
if(strstr(type, "unsignedInt") || strstr(type, "int") || strstr(type, "long"))
jobj = json_object_new_int64(atoi(data));
else if(strstr(type, "bool"))
jobj = json_object_new_boolean(atoi(data));
else
jobj = json_object_new_string(data);
json_object_object_add(json_obj, name, jobj);
}
static void create_json_bulkdata_report_object_hierarchy(struct profile *profile, char **report)
{
struct json_object *json_obj, *json_obj1, *json_obj2;
struct resultsnode *p;
int i, j, profile_param_number = profile->profile_parameter_number;
char *param_name, *result, *pch, *pchr, *collection_time = NULL;
char buf[1024] = {0};
json_obj = json_object_new_object();
get_time_stamp(profile->json_encoding_report_time_stamp, &collection_time);
if(collection_time) {
if(strcmp(profile->json_encoding_report_time_stamp, "iso8601") == 0)
json_object_object_add(json_obj, "CollectionTime", json_object_new_string(collection_time));
else
json_object_object_add(json_obj, "CollectionTime", json_object_new_int64(atoi(collection_time)));
free(collection_time);
}
json_obj2 = json_obj;
for (i = 0; i < profile_param_number; i++) {
LIST_HEAD(results_list);
bulkdata_get_value_results(profile->profile_parameter[i].reference, &results_list);
list_for_each_entry(p, &results_list, list) {
char *argv[128] = {0};
j = 0;
param_name = get_bulkdata_profile_parameter_name(profile->profile_parameter[i].reference, profile->profile_parameter[i].name, p->name);
strcpy(buf, param_name);
for (pch = strtok_r(buf, ".", &pchr); pch != NULL; pch = strtok_r(NULL, ".", &pchr)) {
argv[j] = pch;
json_obj1 = (json_object *)bbf_api_dmjson_select_obj(json_obj, argv);
if (json_obj1)
json_obj2 = json_obj1;
else {
if (pchr != NULL && *pchr != '\0') {
json_object *new_obj = json_object_new_object();
json_object_object_add(json_obj2, pch, new_obj);
json_obj2 = new_obj;
}
else
add_new_json_obj(json_obj2, pch, p->data, p->type);
}
j++;
}
}
bulkdata_free_data_from_list(&results_list);
FREE(param_name);
}
result = (char *)json_object_to_json_string_ext(json_obj, JSON_C_TO_STRING_PRETTY);
*report = strdup(result);
json_object_put(json_obj);
}
static void create_json_bulkdata_report_name_value_pair(struct profile *profile, char **report)
{
struct json_object *json_obj;
struct resultsnode *p;
char *param_name, *result, *collection_time = NULL;
int i = 0, profile_param_number = profile->profile_parameter_number;
json_obj = json_object_new_object();
get_time_stamp(profile->json_encoding_report_time_stamp, &collection_time);
if(collection_time) {
if(strcmp(profile->json_encoding_report_time_stamp, "iso8601") == 0)
json_object_object_add(json_obj, "CollectionTime", json_object_new_string(collection_time));
else
json_object_object_add(json_obj, "CollectionTime", json_object_new_int64(atoi(collection_time)));
free(collection_time);
}
for (i = 0; i < profile_param_number; i++) {
LIST_HEAD(results_list);
bulkdata_get_value_results(profile->profile_parameter[i].reference, &results_list);
list_for_each_entry(p, &results_list, list) {
param_name = get_bulkdata_profile_parameter_name(profile->profile_parameter[i].reference, profile->profile_parameter[i].name, p->name);
add_new_json_obj(json_obj, param_name, p->data, p->type);
FREE(param_name);
}
bulkdata_free_data_from_list(&results_list);
}
result = (char *)json_object_to_json_string_ext(json_obj, JSON_C_TO_STRING_PRETTY);
*report = strdup(result);
json_object_put(json_obj);
}
static void add_failed_reports_to_report_json(struct profile *profile, char *new_report, char **report, int isnext)
{
json_object *json_obj, *json_array, *json_string;
struct failed_reports *retreport = NULL;
char *msgout = NULL;
int j = 0;
json_obj = json_object_new_object();
json_array = json_object_new_array();
json_object_object_add(json_obj,"Report", json_array);
if(list_empty(profile->failed_reports))
goto new_report;
list_for_each_entry(retreport, profile->failed_reports, list) {
if(!j && isnext) {
j = 1;
continue;
}
json_string = json_tokener_parse(retreport->freport);
json_object_array_add(json_array, json_string);
}
new_report :
if(new_report) {
json_string = json_tokener_parse(new_report);
json_object_array_add(json_array, json_string);
}
msgout = (char *)json_object_to_json_string_ext(json_obj, JSON_C_TO_STRING_PRETTY);
*report = strdup(msgout);
json_object_put(json_obj);
}
static void create_report_json(char *new_report, char **report)
{
json_object *json_obj, *json_array, *json_string;
char *msgout = NULL;
json_obj = json_object_new_object();
json_array = json_object_new_array();
json_object_object_add(json_obj,"Report", json_array);
if(new_report) {
json_string = json_tokener_parse(new_report);
json_object_array_add(json_array, json_string);
}
msgout = (char *)json_object_to_json_string_ext(json_obj, JSON_C_TO_STRING_PRETTY);
*report = strdup(msgout);
json_object_put(json_obj);
}
int create_json_bulkdata_report(struct profile *profile, char **report)
{
/*
* create json msg of current report
* parse failed reports list and add it to the report
* then add new report to the report
*/
char *msgout;
profile->new_report = NULL;
if(strcmp(profile->json_encoding_report_format, "objecthierarchy") == 0) {
create_json_bulkdata_report_object_hierarchy(profile, &msgout);
} else if(strcmp(profile->json_encoding_report_format, "namevaluepair") == 0) {
create_json_bulkdata_report_name_value_pair(profile, &msgout);
}
if(profile->nbre_of_retained_failed_reports != 0) {
if(profile->nbre_failed_reports >= profile->nbre_of_retained_failed_reports && profile->nbre_of_retained_failed_reports > 0)
add_failed_reports_to_report_json(profile, msgout, report, 1);
else
add_failed_reports_to_report_json(profile, msgout, report, 0);
} else {
create_report_json(msgout, report);
}
append_string_to_string(msgout, &profile->new_report);
FREE(msgout);
return 0;
}
int create_csv_bulkdata_report(struct profile *profile, char **report)
{
/*
* create csv msg of current report
* parse failed reports list and add it to the report
*/
int i;
struct resultsnode *p;
char *str1 = NULL, *str2 = NULL, *str = NULL, *paramprofilename, *timestamp = NULL, *type = NULL, rowseparator = '\0', separator = '\0';
if(strcmp(profile->csv_encoding_row_separator, "&#10;") == 0)
rowseparator = '\n';
else if(strcmp(profile->csv_encoding_row_separator, "&#13;") == 0)
rowseparator = '\r';
if(profile->csv_encoding_field_separator)
separator = profile->csv_encoding_field_separator[0];
get_time_stamp(profile->csv_encoding_row_time_stamp, &timestamp);
/*
* Create header ReportTimestamp,ParameterName,ParameterValue,ParameterType in case of ParameterPerRow
*/
if(strcmp(profile->csv_encoding_report_format, "row") == 0) {
if(timestamp == NULL)
asprintf(&str, "ParameterName%cParameterValue%cParameterType%c", separator, separator, rowseparator);
else
asprintf(&str, "ReportTimestamp%cParameterName%cParameterValue%cParameterType%c", separator, separator, separator, rowseparator);
append_string_to_string(str, report);
FREE(str);
if(profile->nbre_of_retained_failed_reports != 0) {
if(profile->nbre_failed_reports >= profile->nbre_of_retained_failed_reports && profile->nbre_of_retained_failed_reports > 0)
add_failed_reports_to_report_csv(profile, report, 1);
else
add_failed_reports_to_report_csv(profile, report, 0);
}
}
if(strcmp(profile->csv_encoding_report_format, "column") == 0 && timestamp != NULL) {
if(profile->nbre_of_retained_failed_reports != 0) {
if(profile->nbre_failed_reports >= profile->nbre_of_retained_failed_reports && profile->nbre_of_retained_failed_reports > 0)
add_failed_reports_to_report_csv(profile, report, 1);
else
add_failed_reports_to_report_csv(profile, report, 0);
}
append_string_to_string("ReportTimestamp", &str1);
append_string_to_string(timestamp, &str2);
}
/*
* Add New reports
*/
profile->new_report = NULL;
for(i = 0; i < profile->profile_parameter_number; i++) {
LIST_HEAD(results_list);
bulkdata_get_value_results(profile->profile_parameter[i].reference, &results_list);
list_for_each_entry(p, &results_list, list) {
paramprofilename = get_bulkdata_profile_parameter_name(profile->profile_parameter[i].reference, profile->profile_parameter[i].name, p->name);
if(strcmp(profile->csv_encoding_report_format, "row") == 0) {
type = strstr(p->type, ":");
if(timestamp == NULL)
asprintf(&str, "%s%c%s%c%s%c", paramprofilename, separator, p->data, separator, type+1, rowseparator);
else
asprintf(&str, "%s%c%s%c%s%c%s%c", timestamp, separator, paramprofilename, separator, p->data, separator, type+1, rowseparator);
append_string_to_string(str, report);
append_string_to_string(str, &profile->new_report);
FREE(str);
} else if(strcmp(profile->csv_encoding_report_format, "column") == 0) {
if(str1 == NULL || strlen(str1) <= 0)
asprintf(&str, "%s", paramprofilename);
else
asprintf(&str, "%c%s", separator, paramprofilename);
append_string_to_string(str, &str1);
FREE(str);
if(str2 == NULL || strlen(str2) <= 0)
asprintf(&str, "%s", p->data);
else
asprintf(&str, "%c%s", separator, p->data);
append_string_to_string(str, &str2);
FREE(str);
}
FREE(paramprofilename);
}
bulkdata_free_data_from_list(&results_list);
}
if(strcmp(profile->csv_encoding_report_format, "column") == 0) {
asprintf(&str, "%c", rowseparator);
append_string_to_string(str, &str1);
append_string_to_string(str, &str2);
append_string_to_string(str1, report);
append_string_to_string(str2, report);
append_string_to_string(str1, &profile->new_report);
append_string_to_string(str2, &profile->new_report);
}
FREE(str);
FREE(str1);
FREE(str2);
FREE(timestamp);
return 0;
}
static void create_json_failed_report(struct profile *profile, char **report)
{
add_failed_reports_to_report_json(profile, NULL, report, 0);
}
static void create_csv_failed_report(struct profile *profile, char **report)
{
char rowseparator = '\0', separator = '\0', *timestamp = NULL;
if(strcmp(profile->csv_encoding_row_separator, "&#10;") == 0) {
rowseparator = '\n';
} else if(strcmp(profile->csv_encoding_row_separator, "&#13;") == 0) {
rowseparator = '\r';
}
if(profile->csv_encoding_field_separator)
separator = profile->csv_encoding_field_separator[0];
get_time_stamp(profile->csv_encoding_row_time_stamp, &timestamp);
if(strcmp(profile->csv_encoding_report_format, "row") == 0) {
if(timestamp == NULL)
asprintf(report, "ParameterName%cParameterValue%cParameterType%c", separator, separator, rowseparator);
else
asprintf(report, "ReportTimestamp%cParameterName%cParameterValue%cParameterType%c", separator, separator, separator, rowseparator);
}
add_failed_reports_to_report_csv(profile, report, 0);
}
void create_encoding_bulkdata_report(struct profile *profile, char **report)
{
if(strcasecmp(profile->encoding_type, "json") == 0) {
create_json_bulkdata_report(profile, report);
} else if(strcasecmp(profile->encoding_type, "csv") == 0) {
create_csv_bulkdata_report(profile, report);
}
}
void create_failed_report(struct profile *profile, char **report)
{
if(strcasecmp(profile->encoding_type, "json") == 0) {
create_json_failed_report(profile, report);
} else if(strcasecmp(profile->encoding_type, "csv") == 0) {
create_csv_failed_report(profile, report);
}
}

24
bulkdata/src/report.h Normal file
View File

@@ -0,0 +1,24 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
* Author: Omar Kallel <omar.kallel@pivasoftware.com>
*
*/
#ifndef __REPORT_H_
#define __REPORT_H_
#include <json-c/json.h>
#include "common.h"
#include "times.h"
#include "config.h"
void create_encoding_bulkdata_report(struct profile *profile, char **report);
void create_failed_report(struct profile *profile, char **report);
#endif /* __REPORT_H_ */

62
bulkdata/src/times.c Normal file
View File

@@ -0,0 +1,62 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#include <stdio.h>
#include <string.h>
#include <time.h>
#include "times.h"
const char *bulkdata_get_time(void)
{
static char local_time[64];
time_t t_time = time(NULL);
struct tm *t_tm = localtime(&t_time);
if (t_tm == NULL)
return NULL;
if (strftime(local_time, sizeof(local_time),"Date: %a, %d %b %Y %X%z GMT", t_tm) == 0)
return NULL;
return local_time;
}
void get_time_stamp(const char *format, char **timestamp)
{
time_t now = time(NULL);
if (strcmp(format, "unix") == 0) {
asprintf(timestamp, "%ld", now);
} else if (strcmp(format, "iso8601") == 0) {
char buf[32] = {0};
struct tm *ts = localtime(&now);
strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S%Z", ts);
asprintf(timestamp, "%s", buf);
} else
timestamp = NULL;
}
unsigned int get_next_period(time_t time_reference, int reporting_interval)
{
unsigned int next_period;
time_t now = time(NULL);
if (now > time_reference)
next_period = reporting_interval - ((now - time_reference) % reporting_interval);
else
next_period = (time_reference - now) % reporting_interval;
if (next_period == 0)
next_period = reporting_interval;
return next_period;
}

19
bulkdata/src/times.h Normal file
View File

@@ -0,0 +1,19 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2020 iopsys Software Solutions AB
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
*
*/
#ifndef __TIMES_H
#define __TIMES_H
const char *bulkdata_get_time(void);
void get_time_stamp(const char *format, char **timestamp);
unsigned int get_next_period(time_t time_reference, int reporting_interval);
#endif /* __TIMES_H */

View File

@@ -1,9 +1,19 @@
#
# Copyright (C) 2018 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=catv
PKG_RELEASE:=1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/catv

View File

@@ -1,7 +1,4 @@
#!/bin/sh /etc/rc.common
#
# Copyright (C) 2015 inteno.org
#
START=71
USE_PROCD=1

View File

@@ -1,9 +1,18 @@
#
# 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

View File

@@ -4,16 +4,15 @@ START=99
send_log()
{
nr=$(db get hw.board.serialNumber)
hw=$(db get hw.board.hardware)
hwv=$(db get hw.board.hardwareVersion)
bid=$(db get hw.board.boardId)
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/${bid}_${hwv}_${hw}_${sw}_${nr}
scp -S /usr/sbin/logssh /proc/last_kmsg log@${server}:log/${fam}_${hw}_${sw}_${nr}
if [ $? == 0 ]
then
break;
@@ -28,7 +27,7 @@ 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="crash.inteno.se"
/sbin/uci set system.crashlog.server="crashlog.iopsys.eu"
/sbin/uci commit
}

View File

@@ -20,7 +20,7 @@ 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="crash.inteno.se"
/sbin/uci set system.corelog.server="corelog.iopsys.eu"
/sbin/uci commit
}
@@ -50,12 +50,11 @@ cat >$TMP_CORE
# more memory to work with. normally this would do nothing.
cat >/dev/null
nr=$(db get hw.board.serialNumber)
hw=$(db get hw.board.hardware)
hwv=$(db get hw.board.hardwareVersion)
bid=$(db get hw.board.boardId)
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}_${bid}_${hwv}_${hw}_${sw}_${nr}
scp -S /usr/sbin/logssh $TMP_CORE log@${server}:log/core_${1}_${2}_${fam}_${hw}_${sw}_${nr}
rm $TMP_CORE

View File

@@ -24,7 +24,7 @@ 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@inteno
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwn9RaDAzxW1dTmIhXgFBnpi1lhj8xhYpCVQiPxxdk9IEmH8zjo4y9j3sPkqKOlRnkwjpZIpLEKBnpQTwVIMCU/AG7nDJX3OH9RfS9mLJQLfFL8HyGCyqDezFWldbyovhJZvdUeK4tAXJWv2W3OVHiz2L8IlncBgP/E9DJElsyhhQHsM96UE6tBkXsvXkoDbMSYXFcLbgiUwBKfmM2BF/aPDL45iznGur7/2j9v95PwJ0gtMu9jjNRq+pXCXhTh3bsnczm0MpZC1aiRc9nJAeGIMmhrf15E4jBKgTnrstzJxGVAdajKeR954KcNsS33cS2Wmui2YjmPbBXjqf1frzJ log@iopsys
----------
The public key should be just one line. Add that line to the

View File

@@ -1,21 +1,21 @@
#
# Copyright (C) 2006-2010 OpenWrt.org
# 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_RELEASE:=1
PKG_VERSION:=1.3.0
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5a5c94b289c79bc3a635b8d742dd9b73dcc0615f
PKG_SOURCE_VERSION:=2c8990fd5275d469e8ab6c7a99e17fe0a56052ea
PKG_NAME:=dectmngr2
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
RSTRIP:=true
export BUILD_DIR
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@@ -29,7 +29,7 @@ define Package/dectmngr2
CATEGORY:=Utilities
TITLE:=Dectmngr2
URL:=
DEPENDS:= +natalie-dect-h bcmkernel +libubox +ubus +libpicoevent
DEPENDS:= +natalie-dect-h bcmkernel +libubox +ubus +libpicoevent endptmngr
endef
define Package/dectmngr2/description

View File

@@ -12,7 +12,7 @@ if [ -e "/proc/nvram/BoardId" ]; then
echo "0xfffffff2" >/proc/nvram/ulBoardStuffOption
db -q batch <<-EOT
set hw.board.hasDect=1
set hw.board.has_dect=1
commit hw.board
EOT
fi

View File

@@ -8,23 +8,24 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dslmngr
PKG_VERSION:=1.0.0
PKG_VERSION:=1.1.0
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=7522faab4142fe2c0ac8cbf71bb0cc5bd49f0750
PKG_SOURCE_VERSION:=400cc66081f2b10b481d5a745bc505b78af098bd
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dslmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM=BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM=MEDIATEK
@@ -42,7 +43,7 @@ define Package/dslmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=XDSL status and configration utility
DEPENDS:=+libdsl +libuci +libubox +ubus +libpthread +libnl-genl +easy-soc-libs
DEPENDS:=+libdsl +libuci +libubox +ubus +libpthread +libnl-genl
endef
define Package/dslmngr/description
@@ -53,6 +54,7 @@ endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-I$(STAGING_DIR)/usr/include/xdsl \
-D_GNU_SOURCE
MAKE_FLAGS += \

View File

@@ -1,19 +1,29 @@
#
# Copyright (C) 2019 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-qos
PKG_VERSION:=1.0
PKG_VERSION:=1.1
PKG_RELEASE:=0
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=none
include $(INCLUDE_DIR)/package.mk
define Package/easy-qos
SECTION:=net
CATEGORY:=Network
TITLE:=Easy QoS
DEPENDS:=@(TARGET_intel_mips||TARGET_iopsys_brcm63xx_arm)
endef
define Package/easy-qos/description
This package contains Easy QoS utitie
This package contains Easy QoS utility
endef
define Build/Prepare
@@ -29,7 +39,11 @@ 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

@@ -0,0 +1,301 @@
#!/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

@@ -102,7 +102,7 @@ manage_rule() {
prio_num=$(get_priority ${priority})
if [ -n "${macaddr}" -a -n "${prio_num}" ]; then
for p in ${port}; do
if [ "${protocol}" == "none" ]; then
if [ "${protocol}" == "none" -o "${protocol}" == "tcpudp" ]; then
create_rule tcp ${macaddr} ${prio_num} ${p}
create_rule udp ${macaddr} ${prio_num} ${p}
else
@@ -111,7 +111,7 @@ manage_rule() {
done
# Create rule for all ports if port is not mentioned in uci
if [ -z "${port}" ]; then
if [ "${protocol}" == "none" ]; then
if [ "${protocol}" == "none" -o "${protocol}" == "tcpudp" ]; then
create_rule tcp ${macaddr} ${prio_num}
create_rule udp ${macaddr} ${prio_num}
else

View File

@@ -103,18 +103,18 @@ validate_rule_section()
# Clear existing rules before applying new rules
clear_existing_rules() {
local rule=$(iptables -t mangle -S OUTPUT|grep -m 1 MARK |sed 's/-A/-D/1')
local rule=$(iptables -t mangle -S PREROUTING | grep -m 1 MARK |sed 's/-A/-D/1')
while [ -n "${rule}" ]; do
exec_log iptables -t mangle ${rule}
rule=$(iptables -t mangle -S OUTPUT|grep -m 1 MARK |sed 's/-A/-D/1')
rule=$(iptables -t mangle -S PREROUTING | grep -m 1 MARK |sed 's/-A/-D/1')
done
}
check_and_create() {
iptables -t mangle -C OUTPUT ${@} 2>/dev/null
iptables -t mangle -C PREROUTING ${@} 2>/dev/null
# Create rule if not exists
if [ ${?} -ne 0 ]; then
exec_log iptables -t mangle -A OUTPUT ${@}
exec_log iptables -t mangle -A PREROUTING ${@}
else
log "Rule exists for ${@}"
fi
@@ -158,7 +158,7 @@ manage_rule() {
port_list=$(echo ${port}|sed 's/ /,/g')
if [ -n "${ip}" -a -n "${prio_num}" ]; then
if [ "${proto}" == "none" ]; then
if [ "${proto}" == "none" -o "${proto}" == "tcpudp" ]; then
create_rule tcp ${ip} ${prio_num} ${port_list}
create_rule udp ${ip} ${prio_num} ${port_list}
else

View File

@@ -4,7 +4,5 @@ uci -q batch <<-EOT
set firewall.easyqos=include
set firewall.easyqos.path=/etc/firewall.easyqos
set firewall.easyqos.reload=1
uci del_list firewall.easyqos._access_w="root"
uci add_list firewall.easyqos._access_w="root"
commit firewall
EOT

109
easy-soc-events/Makefile Executable file
View File

@@ -0,0 +1,109 @@
# All rights reserved.
# See LICENSE for more information.
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=easy-soc-events
PKG_VERSION:=1.1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=git@dev.iopsys.eu:iopsys/easy-soc-events.git
PKG_SOURCE_VERSION:=5c582b0165b574dc94e4865f82e0bb91fa561754
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_BUILD_DIR:=$(BUILD_DIR)/easy-soc-events-$(PKG_VERSION)
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
include $(INCLUDE_DIR)/package.mk
-include $(TOPDIR)/.config
ifneq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),)
LINUX_DIR=$(BUILD_DIR)/bcmkernel/bcm963xx/kernel/linux-4.1
LINUX_VERSION := 4.1.52
LINUXINCLUDE=-Iarch/$(LINUX_KARCH)/mach-bcm963xx/include
BCM_BS_PROFILE := $(patsubst "%",%,$(CONFIG_BCM_KERNEL_PROFILE))
FS_DIR := $(BUILD_DIR)/bcmkernel/bcm963xx/targets/$(BCM_BS_PROFILE)/fs
MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION)/extra
TARGET_MODULES_DIR:=/$(MODULES_SUBDIR)
endif
define KernelPackage/easy-soc-events/default
SUBMENU:=Other modules
endef
define KernelPackage/easy-soc-events
$(KernelPackage/easy-soc-events/default)
TITLE:=Helper module for netlink event notification
FILES:=$(PKG_BUILD_DIR)/easyevent.ko
AUTOLOAD:=$(call AutoLoad,11,easyevent)
endef
define KernelPackage/easy-soc-events-test
$(KernelPackage/easy-soc-events/default)
TITLE:=Test module for event notification through easyevent
DEPENDS+=+kmod-easy-soc-events
FILES+=$(PKG_BUILD_DIR)/test/testevent.ko
endef
define KernelPackage/easy-soc-events/description
This is a helper module to generate and pass netlink events from
kernel to user applications.
endef
#NOSTDINC_FLAGS :=
ifdef CONFIG_PACKAGE_kmod-easy-soc-events
PKG_MAKE_FLAGS += CONFIG_EASYEVENT=y
endif
LINUXINCLUDE += \
-I$(LINUX_DIR)/include -I$(LINUX_DIR)/include/$(LINUX_UAPI_DIR) \
-Iarch/$(LINUX_KARCH)/include \
-Iarch/$(LINUX_KARCH)/include/generated \
-Iarch/$(LINUX_KARCH)/include/generated/$(LINUX_UAPI_DIR) \
-I$(LINUX_DIR)/include/generated/uapi \
-Iarch/$(LINUX_KARCH)/include/$(LINUX_UAPI_DIR) \
-include ./include/linux/kconfig.h
define Build/Prepare
$(call Build/Prepare/Default)
endef
define Build/Compile
$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
$(KERNEL_MAKE_FLAGS) V=1 \
$(PKG_MAKE_FLAGS) \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
LINUXINCLUDE="$(LINUXINCLUDE)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
modules
endef
ifneq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),)
define KernelPackage/easy-soc-events/install-extra
cp $(PKG_BUILD_DIR)/easyevent.ko $(FS_DIR)/lib/modules/$(LINUX_VERSION)/extra
endef
endif
define KernelPackage/easy-soc-events/install
$(call KernelPackage/easy-soc-events/install-extra)
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR)/usr/include
#$(INSTALL_DIR) $(STAGING_DIR)/usr/include/linux
#$(CP) $(PKG_BUILD_DIR)/easysoc-event.h $(STAGING_DIR)/usr/include/linux/
#$(CP) $(PKG_BUILD_DIR)/easysoc-event.h $(LINUX_DIR)/include/linux/
$(CP) $(PKG_BUILD_DIR)/easyevent.h $(STAGING_DIR)/usr/include/
$(CP) $(PKG_BUILD_DIR)/wifievent.h $(STAGING_DIR)/usr/include/
$(CP) $(PKG_BUILD_DIR)/easyevent.h $(LINUX_DIR)/include/generated/uapi
$(CP) $(PKG_BUILD_DIR)/wifievent.h $(LINUX_DIR)/include/generated/uapi
endef
$(eval $(call KernelPackage,easy-soc-events-test))
$(eval $(call KernelPackage,easy-soc-events))

View File

@@ -1,24 +1,29 @@
#
# Copyright (C) 2018 Iopsys
# Copyright (C) 2020 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=easy-soc-libs
PKG_VERSION:=1.0.1
PKG_VERSION:=6.0.2
PKG_RELEASE:=1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=c656cd47a9f911cfe3946e3d4a374b4ae9e5d801
PKG_SOURCE_VERSION:=fee575f414324c68d0916fab06d10eccb78541fd
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/easy-soc-libs.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@inteno.se>
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/easy-soc-libs
@@ -34,26 +39,28 @@ define Package/libwifi/config
source "$(SOURCE)/Config.in"
endef
define Package/libeasy
$(call Package/easy-soc-libs)
TITLE:= Common helper functions library (libeasy)
DEPENDS+=+libnl +libnl-route
endef
define Package/libwifi
$(call Package/easy-soc-libs)
TITLE:= WiFi library (libwifi)
DEPENDS+=+TARGET_intel_mips:libnl +TARGET_intel_mips:libnl-route
DEPENDS+=+libnl +libnl-route +libeasy
endef
define Package/libethernet
$(call Package/easy-soc-libs)
TITLE:= Ethernet library (libethernet)
DEPENDS+=+TARGET_iopsys_ramips:swconfig
DEPENDS+=+libnl +libnl-route +libeasy +TARGET_iopsys_ramips:swconfig
endef
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138 \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx
KERNEL_DIR:=$(BUILD_DIR)/bcmkernel/bcm963xx
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM=BROADCOM
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCONFIG_BCM963138 \
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
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM=MEDIATEK
@@ -64,6 +71,12 @@ else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM=INTEL
TARGET_CFLAGS +=-DIOPSYS_INTEL
else ifeq ($(CONFIG_TARGET_iopsys_x86),y)
TARGET_PLATFORM=TEST
TARGET_CFLAGS +=-DIOPSYS_TEST
else ifeq ($(CONFIG_TARGET_iopsys_armvirt),y)
TARGET_PLATFORM=TEST
TARGET_CFLAGS +=-DIOPSYS_TEST
else
$(info Unexpected CONFIG_TARGET)
endif
@@ -77,10 +90,11 @@ endif
define Package/libdsl
$(call Package/easy-soc-libs)
TITLE:= XDSL library (libdsl)
DEPENDS+=+TARGET_intel_mips:dsl-cpe-api-vrx +TARGET_intel_mips:dsl-cpe-fapi
DEPENDS+=+TARGET_intel_mips:dsl-cpe-api-vrx +TARGET_intel_mips:dsl-cpe-fapi +TARGET_intel_mips:kmod-ppa-drv
endef
subdirs := \
$(if $(CONFIG_PACKAGE_libeasy),libeasy) \
$(if $(CONFIG_PACKAGE_libwifi),libwifi) \
$(if $(CONFIG_PACKAGE_libdsl),libdsl) \
$(if $(CONFIG_PACKAGE_libethernet),libethernet)
@@ -103,17 +117,29 @@ define Build/Prepare
endef
endif
define Build/InstallDev/libeasy
$(INSTALL_DIR) $(1)/usr/include/easy
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libeasy/easy.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/libeasy/event.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/libeasy/utils.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/libeasy/debug.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/libeasy/libeasy*.so* $(1)/usr/lib/
endef
define Build/InstallDev/libwifi
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libwifi/wifi.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi.so* $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi*.so* $(1)/usr/lib/
endef
define Build/InstallDev/libdsl
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/xdsl
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libdsl/xdsl.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/libdsl/xdsl.h $(1)/usr/include/xdsl
$(CP) $(PKG_BUILD_DIR)/libdsl/xtm.h $(1)/usr/include/xdsl
$(CP) $(PKG_BUILD_DIR)/libdsl/common.h $(1)/usr/include/xdsl
$(CP) $(PKG_BUILD_DIR)/libdsl/libdsl.so* $(1)/usr/lib/
endef
@@ -135,9 +161,14 @@ define Build/InstallDev
$(foreach dir,$(subdirs),$(call Build/InstallDev/$(dir),$(1),$(2));)
endef
define Package/libeasy/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libeasy/libeasy*.so* $(1)/usr/lib/
endef
define Package/libwifi/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi.so* $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/libwifi/libwifi*.so* $(1)/usr/lib/
endef
define Package/libethernet/install
@@ -154,6 +185,11 @@ ifeq ($(CONFIG_LIBDSL_TEST),y)
endif
endef
define Package/easy-soc-libs/install
:
endef
$(eval $(call BuildPackage,libeasy))
$(eval $(call BuildPackage,libwifi))
$(eval $(call BuildPackage,libdsl))
$(eval $(call BuildPackage,libethernet))

View File

@@ -1,34 +1,46 @@
#
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2018 IOPSYS Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_RELEASE:=1
PKG_VERSION:=0.2
PKG_SOURCE_VERSION:=631e61b7ab5d86f2f4c86756a117badff9fb0f2c
PKG_VERSION:=0.4
PKG_SOURCE_VERSION:=d87c1def50d9672dbeb9d5972f36a364b29334b9
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
ifeq ($(CONFIG_ENDPT_OPEN),y)
BRCM_KERNEL_PROFILE=$(shell echo $(CONFIG_BCM_KERNEL_PROFILE) | sed s/\"//g)
PKG_SOURCE:=endptmngr-$(BRCM_KERNEL_PROFILE)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_URL:=http://iopsys.inteno.se/iopsys/consumer/
PKG_SOURCE_URL:=https://download.iopsys.eu/iopsys/opensdk/
PKG_NAME:=endptmngr-open
PATCH_DIR:=
PKG_HASH:=skip
else
PKG_SOURCE_URL:=git@dev.iopsys.eu:iopsys/endptmngr
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/endptmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_NAME:=endptmngr
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
endif
RSTRIP:=true
export BUILD_DIR
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
# 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
export CONFIG_BRCM_SDK_VER_504001
export CONFIG_BRCM_SDK_VER_504002
export CONFIG_BRCM_SDK_VER_504003
export CONFIG_BRCM_SDK_VER_504004
export CONFIG_BRCM_SDK_VER_504005
include $(INCLUDE_DIR)/package.mk
@@ -41,7 +53,7 @@ define Package/endptmngr
CATEGORY:=Utilities
TITLE:=Brcmslic
URL:=
DEPENDS:= +libubox +ubus +libpicoevent +PACKAGE_bcmkernel:bcmkernel +PACKAGE_bcmopen:bcmopen
DEPENDS:= +libubox +ubus +libpicoevent +bcmkernel @TARGET_HAS_VOICE @BCM_VOICE
endef
define Package/endptmngr/description

45
ethmngr/Makefile Normal file
View File

@@ -0,0 +1,45 @@
#
# Copyright (C) 2020 Iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ethmngr
PKG_VERSION:=1.0.4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=b7135381aedf1bde6f7ab10b41be372a9bd7d155
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ethmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/ethmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Ethernet status and configration utility
DEPENDS:=+libethernet +libuci +libubox +ubus +libpthread +libnl-genl
endef
define Package/ethmngr/description
This package can be used to configure and provide status about
the ethernet interfaces and ports through UBUS.
It uses APIs from the libethernet.so library.
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE
define Package/ethmngr/install
$(INSTALL_DIR) $(1)/etc/init.d $(1)/usr/sbin
$(INSTALL_BIN) ./files/ethmngr.init $(1)/etc/init.d/ethmngr
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ethmngr $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,ethmngr))

View File

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

View File

@@ -1,7 +1,7 @@
#
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# This is free software, licensed under the GNU General Public License v3.
# See /LICENSE for more information.
#
@@ -20,6 +20,9 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE
# support parallel build
#PKG_BUILD_PARALLEL:=1

View File

@@ -1,54 +0,0 @@
#
# Copyright (C) 2016 Nikil Mehta <nikil.mehta@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=fping
PKG_VERSION:=4.0
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://fping.org/dist/
PKG_HASH:=67eb4152b98ad34f99d2eec4e1098a0bb52caf13c0c89cd147349d08190fe8ce
PKG_MAINTAINER:=Nikil Mehta <nikil.mehta@gmail.com>
PKG_LICENSE:=BSD-4-Clause
PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/fping
SECTION:=net
CATEGORY:=Network
TITLE:=sends ICMP ECHO_REQUEST packets to network hosts
URL:=http://fping.org/
endef
define Package/fping/description
fping is a ping like program which uses the Internet Control Message Protocol
(ICMP) echo request to determine if a target host is responding. fping
differs from ping in that you can specify any number of targets on the command
line, or specify a file containing the lists of targets to ping. Instead of
sending to one target until it times out or replies, fping will send out a
ping packet and move on to the next target in a round-robin fashion.
endef
CONFIGURE_ARGS+= \
--enable-ipv4 \
--enable-ipv6
TARGET_CFLAGS += -std=gnu99
define Package/fping/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fping $(1)/usr/bin/
endef
$(eval $(call BuildPackage,fping))

View File

@@ -1,3 +0,0 @@
git-src

View File

@@ -1,65 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=gigaset-elements
PKG_VERSION:=2.4.2
# PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_GIGASET_ELEMENTS_SRC_URL ?= git@dev.iopsys.eu:3rdparty/gigaset-elements.git
PKG_GIGASET_ELEMENTS_VERSION ?= v$(PKG_VERSION)
PKG_SOURCE_URL:=$(PKG_GIGASET_ELEMENTS_SRC_URL)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=aa906b37062b6d7937a9c0f8e7b62b32afe4bdeb
PKG_MAINTAINER:=Magier Marcin, Figlarek Piotr
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
include $(INCLUDE_DIR)/package.mk
######################################################
define Package/gigaset-elements
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=+libjson-c +libcurl +libpthread
TITLE:=Gigaset elements
endef
######################################################
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) all
endef
define Package/gigaset-elements/install
$(CP) -r $(PKG_BUILD_DIR)/sysroot_common/* $(1)/
$(CP) -r $(PKG_BUILD_DIR)/sysroot_$(CONFIG_ARCH)/* $(1)/
endef
define Package/gigaset-elements/preinst
#!/bin/sh
mkdir -p $${IPKG_INSTROOT}/usr/gigaset/data/cert
mkdir -p $${IPKG_INSTROOT}/usr/gigaset/data/fw
endef
define Package/gigaset-elements/postrm
#!/bin/sh
rm -rf $${IPKG_INSTROOT}/usr/gigaset/data
rm -rf /usr/share/gigaset
endef
######################################################
$(eval $(call BuildPackage,gigaset-elements))

View File

@@ -28,7 +28,7 @@ define KernelPackage/$(PKG_NAME)
FILES:=$(PKG_BUILD_DIR)/$(PKG_NAME).$(LINUX_KMOD_SUFFIX)
KCONFIG:=CONFIG_PACKAGE_kmod-gryphon-led-kernel-module=y
AUTOLOAD:=$(call AutoLoad,60,$(PKG_NAME))
PKG_LICENSE:=Genexis
PKG_LICENSE:=GPLv2
PKG_LICENSE_URL:=
endef

View File

@@ -129,6 +129,8 @@ static int canyon_led_probe(struct platform_device *pdev)
if (ret < 0) {
dev_warn(&pdev->dev, "Could not read led-count property\n");
leds->led_count = SK9822_DEFAULT_NUM_LEDS;
} else {
printk(KERN_INFO "Got led count: %u\n", leds->led_count);
}
leds->led_colors = devm_kzalloc(&pdev->dev,
@@ -140,7 +142,7 @@ static int canyon_led_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, leds);
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 16, 0)
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
leds->clock_gpio = gpiod_get_index(&pdev->dev, "led", 0);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
leds->clock_gpio = gpiod_get_index(&pdev->dev, "led", 0, GPIOD_OUT_HIGH);
@@ -148,6 +150,12 @@ static int canyon_led_probe(struct platform_device *pdev)
dev_warn(&pdev->dev, "Kernel version Not supported\n");
exit(1);
#endif
if (IS_ERR(leds->clock_gpio)) {
dev_err(&pdev->dev, "Failed to acquire clock GPIO %ld\n",
PTR_ERR(leds->clock_gpio));
leds->clock_gpio = NULL;
return PTR_ERR(leds->clock_gpio);
}
gpiod_direction_output(leds->clock_gpio, 1);
if (IS_ERR(leds->clock_gpio)) {
@@ -160,7 +168,7 @@ static int canyon_led_probe(struct platform_device *pdev)
gpiod_set_value(leds->clock_gpio, 0);
}
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 16, 0)
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
leds->data_gpio = gpiod_get_index(&pdev->dev, "led", 1);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
leds->data_gpio = gpiod_get_index(&pdev->dev, "led", 1, GPIOD_OUT_HIGH);
@@ -168,6 +176,12 @@ static int canyon_led_probe(struct platform_device *pdev)
dev_warn(&pdev->dev, "Kernel version Not supported\n");
exit(1);
#endif
if (IS_ERR(leds->data_gpio)) {
dev_err(&pdev->dev, "Failed to acquire data GPIO %ld\n",
PTR_ERR(leds->data_gpio));
leds->data_gpio = NULL;
return PTR_ERR(leds->data_gpio);
}
gpiod_direction_output(leds->data_gpio, 1);
if (IS_ERR(leds->data_gpio)) {

View File

@@ -22,7 +22,7 @@
#include <linux/types.h>
#define SK9822_DEFAULT_NUM_LEDS 32 // U16, used if DT param fails
#define SK9822_DEFAULT_BRIGHTNESS 1 // 5-bit brightness, 0-31
#define SK9822_DEFAULT_BRIGHTNESS 15 // 5-bit brightness, 0-31
typedef struct {
uint8_t b;

View File

@@ -1,4 +0,0 @@
config ICE_OPEN
bool "Use pre-compiled version for Open SDK"
default n

File diff suppressed because it is too large Load Diff

View File

@@ -1,74 +0,0 @@
#!/bin/sh
grep -rq "^ice:" /etc/passwd || {
adduser -D -H -s /bin/false ice
}
uci -q delete passwords.ice
uci -q set passwords.ice=usertype
uci -q set passwords.ice.password="\$WPAKEY"
uci -q del_list passwords.ice._access_w=root
uci -q add_list passwords.ice._access_w=root
uci -q del_list passwords.ice._access_r=root
uci -q add_list passwords.ice._access_r=root
uci -q commit passwords
uci show rpcd | grep username=.*ice.* >/dev/null || {
cat >> /etc/config/rpcd << EOF
config login
option username 'ice'
option password '\$p\$ice'
list _access_w 'none'
list write 'user-user'
list write 'juci-broadcom-dsl'
list write 'juci-broadcom-dsl-admin'
list write 'juci-broadcom-ethernet'
list write 'juci-broadcom-iptv'
list write 'juci-broadcom-vlan'
list write 'juci-broadcom-vlan-admin'
list write 'juci-wireless'
list write 'juci-wireless-admin'
list write 'juci-catv'
list write 'juci-ddns'
list write 'juci-diagnostics'
list write 'juci-dnsmasq-dhcp'
list write 'juci-dropbear'
list write 'juci-ethernet'
list write 'juci-event'
list write 'juci-firewall-fw3'
list write 'juci-iconnect'
list write 'juci-igmpinfo'
list write 'juci-inteno-backup'
list write 'juci-inteno-multiwan'
list write 'juci-inteno-provisioning'
list write 'juci-inteno-qos'
list write 'juci-inteno-voice-client'
list write 'juci-minidlna'
list write 'juci-mod-status'
list write 'juci-mod-system'
list write 'juci-natalie-dect'
list write 'juci-netmode'
list write 'juci-network-netifd'
list write 'juci-owsd'
list write 'juci-printer'
list write 'juci-realtime-graphs'
list write 'juci-samba'
list write 'juci-sfp'
list write 'juci-snmpd'
list write 'juci-sysupgrade'
list write 'juci-uhttpd'
list write 'juci-upnp'
list write 'juci-usb'
list write 'core'
list write 'unauthenticated'
EOF
}
uci -q del_list dhcp.@domain[0].name="inteno.lan"
uci -q add_list dhcp.@domain[0].name="inteno.lan"
uci -q commit dhcp
exit 0

View File

@@ -1,46 +0,0 @@
#
# Copyright (C) 2016 Inteno Broadband AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=icgroupd
PKG_VERSION:=1.0
PKG_RELEASE:=0
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=
PKG_MAINTAINER:=Inteno Broadband AB
include $(INCLUDE_DIR)/package.mk
define Package/icgroupd
SECTION:=base
CATEGORY:=Base system
TITLE:=Inteno cgroup daemon
DEPENDS:=+uci +busybox
endef
define Package/icgroupd/description
This package contains Intenos cgroup daemon and associated
configuration and startup scripts.
endef
define Build/Compile
true
endef
define Package/icgroupd/install
$(INSTALL_DIR) $(1)/sbin $(1)/etc/init.d $(1)/etc/config
$(INSTALL_CONF) ./files/cgroups.config $(1)/etc/config/cgroups
$(INSTALL_BIN) ./files/cgroups.init $(1)/etc/init.d/cgroups
$(INSTALL_BIN) ./files/cgroupd $(1)/sbin/
endef
$(eval $(call BuildPackage,icgroupd))

View File

@@ -1,76 +0,0 @@
#!/bin/sh
CGBASEDIR=$1
CGCONFIG=$2
[ -n "$CGBASEDIR" -a -n "$CGCONFIG" ] || exit 1
[ -r /lib/functions.sh ] || exit 1
. /lib/functions.sh
CGPROCMAP=/tmp/cgprocmap
CGPERIOD=3s
DBGLOG=/tmp/cgroupd.log
DEBUG=0
add_to_procmap () {
local name_grp=$1
local name grp
name=$(echo $name_grp |awk -F= '{print $1}')
grp=$(echo $name_grp |awk -F= '{print $2}')
echo "($name) $grp" >> $CGPROCMAP
}
# Read configuration file and create process:group look-up table
# in /tmp file
read_config () {
local enab
config_load $CGCONFIG
config_get enab cgroups enabled "1"
[ $enab -eq 0 ] && exit 1
config_get CGDEFGROUP cgroups defgroup "_undef_"
[ "$CGDEFGROUP" == "_undef_" ] && exit 1
[ "$DEBUG" == "1" ] && echo "default $CGDEFGROUP" >> $DBGLOG
echo -n '' > $CGPROCMAP
config_list_foreach procmap procmap add_to_procmap
[ "$DEBUG" == "1" ] && cat $CGPROCMAP >> $DBGLOG
}
# Move all process except init from cgroup root to cgroups according
# to /tmp look-up table
move_wild_procs () {
local wild_procs=$(cat $CGBASEDIR/cgroup.procs)
local pid name grp
for pid in $wild_procs; do
[ $pid -eq 1 ] && continue
if [ -d /proc/$pid ]; then
name=$(awk '{print $2}' /proc/$pid/stat)
grp=$(awk "\$1==\"$name\" {print \$2}" $CGPROCMAP)
[ "$grp" == "." ] && continue
[ -n "$grp" ] || grp=$CGDEFGROUP
[ "$DEBUG" == "1" ] && \
echo "Moving proc $pid $name to $grp" >> $DBGLOG
echo $pid > $CGBASEDIR/$grp/cgroup.procs
fi
done
}
[ "$DEBUG" == "1" ] && echo "$0 started $(date)" >> $DBGLOG
read_config
while true; do
move_wild_procs
sleep $CGPERIOD
done

View File

@@ -1,48 +0,0 @@
config cgroups cgroups
option enabled 1
option defgroup iopsys/normal
config cgroup _root_
# list option cpu.rt_runtime_us=50000
list option memory.move_charge_at_immigrate=1
config cgroup iopsys
list option cpu.shares=4096
# list option cpu.rt_runtime_us=40000
list option memory.limit_in_bytes=-1
list option memory.move_charge_at_immigrate=1
config cgroup iopsys_normal
list option cpu.shares=1024
# list option cpu.rt_runtime_us=10000
list option memory.limit_in_bytes=-1
list option memory.move_charge_at_immigrate=1
config cgroup iopsys_high
list option cpu.shares=4096
# list option cpu.rt_runtime_us=30000
list option memory.limit_in_bytes=-1
list option memory.move_charge_at_immigrate=1
config cgroup 3prt
list option cpu.shares=1024
# list option cpu.rt_runtime_us=10000
list option memory.limit_in_bytes=75M
list option memory.move_charge_at_immigrate=1
config cgroup 3prt_normal
list option cpu.shares=1024
# list option cpu.rt_runtime_us=2500
list option memory.limit_in_bytes=75M
list option memory.move_charge_at_immigrate=1
config cgroup 3prt_high
list option cpu.shares=4096
# list option cpu.rt_runtime_us=7500
list option memory.limit_in_bytes=75M
list option memory.move_charge_at_immigrate=1
config procmap procmap
list procmap kthreadd=.
list procmap minidlna=3prt/normal

View File

@@ -1,93 +0,0 @@
#!/bin/sh /etc/rc.common
START=01
USE_PROCD=1
PROCD_DEBUG=1
NAME=cgroupd
CGBASEDIR=/sys/fs/cgroup
CGCONFIG="cgroups"
DBGLOG=/tmp/cginit.log
DEBUG=0
cgroupinit_set_knob_value () {
local knob_val=$1
local dir=$2
local knob val
knob=$(echo $knob_val |awk -F= '{print $1}')
val=$(echo $knob_val |awk -F= '{print $2}')
/bin/echo $val > $CGBASEDIR/$dir/$knob
[ "$DEBUG" == "1" ] && \
echo "/bin/echo $val > $CGBASEDIR/$dir/$knob (ret=$?)" >> $DBGLOG
}
cgroupinit_create_group () {
local cgrp=$1
local dir
[ "$DEBUG" == "1" ] && echo "Create group $cgrp:" >> $DBGLOG
if [ "$cgrp" == "_root_" ]; then
dir=.
else
dir=$(echo $cgrp |tr '_' '/')
if [ ! -d $CGBASEDIR/$dir ]; then
mkdir $CGBASEDIR/$dir
[ "$DEBUG" == "1" ] && \
echo "mkdir $CGBASEDIR/$dir (ret=$?)" >> $DBGLOG
fi
fi
config_list_foreach $cgrp option cgroupinit_set_knob_value $dir
}
cgroupinit_configure_cgroups () {
local enab defgrp
[ "$DEBUG" == "1" ] && echo "$0 started $(date)" >> $DBGLOG
config_load $CGCONFIG
config_get enab cgroups enabled "1"
[ $enab -eq 0 ] && return 1
config_get defgrp cgroups defgroup "_undef_"
[ "$defgrp" == "_undef_" ] && return 1
if ! grep -q " $CGBASEDIR cgroup " /proc/mounts; then
mount -t cgroup -o nodev,noexec,nosuid cgroup $CGBASEDIR
[ $? -eq 0 ] || return 1
fi
config_foreach cgroupinit_create_group cgroup
return 0
}
start_service () {
cgroupinit_configure_cgroups
[ $? -eq 0 ] || return
procd_open_instance
procd_set_param command /sbin/cgroupd $CGBASEDIR $CGCONFIG
procd_set_param respawn
procd_close_instance
}
stop_service () {
local cgdir procs prc
for cgdir in $(find $CGBASEDIR -type d -mindepth 1 -depth); do
procs=$(cat $cgdir/cgroup.procs)
for prc in $procs; do
echo $prc > $CGBASEDIR/cgroup.procs
done
rmdir $cgdir
done
}
service_triggers() {
procd_add_reload_trigger $CGCONFIG
}

View File

@@ -1,4 +1,4 @@
if PACKAGE_icwmp-curl || PACKAGE_icwmp-zstream
if PACKAGE_icwmp
config CWMP_SCRIPTS_FULL
bool "Install all icwmp scripts"
@@ -19,17 +19,9 @@ config CWMP_DEBUG
bool "Compile with debug options"
default y
config XMPP_ENABLE
bool "enable xmpp feature"
default n
config CWMP_DEVEL_DEBUG
bool "Compile with development debug options"
default n
config LIBDATAMODEL_VENDOR_PREFIX
string "Vendor Prefix"
default "X_IOPSYS_EU_"
endif

View File

@@ -1,7 +0,0 @@
if PACKAGE_libdatamodel
config UPNP_TR064
bool "Compile with tr064 features"
default n
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2012 OpenWrt.org
# Copyright (C) 2020 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,15 +8,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=4.0-2019-05-21
PKG_VERSION:=6.3.2-2020-12-21
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=3ae6954f55e90a339561719a0328c0cf3a4b018c
PKG_SOURCE_VERSION:=495e905c30ac7423035a8c0c2c67effc0c607475
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
PKG_CONFIG_DEPENDS:= \
CONFIG_CWMP_ACS_MULTI \
@@ -24,80 +26,28 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_CWMP_DEBUG \
CONFIG_CWMP_DEVEL_DEBUG
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
CWMP_REVISION=$(shell svnversion ./src/ -n|cut -f2 -d:)
include $(INCLUDE_DIR)/package.mk
define Package/libdatamodel
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library for broadband-forum data model
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
endef
define Package/icwmp_stun
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 stun Client
DEPENDS:=+libubus +libuci +libubox +libjson-c +libopenssl +libblobmsg-json
endef
define Package/icwmp_xmpp
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 xmpp feature
DEPENDS:=+libuci +libubox +libexpat +libstrophe
endef
define Package/icwmp_twamp
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 twamp feature
DEPENDS:=+libuci
endef
define Package/icwmp_udpechoserver
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 udpechoserver feature
DEPENDS:=+libuci
endef
define Package/icwmp/Default
define Package/$(PKG_NAME)
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 +libexpat +libstrophe +curl +libtrace +libdatamodel
DEPENDS:=+libuci +libmicroxml +libubox +jshn +libubus +libblobmsg-json +libpthread +ubusd +shflags +getopt +zlib +libjson-c +libopenssl +curl +libcurl +libbbfdm +libbbf_api
endef
define Package/icwmp/description
define Package/$(PKG_NAME)/description
A free client implementation of CWMP (TR-069) protocol
endef
define Package/icwmp-curl
$(call Package/icwmp/Default)
TITLE+= (using libcurl)
DEPENDS+= +libcurl
VARIANT:=curl
endef
define Package/icwmp-zstream
$(call Package/icwmp/Default)
TITLE+= (using libzstream)
DEPENDS+= +libzstream
VARIANT:=zstream
endef
define Package/icwmp-zstream/config
define Package/$(PKG_NAME)/config
source "$(SOURCE)/Config_cwmp.in"
endef
define Package/libdatamodel/config
source "$(SOURCE)/Config_datamodel.in"
endef
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
ifneq ($(USE_LOCAL),)
define Build/Prepare
@@ -105,12 +55,6 @@ define Build/Prepare
endef
endif
ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_CFLAGS += -DEX400
endif
TARGET_CFLAGS += -DCUSTOM_PREFIX=\\\"$(CONFIG_LIBDATAMODEL_VENDOR_PREFIX)\\\"
TARGET_CFLAGS += \
-D_GNU_SOURCE -D_AADJ
@@ -130,27 +74,6 @@ CONFIGURE_ARGS += \
--with-uci-include-path=$(STAGING_DIR)/usr/include \
--with-libubox-include-path=$(STAGING_DIR)/usr/include \
--with-libubus-include-path=$(STAGING_DIR)/usr/include
ifeq ($(CONFIG_UPNP_TR064),y)
CONFIGURE_ARGS += \
--enable-upnptr064
endif
ifeq ($(CONFIG_XMPP_ENABLE),y)
CONFIGURE_ARGS += \
--enable-xmpp
endif
ifeq ($(BUILD_VARIANT),zstream)
CONFIGURE_ARGS += \
--enable-http=zstream \
--with-zstream-include-path=$(STAGING_DIR)/usr/include
endif
ifeq ($(BUILD_VARIANT),curl)
CONFIGURE_ARGS += \
--enable-http=curl
endif
ifeq ($(CONFIG_CWMP_ACS_MULTI),y)
CONFIGURE_ARGS += \
@@ -172,23 +95,10 @@ CONFIGURE_ARGS += \
--enable-devel
endif
define Package/libdatamodel/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.so* $(1)/lib/
endef
define Package/icwmp-$(BUILD_VARIANT)/install
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/etc/icwmpd
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_BUILD_DIR)/bin/.libs/icwmpd $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/dmmap $(1)/etc/icwmpd
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/firewall.cwmp $(1)/etc/firewall.cwmp
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmpd.init $(1)/etc/init.d/icwmpd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uci-defaults/90-cwmpfirewall $(1)/etc/uci-defaults/90-cwmpfirewall
$(CP) $(PKG_BUILD_DIR)/bin/icwmpd $(1)/usr/sbin
ifeq ($(CONFIG_CWMP_SCRIPTS_FULL),y)
$(INSTALL_DIR) $(1)/usr/share/icwmp
$(CP) $(PKG_BUILD_DIR)/scripts/defaults $(1)/usr/share/icwmp
@@ -199,56 +109,8 @@ endif
$(CP) ./files/* $(1)/
endef
define Package/icwmp_stun/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_stund $(1)/usr/sbin/icwmp_stund
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_stund $(1)/etc/init.d/icwmp_stund
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_stun $(1)/etc/config
endef
define Package/icwmp_xmpp/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_xmppd $(1)/usr/sbin/icwmp_xmppd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_xmppd $(1)/etc/init.d/icwmp_xmppd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_xmpp $(1)/etc/config
endef
define Package/icwmp_udpechoserver/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_udpechoserverd $(1)/usr/sbin/icwmp_udpechoserverd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_udpechoserverd $(1)/etc/init.d/icwmp_udpechoserverd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_udpechoserver $(1)/etc/config
endef
define Package/icwmp_twamp/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_twampd $(1)/usr/sbin/icwmp_twampd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_twampd $(1)/etc/init.d/icwmp_twampd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_twamp $(1)/etc/config
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/libdatamodel
$(CP) $(PKG_BUILD_DIR)/dm/*.h $(1)/usr/include/libdatamodel
$(CP) $(PKG_BUILD_DIR)/dm/dmtree/common/root.h $(1)/usr/include/libdatamodel
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.so* $(1)/lib
$(CP) $(PKG_BUILD_DIR)/bin/.libs/libdatamodel.a $(1)/lib
endef
define Package/icwmp-$(BUILD_VARIANT)/postinst
define Package/$(PKG_NAME)/postinst
#!/bin/sh
echo "$(CWMP_BKP_FILE)" >> $${IPKG_INSTROOT}/etc/sysupgrade.conf
if [ -z "$${IPKG_INSTROOT}" ]; then
echo "Enabling rc.d symlink for icwmpd"
/etc/init.d/icwmpd enable
@@ -256,7 +118,7 @@ define Package/icwmp-$(BUILD_VARIANT)/postinst
exit 0
endef
define Package/icwmp-$(BUILD_VARIANT)/prerm
define Package/$(PKG_NAME)/prerm
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
echo "Disabling rc.d symlink for icwmpd"
@@ -265,11 +127,4 @@ define Package/icwmp-$(BUILD_VARIANT)/prerm
exit 0
endef
$(eval $(call BuildPackage,icwmp-curl))
$(eval $(call BuildPackage,libdatamodel))
$(eval $(call BuildPackage,icwmp_stun))
$(eval $(call BuildPackage,icwmp_xmpp))
$(eval $(call BuildPackage,icwmp_udpechoserver))
$(eval $(call BuildPackage,icwmp_twamp))
$(eval $(call BuildPackage,icwmp-zstream))
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -1,136 +0,0 @@
1)Build
Requirements<74>:
librairies:
- libuci.so
- libexpat.so
- libcurl.so
- libpthread.so
- libopenssl.so
- libz.so
- libcrypto.so
the librairies should be present in the "staging_dir/target-i386_uClibc-0.9.30.1/usr/lib/" or "staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib"
header files and folders:
- expat.h
- expat_external.h
- uci.h
- uci_config.h
- zlib.h
- curl folder
- openssl folder
the header files and folders should be present in the staging_dir/target-i386_uClibc-0.9.30.1/usr/include/ or staging_dir/toolchain-i386_gcc-4.1.2_uClibc-0.9.30.1/usr/include/
if a librairie doesn't exist:
a- run make menuconfig and select the librarie
b- build the librarie package
2) Build
this software is composed of 3 packages:
- icwmp package: contains icwmpd daemon
- cwmp lib package: contains cwmplib and contains cwmp_value_change binary. They could be used by other user space applications in order to notify the icwmp daemon when paramter changes
- cwmp kernel package: contains cwmp kernel module. This module could be used by other kernel modules to notify the icwmpd daemon when kernel parameter changes
The three packages should be selected in the make menu config in order to get the three packages compiled.
To compile the three packages: $ make package/cwmpd/compile
3) OpenWRT settings
in the OpenWRT, Add the following lines in the /usr/share/udhcpc/default.script file:
uci_set_state provisioning iup tr069url "$url"
uci_set_state provisioning iup provisioningcode "$provisioningcode"
4) Run
Requirements:
- libuci package should be installed
- libexpat package should be installed
- libcurl package should be installed
- libpthread package should be installed
- libopenssl package should be installed
- libz package should be installed
- libcrypto package should be installed
Configure the acs url in the /etc/config/icwmp
and then start the cwmpd service: /etc/init.d/icwmpd start
for the help: /etc/init.d/icwmpd
5) Value Change
5.1) value change for user space applications (using the libcwmp)
Before using the libcwmp, we should check that the libcwmp package is selected in "make menu config". and we should check that the package is compiled.
The libcwmp should be installed uin the OpenWRT firmware
example of using libcwmp
in myapplication.c
#...
#include <cwmp_lib.h>
#...
int anyfunction ()
{
.....
/* parameter change here */
/* so we inform the icwmp: */
lib_api_cwmp_value_change_call (3, "InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}.IPInterfaceIPAddress","lan2","3");
.....
/*
Description of lib_api_cwmp_value_change_call input parameters
parameter 1 : is the number of input string in the function lib_api_cwmp_value_change_call
parameter 2 : is the parameter path
parameter 3 : is the first correspondence related to the first indice
parameter 4 : is the second correspondence related to the second indice
.
.
.
parameter n : is the (n-2) correspondence related to the (n-2) indice
*/
}
5.2) value change for user space applications (using the cwmp_value_change CLI)
Before using the libcwmp, we should check that the libcwmp package is selected in "make menu config". and we should check that the package is compiled.
The libcwmp should be installed uin the OpenWRT firmware
in OpenWRT:
root@OpenWrt:~# cwmp_value_change InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}.IPInterfaceIPAddress "lan2" "3"
in this case the command will force cwmp client to send a notification to the ACS (if and only if the parameter path as configured as active or as passive parameter using the setAttributeParameter method)
5.3) value change for kernel space modules
Before using the cwmp kernel module for value change, we should check that the kernel module package is selected in "make menu config". and we should check that the package is compiled.
The kernel module should be installed uin the OpenWRT firmware and should be insert before all other kernel modules
example of using cwmp kernel module
in mykernelmodule.c
#...
#include <linux/cwmp_kernel.h>
#...
int anykernelfunction ()
{
.....
/* parameter change here */
/* so we inform the cwmp: */
kernel_api_cwmp_value_change_call (3, "InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}.IPInterfaceIPAddress","lan2","3");
.....
/*
Description of lib_api_cwmp_value_change_call input parameters
parameter 1 : is the number of input string in the function lib_api_cwmp_value_change_call
parameter 2 : is the parameter path
parameter 3 : is the first correspondence related to the first indice
parameter 4 : is the second correspondence related to the second indice
.
.
.
parameter n : is the (n-2) correspondence related to the (n-2) indice
*/
}

View File

@@ -0,0 +1,48 @@
config acs 'acs'
option url ''
option userid '' #$OUI-$SER
option passwd 'iopsys'
option periodic_inform_enable 'true'
option periodic_inform_interval '1800'
option periodic_inform_time '0'
option ParameterKey ''
option dhcp_discovery 'enable'
# compression possible configs: GZIP, Deflate, Disabled
option compression 'Disabled'
#­ possible configs interval :[1:65535]
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 default_wan_interface 'wan'
option log_to_console 'disable'
option log_to_file 'enable'
# log_severity: INFO (Default)
# log_severity possible configs: EMERG, ALERT, CRITIC ,ERROR, WARNING, NOTICE, INFO, DEBUG
option log_severity 'INFO'
option log_file_name '/var/log/icwmpd.log'
option log_max_size '102400'
option userid '' #$OUI-$SER
option passwd 'iopsys'
option port '7547'
option ubus_socket '/var/run/ubus.sock'
option provisioning_code ''
option amd_version '5'
# compression possible configs: InstanceNumber, InstanceAlias
option instance_mode 'InstanceNumber'
option session_timeout '60'
option notification '1'
option datamodel 'tr181'
option exec_download '0'
option periodic_notify_enable '1'
option periodic_notify_interval '10'
config lwn 'lwn'
option enable '1'
option hostname ''
option port '0'

View File

@@ -0,0 +1,21 @@
#created by the icwmp package
zone_name=""
port=""
if [ "$zone_name" = "" ]; then
exit 0
elif [ "$zone_name" = "icwmp" ]; then
iptables -nL zone_icwmp_input 2> /dev/null
if [ $? != 0 ]; then
iptables -N zone_icwmp_input
iptables -t filter -A INPUT -j zone_icwmp_input
iptables -I zone_icwmp_input -p tcp --dport $port -j REJECT
else
iptables -F zone_icwmp_input
iptables -I zone_icwmp_input -p tcp --dport $port -j REJECT
fi
else
iptables -F zone_icwmp_input 2> /dev/null
iptables -t filter -D INPUT -j zone_icwmp_input 2> /dev/null
iptables -X zone_icwmp_input 2> /dev/null
fi
#iptables -I FW_ZONE -p tcp -s ACS_ADDRESS --dport PORT -j ACCEPT --comment "Open ACS port"

197
icwmp/files/etc/init.d/icwmpd Executable file
View File

@@ -0,0 +1,197 @@
#!/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=10
USE_PROCD=1
PROG="/usr/sbin/icwmpd"
EXTRA_COMMANDS="notify"
EXTRA_HELP=" start [GetRPCMethods] Start icwmpd service and send GetRPCMethods"
validate_url() {
# SCHEMA_LIST: contain list of possible schemas that could be present in the acs url
# Example: SCHEMA_LIST="http https"
SCHEMA_LIST="http"
for schema in $SCHEMA_LIST; do
dest=`echo $1 | sed 's/$schema:\/\///g' | cut -f1 -d \/ | cut -f1 -d:`
if [ "_$dest" != "_" ]; then
return 0
fi
done
return 1
}
get_acs_url() {
local default_acs="http://10.10.1.6:8000/openacs/acs"
local acs_dhcp_discovery="$(uci -q get cwmp.acs.dhcp_discovery)"
local url="$(uci -q get cwmp.acs.url)"
local dhcp_url="$(uci -P /var/state -q get cwmp.acs.dhcp_url)"
if [ "$acs_dhcp_discovery" == "enable" -a -n "$dhcp_url" -o -z "$url" ]; then
url="$dhcp_url"
echo "ACS URL from DHCP server: $url"
[ -n "$url" ] && uci -P /var/state -q set cwmp.acs.url="$url" || url="$default_acs"
elif [ -n "$url" ];then
url="$(uci -q get cwmp.acs.url)"
echo "ACS URL from configuration: $url"
else
url="$default_acs"
echo "Using default ACS URL: $url"
[ -n "$url" ] && uci -P /var/state -q set cwmp.acs.url="$url"
fi
validate_url "$url"
if [ "$?" != "0" ];then
echo "Invalid ACS URL: $url"
exit 1
fi
}
enable_dhcp_option43() {
local wan=$1
local discovery=0
case $2 in
enable|1) discovery=1 ;;
esac
### Ask for DHCP Option 43 only if CWMP is enabled ###
local enabled
local newreqopts=
local baseopts=
local reqopts="$(uci -q get network.$wan.reqopts)"
local proto="$(uci -q get network.$wan.proto)"
local tropts="43"
local oldreqopts="$reqopts"
local ropt iopt
for ropt in $reqopts; do
case $ropt in
43) ;;
*) baseopts="$baseopts $ropt" ;;
esac
done
ropt=""
reqopts="$baseopts $tropts"
for ropt in $reqopts; do
case $ropt in
43) [ $discovery -eq 1 ] && newreqopts="$newreqopts $ropt" ;;
*) newreqopts="$newreqopts $ropt" ;;
esac
done
if [ $proto == "dhcp" ]; then
newreqopts="$(echo $newreqopts | tr ' ' '\n' | sort -n | tr '\n' ' ' | sed 's/^[ \t]*//;s/[ \t]*$//')"
oldreqopts="$(echo $oldreqopts | tr ' ' '\n' | sort -n | tr '\n' ' ' | sed 's/^[ \t]*//;s/[ \t]*$//')"
[ "$newreqopts" == "$oldreqopts" ] && return
uci -q set network.$wan.reqopts="$newreqopts"
uci commit network
ubus call network reload
fi
########################################################
}
wait_for_option43() {
local time=$1
local default_wan_interface dhcp_discovery url
config_get default_wan_interface cpe default_wan_interface "wan"
config_get dhcp_discovery acs dhcp_discovery "0"
config_get url acs url
enable_dhcp_option43 $default_wan_interface $dhcp_discovery
local tm=0
if [ "$dhcp_discovery" == "enable" -o "$dhcp_discovery" == "1" ]
then
echo "Waiting for discovery of ACS URL from dhcp server ..."
while [ $tm -le $time ]
do
acs_url=`uci -P /var/state -q get cwmp.acs.dhcp_url`
if [ "$acs_url" != "" ]
then
break
else
sleep 1
fi
tm=$((tm+1))
done
fi
}
wait_for_resolvfile() {
local time=$1
local tm=1
local resolvfile="$(uci -q get dhcp.@dnsmasq[0].resolvfile)"
[ -n "$resolvfile" ] || return
while [ ! -f $resolvfile ]; do
sleep 1
[ $tm -ge $time ] && break
tm=$((tm+1))
done
}
set_wan_interface() {
local l3_device=""
local default_wan_interface=""
config_get default_wan_interface cpe default_wan_interface "wan"
json_load "$(ifstatus $default_wan_interface)"
json_get_var l3_device l3_device
if [ "$l3_device" != "" ];then
uci -q set cwmp.cpe.interface="$l3_device"
uci -q commit cwmp
fi
}
start_service() {
if [ ! -f /tmp/.icwmpd_boot ]; then
touch /etc/icwmpd/.icwmpd_boot
touch /tmp/.icwmpd_boot
else
[ -f /sbin/netifd ] && echo "Waiting for Network to be started ..." && ubus -t 5 wait_for network.interface
[ -f /etc/config/wireless ] && echo "Waiting for WiFi to be started ..." && ubus -t 5 wait_for network.wireless
[ -f /usr/sbin/dnsmasq ] && echo "Waiting for DNS Proxy to be started ..." && ubus -t 5 wait_for dnsmasq
[ -f /etc/config/dhcp ] && echo "Waiting for DNS Server(s) ..." && wait_for_resolvfile 20
[ -f /usr/sbin/asterisk ] && echo "Waiting for Voice to be started ..." && ubus -t 5 wait_for asterisk
config_load cwmp
set_wan_interface
wait_for_option43 20
get_acs_url
procd_open_instance
procd_set_param command "$PROG"
if [ "$1" = "GetRPCMethods" ];then
procd_append_param command -g
elif [ -f /etc/icwmpd/.icwmpd_boot ]; then
procd_append_param command -b
fi
procd_set_param respawn "3" "7" "0"
procd_close_instance
#procd_open_instance
#[ "$(uci -q get cwmp.cpe.notification)" == "1" ] && procd_append_param command "/usr/sbin/icwmp_notifd"
#procd_close_instance
fi
}
reload_service() {
stop
start
}
notify() {
ubus -t 1 call tr069 notify >/dev/null 2>&1 &
}
service_triggers() {
procd_add_config_trigger "config.change" "cwmp" /etc/init.d/icwmpd reload
}

View File

@@ -0,0 +1,32 @@
# Copy defaults by the factory to the cwmp UCI user section.
# Get factory base MAC.
baseMac=$(db -q get hw.board.basemac)
# Erase colon and space characters.
baseMac=${baseMac//:/}
baseMac=${baseMac// /}
# Caseing and fixed length string.
mac=$(printf "%12.12X" $((0x$baseMac)))
# Get system serial number.
serial=$(db -q get hw.board.serial_number)
# Get userid values
acs_userid=$(uci -q get cwmp.acs.userid)
cpe_userid=$(uci -q get cwmp.cpe.userid)
# Only set if they are empty
if [ -z "$acs_userid" ]
then
uci -q set cwmp.acs.userid="${mac:0:6}-${serial}"
fi
if [ -z "$cpe_userid" ]
then
uci -q set cwmp.cpe.userid="${mac:0:6}-${serial}"
fi
# No need for commit here, it is done by uci_apply_defaults().

View File

@@ -0,0 +1,12 @@
#!/bin/sh
uci -q batch <<-EOT
delete firewall.cwmp
set firewall.cwmp=include
set firewall.cwmp.path=/etc/firewall.cwmp
set firewall.cwmp.reload=1
commit firewall
EOT
exit 0

View File

@@ -41,4 +41,14 @@ set_cwmp_reqopts() {
fi
}
regenerate_ssl_link(){
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
}
set_cwmp_reqopts
regenerate_ssl_link

View File

@@ -0,0 +1 @@
/etc/icwmpd/.icwmpd_backup_session.xml

View File

@@ -0,0 +1,29 @@
#!/bin/sh
# As part of sysupgrade we copy CWMP Backup Session XML file.
# Abort on any error.
set -e
# Do nothing if user want to discard old settings.
if [ -n "$SAVE_CONFIG" ] && [ $SAVE_CONFIG -eq 0 ]; then
exit 0
fi
# Source functions.
for f in /lib/upgrade/iopsys*.sh; do
[ -r "$f" -a -s "$f" ] || continue
source $f
done
if [ -s "${2}/etc/icwmpd/.icwmpd_backup_session.xml" ]; then
cat "${2}/etc/icwmpd/.icwmpd_backup_session.xml" > "/etc/icwmpd/.icwmpd_backup_session.xml"
fi
# Report success.
log "post-hooks" "CWMP Backup Session XML file migrated"
exit 0

29
ieee1905/Config.in Normal file
View File

@@ -0,0 +1,29 @@
if PACKAGE_ieee1905 || PACKAGE_lib1905al
menu "developer/debug options"
config IEEE1905_MAP_COMPLETE_NETWORK
bool "Create network topology for complete network"
default n
config IEEE1905_SPEED_UP_DISCOVERY
bool "Speed up discovery of an AL in network"
default y
config IEEE1905_DO_NOT_ACCEPT_UNAUTHENTICATED_COMMANDS
bool "Do not accept M1/M2 messages from unknown AL(s)"
default y
choice
prompt "Select ALME support"
default IEEE1905_ALME_OVER_UBUS
config IEEE1905_ALME_OVER_UBUS
bool "ALME methods supported over ubus"
#config IEEE1905_ALME_OVER_TCP
# bool "ALME server over TCP port"
endchoice
endmenu
endif

141
ieee1905/Makefile Normal file
View File

@@ -0,0 +1,141 @@
#
# Copyright (C) 2019 Iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=2.1.32
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=2bb1c564d31a99d80a3f977c1f817777722a601d
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ieee1905.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
define Package/ieee1905
SECTION:=utils
CATEGORY:=Utilities
TITLE:=IEEE1905 daemon
DEPENDS:= +libuci +libjson-c +libieee1905 +ubox +libpcap +libopenssl +libwifi +libeasy
endef
define Package/ieee1905/config
source "$(SOURCE)/Config.in"
endef
define Package/ieee1905/description
IEEE1905 stack with extended functionalities.
endef
define Package/libieee1905
SECTION:=utils
CATEGORY:=Utilities
TITLE:=IEEE1905 cmdu tlv utility library
endef
define Package/libwsc
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Wifi Simple Configuration building and processing library
DEPENDS= +libopenssl +libuci +libubus
endef
define Package/lib1905hle
SECTION:=utils
CATEGORY:=Utilities
TITLE:=IEEE1905 hle stack library
endef
LIBS := \
$(if $(CONFIG_PACKAGE_libwsc),libwsc.so)
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-D_GNU_SOURCE \
-fstrict-aliasing \
-Wall \
-Wextra
MAKE_FLAGS += \
LIBS="$(LIBS)"
ifeq ($(CONFIG_IEEE1905_SPEED_UP_DISCOVERY),y)
TARGET_CFLAGS += -DSPEED_UP_DISCOVERY
endif
ifeq ($(CONFIG_IEEE1905_DO_NOT_ACCEPT_UNAUTHENTICATED_COMMANDS),y)
TARGET_CFLAGS += -DDO_NOT_ACCEPT_UNAUTHENTICATED_COMMANDS
endif
ifeq ($(CONFIG_IEEE1905_ALME_OVER_TCP),y)
TARGET_CFLAGS += -DALME_OVER_TCP
endif
ifeq ($(CONFIG_IEEE1905_ALME_OVER_UBUS),y)
TARGET_CFLAGS += -DALME_OVER_UBUS
endif
ifeq ($(CONFIG_IEEE1905_MAP_COMPLETE_NETWORK),y)
TARGET_CFLAGS += -DIEEE1905_MAP_COMPLETE_NETWORK
endif
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/ieee1905/* $(PKG_BUILD_DIR)/
endef
endif
define Package/ieee1905/install
$(INSTALL_DIR) $(1)/etc
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/ieee1905
$(INSTALL_DIR) $(1)/usr/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/etc/init.d/ieee1905 $(1)/etc/init.d/ieee1905
$(INSTALL_DATA) ./files/etc/config/ieee1905 $(1)/etc/config/ieee1905
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ieee1905d $(1)/usr/sbin/
endef
define Package/lib1905hle/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/lib1905hle.so $(1)/usr/lib/lib1905hle.so
endef
define Package/libieee1905/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libieee1905.so $(1)/usr/lib/libieee1905.so
endef
define Package/libwsc/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libwsc.so $(1)/usr/lib/libwsc.so
endef
define Build/InstallDev/libwsc.so
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libwsc/include/wsc.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/lib/libwsc.so $(1)/usr/lib/
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/ieee1905
$(INSTALL_DIR) $(1)/usr/include/ieee1905
$(INSTALL_DIR) $(1)/usr/include/lib1905hle
$(CP) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/ieee1905/
$(CP) $(PKG_BUILD_DIR)/libieee1905/include/*.h $(1)/usr/include/ieee1905/
$(CP) $(PKG_BUILD_DIR)/lib1905hle/include/*.h $(1)/usr/include/lib1905hle/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libieee1905.so $(1)/usr/lib
$(foreach lib,$(LIBS),$(call Build/InstallDev/$(lib),$(1),$(2));)
endef
$(eval $(call BuildPackage,libieee1905))
$(eval $(call BuildPackage,lib1905hle))
$(eval $(call BuildPackage,libwsc))
$(eval $(call BuildPackage,ieee1905))

View File

@@ -0,0 +1,17 @@
config ieee1905 'ieee1905'
option enabled '1'
option debug true
option debug_level 2
option macaddress 'auto'
option registrar 0
option cmdu_event 1
option map_plugin 1
config security 'security'
list method 'PBC'
config al-iface
option enabled 1
option ifname 'br-lan'
option media 'bridge'

View File

@@ -0,0 +1,72 @@
#!/bin/sh /etc/rc.common
START=96
STOP=22
USE_PROCD=1
PROG=/usr/sbin/ieee1905d
validate_ieee1905_section()
{
uci_validate_section ieee1905 ieee1905 "${1}" \
'debug:bool:false' \
'enabled:bool:false'
}
configure_ieee1905()
{
local enabled debug
validate_ieee1905_section ${1} || {
echo "Validation of ieee1905 section failed"
exit 1;
}
if [ ${debug} -eq 1 ]; then
# Forward stdout of the command to logd
procd_set_param stdout 1
# Same for stderr
procd_set_param stderr 1
fi
if [ ${enabled} -ne 1 ]; then
exit 0;
fi
}
configure_network()
{
ebtables -L FORWARD|grep -iqE "1:80:C2:(0)+:(0)+:13.*-j.*DROP"
if [ "$?" -ne 0 ]; then
echo "Applying drop rule to drop pkts forwared by kernel to 1905.1 multicast mac"
ebtables -A FORWARD -d 01:80:c2:00:00:13 -j DROP
fi
}
service_running() {
ubus -t 2 wait_for wifi
}
start_service() {
[ -d /usr/lib/ieee1905 ] || mkdir -p /usr/lib/ieee1905
procd_open_instance ieee1905
procd_set_param command ${PROG}
configure_ieee1905 "ieee1905"
configure_network
procd_set_param respawn
procd_close_instance
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger "network"
procd_add_reload_trigger "wireless"
procd_add_reload_trigger "netmode"
procd_add_reload_trigger "ieee1905"
}

View File

@@ -1,52 +0,0 @@
#
# Copyright (C) 2018 iopsys Software Solutions AB
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ifbt
PKG_VERSION:=0.1
PKG_SOURCE_VERSION:=0286812ed8036dea758f904694dc416481fba64d
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ifbt.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)
include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM:=-DIOPSYS_BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM:=-DIOPSYS_BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
TARGET_PLATFORM:=-DIOPSYS_MARVELL
else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM:=-DIOPSYS_INTEL
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM:=-DIOPSYS_MEDIATEK
else
$(info (UNEXPECTED CONFIG TARGET))
endif
export TARGET_PLATFORM
define Package/ifbt
CATEGORY:=Utilities
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libwifi +libjson-c
TITLE:=Fast BSS Transition
endef
define Package/ifbt/description
ifbt is Iopsys application for fast BSS transition
endef
define Package/ifbt/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ifbt $(1)/sbin/
endef
$(eval $(call BuildPackage,ifbt))

View File

@@ -1,39 +0,0 @@
#
# Copyright (C) 2015 Inteno
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ifsi
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
LDFLAGS+= \
-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
-Wl,-rpath-link=$(STAGING_DIR)/lib
define Package/ifsi
CATEGORY:=Utilities
DEPENDS:=+ubus +libubox
TITLE:=Inteno Functional Script Interface
endef
define Package/ifsi/description
Inteno Functional Script Interface
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/ifsi/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ifsi $(1)/sbin/
endef
$(eval $(call BuildPackage,ifsi))

View File

@@ -1,17 +0,0 @@
CC = gcc
CFLAGS = -g -Wall
LOCLIBS =
LIBS = -lubus -lubox -lblobmsg_json
OBJS = ifsi.o
SRCS = ifsi.c
LIBSRCS =
ISRCS =
all: ifsi
ifsi: ${OBJS}
${CC} ${LDFLAGS} ${LIBSRCS} -o ifsi ${OBJS} ${LIBS}
clean:
rm -f ifsi *.o

View File

@@ -1,74 +0,0 @@
/*
* ifsi -- Inteno functional script interface
*
* Copyright (C) 2012-2013 Inteno Broadband Technology AB. All rights reserved.
*
* Author: dev@inteno.se
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
#include <unistd.h>
#include <libubox/blobmsg.h>
#include <libubox/blobmsg_json.h>
#include <libubox/uloop.h>
#include <libubus.h>
static struct ubus_context *ctx;
static struct ubus_event_handler event_listener;
static struct blob_buf b;
static void receive_event(struct ubus_context *ctx, struct ubus_event_handler *ev,
const char *type, struct blob_attr *msg)
{
char *str;
uint32_t id;
str = blobmsg_format_json(msg, true);
fprintf(stdout, "I got %s event %s\n", type, str);
free(str);
}
int main(int argc, char **argv)
{
const char *ubus_socket = NULL;
int ret;
uloop_init();
ctx = ubus_connect(ubus_socket);
if (!ctx) {
fprintf(stderr, "Failed to connect to ubus\n");
return 1;
}
ubus_add_uloop(ctx);
event_listener.cb = receive_event;
ret = ubus_register_event_handler(ctx, &event_listener, "*");
if (ret)
fprintf(stderr, "Couldn't register to router events\n");
uloop_run();
ubus_free(ctx);
uloop_done();
return 0;
}

View File

@@ -18,6 +18,9 @@ PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk

View File

@@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=inbd
PKG_VERSION:=1.0.0
PKG_VERSION:=1.0.1
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=665a72a6bb2b5ea5a17ad6248957fe35525b3782
PKG_SOURCE_VERSION:=3135944f3357a7a2c1c206be7b65bbb7ac6d1e58
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/inbd
@@ -20,6 +20,9 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.
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

View File

@@ -1,57 +0,0 @@
#
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=inotify-tools
PKG_VERSION:=3.14
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=1df9af4d6cd0f4af4b1b19254bcf056aed4ae395
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/rvoicilas/inotify-tools.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
# 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/inotify-tools
CATEGORY:=Utilities
TITLE:=Tools to trace filesystem events.
URL:=
endef
define Package/inotify-tools/description
Tools to trace filesystem events.
endef
define Package/inotify-tools/install
$(INSTALL_DIR) $(1)/usr
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) ./files/* $(1)/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libinotifytools.so.0.4.1 $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libinotifytools.so.0 $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libinotifytools.so $(1)/usr/lib/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/inotifywait $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/inotifywatch $(1)/usr/bin/
endef
$(eval $(call BuildPackage,inotify-tools))

View File

@@ -1,13 +0,0 @@
#! /bin/sh
# is the real root mounted ?
if [ ! -f /tmp/inotify_real_root/etc/preinit ]
then
ubivol=$( cat /proc/cmdline | sed -e "s/.*root=\(ubi:rootfs_.\).*/\1/" )
mkdir /tmp/inotify_real_root
mount -t ubifs $ubivol /tmp/inotify_real_root
fi
inotifywait -r -m -e modify -e create -e attrib -e delete -e move /tmp/inotify_real_root

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2006-2011 OpenWrt.org
# Copyright (C) 2019 iopsys
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=iop
PKG_VERSION:=1.0
PKG_RELEASE:=0
PKG_LICENSE:=GPLv2
include $(INCLUDE_DIR)/package.mk

View File

@@ -7,19 +7,26 @@ CONFIG_PACKAGE_6in4=y
CONFIG_PACKAGE_6rd=y
CONFIG_PACKAGE_6to4=y
CONFIG_PACKAGE_alsa-lib=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_crashlog=y
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_ds-lite=y
CONFIG_PACKAGE_gdb=m
CONFIG_PACKAGE_ethtool=y
CONFIG_PACKAGE_getopt=y
CONFIG_PACKAGE_glib2=y
CONFIG_PACKAGE_icwmp-curl=y
CONFIG_PACKAGE_ifbt=y
CONFIG_PACKAGE_imonitor=y
CONFIG_PACKAGE_icwmp=y
CONFIG_PACKAGE_ieee1905=y
CONFIG_PACKAGE_map-1905=y
CONFIG_PACKAGE_map-topology=y
CONFIG_PACKAGE_mosquitto-client-ssl=y
CONFIG_PACKAGE_mosquitto-ssl=y
CONFIG_PACKAGE_wfadatad=y
CONFIG_PACKAGE_imonitor=m
CONFIG_PACKAGE_inbd=y
CONFIG_PACKAGE_iopupgrade=y
CONFIG_PACKAGE_ip-full=y
@@ -31,46 +38,23 @@ CONFIG_PACKAGE_iptables-mod-filter=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
# CONFIG_PACKAGE_iwatchdog is not set
CONFIG_PACKAGE_juci=y
CONFIG_PACKAGE_juci-config-backup=y
CONFIG_PACKAGE_juci-ddns=y
CONFIG_PACKAGE_juci-diagnostics=y
CONFIG_PACKAGE_juci-dnsmasq-dhcp=y
CONFIG_PACKAGE_juci-dropbear=y
CONFIG_PACKAGE_juci-event=y
CONFIG_PACKAGE_juci-firewall-fw3=y
CONFIG_PACKAGE_juci-icwmp=y
CONFIG_PACKAGE_juci-igmpinfo=y
CONFIG_PACKAGE_juci-minidlna=y
CONFIG_PACKAGE_juci-mod-status=y
CONFIG_PACKAGE_juci-mod-system=y
CONFIG_PACKAGE_juci-mwan3=y
CONFIG_PACKAGE_juci-netmode=y
CONFIG_PACKAGE_juci-network-device=y
CONFIG_PACKAGE_juci-network-dsl=y
CONFIG_PACKAGE_juci-network-netifd=y
CONFIG_PACKAGE_juci-network-port=y
CONFIG_PACKAGE_juci-openvpn=y
CONFIG_PACKAGE_juci-owsd=y
CONFIG_PACKAGE_juci-realtime-graphs=y
CONFIG_PACKAGE_juci-samba=y
CONFIG_PACKAGE_juci-snmpd=y
CONFIG_PACKAGE_juci-sysupgrade=y
CONFIG_PACKAGE_juci-upnp=y
CONFIG_PACKAGE_juci-usb=y
CONFIG_PACKAGE_juci-voice-client=y
CONFIG_PACKAGE_juci-wifilife=y
CONFIG_PACKAGE_juci-wireless=y
CONFIG_PACKAGE_juci-theme-iopsys=y
CONFIG_PACKAGE_kmod-siit=y
CONFIG_PACKAGE_libcgroup-daemon=y
CONFIG_PACKAGE_libcgroup=y
# CONFIG_PACKAGE_libcgroup-utils is not set
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libffmpeg-mini=y
CONFIG_PACKAGE_libgmp=y
CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_loop-detector=m
CONFIG_PACKAGE_minidlna=y
CONFIG_PACKAGE_libreswan=m
CONFIG_PACKAGE_libwifi=y
CONFIG_PACKAGE_lscpu=y
CONFIG_PACKAGE_map=y
CONFIG_PACKAGE_miniupnpd=y
CONFIG_PACKAGE_mwan3=y
CONFIG_PACKAGE_nand-utils=y
@@ -78,15 +62,16 @@ 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_peripheral_manager=y
CONFIG_PACKAGE_port-management=y
CONFIG_PACKAGE_power-management=y
CONFIG_PACKAGE_ppp-mod-pppoa=y
CONFIG_PACKAGE_ppp-mod-pppoe=y
CONFIG_PACKAGE_ppp-mod-pppol2tp=y
@@ -100,42 +85,42 @@ CONFIG_PACKAGE_rdnssd=y
CONFIG_PACKAGE_relayd=y
CONFIG_PACKAGE_resolveip=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rsync=y
CONFIG_PACKAGE_rulengd=y
CONFIG_PACKAGE_samba3=y
CONFIG_PACKAGE_samba3-nmbd=y
CONFIG_PACKAGE_snmpd=y
CONFIG_PACKAGE_strace=y
CONFIG_PACKAGE_swmodd=m
CONFIG_PACKAGE_tc=y
CONFIG_PACKAGE_tcpdump=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_tptest=y
CONFIG_PACKAGE_traceroute6=y
CONFIG_PACKAGE_uledd=y
CONFIG_PACKAGE_umbim=y
CONFIG_PACKAGE_uqmi=y
CONFIG_PACKAGE_usb-modeswitch=y
CONFIG_PACKAGE_usbreset=y
CONFIG_PACKAGE_uspd=y
CONFIG_PACKAGE_vsftpd-tls=m
CONFIG_PACKAGE_wget=y
CONFIG_PACKAGE_wwan=y
CONFIG_PACKAGE_libwifi=y
CONFIG_PACKAGE_wifilife=y
CONFIG_PACKAGE_wifimngr=y
CONFIG_PACKAGE_xl2tpd=y
CONFIG_PACKAGE_zoneinfo-core=y
CONFIG_PACKAGE_zoneinfo-europe=y
CONFIG_TARGET_CUSTOMER="IOPSYS"
CONFIG_TARGET_ROOTFS_TARGZ=y
# CONFIG_USE_SSTRIP is not set
CONFIG_USE_STRIP=y
CONFIG_BUILD_LOG=y
CONFIG_BUSYBOX_CONFIG_ADDUSER=y
CONFIG_BUSYBOX_CONFIG_ARPING=y
CONFIG_BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT=y
CONFIG_BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT=y
CONFIG_BUSYBOX_CONFIG_CTTYHACK=y
CONFIG_BUSYBOX_CONFIG_DELUSER=y
# CONFIG_BUSYBOX_CONFIG_DEVMEM is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_UDHCP_8021Q=y
CONFIG_BUSYBOX_CONFIG_FIRST_SYSTEM_ID=100
CONFIG_BUSYBOX_CONFIG_HTTPD=y
# CONFIG_BUSYBOX_CONFIG_HTTPD is not set
# CONFIG_BUSYBOX_CONFIG_INSMOD is not set
# CONFIG_BUSYBOX_CONFIG_MODINFO is not set
# CONFIG_BUSYBOX_CONFIG_MODPROBE is not set
@@ -179,14 +164,64 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_PUT=y
# CONFIG_BUSYBOX_CONFIG_PAM is not set
# CONFIG_BUSYBOX_CONFIG_TFTP_DEBUG is not set
# CONFIG_BUSYBOX_CONFIG_NTPD is not set
CONFIG_BUSYBOX_CONFIG_MOUNTPOINT=y
CONFIG_BUSYBOX_CONFIG_RUN_PARTS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_RUN_PARTS_FANCY=y
CONFIG_BUSYBOX_CONFIG_FEATURE_GZIP_LEVELS=y
CONFIG_BUSYBOX_CONFIG_GZIP_FAST=2
CONFIG_BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FLOAT_SLEEP=y
CONFIG_BUSYBOX_CONFIG_FLOAT_DURATION=y
CONFIG_BUSYBOX_CONFIG_USLEEP=y
CONFIG_BUSYBOX_CONFIG_REALPATH=y
CONFIG_BUSYBOX_CONFIG_TTY=y
CONFIG_BUSYBOX_CONFIG_BLOCKDEV=y
CONFIG_BUSYBOX_CONFIG_PARTPROBE=y
CONFIG_BUSYBOX_CONFIG_LFS=y
CONFIG_BUSYBOX_CONFIG_FDISK=y
CONFIG_BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_GPT_LABEL=y
CONFIG_BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED=y
CONFIG_BUSYBOX_CONFIG_IONICE=y
CONFIG_BUSYBOX_CONFIG_RENICE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_F2FS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS=y
CONFIG_BUSYBOX_CONFIG_TIMEOUT=y
CONFIG_LIBCURL_CRYPTO_AUTH=y
# CONFIG_LIBCURL_MBEDTLS is not set
CONFIG_LIBCURL_OPENSSL=y
CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
# CONFIG_SAMBA3_CONFIG_NO_PRINTING is not set
# CONFIG_SIGNED_PACKAGES is not set
CONFIG_KERNEL_DEVTMPFS=y
CONFIG_KERNEL_DEVTMPFS_MOUNT=y
# CONFIG_BUSYBOX_CONFIG_IP is not set
LOCAL_MIRROR="http://download.iopsys.eu/iopsys/mirror/"
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=""
# 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

View File

@@ -35,7 +35,7 @@ _iop()
iopcmds="bootstrap cfe_upgrade cfe_upgrade_latest extract_core \
feeds_update genconfig generate_tarballs install_key \
scp_changes setup_host ssh_install_key status \
update_package update_feed_branches ssh_upgrade"
update_package update_feed_branches ssh_upgrade smoketest"
if [ $COMP_CWORD -eq 1 ] ; then

View File

@@ -6,13 +6,9 @@ function extract_core {
topdir=$(pwd)
# Paths to packages that should be exported.
paths+='package/network/services/dnsmasq '
paths+='package/network/config/firewall '
paths+='package/network/config/netifd '
paths+='package/network/config/qos-scripts '
paths+='package/utils/busybox '
paths+='package/base-files '
paths+='package/system/procd '
paths+='package/system/rpcd '
paths+='package/network/services/openvpn '
@@ -24,7 +20,13 @@ function extract_core {
echo ""
echo "Example: $0 extract_core"
echo " -p package/utils/busybox"
echo " -r feeds/lede_core"
echo " -r feeds/openwrt_core"
echo " -b devel"
echo ""
echo "Extract all default packages:"
echo "$0 extract_core"
echo " -p default"
echo " -r feeds/openwrt_core"
echo " -b devel"
}

View File

@@ -28,11 +28,11 @@ function feeds_update {
# replace core packages with iopsys versions
if [ $override == 1 ]; then
./scripts/feeds install -f -p lede_core -a
./scripts/feeds install -f -p openwrt_core -a
fi
# targets need to be installed explicitly
targets="iopsys-brcm63xx-mips iopsys-brcm63xx-arm iopsys-ramips intel_mips"
targets="iopsys-brcm63xx-arm iopsys-ramips intel_mips iopsys-x86 iopsys-armvirt iopsys-bcm27xx"
for target in $targets
do
rm -f target/linux/$target
@@ -57,6 +57,3 @@ function feeds_update {
register_command "feeds_update" "Update feeds to point to commit hashes from feeds.conf"

View File

@@ -5,7 +5,7 @@ function genconfig {
export IMPORT=1
export SRCTREEOVERR=0
export FILEDIR="files/"
export THEMEDIR="themes"
export THEMEDIR="tmp/juci-themes"
CURRENT_CONFIG_FILE=".current_config_file"
export CONFIGPATH="package/feeds/iopsys/iop"
CUSTPATH="customerconfigs"
@@ -13,11 +13,13 @@ function genconfig {
export VERBOSE=0
export DEVELOPER=0
target="bogus"
config_path=""
brcm63xx_mips="target/linux/iopsys-brcm63xx-mips"
target_config_path=""
bcm27xx="target/linux/iopsys-bcm27xx"
brcm63xx_arm="target/linux/iopsys-brcm63xx-arm"
ramips="target/linux/iopsys-ramips"
intel_mips="target/linux/intel_mips"
x86="target/linux/iopsys-x86"
armvirt="target/linux/iopsys-armvirt"
Red='\033[0;31m' # Red
Color_Off='\033[0m' # Text Reset
@@ -79,20 +81,49 @@ function genconfig {
# Takes a board name and returns the target name in global var $target
set_target() {
local profile=$1
local profile=$1
[ -n "$profile" ] || return
if [ -n "$TARGET" -a -d "./target/linux/$TARGET" ]; then
local targetpath="./target/linux/$TARGET"
local profiles=
local pfound=0
if [ -e "$targetpath/genconfig" ]; then
profiles=$(cd $targetpath; ./genconfig)
for p in $profiles; do
if [ $p == $profile ]; then
pfound=1
break
fi
done
fi
if [ $pfound -eq 1 ]; then
target="$(echo $TARGET | tr '-' '_')"
target_config_path="$targetpath/config"
fi
return
fi
[ -e $brcm63xx_mips/genconfig ] &&
iopsys_brcm63xx_mips=$(cd $brcm63xx_mips; ./genconfig)
[ -e $brcm63xx_arm/genconfig ] &&
iopsys_brcm63xx_arm=$(cd $brcm63xx_arm; ./genconfig)
[ -e $ramips/genconfig ] &&
iopsys_ramips=$(cd $ramips; ./genconfig)
[ -e $intel_mips/genconfig ] &&
iopsys_intel_mips=$(cd $intel_mips; ./genconfig)
[ -e $x86/genconfig ] &&
iopsys_x86=$(cd $x86; ./genconfig)
[ -e $armvirt/genconfig ] &&
iopsys_armvirt=$(cd $armvirt; ./genconfig)
[ -e $bcm27xx/genconfig ] &&
iopsys_bcm27xx=$(cd $bcm27xx; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in iopsys_brcm63xx_mips iopsys_brcm63xx_arm iopsys_ramips iopsys_intel_mips; do
for list in iopsys_brcm63xx_arm iopsys_ramips iopsys_intel_mips iopsys_x86 iopsys_armvirt iopsys_bcm27xx; do
echo "$list based boards:"
for b in ${!list}; do
echo -e "\t$b"
@@ -101,18 +132,10 @@ function genconfig {
return
fi
for p in $iopsys_brcm63xx_mips; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_mips"
config_path="$brcm63xx_mips/config"
return
fi
done
for p in $iopsys_brcm63xx_arm; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_arm"
config_path="$brcm63xx_arm/config"
target_config_path="$brcm63xx_arm/config"
return
fi
done
@@ -120,7 +143,7 @@ function genconfig {
for p in $iopsys_ramips; do
if [ $p == $profile ]; then
target="iopsys_ramips"
config_path="$ramips/config"
target_config_path="$ramips/config"
return
fi
done
@@ -128,29 +151,49 @@ function genconfig {
for p in $iopsys_intel_mips; do
if [ $p == $profile ]; then
target="intel_mips"
config_path="$intel_mips/config"
target_config_path="$intel_mips/config"
return
fi
done
for p in $iopsys_x86; do
if [ $p == $profile ]; then
target="iopsys_x86"
target_config_path="$x86/config"
return
fi
done
for p in $iopsys_armvirt; do
if [ $p == $profile ]; then
target="iopsys_armvirt"
target_config_path="$armvirt/config"
return
fi
done
for p in $iopsys_bcm27xx; do
if [ $p == $profile ]; then
target="iopsys_bcm27xx"
target_config_path="$bcm27xx/config"
return
fi
done
}
git remote -v | grep -q http || {
git remote -v | grep -qE '(git@|ssh://)' && {
DEVELOPER=1
bcmAllowed=0
iceAllowed=0
endptAllowed=0
natalieAllowed=0
mediatekAllowed=0
wifilifeAllowed=0
#mediatekAllowed=0
git ls-remote git@dev.iopsys.eu:broadcom/bcmcreator.git -q 2>/dev/null && bcmAllowed=1
git ls-remote git@dev.iopsys.eu:mediatek/linux.git -q 2>/dev/null && mediatekAllowed=1
#git ls-remote git@dev.iopsys.eu:mediatek/linux.git -q 2>/dev/null && mediatekAllowed=1
git ls-remote git@dev.iopsys.eu:dialog/natalie-dect-12.26.git -q 2>/dev/null && natalieAllowed=1
git ls-remote git@dev.iopsys.eu:iopsys/endptmngr.git -q 2>/dev/null && endptAllowed=1
git ls-remote git@dev.iopsys.eu:iopsys/wifilife.git -q 2>/dev/null && wifilifeAllowed=1
git ls-remote git@private.inteno.se:ice-client.git -q -q 2>/dev/null && iceAllowed=1
}
v() {
@@ -164,6 +207,7 @@ function genconfig {
echo -e " -c|--clean\t\tRemove all files under ./files and import from config "
echo -e " -v|--verbose\t\tVerbose"
echo -e " -n|--no-update\tDo NOT! Update customer config before applying"
echo -e " -t|--target\t\tExplicitly specify the linux target to build the board profile from"
echo -e " -s|--override\t\tEnable 'Package source tree override'"
echo -e " -S|--brcmsingle\tForce build of bcmkernel to use only one thread"
echo -e " -h|--help\t\tShow this message"
@@ -171,7 +215,7 @@ function genconfig {
echo -e " -a|--list-all\t\tList all Customers and their board types"
echo -e " -b|--boards\t\tList all board types"
echo
echo "Example ./iop genconfig dg200 TELIA"
echo "Example ./iop genconfig eg400 OPERATORX"
echo "(if no customerconfig is chosen, iopsys config will be used)"
echo
exit 0
@@ -222,28 +266,30 @@ function genconfig {
generate_config()
{
DIFFFILE="$1"
MASTERFILE="$2"
while read p; do
v "$p"
sed -r -i "$p" $MASTERFILE
done < $DIFFFILE
DIFFFILE="$1"
MASTERFILE="$2"
while read p; do
v "$p"
sed -r -i "$p" $MASTERFILE
done < $DIFFFILE
}
setup_dirs()
{
if git ls-remote $CUSTREPO -q 2>/dev/null; then
if [ ! -d "$CUSTPATH" ]; then
git clone "$CUSTREPO" "$CUSTPATH"
elif [ $IMPORT -eq 1 ]; then
cd $CUSTPATH
v "git pull"
git pull
cd - >/dev/null #go back
git remote -v | grep -q http || {
if git ls-remote $CUSTREPO -q 2>/dev/null; then
if [ ! -d "$CUSTPATH" ]; then
git clone "$CUSTREPO" "$CUSTPATH"
elif [ $IMPORT -eq 1 ]; then
cd $CUSTPATH
v "git pull"
git pull
cd - >/dev/null #go back
fi
else
echo "You do not have access to $CUSTREPO"
fi
else
echo "You do not have access to $CUSTREPO"
fi
}
if [ ! -d "$FILEDIR" ]; then
mkdir -p $FILEDIR
@@ -293,14 +339,16 @@ function genconfig {
v "cp $CONFIGPATH/config .config"
cp $CONFIGPATH/config .config
if [ -f $config_path/config ]; then
cat $config_path/config >> .config
if [ -f $target_config_path/config ]; then
cat $target_config_path/config >> .config
echo "" >> .config
fi
if [ -f $config_path/$BOARDTYPE/config ]; then
cat $config_path/$BOARDTYPE/config >> .config
if [ -f $target_config_path/$BOARDTYPE/config ]; then
cat $target_config_path/$BOARDTYPE/config >> .config
echo "" >> .config
fi
#special handling for intel_mips which use TARGET_DEVICES
#special handling for intel_mips/iopsys_ramips which use TARGET_DEVICES
if [ "$target" = "intel_mips" ]; then
subtarget="xrx500"
echo "CONFIG_TARGET_${target}=y" >> .config
@@ -309,6 +357,18 @@ function genconfig {
echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=y" >> .config
device=$(echo $BOARDTYPE | tr a-z A-Z)
echo "CONFIG_TARGET_DEVICE_${target}_${subtarget}_DEVICE_${device}=y" >> .config
elif [ "$target" = "iopsys_ramips" ]; then
subtarget="mt7621"
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}_DEVICE_${BOARDTYPE}=y" >> .config
elif [ "$target" = "iopsys_bcm27xx" ]; then
subtarget="iopsys_bcm2711"
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_MULTI_PROFILE=y" >> .config
echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=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
@@ -335,10 +395,12 @@ function genconfig {
if [ -e "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
v "Apply $CUSTCONF/$CUSTOMER/common/common.diff"
cat $CUSTCONF/$CUSTOMER/common/common.diff >> .config
echo "" >> .config
fi
if [ -e "$CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff" ]; then
v "Apply $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff"
cat $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff >> .config
echo "" >> .config
fi
done
fi
@@ -346,6 +408,8 @@ function genconfig {
# Set target version
local GIT_TAG=$(git describe --abbrev=0 --tags)
echo "CONFIG_TARGET_VERSION=\"${GIT_TAG}\"" >> .config
echo "CONFIG_VERSION_CODE=\"${GIT_TAG}\"" >> .config
echo "CONFIG_VERSION_PRODUCT=\"$BOARDTYPE"\" >> .config
# Enable Pckage source tree override if selected
[ $SRCTREEOVERR -eq 1 ] && echo CONFIG_SRC_TREE_OVERRIDE=y >> .config
@@ -356,19 +420,15 @@ function genconfig {
# rewrite url to clone with ssh instead of http
echo "CONFIG_GITMIRROR_REWRITE=y" >>.config
[ $bcmAllowed -eq 0 ] && echo "CONFIG_BCM_OPEN=y" >> .config
[ $iceAllowed -eq 0 ] && echo "CONFIG_ICE_OPEN=y" >> .config
[ $endptAllowed -eq 0 ] && echo "CONFIG_ENDPT_OPEN=y" >> .config
[ $natalieAllowed -eq 0 ] && echo "CONFIG_NATALIE_OPEN=y" >> .config
[ $mediatekAllowed -eq 0 ] && echo "CONFIG_MEDIATEK_OPEN=y" >> .config
[ $wifilifeAllowed -eq 0 ] && echo "CONFIG_WIFILIFE_OPEN=y" >> .config
#[ $mediatekAllowed -eq 0 ] && echo "CONFIG_MEDIATEK_OPEN=y" >> .config
else
echo "# CONFIG_GITMIRROR_REWRITE is not set" >>.config
echo "CONFIG_BCM_OPEN=y" >> .config
echo "CONFIG_ICE_OPEN=y" >> .config
echo "CONFIG_ENDPT_OPEN=y" >> .config
echo "CONFIG_NATALIE_OPEN=y" >> .config
echo "CONFIG_MEDIATEK_OPEN=y" >> .config
echo "CONFIG_WIFILIFE_OPEN=y" >> .config
#echo "CONFIG_MEDIATEK_OPEN=y" >> .config
fi
if [ -n "$BRCM_MAX_JOBS" ]
@@ -384,7 +444,7 @@ function genconfig {
touch package/kernel/linux/Makefile
# we need to signal to bradcom SDK that we have changed the board id
# currently boardparms.c and boardparms_voice.c is the only place that is depending on inteno boardid name
# currently boardparms.c and boardparms_voice.c is the only place that is depending on boardid name
# so just touch that file.
[ -d ./build_dir ] && find build_dir/ -name "boardparms*c" -print0 2>/dev/null | xargs -0 touch 2>/dev/null
@@ -421,6 +481,7 @@ function genconfig {
-c|--clean) export CLEAN=1;;
-n|--no-update) export IMPORT=0;;
-v|--verbose) export VERBOSE="$(($VERBOSE + 1))";;
-t|--target) export TARGET="$2"; shift;;
-p|--profile) export PROFILE="$2"; shift;;
-r|--repo) export CUSTREPO="$2"; shift;;
-s|--override) export SRCTREEOVERR=1;;

View File

@@ -0,0 +1,461 @@
#!/bin/bash
function genconfig_min {
export CLEAN=0
export SRCTREEOVERR=0
export FILEDIR="files/"
CURRENT_CONFIG_FILE=".current_config_file"
export CONFIGPATH="package/feeds/iopsys/iop"
CUSTPATH="customerconfigs"
export CUSTCONF="customerconfigs/customers"
export VERBOSE=0
#always use the mirror
export DEVELOPER=0
target="bogus"
config_path=""
bcm27xx="target/linux/iopsys-bcm27xx"
brcm63xx_arm="target/linux/iopsys-brcm63xx-arm"
ramips="target/linux/iopsys-ramips"
intel_mips="target/linux/intel_mips"
x86="target/linux/iopsys-x86"
armvirt="target/linux/iopsys-armvirt"
Red='\033[0;31m' # Red
Color_Off='\033[0m' # Text Reset
Yellow='\033[0;33m' # Yellow
function find_last {
egrep "^[ #]*${1}[ =]" $2 | tail -n1
}
function is_new {
for opt in $conf_warned
do
if [ "$opt" == "$1" ]
then
return 1
fi
done
# option not found return true
return 0
}
function verify_config {
IFS=$'\n'
org=$(<.genconfig.config)
unset IFS
local num
local conf_opt
local conf_org
local conf_new
#echo "lines to check $tot_lines"
num=0
for line in $org
do
conf_opt=$(echo $line | grep CONFIG_ | sed 's|.*\(CONFIG_[^ =]*\)[ =].*|\1|')
if [ -n "${conf_opt}" ]
then
conf_org=$(find_last ${conf_opt} .genconfig.config)
conf_new=$(find_last ${conf_opt} .config)
if [ "$conf_org" != "$conf_new" ]
then
if is_new $conf_opt
then
echo -e "config option [${Red}$conf_opt${Color_Off}] is not set correctly in .config"
echo -e "got value [${Yellow}$conf_new${Color_Off}] but wanted [${Yellow}$conf_org${Color_Off}]"
echo "This is a real problem somebody needs to investigate"
echo ""
conf_warned="$conf_warned $conf_opt"
fi
else
true
# for debug to see all options
#echo -e "wanted [$conf_org] got [$conf_new]"
fi
fi
num=$((num+1))
done
}
# Takes a board name and returns the target name in global var $target
set_target() {
local profile=$1
[ -n "$profile" ] || return
if [ -n "$TARGET" -a -d "./target/linux/$TARGET" ]; then
local targetpath="./target/linux/$TARGET"
local profiles=
local pfound=0
if [ -e "$targetpath/genconfig" ]; then
profiles=$(cd $targetpath; ./genconfig)
for p in $profiles; do
if [ $p == $profile ]; then
pfound=1
break
fi
done
fi
if [ $pfound -eq 1 ]; then
target="$(echo $TARGET | tr '-' '_')"
config_path="$targetpath/config"
fi
return
fi
[ -e $brcm63xx_arm/genconfig ] &&
iopsys_brcm63xx_arm=$(cd $brcm63xx_arm; ./genconfig)
[ -e $ramips/genconfig ] &&
iopsys_ramips=$(cd $ramips; ./genconfig)
[ -e $intel_mips/genconfig ] &&
iopsys_intel_mips=$(cd $intel_mips; ./genconfig)
[ -e $x86/genconfig ] &&
iopsys_x86=$(cd $x86; ./genconfig)
[ -e $armvirt/genconfig ] &&
iopsys_armvirt=$(cd $armvirt; ./genconfig)
[ -e $bcm27xx/genconfig ] &&
iopsys_bcm27xx=$(cd $bcm27xx; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in iopsys_brcm63xx_arm iopsys_ramips iopsys_intel_mips iopsys_x86 iopsys_armvirt iopsys_bcm27xx; do
echo "$list based boards:"
for b in ${!list}; do
echo -e "\t$b"
done
done
return
fi
for p in $iopsys_brcm63xx_arm; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_arm"
config_path="$brcm63xx_arm/config"
return
fi
done
for p in $iopsys_ramips; do
if [ $p == $profile ]; then
target="iopsys_ramips"
config_path="$ramips/config"
return
fi
done
for p in $iopsys_intel_mips; do
if [ $p == $profile ]; then
target="intel_mips"
config_path="$intel_mips/config"
return
fi
done
for p in $iopsys_x86; do
if [ $p == $profile ]; then
target="iopsys_x86"
config_path="$x86/config"
return
fi
done
for p in $iopsys_armvirt; do
if [ $p == $profile ]; then
target="iopsys_armvirt"
config_path="$armvirt/config"
return
fi
done
for p in $iopsys_bcm27xx; do
if [ $p == $profile ]; then
target="iopsys_bcm27xx"
config_path="$bcm27xx/config"
return
fi
done
}
git remote -v | grep -q http || {
DEVELOPER=1
bcmAllowed=0
endptAllowed=0
natalieAllowed=0
mediatekAllowed=0
git ls-remote git@dev.iopsys.eu:broadcom/bcmcreator.git -q 2>/dev/null && bcmAllowed=1
git ls-remote git@dev.iopsys.eu:mediatek/linux.git -q 2>/dev/null && mediatekAllowed=1
git ls-remote git@dev.iopsys.eu:dialog/natalie-dect-12.26.git -q 2>/dev/null && natalieAllowed=1
git ls-remote git@dev.iopsys.eu:iopsys/endptmngr.git -q 2>/dev/null && endptAllowed=1
}
v() {
[ "$VERBOSE" -ge 1 ] && echo "$@"
}
usage() {
echo
echo 1>&2 "Usage: $0 [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
echo
echo -e " -c|--clean\t\tRemove all files under ./files and import from config "
echo -e " -v|--verbose\t\tVerbose"
echo -e " -n|--no-update\tDo NOT! Update customer config before applying"
echo -e " -t|--target\t\tExplicitly specify the linux target to build the board profile from"
echo -e " -s|--override\t\tEnable 'Package source tree override'"
echo -e " -S|--brcmsingle\tForce build of bcmkernel to use only one thread"
echo -e " -h|--help\t\tShow this message"
echo -e " -l|--list [customer]\tList all Customers or all boards for one customer"
echo -e " -a|--list-all\t\tList all Customers and their board types"
echo -e " -b|--boards\t\tList all board types"
echo
echo "Example ./iop genconfig dg400prime IOPSYS"
echo
exit 0
}
list_customers()
{
local ALL="$1"
local CUSTOMER="$2"
if [ "$CUSTOMER" -a -d "$CUSTCONF/$CUSTOMER" ]; then
local boards="$(ls -1 "$CUSTCONF/$CUSTOMER" | grep -v common )"
if [ "$boards" ]; then
echo "$CUSTOMER has following boards:"
for board in $boards; do
echo -e "\t$board"
done
else
echo "No boards found for $CUSTOMER"
fi
elif [ "$CUSTOMER" ]; then
echo "No customer called $CUSTOMER"
exit 1
elif [ -d $CUSTCONF ]; then
local customers="$(ls -1 $CUSTCONF)"
if [ "$customers" -a "$ALL" == 1 ]; then
for customer in $customers; do
echo $customer
local boards="$(ls -1 $CUSTCONF/$customer | grep -v common )"
if [ "$boards" ]; then
for board in $boards; do
echo -e "\t$board"
done
else
echo "has no boards"
fi
done
elif [ "$customers" ]; then
echo -e "$customers"
else
echo "no customers found"
fi
else
echo "No $CUSTCONF folder found"
fi
exit 0
}
generate_config()
{
DIFFFILE="$1"
MASTERFILE="$2"
while read p; do
v "$p"
sed -r -i "$p" $MASTERFILE
done < $DIFFFILE
}
setup_dirs()
{
if [ ! -d "$FILEDIR" ]; then
mkdir -p $FILEDIR
elif [ -d "$FILEDIR" -a $CLEAN -eq 1 ]; then
v "rm -rf $FILEDIR*"
rm -rf $FILEDIR*
fi
}
create_and_copy_files()
{
local BOARDTYPE=$1
shift
local CUSTOMERS=$@
# Validate seleced board and customers
set_target $BOARDTYPE
if [ $target == "bogus" ]; then
echo "Hardware profile does not exist"
exit 1
elif [ -n "$CUSTOMERS" ]; then
for CUSTOMER in $CUSTOMERS; do
if [ ! -d "$CUSTCONF/$CUSTOMER/" ]; then
echo "Customer profile for '$CUSTOMER' does not exist"
exit 1
elif [ ! -d "$CUSTCONF/$CUSTOMER/$BOARDTYPE/" ]; then
echo "'$BOARDTYPE' board profile does not exist for customer '$CUSTOMER'"
if [ -f "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
echo "Common profile configuration will be used"
else
exit 1
fi
fi
done
fi
# Generate base config
rm -f .config
v "Config $BOARDTYPE selected"
v "cp $CONFIGPATH/config .config"
cp $CONFIGPATH/config .config
if [ -f $config_path/config ]; then
cat $config_path/config >> .config
fi
if [ -f $config_path/$BOARDTYPE/config ]; then
cat $config_path/$BOARDTYPE/config >> .config
fi
#special handling for intel_mips/iopsys_ramips which use TARGET_DEVICES
if [ "$target" = "intel_mips" ]; then
subtarget="xrx500"
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_MULTI_PROFILE=y" >> .config
echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=y" >> .config
device=$(echo $BOARDTYPE | tr a-z A-Z)
echo "CONFIG_TARGET_DEVICE_${target}_${subtarget}_DEVICE_${device}=y" >> .config
elif [ "$target" = "iopsys_ramips" ]; then
subtarget="mt7621"
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}_DEVICE_${BOARDTYPE}=y" >> .config
elif [ "$target" = "iopsys_bcm27xx" ]; then
subtarget="iopsys_bcm2711"
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_MULTI_PROFILE=y" >> .config
echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=y" >> .config
device=$(echo $BOARDTYPE | tr a-z A-Z)
echo "CONFIG_TARGET_DEVICE_${target}_${subtarget}_DEVICE_${BOARDTYPE}=y" >> .config
else
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${BOARDTYPE}=y" >> .config
fi
echo "$CUSTOMERS $BOARDTYPE" > $CURRENT_CONFIG_FILE
# Add customerconfig diff if a customer is selected
if [ -n "$CUSTOMERS" ]; then
for CUSTOMER in $CUSTOMERS; do
if [ -d "$CUSTCONF/$CUSTOMER/common/fs" ]; then
v "cp -ar $CUSTCONF/$CUSTOMER/common/fs/* $FILEDIR"
cp -ar $CUSTCONF/$CUSTOMER/common/fs/* $FILEDIR
fi
if [ -d "$CUSTCONF/$CUSTOMER/$BOARDTYPE/fs" ]; then
v "cp -ar $CUSTCONF/$CUSTOMER/$BOARDTYPE/fs/* $FILEDIR"
cp -ar $CUSTCONF/$CUSTOMER/$BOARDTYPE/fs/* $FILEDIR
fi
if [ -e "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
v "Apply $CUSTCONF/$CUSTOMER/common/common.diff"
cat $CUSTCONF/$CUSTOMER/common/common.diff >> .config
fi
if [ -e "$CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff" ]; then
v "Apply $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff"
cat $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff >> .config
fi
done
fi
# Set target version
local GIT_TAG=$(git describe --abbrev=0 --tags)
echo "CONFIG_TARGET_VERSION=\"${GIT_TAG}\"" >> .config
echo "CONFIG_VERSION_CODE=\"${GIT_TAG}\"" >> .config
echo "CONFIG_VERSION_PRODUCT=\"$BOARDTYPE"\" >> .config
# Enable Package source tree override if selected
[ $SRCTREEOVERR -eq 1 ] && echo CONFIG_SRC_TREE_OVERRIDE=y >> .config
# developer mode selected ?
echo "CONFIG_DEVEL=y" >>.config
if [ -n "$BRCM_MAX_JOBS" ]
then
echo "CONFIG_BRCM_MAX_JOBS=\"1\"" >>.config
fi
# Force regeneration of kernel Makefile
# Needed to disable kmods for iopsys-brcm targets
touch package/kernel/linux/Makefile
# we need to signal to bradcom SDK that we have changed the board id
# currently boardparms.c and boardparms_voice.c is the only place that is depending on boardid name
# so just touch that file.
[ -d ./build_dir ] && find build_dir/ -name "boardparms*c" -print0 2>/dev/null | xargs -0 touch 2>/dev/null
# Store generated config
cp .config .genconfig.config
# Set default values based on selected parameters
v "$(make defconfig 2>&1)"
echo Set version to $(grep -w CONFIG_TARGET_VERSION .config | cut -d'=' -f2 | tr -d '"')
# Clean base-file package to force rebuild when changing profile
v "$(make package/base-files/clean 2>&1)"
verify_config
}
####### main #####
if [ ! -e tmp/.iop_bootstrap ]; then
echo "You have not installed feeds. Running genconfig in this state would create a non functional configuration."
echo "Run: iop feeds_update"
exit 0
fi
if [ $# -eq 0 ]; then
echo Current profile:
cat $CURRENT_CONFIG_FILE
echo "Try ./iop genconfig -h' to get instructions if you want to change current config"
exit 0
else
while [ -n "$1" ]; do
case "$1" in
-c|--clean) export CLEAN=1;;
-n|--no-update) export IMPORT=0;;
-v|--verbose) export VERBOSE="$(($VERBOSE + 1))";;
-t|--target) export TARGET="$2"; shift;;
-p|--profile) export PROFILE="$2"; shift;;
-r|--repo) export CUSTREPO="$2"; shift;;
-s|--override) export SRCTREEOVERR=1;;
-S|--brcmsingel) export BRCM_MAX_JOBS=1;;
-h|--help) usage;;
-l|--list) list_customers 0 $2;;
-a|--list-all)list_customers 1;;
-b|--boards)set_target LIST;exit 0;;
-*)
echo "Invalid option: $1 "
echo "Try -h or --help for more information."
exit 1
;;
*) break;;
esac
shift;
done
setup_dirs
create_and_copy_files "$@"
fi
}
register_command "genconfig_min" "Generate configuration for customer with manual board configuration"

View File

@@ -1,21 +1,32 @@
#!/bin/bash
# shellcheck disable=SC2029
build_bcmkernel_consumer() {
local tarfile bcmkernelcommith sdkversion
sdkversion=$(grep "CONFIG_BRCM_SDK_VER.*=y" .config | awk -F'[_,=]' '{print$5}')
sdkversion=${sdkversion:0:4}${sdkversion:(-1)}
bcmkernelcommith=$(grep -w "PKG_SOURCE_VERSION:" $curdir/feeds/broadcom/bcmkernel/${sdkversion:0:5}*.mk | cut -d'=' -f2)
local tarfile bcmkernelcommith sdkversion serverpath serverlink
sdkversion="$(grep "CONFIG_BRCM_SDK_VER.*=y" .config | awk -F'[_,=]' '{print$5}')"
sdkversion="${sdkversion:0:4}${sdkversion:(-1)}"
bcmkernelcommith="$(grep -w "PKG_SOURCE_VERSION:" "$curdir/feeds/broadcom/bcmkernel/${sdkversion:0:5}"*".mk" | cut -d'=' -f2)"
[ -n "$board" ] && [ -n "$bcmkernelcommith" ] || return
serverpath="$FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz"
serverlink="$FPATH/bcmopen-$board-$majver.$minver-latest"
# do not build bcmopen sdk if it was already built before
[ -n "$board" -a -n "$bcmkernelcommith" ] || return
ssh $SERVER "test -f $FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz" && return
cd ./build_dir/target-*/bcmkernel-*-${sdkversion:0:4}*/bcm963xx/release
bash do_consumer_release -p $profile -y -F
# if it was, check if there's a symlink in place and create it if missing
ssh "$SERVER" "test -f '$serverpath' && { test -L '$serverlink' || ln -sf '$serverpath' '$serverlink'; }" && return
cd "./build_dir/target-"*"/bcmkernel-"*"-${sdkversion:0:4}"*"/bcm963xx/release"
bash do_consumer_release -p "$profile" -y -F
tarfile='out/bcm963xx_*_consumer.tar.gz'
[ $(ls -1 $tarfile |wc -l) -ne 1 ] && echo "Too many tar files: '$tarfile'" && return
scp -pv $tarfile $SERVER:$FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz
ssh $SERVER "[ -f $FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz ] && ln -sf $FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz $FPATH/bcmopen-$board-$majver.$minver-latest"
[ $(ls -1 $tarfile | wc -l) -ne 1 ] && echo "Too many tar files: '$tarfile'" && return
scp -pv $tarfile "$SERVER":"$serverpath"
ssh "$SERVER" "test -f '$serverpath' && ln -sf '$serverpath' '$serverlink'"
rm -f $tarfile
cd "$curdir"
}
@@ -25,7 +36,7 @@ build_natalie_consumer() {
grep -q "CONFIG_TARGET_NO_DECT=y" .config && return
natalieversion=$(grep -w "PKG_VERSION:" ./feeds/iopsys/natalie-dect/Makefile | cut -d'=' -f2)
nataliecommith=$(grep -w "PKG_SOURCE_VERSION:" ./feeds/iopsys/natalie-dect/Makefile | cut -d'=' -f2)
[ -n "$profile" -a -n "$natalieversion" -a -n "$nataliecommith" ] || return
[ -n "$profile" ] && [ -n "$natalieversion" ] && [ -n "$nataliecommith" ] || return
ssh $SERVER "test -f $FPATH/natalie-dect-$profile-$natalieversion-$nataliecommith.tar.gz" && return
cd ./build_dir/target-*/natalie-dect-$natalieversion/
mkdir natalie-dect-open-$natalieversion
@@ -44,7 +55,7 @@ build_endptmngr_consumer() {
grep -q "CONFIG_TARGET_NO_VOICE=y" .config && return
endptversion=$(grep -w "PKG_VERSION:" ./feeds/iopsys/endptmngr/Makefile | cut -d'=' -f2)
endptcommith=$(grep -w "PKG_SOURCE_VERSION:" ./feeds/iopsys/endptmngr/Makefile | cut -d'=' -f2)
[ -n "$profile" -a -n "$endptversion" -a -n "$endptcommith" ] || return
[ -n "$profile" ] && [ -n "$endptversion" ] && [ -n "$endptcommith" ] || return
ssh $SERVER "test -f $FPATH/endptmngr-$profile-$endptversion-$endptcommith.tar.gz" && return
cd ./build_dir/target-*/endptmngr-$endptversion/
mkdir endptmngr-open-$endptversion
@@ -59,62 +70,19 @@ build_endptmngr_consumer() {
cd "$curdir"
}
build_ice_consumer() {
# create ice-client open version tar file
local iceversion icebasever icerelease icecommith
icecommith=$(grep -w "PKG_SOURCE_VERSION:" ./feeds/iopsys/ice-client/Makefile | head -1 | cut -d'=' -f2)
icebasever=$(grep -w "BASE_PKG_VERSION:" ./feeds/iopsys/ice-client/Makefile | cut -d'=' -f2)
icerelease=$(grep -w "PKG_RELEASE:" ./feeds/iopsys/ice-client/Makefile | cut -d'=' -f2)
iceversion=$icebasever$icerelease
[ -n "$target" -a -n "$iceversion" -a -n "$icecommith" ] || return
ssh $SERVER "test -f $FPATH/ice-client-$target-$iceversion-$icecommith.tar.gz" && return
cd ./build_dir/target-*/ice-client-$icebasever/ipkg-* || cd ./build_dir/target-mips*musl-*/ice-client-$icebasever/ipkg-*
tar -czv ice-client -f ice-client-$target-$iceversion-$icecommith.tar.gz
scp -pv ice-client-$target-$iceversion-$icecommith.tar.gz $SERVER:$FPATH/
cp ice-client-$target-$iceversion-$icecommith.tar.gz $curdir/
rm -f ice-client-$target-$iceversion-$icecommith.tar.gz
cd "$curdir"
}
build_wifilife_consumer() {
local ver commit
ver=$(grep -w "PKG_VERSION:" ./feeds/iopsys/wifilife/Makefile | cut -d'=' -f2)
commit=$(grep -w "PKG_SOURCE_VERSION:" ./feeds/iopsys/wifilife/Makefile | cut -d'=' -f2)
[ -n "$ver" -a -n "$commit" ] || return
ssh $SERVER "test -f $FPATH/wifilife-$target-${ver}_${commit}.tar.xz" && return
cd ./build_dir/target-*/wifilife-$ver/ipkg-* || cd ./build_dir/target-mips*musl-*/wifilife-$ver/ipkg-*
mkdir -p wifilife-$ver/src
cp -rf wifilife/usr/sbin/* wifilife-$ver/src/
tar Jcf wifilife-${target}-${ver}_${commit}.tar.xz wifilife-$ver
scp -pv wifilife-$target-${ver}_${commit}.tar.xz $SERVER:$FPATH/
cp wifilife-${target}-${ver}_${commit}.tar.xz $curdir/
rm -rf wifilife-$ver
rm -f wifilife-${target}-${ver}_${commit}.tar.xz
cd "$curdir"
}
build_mediatek_kernel() {
local mediatek_commit kernel_version kernel
local mediatek_commit kernel
mediatek_commit=$(grep CONFIG_KERNEL_GIT_COMMIT .config | cut -d '=' -f2 | tr -d '"')
kernel_version=$(grep KERNEL_PATCHVER target/linux/iopsys-ramips/Makefile | cut -d '=' -f2)
kernel=linux-${kernel_version}.*
kernel=linux-git*
[ -n "$mediatek_commit" ] || return
ssh $SERVER "test -f $FPATH/mediatek-kernel-open-$mediatek_commit.tar.gz" && return
echo "Building mediatek kernel tarball from kernel commit:"
echo $mediatek_commit
cd build_dir/target-mipsel_1004kc*/linux-iopsys-ramips*/$kernel
# Save Kconfig files to recreate the same kernel config,
# delete everyting else.
find drivers/net/wireless/mt_wifi -type f ! -name Kconfig | xargs rm
find drivers/net/wireless/rlt_wifi -type f ! -name Kconfig | xargs rm
cd build_dir/target-mipsel_1004kc*/linux-iopsys-ramips*/linux-git*
# remove git repo
rm -rf .git
# patch kernel for openstk
ls consumer_release | while read line; do patch -p1 < consumer_release/$line; done
cd ..
tar -czv $kernel -f mediatek-kernel-open-$mediatek_commit.tar.gz
@@ -122,6 +90,26 @@ build_mediatek_kernel() {
cd "$curdir"
}
build_mediatek_wifi_consumer() {
local ver commit
local chip=$1
ver=$(grep -w "PKG_VERSION:" ./feeds/mediatek/mt${chip}/Makefile | cut -d'=' -f2)
commit=$(grep -w "PKG_SOURCE_VERSION:" ./feeds/mediatek/mt${chip}/Makefile | cut -d'=' -f2)
[ -n "$ver" ] && [ -n "$commit" ] || return
ssh $SERVER "test -f $FPATH/mtk${chip}e-${ver}_${commit}.tar.xz" && return
cd build_dir/target-mipsel_1004kc*/linux-iopsys-ramips*/mtk${chip}e-$ver/ipkg-*
mkdir -p mtk${chip}e-$ver/src
cp -rf kmod-mtk${chip}e/etc mtk${chip}e-$ver/src/
cp -rf kmod-mtk${chip}e/lib mtk${chip}e-$ver/src/
tar Jcf mtk${chip}e-${ver}_${commit}.tar.xz mtk${chip}e-$ver
scp -pv mtk${chip}e-${ver}_${commit}.tar.xz $SERVER:$FPATH/
cp mtk${chip}e-${ver}_${commit}.tar.xz $curdir/
rm -rf mtk${chip}e-$ver
rm -f mtk${chip}e-${ver}_${commit}.tar.xz
cd "$curdir"
}
function print_usage {
echo "Usage: $0 generate_tarballs"
echo " -t <target>"
@@ -129,14 +117,13 @@ function print_usage {
function generate_tarballs {
SERVER="god@software.inteno.se"
FPATH="/var/www/html/iopsys/consumer"
SERVER="god@download.iopsys.eu"
FPATH="/var/www/html/iopsys/opensdk"
set -e
git remote -v | grep -q http && return # do not continue if this is an open SDK environment
target=$(grep CONFIG_TARGET_BOARD .config | cut -d'=' -f2 | tr -d '"')
board=$(grep CONFIG_TARGET_IBOARDID .config | cut -d'=' -f2 | tr -d '"')
board=$(grep CONFIG_TARGET_FAMILY .config | cut -d'=' -f2 | tr -d '"')
profile=$(grep CONFIG_BCM_KERNEL_PROFILE .config | cut -d'=' -f2 | tr -d '"')
majver=$(grep CONFIG_TARGET_VERSION .config | cut -d'=' -f2 | tr -d '"' | cut -f1 -d .)
minver=$(grep CONFIG_TARGET_VERSION .config | cut -d'=' -f2 | tr -d '"' | cut -f2 -d .)
@@ -160,7 +147,7 @@ function generate_tarballs {
esac
done
if [ ! -n "$stk_target" ]; then
if [ -z "$stk_target" ]; then
print_usage
exit 1
fi
@@ -169,12 +156,10 @@ function generate_tarballs {
build_bcmkernel_consumer
build_natalie_consumer
build_endptmngr_consumer
build_ice_consumer
build_wifilife_consumer
elif [ "$stk_target" == "mediatek" ]; then
build_mediatek_kernel
build_ice_consumer
build_wifilife_consumer
build_mediatek_wifi_consumer 7603
build_mediatek_wifi_consumer 7615
else
echo "Invalid target: $stk_target"
print_usage

View File

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

View File

@@ -230,7 +230,7 @@ function ssh_upgrade {
upd_fw_base=""
upd_fw=""
upd_host="192.168.1.1"
upd_sysupgrade=0
upd_sysupgrade=1
do_dialog=0
while getopts "f:hnxt:iscb" opt; do
@@ -280,6 +280,14 @@ function ssh_upgrade {
set_config_string CONFIG_TARGET_BOARD
firmwares=$(cd bin/targets/$CONFIG_TARGET_BOARD/generic/; ls -t *[0-9].y[3])
# if target uses pkgtb
if [ -z "$firmwares"]
then
# pkgtb files can not be streamed so copy over the file witch scp
use_scp=1
firmwares=$(cd bin/targets/$CONFIG_TARGET_BOARD/generic/; ls -t last.pkgtb)
fi
for upd_fw_base in $firmwares
do
#echo "firmware $upd_fw"
@@ -313,10 +321,20 @@ function ssh_upgrade {
[ $upd_forceboot -eq 1 ] && extra_args="$extra_args -b"
file_size_kb=`du -k "$upd_fw" | cut -f1`
cat $upd_fw | pv -s ${file_size_kb}k | ssh root@$upd_host "iopu $extra_args"
if [ "$use_scp" == "1" ]
then
scp $upd_fw root@$upd_host:/tmp/ &&
ssh -o ConnectTimeout=60 root@$upd_host "iopu $extra_arg -f /tmp/$upd_fw_base"
else
cat $upd_fw | pv -s ${file_size_kb}k | ssh root@$upd_host "iopu $extra_args"
fi
else
extra_args=""
[ $upd_noreboot -eq 1 ] && extra_args="$extra_args -d"
[ $upd_keepconf -eq 0 ] && extra_args="$extra_args -n"
scp $upd_fw root@$upd_host:/tmp/ &&
ssh -o ConnectTimeout=60 root@$upd_host "sysupgrade -v $3 /tmp/$upd_fw_base" &&
ssh -o ConnectTimeout=60 root@$upd_host "sysupgrade -v $extra_args /tmp/$upd_fw_base" &&
echo "sysupgrade done!"
fi
}

View File

@@ -0,0 +1,35 @@
#!/bin/sh
function license_report {
LICDIR="/tmp/licenses-generator/"
LICBIN="${LICDIR}/bin"
dpkg -s python3 python3-requests python3-yaml python3-mako python3-six &> /dev/null
if [ $? -ne 0 ]
then
echo "Missing dependencies"
sudo apt-get update
sudo apt-get install python3 python3-requests python3-yaml python3-mako python3-six
else
echo "Dependecy check passed"
fi
if [ -d "$LICDIR" ]; then
### Take action if $DIR exists ###
echo "Creating json licences file and html formated report"
else
### Control will jump here if $DIR does NOT exists ###
echo "Error: licenses-generator not found. getting from iopsys repo"
git clone git@dev.iopsys.eu:iopsys/licenses-generator.git $LICDIR
fi
LICGET=`${LICBIN}/licenses-generator gen-License bin/`
echo $LICGET
${LICBIN}/licenses-generator gen-licrprt $LICGET
exit 0
}
register_command "license_report" "Generate a Licence report on latest build in json format and html under reports"

View File

@@ -1,70 +0,0 @@
# this is a developer helper script to SCP changed files to remote host
ROOT=build_dir/target-mips_uClibc-0.9.33.2/root-iopsys-brcm63xx-mips/
ROOT_OLD=tmp/root_old/
ROOT_TMP=tmp/root_tmp/
function scp_changes_reset {
{ cd `dirname $0`
rm -rf "$ROOT_OLD"
mkdir -p "$ROOT_OLD"
cp -a "$ROOT"* "$ROOT_OLD"
}
}
function scp_changes {
if [ -z "$1" ] ; then
echo "usage: $0 scp_changes <host/-r(eset)/-p(retend)>"
echo "Error: host required"
exit 1
fi
{ cd `dirname $0`
if [ ! -d $ROOT ]; then
echo "$ROOT does not exist"
echo "please build the project first"
exit 1;
fi
if [ "$1" = "-r" ]; then
echo "reset changes"
scp_changes_reset
exit 0
fi
if [ ! -d $ROOT_OLD ]; then
echo "$ROOT_OLD does not exist"
echo "you didn't store state of previous buildroot"
#echo "please run ./scp_changes_reset.sh"
echo "doing it now"
scp_changes_reset
exit 1;
fi
FILES=`diff -rq "$ROOT" "$ROOT_OLD" 2>&1 | sed -ne "s?^Files .* and $ROOT_OLD\\(.*\\) differ?\\1?p" -ne "s?^Only in $ROOT\\(.*\\): \\(.*\\)?\\1/\\2?p"`
if [ "$1" = "-p" ]; then
echo "files that would be copied:"
echo $FILES
exit 0
fi
for f in $FILES
do
mkdir -p "$ROOT_TMP`dirname $f`"
cp -af "$ROOT$f" "$ROOT_TMP$f"
done
if [ -d "$ROOT_TMP" ]; then
echo "scp changed files to $1"
pushd "$ROOT_TMP" 2>&1 >/dev/null
scp -r * root@$1:/
RETVAL=$?
popd 2>&1 >/dev/null
rm -rf "$ROOT_TMP"
if [ "$RETVAL" -eq 0 ]; then
scp_changes_reset
else
echo "scp error"
exit $RETVAL
fi
else
echo "no change"
fi
}
}
register_command "scp_changes" "<host/-r(eset)/-p(retend)> SCP only changed files to device"

95
iop/scripts/taas.sh Normal file
View File

@@ -0,0 +1,95 @@
# Shorthand command for doing a HIL runtime smoketest on the
# latest built image. Does the image boot up correctly?
# More info here:
# https://dev.iopsys.eu/iopsys/iopsys-taas
#--------------------------------------------------------------
function taas-init() {
local f
# Path to TaaS binarys. Try some likely ones.
if ! which taas-smoketest >/dev/null; then
PATH="${PATH}:${PWD}/../iopsys-taas/bin"
PATH="${PATH}:${PWD}/../taas/bin"
PATH="${PATH}:${HOME}/iopsys-taas/bin"
PATH="${PATH}:${HOME}/taas/bin"
PATH="${PATH}:${HOME}/bin"
PATH="${PATH}:/opt/iopsys-taas/bin"
PATH="${PATH}:/opt/taas/bin"
fi
if ! which taas-smoketest >/dev/null; then
echo "Error; TaaS is missing! Install it with:"
echo "git clone git@dev.iopsys.eu:iopsys/iopsys-taas.git ../iopsys-taas"
exit 1
fi
# NAND erase block size.
nandBlkSz=$(grep CONFIG_TARGET_NAND_BLOCKSZ .config | \
tr -s "=\"" " " | cut -d " " -f 2)
nandBlkSz=$((nandBlkSz / 1024))
# Create a list of all images which might be of use.
for f in ${PWD}/bin/targets/iopsys-*/generic/last.* \
${PWD}/build_dir/target-arm*/bcmkernel/bcm963xx/targets/9*/bcm*_linux_raw_image_${nandBlkSz}.bin; do
[[ -s "$f" ]] && images+=("$f")
done
# Convert Iopsys target name to the TaaS product name format
# according to what is available in the remote lab for HIL.
# Also find a suitable image.
product=$(grep CONFIG_TARGET_PROFILE .config | \
tr -s "=\"" " " | cut -d " " -f 2) || exit
case "$product" in
smarthub3)
export product="SmartHub3a"
;;
dg400prime|eg400|ex600)
export product=$(echo -n "$product" | tr [[:lower:]] [[:upper:]])
;;
*)
echo "Unsupported target; skipping!"
exit 0
;;
esac
if [[ ${#images[@]} -eq 0 ]]; then
echo "No image found"
exit 1
fi
}
#--------------------------------------------------------------
function taas-smoketest {
declare -a images
taas-init || return
echo "Testing a $product with ${images[@]}..."
command taas-smoketest "${images[@]}" "$product" "$@"
}
#--------------------------------------------------------------
function taas-bootstrap {
declare -a images
if [[ -n "$1" ]]; then
taas-init || return
echo "Flashing $1..."
command taas-bootstrap "${images[@]}" "$@"
else
echo "Usage: ./iop taas-bootstrap dutX"
exit 1
fi
}
register_command "taas-bootstrap" "Write image to a remote lab device."
register_command "taas-smoketest" "Write image to a remote lab device and test it."

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