Compare commits

...

844 Commits

Author SHA1 Message Date
nevadita.chatterjee
3b5c5258ba map-controller: 4.6.0.5.2 2024-03-21 16:30:47 +05:30
Marek Puzyniak
18194372c6 map-agent: 4.5.1.15.1 2024-03-14 15:54:39 +00:00
Marek Puzyniak
4ef53b8a21 map-controller: 4.6.0.5.1 2024-03-14 15:53:14 +00:00
Marek Puzyniak
ae7eb0e3db ieee1905: 8.3.7.1 2024-03-14 13:31:14 +00:00
Janusz Dziedzic
e9b42e1008 wifimngr: 16.2.11 2024-03-01 08:56:32 +00:00
Janusz Dziedzic
72578c94e5 libwifi: 7.4.42 2024-03-01 06:51:36 +00:00
Rahul Thakur
2f20ec448d hostmngr: update implementation
following cases/bugs are handled in this change:
1. Ignore schedule if access_policy is deny
2. For access policy allow, with schedule, deny for time outside
   the defined schedule.
3. Default value for days
4. Handle scenario when start time is not defined by initializing
   the start time to 00:00
5. Handle scenario when duration is not defined
2024-03-01 06:32:49 +00:00
Vivek Kumar Dutta
ddfab6f729 obuspa: 7.0.5.16 2024-03-01 11:23:44 +05:30
Vivek Kumar Dutta
5ea154d45d bbfdm: Update default encryption to sae-mixed in SetSSID 2024-03-01 10:10:59 +05:30
Janusz Dziedzic
1beb50b0f3 wifimngr: 16.2.10 2024-02-29 19:36:49 +00:00
Janusz Dziedzic
1539bd4698 libwifi: 7.4.41 2024-02-29 19:35:23 +00:00
Vivek Kumar Dutta
10895fcdfd bbfdm: Set sae as default encryption for new SetSSID additions 2024-02-29 19:54:22 +05:30
Janusz Dziedzic
5f36059857 wifimngr: 16.2.9 2024-02-29 14:12:20 +00:00
Janusz Dziedzic
b04ae36466 libwifi: 7.4.40 2024-02-29 14:11:10 +00:00
Janusz Dziedzic
1d433ee82a libwifi: 7.4.39 2024-02-29 11:54:57 +00:00
Amin Ben Romdhane
2ec27f40be icwmp: keep certs for non system ssl_capath
- store certificate paths in keep.d only if ssl_capath not configured as system default certificate path(/etc/ssl/certs)
2024-02-28 13:37:10 +00:00
Janusz Dziedzic
d99b63f6cf libwifi: 7.4.38 2024-02-27 20:00:40 +00:00
Jakob Olsson
37a064dc55 map-agent: 4.5.1.15 2024-02-27 18:01:08 +01:00
Jakob Olsson
f8375dd9e0 map-agent: map-dynamic-backhaul: use brctl delif to remove bsta from bridge
Map-agent now uses libeasy rather than netifd
2024-02-27 17:59:40 +01:00
Yalu Zhang
38c523375b Update package libvoice-d2
Correct the configuration of echo cancellation
2024-02-27 11:49:30 +01:00
Anjan Chanda
8bdc8a0bb7 libwifi: 7.4.37 2024-02-23 12:32:28 +01:00
Anjan Chanda
ecaf8ab2e9 csmngr: 0.0.5 2024-02-23 12:24:59 +01:00
Jakob Olsson
dbeaf1111d map-agent: 4.5.1.14 2024-02-23 12:20:56 +01:00
Amin Ben Romdhane
cb8f4d060b bbfdm: 1.7.2 2024-02-23 12:17:04 +01:00
Jakob Olsson
013b26e692 map-agent: 4.5.1.13 2024-02-23 12:02:14 +01:00
suvendhu
1db3d69571 ddnsmngr: 1.0.0 2024-02-23 14:18:47 +05:30
Janusz Dziedzic
272493dc31 map-agent: 4.5.1.12 2024-02-22 20:54:08 +00:00
Jakob Olsson
75215e4909 map-agent: 4.5.1.11 2024-02-22 16:54:00 +01:00
Vivek Kumar Dutta
d3b21a3ae7 bbfdm: Support for json_plugin_version 2 2024-02-22 19:10:11 +05:30
Vivek Kumar Dutta
9e9b46f4a2 icwmp: Use system certs if ssl_capath not defined 2024-02-22 18:41:48 +05:30
Vivek Kumar Dutta
b73f43e200 obuspa: Fix session state value 2024-02-22 18:23:38 +05:30
Amin Ben Romdhane
911f9a28b5 bbfdm: 1.7.0 2024-02-21 17:33:41 +01:00
Jakob Olsson
f76e77585c map-agent: 4.5.1.10 2024-02-21 17:05:17 +01:00
Jakob Olsson
1ba45eb368 map-agent: 4.5.1.9 2024-02-21 16:01:57 +01:00
Jakob Olsson
adfcc9a55c map-agent: config: don't set chan_ch_relay_mcast by default 2024-02-21 12:40:07 +01:00
Mohd Husaam Mehdi
d3247ed266 mcastmngr: do not hard code snooping_mode to 1 for proxy sections 2024-02-21 14:09:54 +05:30
Anjan Chanda
3cc1dc5bb7 csmngr: 0.0.4 2024-02-20 15:56:14 +01:00
Amin Ben Romdhane
214901dfe6 bbfdm: 1.6.9 2024-02-20 15:05:29 +01:00
Wenpeng Song
ed6b6e169d voicemngr: 1.1.8
Add hookflash uci config option
2024-02-20 13:24:47 +00:00
Wenpeng Song
295e8c2d9e libvoice-d2: 1.1.4
Set minimum and maximum hook flash timers if configured
2024-02-20 13:23:05 +00:00
Janusz Dziedzic
ea4b3432c0 wifimngr: 16.2.8 2024-02-20 10:15:29 +00:00
Janusz Dziedzic
c2ebd96aab libwifi: 7.4.30 2024-02-20 10:13:53 +00:00
Jakob Olsson
d80d488656 map-controller: 4.6.0.5 2024-02-20 11:03:01 +01:00
Amin Ben Romdhane
7e26836e48 bbfdm: 1.6.8 2024-02-19 16:37:38 +01:00
Vivek Kumar Dutta
64e5753381 tr104: 1.0.21 2024-02-19 19:23:08 +05:30
Vivek Kumar Dutta
78642492bf sulu: 3.1.53 2024-02-19 19:21:44 +05:30
Vivek Kumar Dutta
388fb57b7a obuspa: Use system default certs as CA 2024-02-19 17:39:03 +05:30
Vivek Kumar Dutta
fdde24d9e9 obuspa: Fix fault with transaction retry 2024-02-19 17:35:18 +05:30
Vivek Kumar Dutta
70a24dfa69 swmodd: 2.5.5 2024-02-19 15:54:00 +05:30
Vivek Kumar Dutta
403af75f87 sulu: 3.1.52 2024-02-18 11:49:41 +05:30
Wenpeng Song
40444a3fe9 voicemngr: 1.1.7
Do not close the connection if DECT accepts the second call for call waiting
2024-02-16 11:04:34 +00:00
Wenpeng Song
559215189a dectmngr: 3.6.5
* 192e74db: Simulate flash hook when answering the second calls for call waiting  

* dd5288df: Fix a crash on incoming calls sometimes  

* f970cd28: Fix UART communication issue in RDK  

* 804678ba: Make UCI configuration path configurable
2024-02-16 11:01:59 +00:00
Jakob Olsson
57ac13c87e map-controller: 4.6.0.4 2024-02-15 16:36:44 +01:00
Vivek Kumar Dutta
018939d301 bbfdm: 1.6.7 2024-02-15 15:15:27 +05:30
Vivek Kumar Dutta
e1cf78ef2b swmodd: 2.5.4 2024-02-15 14:54:40 +05:30
Vivek Kumar Dutta
b5eb3a0433 icwmp: Use fw_upgrade_keep_settings option for 6 Stored images 2024-02-15 12:33:10 +05:30
Vivek Kumar Dutta
dd8b1c3635 sulu: 3.1.51 2024-02-15 12:27:14 +05:30
Vivek Kumar Dutta
c53a7a0368 sulu: 3.1.50 2024-02-14 19:25:23 +05:30
Vivek Kumar Dutta
3feaa262be tr104: Use bbfdm microservice as default handler 2024-02-14 18:18:00 +05:30
Vivek Kumar Dutta
7496af52d7 usp-js: 1.2.4 2024-02-14 17:33:28 +05:30
Jakob Olsson
293f1f7d47 map-agent: 4.5.1.8 2024-02-13 15:31:25 +01:00
Sukru Senli
3f3533134c iop: deselect unusued atftp package 2024-02-13 15:03:49 +01:00
Janusz Dziedzic
b505d6af02 libwifi: 7.4.29 2024-02-13 10:32:20 +00:00
Jakob Olsson
3aac39c4f7 decollector: 4.2.1.3 2024-02-13 10:48:44 +01:00
Amin Ben Romdhane
b1417f539d bbfdm: 1.6.6 2024-02-12 14:32:57 +01:00
Jakob Olsson
5f234ade12 map-agent: 4.5.1.7 2024-02-12 10:48:55 +01:00
Vivek Kumar Dutta
1564d8b8c4 tr104: add/del support for CallControl.CallingFeatures.Set. 2024-02-12 12:04:25 +05:30
Vivek Kumar Dutta
e64aba2c2c tr104: 1.0.18 2024-02-09 21:39:48 +05:30
Jakob Olsson
7129467410 map-controller: config: set uniform backhaul SSIDs 2024-02-09 16:08:48 +01:00
Vivek Kumar Dutta
504cc025a2 tr104: Align with bbfdm 2024-02-09 20:02:29 +05:30
Anjan Chanda
6906fada68 csmngr: 0.0.2 2024-02-09 15:13:20 +01:00
Anjan Chanda
649e2a7a76 ieee1905: 8.3.7 2024-02-09 15:13:01 +01:00
Vivek Kumar Dutta
24c455cdc6 userinterface: 1.0.0
Move userinterface from bbfdm to userinterface
2024-02-08 19:09:07 +05:30
Vivek Kumar Dutta
69806152aa icwmp: 9.6.5 2024-02-08 10:58:05 +05:30
Jakob Olsson
1a22bc45c1 hostmngr: 1.2.2 2024-02-07 18:00:03 +01:00
Jakob Olsson
02a87fb94c map-agent: 4.5.1.6 2024-02-07 16:08:43 +01:00
Yalu Zhang
55ba31c7d3 Update packages voicemngr and libvoice-airoha
Support syslog levels and make it configurable.
2024-02-07 14:47:06 +01:00
Grzegorz Sluja
da34a6f7c1 voicemngr: 1.1.5
Documentation update for removal of averageRoundTripDelay
2024-02-07 08:12:53 +01:00
Vivek Kumar Dutta
6a4b29d6f6 bbfdm: 1.6.5 2024-02-07 12:37:28 +05:30
Rohit Topno
dd55c60bd6 mcastmngr: fixed uci syntax error in init script
Problem description:
Multiple device section name fetched due
to wild card grep command.

Fix: modified grep command which gets exact device
section name based on device name.
2024-02-06 16:10:01 +00:00
Janusz Dziedzic
f735ec7d3e wifimngr: 16.2.7 2024-02-06 14:25:09 +00:00
Janusz Dziedzic
3e15668da5 libwifi: 7.4.28 2024-02-06 14:25:09 +00:00
Erik Karlsson
75117cba49 testnet: start from init script and add missing dependency 2024-02-06 11:45:45 +00:00
Grzegorz Sluja
0a1bf10fc3 tr104: 1.0.16
- Add support for Source and Destination avgRoundTripDelay
- Fix deleteObject handler
- Some improvement in rpc_handler_init() and rpc_handler_uninit()
2024-02-06 12:05:48 +01:00
Grzegorz Sluja
6865aa2ff7 voicemngr: 1.1.4
Remove the avg_round_trip_delay rtp_stat
2024-02-06 11:58:31 +01:00
Grzegorz Sluja
46292ef117 libvoice-airoha: 1.0.11
- Do not use 'latency' DSP parameter for averageRoundTripDelay
- Fixed missing header for PRIu64
2024-02-06 11:56:34 +01:00
Grzegorz Sluja
af74715a84 libvoice-d2: 1.1.3
Do not use 'latency' DSP parameter for averageRoundTripDelay
2024-02-06 11:54:08 +01:00
Grzegorz Sluja
ad6a3fcf99 libvoice-broadcom: 1.0.9
Do not use 'latency' DSP parameter for averageRoundTripDelay
2024-02-06 11:51:23 +01:00
Vivek Kumar Dutta
bed61fea08 bbfdm: Support for OpenVPN vendor extension 2024-02-06 14:47:20 +05:30
Vivek Kumar Dutta
0a34d99b6e bbfdm: 1.6.3
- 0826d708 wifi: Get possible channels from channels method
- 379f4920 Support Overwriting/Disabling/Extending core datamodel using JSON Plugins
- b1be9745 bbfdm-api: Enhance replace_str API to utilize provided buffer
- a49aa1f8 Fix IPLayerCapacityMetrics parameter default values
- 8617886e bbf.diag: use JSON API instead of relying on hardcoded strings
2024-02-06 13:03:27 +05:30
Vivek Kumar Dutta
6dbfa5897c obuspa: Fix probable crash and bulk event handling 2024-02-06 12:40:06 +05:30
Vivek Kumar Dutta
9eee63b031 sulu: 3.1.49 2024-02-06 11:48:10 +05:30
Anjan Chanda
21106d98d0 csmngr: 0.0.1 2024-02-02 13:42:45 +01:00
Vivek Kumar Dutta
8727a7a809 icwmp: 9.6.4 2024-02-02 17:58:48 +05:30
Jakob Olsson
99612516b6 ieee1905: 8.3.6 2024-02-01 15:44:51 +01:00
Jakob Olsson
198f30b1ae hostmngr: 1.2.1 2024-02-01 15:44:44 +01:00
Vivek Kumar Dutta
fbc8a916ac icwmp: Fix inform parameters 2024-02-01 16:18:52 +05:30
Vivek Kumar Dutta
4f295d01af bbfdm: Fix GPN issues with datamodel microservices 2024-02-01 16:14:45 +05:30
Piotr Kubik
e8554bcd03 iop: genconfig_wrap: Deprecate --clean option
* deprecate -c /--clean option
	Clean for gen_config.py does something else than original
* few script improvements
2024-01-31 09:56:48 +01:00
Andreas Gnau
749e095b04 Revert "iop: genconfig_wrap: Depricate --clean option"
This reverts commit 6b93fd6e27.
2024-01-30 17:19:31 +01:00
Amin Ben Romdhane
45f47de514 bbfdm: 1.6.1 2024-01-30 11:49:17 +01:00
Sukru Senli
174ba8951a netmode: remove example invalid config 2024-01-30 11:23:24 +01:00
Sukru Senli
d59793c752 testnet: move it to its own package, out of netmode 2024-01-30 11:02:04 +01:00
Piotr Kubik
6b93fd6e27 iop: genconfig_wrap: Depricate --clean option
* depricate -c /--clean option
	Clean for gen_config.py does something else than original
* few script improvements
2024-01-30 10:30:54 +01:00
Rahul Thakur
35b45c4045 qosmngr: fix qcm default config different from other targets
In the default qos config on qcm, the burst size is 1500 while on
other targets its 0, this is incorrect since iowrt uci defaults
should be consistent across targets; fixed with this commit.
2024-01-30 05:43:18 +00:00
Janusz Dziedzic
cc61f8ab1f libwifi: 7.4.27 2024-01-29 17:11:09 +00:00
Sukru Senli
19a224d375 netmode: move l2mode from eval profile to here 2024-01-29 13:43:16 +01:00
Jakob Olsson
82e5b81fda hostmngr: 1.2.0 2024-01-26 11:56:00 +01:00
Janusz Dziedzic
ba493b07e7 map-agent: 4.5.1.5 2024-01-26 10:28:30 +00:00
Janusz Dziedzic
8521b7133d wifimngr: 16.2.6 2024-01-26 09:55:29 +00:00
Janusz Dziedzic
153409f3b5 libwifi: 7.4.26 2024-01-26 09:53:50 +00:00
Jakob Olsson
0a41cfeeac map-agent: 4.5.1.4 2024-01-25 15:24:38 +01:00
Jakob Olsson
47b90c4939 hostmngr: 1.1.6 2024-01-25 15:23:11 +01:00
Amin Ben Romdhane
4385b647c1 bbfdm: 1.6.0 2024-01-25 13:26:53 +01:00
nevadita.chatterjee
322c381ed4 map-controller: 4.6.0.3 2024-01-25 17:43:19 +05:30
Andreas Gnau
88d5b5ac57 Revert "iop: genconfig_wrap: Work around config-generation issue"
This reverts commit 39edba2ab3.
2024-01-25 11:28:42 +01:00
Andreas Gnau
52835de6c9 iopsys-analytics: Add hostname generation
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-01-24 17:14:50 +00:00
Andreas Gnau
39edba2ab3 iop: genconfig_wrap: Work around config-generation issue
Work around config generation issue on fresh clone by running genconfig
twice. This is a temporary "fix" until the cause is found for a broken
config being generated in some specific situations.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-01-24 18:09:22 +01:00
Andreas Gnau
bac9790dab iop: update_package: Disable command
The update_package command no longer works with the new genconfig
design. For now, replace it with a message until its replacement has
been merged.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-01-24 13:49:54 +00:00
Vivek Kumar Dutta
eba395c22f sulu: 3.1.48 2024-01-24 18:42:41 +05:30
Vivek Kumar Dutta
9f59d9ce20 icwmp: 9.6.2 2024-01-24 16:48:42 +05:30
Piotr Kubik
6110a9f8b7 scripts: Move feeds_update, genconfig commands to '-legacy' suffix
Move old 'feeds_update, genconfig, genconfig_min' commands to
the ones with '-legacy' suffix for backwards-compatibility

refs #13080
2024-01-24 12:07:19 +01:00
Piotr Kubik
111dc5950b scripts: genconfig: Add wrapper for gen_config.py
Wrapper for compatibility with ./iop genconfig <board> <profile>
 - convert params to lowercase and call gen_config.py
 - parse options: -c, --clean; -b,--boards;

refs #12352
2024-01-24 12:07:19 +01:00
Amin Ben Romdhane
f1f96516d0 bbfdm: 1.5.9 2024-01-24 12:01:21 +01:00
Jakob Olsson
0ed837ffda ieee1905: prefix plugins with ieee1905- 2024-01-24 08:48:03 +00:00
Vivek Kumar Dutta
98bd33aa29 obuspa: Added support for Sessions 2024-01-24 13:01:30 +05:30
Vivek Kumar Dutta
56af888ded sulu: 3.1.47 2024-01-24 10:35:04 +05:30
Vivek Kumar Dutta
9fa2e983ad bbfdm: Fix compilation issue 2024-01-24 10:30:14 +05:30
Amin Ben Romdhane
c3e17f0df8 bbfdm: 1.5.7 2024-01-23 21:55:33 +01:00
Jakob Olsson
ddbd9a5b70 map-controller: 4.6.0.2 2024-01-23 16:02:15 +01:00
Jakob Olsson
2f6c5433ce map-agent: 4.5.1.3 2024-01-23 16:02:15 +01:00
Jakob Olsson
4bd1e59c20 wifimngr: 16.2.5 2024-01-23 15:20:38 +01:00
Jakob Olsson
598f3cbf8b libwifi: 7.4.25 2024-01-23 15:20:03 +01:00
Vivek Kumar Dutta
4c7899dc1e sulu: 3.1.46 2024-01-23 17:15:47 +05:30
Vivek Kumar Dutta
97f5d60d7c obuspa: Updated admin acl for SelfTestDiagnostics 2024-01-23 17:15:26 +05:30
suvendhu
16aeb4e6fe obuspa: Option to set max controllers 2024-01-23 14:12:44 +05:30
Andreas Gnau
45d3cce3e6 iopsys-analytics: Add new package
Add IOPSYS-internal package for CI/CD analytics.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-01-22 16:43:11 +00:00
Amin Ben Romdhane
8e5f474c1f bbfdm: 1.5.6 2024-01-22 15:42:11 +01:00
Rahul Thakur
aa1adcad3c qosmngr: fix lan traffic limited to 1G always
Problem description:
Two problems seen,
1. The queues on a port are by default setup to handle maximum rate
   of 1G
2. The default qos uci config for ipq and brcm platforms is different

Fix:
1. Update queue setup to not impose rate limit, by setting the maximum
   rate as the maximum rate supported by the port.
2. Update uci default script to generate same config for both platforms
2024-01-22 09:53:09 +00:00
Janusz Dziedzic
570cd68d15 libwifi: 7.4.24 2024-01-22 09:38:51 +00:00
Janusz Dziedzic
e3947e44bd map-controller: 4.6.0.1 2024-01-20 18:38:53 +00:00
Amin Ben Romdhane
9a1a93c25e bbfdm: 1.5.5 2024-01-19 17:06:42 +01:00
Jakob Olsson
c9ea556273 capiagent: 2.1.1 2024-01-19 16:08:01 +01:00
Jakob Olsson
aee2c22afe hostmngr: 1.1.5 2024-01-19 15:25:04 +01:00
Jakob Olsson
f6bf0f3a96 hostmngr: add libwifiutils deps 2024-01-19 15:14:12 +01:00
Jakob Olsson
3fc9f450f9 capiagent: add libwifiutils deps 2024-01-19 15:13:31 +01:00
Jakob Olsson
c26327306b map-controller: 4.6.0.0 2024-01-19 13:14:38 +01:00
Jakob Olsson
5c10cfcb99 map-agent: 4.5.1.2 2024-01-19 12:13:06 +01:00
Janusz Dziedzic
67f114cf29 ethmngr: add libeasy dependency 2024-01-19 09:49:50 +00:00
Anjan Chanda
2658e12c52 libwifi: 7.4.23 2024-01-19 10:34:59 +01:00
Vivek Kumar Dutta
0a454a0967 tr104: 1.0.15
- AddObject support for VoiceService.{i}.SIP.Client.{i}.Network.
2024-01-19 10:41:37 +05:30
Janusz Dziedzic
9800d4a335 decollector: 4.2.1.2 2024-01-18 13:46:48 +00:00
Janusz Dziedzic
e3d00ebb68 map-controller: 4.5.0.5 2024-01-18 13:46:41 +00:00
Janusz Dziedzic
c9fefe95aa map-agent: 4.5.1.1 2024-01-18 11:29:44 +00:00
Janusz Dziedzic
fdb22bff37 ieee1905: 8.3.5 2024-01-18 11:28:34 +00:00
Janusz Dziedzic
3eba14e0a6 wifimngr: 16.2.4 2024-01-18 11:27:19 +00:00
Janusz Dziedzic
f2b5016920 libeasy: 7.4.3 2024-01-18 11:23:52 +00:00
Janusz Dziedzic
3eedd0dd23 libeasy: allow to build locally 2024-01-18 11:21:37 +00:00
Wenpeng Song
555babf34c voicemngr: 1.1.3
Add support for single or multiple call mode
2024-01-18 09:29:50 +00:00
Rahul Thakur
ec165a9042 inbd: remove package
Package removed from feed since it has been deprecated.
2024-01-16 17:36:57 +05:30
Rahul Thakur
d4b2d251d6 iop: deprecate inbd
The package inbd is deprecated with the logic for generation of
hotplug events for dsl and ethernet ports having been moved to
dslmngr and ethmngr respectively.
2024-01-16 16:14:05 +05:30
Rahul Thakur
78aecb52ca dslmngr: add support for hotplug event
Changes done:
1. Add support for hotplug event generation
2. Fix pipeline and static code analysis error/warnings
3. Rectify package source URL.
2024-01-16 16:09:36 +05:30
Rahul Thakur
8eb17ec066 ethmngr: add support for generation hotplug event
Changes:
1. Add support for generating hotplug event
2. Update makefile to have prepare section for local development.
3. Update URL to point to updated location for ethmngr
2024-01-16 16:06:48 +05:30
Arne Jonsson
01c1899208 iopsys: fix issues related to updated genconfig 2024-01-15 14:52:38 +00:00
Arne Jonsson
bec7eeaa33 iopsys: fix issue in feeds_update.sh in order to handle multiple custom feeds 2024-01-15 14:52:38 +00:00
Vivek Kumar Dutta
dc49178002 tr104: Support CallControl.NumberingPlan.{i}.TerminationDigit 2024-01-15 12:55:51 +05:30
Janusz Dziedzic
ddf59c0756 libwifi: 7.4.18 2024-01-13 17:18:08 +00:00
Janusz Dziedzic
6dc1e0de1c wifimngr: 16.2.3 2024-01-13 10:43:29 +00:00
Janusz Dziedzic
4dd401a0cb libwifi: 7.4.17 2024-01-13 10:42:05 +00:00
Arne Jonsson
e60ef9d02e iopsys: update genconfig.sh to support new path to customer directories 2024-01-12 17:15:11 +01:00
Arne Jonsson
9f2a6f3265 iop: add TARGET definitions to genconfig.sh 2024-01-12 16:07:57 +00:00
Andreas Gnau
36db9285f6 libwifi: Enable LIBWIFI_USE_CTRL_IFACE by default
CONFIG_LIBWIFI_USE_CTRL_IFACE has been the enabled for nearly all
devices for quite some time. Enable it by default.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2024-01-12 14:48:04 +01:00
Jakob Olsson
559ea53e69 map-agent: 4.5.1.0 2024-01-12 12:40:39 +01:00
Jakob Olsson
f7ade9751e map-controller: 4.5.0.4 2024-01-12 12:40:08 +01:00
Janusz Dziedzic
963e1ecc6c map-agent: 4.5.0.12 2024-01-12 08:48:42 +00:00
Amin Ben Romdhane
35ca583dc1 usermngr: 1.2.12 2024-01-11 17:27:49 +01:00
Vivek Kumar Dutta
8b12debefe sulu: 3.1.45 2024-01-10 19:57:16 +05:30
Vivek Kumar Dutta
a0caa174d0 bulkdata: Added compliance to RFC4180 for CSV report 2024-01-10 19:40:35 +05:30
Suvendhu Hansa
8bd2d74316 obuspa: Add CSV report compliance to RFC4180 for bulkdata 2024-01-10 14:03:21 +00:00
Amin Ben Romdhane
e6015f5db2 bbfdm: 1.5.4 2024-01-10 13:40:26 +01:00
Amin Ben Romdhane
a227490dcb twamp: 1.4.3 2024-01-10 12:18:10 +01:00
Amin Ben Romdhane
c0c5cf032d usermngr: 1.2.11 2024-01-09 17:03:29 +01:00
Amin Ben Romdhane
25c09589f2 bulkdata: 2.1.4 2024-01-09 17:02:36 +01:00
Amin Ben Romdhane
22b273faf0 xmppc: 2.2.4 2024-01-09 17:01:28 +01:00
Amin Ben Romdhane
fd850636a5 obuspa: 7.0.5.8 2024-01-09 17:00:19 +01:00
Amin Ben Romdhane
2568cba699 bbfdm: 1.5.3 2024-01-09 16:59:10 +01:00
Sukru Senli
2968ad5dd8 iop: config: switch to using iputils arping and ping
instead of busybox arping and ping
2024-01-09 15:13:56 +01:00
Janusz Dziedzic
6311e0f8b0 map-controller: 4.5.0.3 2024-01-09 08:26:49 +00:00
Jakob Olsson
7449779f37 map-agent: 4.5.0.11 2024-01-08 16:17:12 +01:00
Vivek Kumar Dutta
459bc4f9ff sulu: 3.1.44 2024-01-08 10:40:45 +05:30
Amin Ben Romdhane
a574514a41 bbfdm: 1.5.2 2024-01-04 13:45:05 +01:00
Vivek Kumar Dutta
ceb70ecefb tr104: Fix defaults for SIP.Network.RegisterExpires and RegistrationPeriod 2024-01-04 18:01:42 +05:30
Vivek Kumar Dutta
bc0e021b3c rulengd: execute action when no match expression defined 2024-01-04 17:36:53 +05:30
Janusz Dziedzic
19d372a4ad wifimngr: 16.2.2 2024-01-02 15:51:00 +00:00
Vivek Kumar Dutta
8a08dd3916 bbfdm: Optimize the instance updater 2023-12-29 18:36:19 +05:30
Vivek Kumar Dutta
a672e1708f icwmp: Fix setting empty parameterkey 2023-12-29 10:15:48 +05:30
Vivek Kumar Dutta
4b4407c3f9 bbfdm: Removed wolfssl and mbedtls variant 2023-12-28 18:00:06 +05:30
Vivek Kumar Dutta
2d1c7428b6 stunc: Removed wolfssl and mbedtls variant 2023-12-28 17:43:11 +05:30
suvendhu
ad28f56744 icwmp: Removed wolfssl and mbedtls variant 2023-12-28 16:37:10 +05:30
Vivek Kumar Dutta
a8c1c6b25f icwmp: fix logging and acs_change detection 2023-12-27 20:55:28 +05:30
Rahul Thakur
4a89da8067 urlfilter: suppress unnecessary error on reload 2023-12-27 11:51:49 +00:00
Suvendhu Hansa
386649b0bb obuspa: Update admin/user datamodel permissions 2023-12-27 11:27:54 +00:00
Vivek Kumar Dutta
e050489073 icwmp: revert uci stuck workaround 2023-12-26 22:45:24 +05:30
suvendhu
94895ef110 icwmpd: Avoid process restart on ACS url change 2023-12-26 22:22:04 +05:30
Vivek Kumar Dutta
4c93c01d22 icwmp: fix cwmp stuck in init state 2023-12-26 17:07:04 +05:30
Vivek Kumar Dutta
9228b44a94 bbfdm: Top down config support DHCPv4 Server pool 2023-12-26 15:55:58 +05:30
Vivek Kumar Dutta
7ace7892b1 icwmp: fix upload rpc random failures 2023-12-26 13:00:30 +05:30
Vivek Kumar Dutta
f4dfdc46f1 sulu: use multi-part download for local firmware 2023-12-25 19:44:47 +05:30
Vivek Kumar Dutta
cc8b0f70d6 obuspa: support multi-part download 2023-12-25 19:18:32 +05:30
Vivek Kumar Dutta
d943a0e0d1 icwmp: 9.5.29 2023-12-20 12:33:35 +05:30
Vivek Kumar Dutta
c25c241008 icwmp: workaround for uci stuck in varstate 2023-12-19 20:38:07 +05:30
Jakob Olsson
59aad46280 map-agent: remove airoha hotplug script workaround for genconf 2023-12-18 18:07:59 +01:00
Amin Ben Romdhane
65a754935e bbfdm: 1.4.23 2023-12-18 16:59:25 +01:00
Vivek Kumar Dutta
99f0cc9a01 sulu: 3.1.42 2023-12-18 10:51:45 +05:30
Janusz Dziedzic
371e27e92e wifimngr: 16.2.1 2023-12-14 12:54:06 +00:00
Janusz Dziedzic
724c62684f libwifi: 7.4.16 2023-12-14 12:52:04 +00:00
Vivek Kumar Dutta
040123d2b1 tr104: 1.0.12 2023-12-14 15:49:05 +05:30
Marina Maslova
c5f26d1217 libqos: use proc file for airoha, fix pipeline 2023-12-14 11:00:10 +04:00
Rahul Thakur
55e87e47f1 mcastmngr: fix uci-default script to not overwrite on upgrade
This commit fixes the bug in the uci-default script due to which
the upstream interface in the proxy section was getting overwritten
on sysupgrades.

The uci-default scripts now validates that if the interface that
is set as the upstream_interface is a valid interface in the network
uci file, then config does not need to be updated.
2023-12-14 06:37:04 +00:00
Amin Ben Romdhane
bb9b397caa bbfdm: 1.4.22 2023-12-13 18:05:55 +01:00
Janusz Dziedzic
e1c9006b2d mapagent: mediatek, generate MAP WiFi config
Do similar workaround we have for airoha extender.
2023-12-13 15:46:49 +00:00
Vivek Kumar Dutta
b7a95f200f bbfdm: 1.4.21
- Minimized tools dependency
- Fix Ethernet link FlowControl uci options
2023-12-13 20:50:00 +05:30
Vivek Kumar Dutta
fb15ed7deb icwmp: 9.5.27 2023-12-13 20:43:19 +05:30
Vivek Kumar Dutta
9535b226ce timemngr: fix status parameter 2023-12-13 19:40:12 +05:30
Vivek Kumar Dutta
48e6c149a6 sulu: 3.1.41 2023-12-13 19:04:05 +05:30
Vivek Kumar Dutta
068307171c sulu: 3.1.40 2023-12-13 18:51:38 +05:30
Vivek Kumar Dutta
b7957f5dd4 obuspa: 7.0.5.5 2023-12-13 18:50:26 +05:30
Vivek Kumar Dutta
4c40999c71 timemngr: Fix random crashes 2023-12-13 18:09:33 +05:30
Vivek Kumar Dutta
ff786da6a2 self-diagnostics: Added datamodel schema get 2023-12-13 16:32:10 +05:30
Vivek Kumar Dutta
25955bfeca obuspa: 7.0.5.4 2023-12-13 16:27:33 +05:30
Jakob Olsson
b9f25bcd90 hostmngr: 1.1.4 2023-12-13 11:26:20 +01:00
Vivek Kumar Dutta
b8dfa5eebe sulu: 3.1.39 2023-12-13 09:28:09 +05:30
Janusz Dziedzic
10719b6c92 wifimngr: 16.2.0 2023-12-12 13:40:50 +00:00
Janusz Dziedzic
cdb029dcb8 libwifi: 7.4.15 2023-12-12 13:40:50 +00:00
Andreas Gnau
55fa399ea6 iop: config: Fix GPIO tools package name
Fixes: 1c68b9bba0 ("iop: Add gpiotool package")
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-12-12 14:29:43 +01:00
Vivek Kumar Dutta
c0bdff6a1c timemngr: 1.0.11 2023-12-12 18:46:45 +05:30
Vivek Kumar Dutta
48d35004d4 sulu: 3.1.38 2023-12-12 15:16:06 +05:30
Andreas Gnau
e95cc9a39d iop: config: Disable UBIFS and ext4 rootfs build by default
UBIFS and ext4 can still be re-enabled by interested developers, when it
is required for development. All production images should use squashfs
only. Produce only one image (squashfs) in all cases to reduce
confusion. Previously, this had also already been set for some targets,
but setting it here globally ensures, this applies to all targets.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-12-12 09:28:06 +00:00
Amit Kumar
c260fb4c61 mcastmngr: disable snooping when proxy instance is disabled
* snooping on bridge interfaces should be changed to disable when
igmp proxy has been disabled.
* updated the function __device_is_bridge() that read the device
section of network config. "grep name=.*$device" was resulting into
matching of ifname option as well that was resulting in a two line
output and causing error while using the output in uci command later.
2023-12-12 05:53:42 +00:00
Vivek Kumar Dutta
4b279a83a9 icwmp: Support 2 web content filetype 2023-12-12 09:58:53 +05:30
Vivek Kumar Dutta
3cebc8aee5 stunc: 1.3.3 2023-12-12 09:45:22 +05:30
Marek Puzyniak
58035970a4 wifimngr: 16.1.9 2023-12-11 21:42:05 +00:00
Janusz Dziedzic
707a62b678 libwifi: 7.4.14 2023-12-11 16:31:59 +00:00
Vivek Kumar Dutta
2c738bb96c sulu: 3.1.37 2023-12-11 19:23:10 +05:30
Janusz Dziedzic
fa24932e7c wifimngr: 16.1.8 2023-12-11 13:00:21 +00:00
Janusz Dziedzic
b8fc416fed libwifi: 7.4.13 2023-12-11 12:22:55 +00:00
Janusz Dziedzic
7ad065a756 map-agent: 4.5.0.10 2023-12-11 08:59:14 +00:00
Vivek Kumar Dutta
54a54d048c tr104: 1.0.11 2023-12-11 10:03:13 +05:30
Amin Ben Romdhane
28fef8f5ea bulkdata: 2.1.3 2023-12-10 19:24:59 +01:00
Amin Ben Romdhane
92a1c1e25d bbfdm: 1.4.20 2023-12-10 19:22:43 +01:00
Vivek Kumar Dutta
34c5ae9c71 obuspa: 7.0.5.3 2023-12-10 21:20:33 +05:30
Andreas Gnau
1c68b9bba0 iop: Add gpiotool package
This can be useful for troubleshooting and debugging GPIOs.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-12-08 15:05:23 +01:00
Vivek Kumar Dutta
6b7d2d7c69 usermngr: 1.2.10 2023-12-08 18:40:35 +05:30
Erik Karlsson
3482a3e94f iop: use SHA512 as the default password hash in busybox
The default in OpenWRT is MD5 which is unacceptably insecure.
2023-12-08 13:03:40 +00:00
Michael Polyntsov
b96d6a5a1b mosquitto-auth-shadow: Define _GNU_SOURCE before using crypt_r
In glibc crypt_r is available only if _GNU_SOURCE is defined,
so defining it since we're going to compile with glibc
2023-12-08 10:16:16 +00:00
Vivek Kumar Dutta
01625e3382 sulu: 3.1.36 2023-12-07 21:55:22 +05:30
Vivek Kumar Dutta
8243861c49 hostmngr: 1.1.3 2023-12-07 20:17:58 +05:30
Vivek Kumar Dutta
744c5828a5 sulu: 3.1.35 2023-12-07 20:12:17 +05:30
Vivek Kumar Dutta
a33b438ddc bbfdm: 1.4.19 2023-12-07 19:16:41 +05:30
Piotr Kubik
445e50f011 libvoice-broadcom: Update src hash (get rid of CONFIG_BCM_CHIP_ID) 2023-12-07 12:40:50 +01:00
Piotr Kubik
e845aa2a51 libvoice-broadcom: remove CONFIG_BCM_CHIP_ID
Use SUBTARGET variable that already contains CHIP_ID.
2023-12-07 11:38:11 +00:00
Piotr Kubik
39aebfc782 libqos: remove CONFIG_BCM_CHIP_ID
Use SUBTARGET variable that already contains CHIP_ID.
2023-12-07 10:45:22 +00:00
Piotr Kubik
6441d2fd01 libwifi: remove CONFIG_BCM_CHIP_ID
Use SUBTARGET variable that already contains CHIP_ID.
2023-12-07 10:44:33 +00:00
Piotr Kubik
36f02fa5f8 libethernet: remove CONFIG_BCM_CHIP_ID
Use SUBTARGET variable that already contains CHIP_ID.
2023-12-07 10:43:53 +00:00
Piotr Kubik
e80ca4319b libdsl: fix remove CONFIG_BCM_CHIP_ID
Pass down "original" CHIP_6xxx value.
Improve CHIP_ID substitution.
2023-12-07 10:43:20 +00:00
Amin Ben Romdhane
350186614e icwmp: Rename 'keep_settings' to 'fw_upgrade_keep_settings' 2023-12-07 11:23:36 +01:00
Vivek Kumar Dutta
6caec3ea06 urlfilter: 1.1.8 2023-12-07 12:42:40 +05:30
Vivek Kumar Dutta
f45ec2b32b sulu: 3.1.34 2023-12-07 09:06:05 +05:30
Vivek Kumar Dutta
c361b4e589 bbfdm: 1.4.18 2023-12-06 19:59:06 +05:30
Vivek Kumar Dutta
ef4e5fbef6 timemngr: 1.0.10 2023-12-06 19:56:37 +05:30
Amin Ben Romdhane
d9fe7d6927 icwmp: Option to keep config with '1 Firmware Upgrade Image' 2023-12-06 09:15:55 +05:30
Jakob Olsson
920832c5c7 hostmngr: 1.1.2 2023-12-05 15:52:19 +01:00
nevadita.chatterjee
a1a1dafb2f decollector: 4.2.1.1 2023-12-05 18:01:16 +05:30
Piotr Kubik
45eda81ccc libdsl: remove CONFIG_BCM_CHIP_ID
Use CONFIG_TARGET_SUBTARGET variable that already contains CHIP_ID.

This change will have no effect until following workaround
is not fixed:
69f40124fa40 ("libdsl: define CONFIG_VDSL_SUPPORTED explicitly")
2023-12-04 16:35:12 +01:00
Marina Maslova
83db5d1e2d libethernet: get hsgmii index dynamically, support ae_wan counters 2023-12-04 14:50:08 +04:00
Elena Vengerova
71e7a8121f airoha: generate MAP WiFi config in advance to prevent creation of interfaces in AP mode on extender 2023-12-01 13:35:39 +00:00
Jakob Olsson
0368ef0498 hostmngr: 1.1.1 2023-12-01 14:29:14 +01:00
Yalu Zhang
34b8267b03 libvoice-d2_1.1.2: add pipeline for static code analysis and fix warnings 2023-12-01 13:40:23 +01:00
Amit Kumar
13e8f80a5d hostmngr: openwrt way handling of host_acl script 2023-12-01 11:10:30 +05:30
Andreas Gnau
f9bbd87b5d iop: config: Include build config in image
Include build config and feed-versions in image. This is useful for
troubleshooting and support.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-11-30 15:12:01 +01:00
Janusz Dziedzic
b5150eb926 map-agent: 4.5.0.9 2023-11-30 13:47:46 +00:00
Vivek Kumar Dutta
ab078ad644 timemngr: 1.0.9 2023-11-30 18:18:29 +05:30
Janusz Dziedzic
676244b0c7 map-agent: 4.5.0.8 2023-11-30 12:37:04 +00:00
Jakob Olsson
c1b990837d hostmngr: 1.1.0 2023-11-30 13:18:00 +01:00
Vivek Kumar Dutta
7dc38d0a4a usermngr: 1.2.9 2023-11-30 17:00:36 +05:30
suvendhu
6fdb0e1e4c swmodd: fix DUStateChange event for lxc 2023-11-30 10:42:31 +00:00
Vivek Kumar Dutta
4712d9be73 swmodd: 2.5.3 2023-11-30 14:38:25 +05:30
Andreas Gnau
724c060372 iop: config: Generate Cyclone DX SBOM by default
Generate Cyclone DX Software bill of materials (SBOM) by default.
This will enable easier license and CVE checking.

https://cyclonedx.org/

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-11-30 08:38:34 +00:00
Amin Ben Romdhane
45e996e2fa bbfdm: 1.4.17 2023-11-29 18:41:39 +01:00
Amin Ben Romdhane
66f4780410 bbfdm: 1.4.16 2023-11-29 16:46:17 +01:00
Vivek Kumar Dutta
f2b3838451 swmodd: 2.5.2 2023-11-29 18:20:15 +05:30
suvendhu
17e67528cc swmodd: fix lxc uninstallation 2023-11-29 18:18:34 +05:30
Vivek Kumar Dutta
6dfd959020 sulu: 3.1.33 2023-11-29 18:01:40 +05:30
Vivek Kumar Dutta
65d4d6538d swmodd: 2.5.1 2023-11-29 17:48:14 +05:30
subramanian c
63efd921ed qosmngr: Improvements on SP and policer cases 2023-11-29 11:58:49 +00:00
Jakob Olsson
2bbe7b1eef map-agent: map_genconfig: fix return of is_qualcomm() 2023-11-29 11:30:49 +01:00
Marek Puzyniak
9c6f6acf6c map-agent: 4.5.0.7 2023-11-29 09:57:30 +00:00
Vivek Kumar Dutta
6bc1456655 icwmp: 9.5.23
Use default random periodic inform time if not already set
2023-11-29 14:02:20 +05:30
Janusz Dziedzic
663412be0b wifimngr: 16.1.7 2023-11-29 07:36:27 +01:00
Vivek Kumar Dutta
272d4defc0 icwmp: 9.5.22
- Added uci option skip_dhcp_boot_options to skip setting option 43, option 60
  from cwmp init script
- Added uci ioption disable_gatewayinfo to skip setting dhcp option 125
2023-11-29 11:25:42 +05:30
Amin Ben Romdhane
c7f81e4ad8 bbfdm: 1.4.15 2023-11-28 15:48:33 +01:00
Vivek Kumar Dutta
03ec0f2964 sulu: 3.1.32 2023-11-28 19:57:42 +05:30
Vivek Kumar Dutta
53d76aaa4d obuspa: support vendor extn in role file 2023-11-28 19:53:49 +05:30
Amin Ben Romdhane
43a68cb1ed bbfdm: 1.4.14 2023-11-28 14:25:15 +01:00
Janusz Dziedzic
8f8c6405ea libwifi: 7.4.12 2023-11-28 12:46:21 +01:00
Vivek Kumar Dutta
1efa6ec0aa usermngr: 1.2.8 2023-11-28 14:46:54 +05:30
Yalu Zhang
13bbdaa1e8 Update packages dectmngr, libvoice-d2 and voicemngr
Simulate the flash hook for DECT handset explicitly
2023-11-28 09:57:17 +01:00
Vivek Kumar Dutta
feeed40395 sulu: 3.1.31 2023-11-28 13:04:21 +05:30
Vivek Kumar Dutta
f8022eb73b icwmp: 9.5.21 2023-11-28 13:00:00 +05:30
Suvendhu Hansa
07e1c78029 swmodd: lxc containers as DU 2023-11-28 07:27:33 +00:00
Reidar Cederqvist
d1ea18952f sulu-builder: sulu.sh run script through linter, and minor readability changes 2023-11-28 03:59:31 +00:00
Anjan Chanda
3b0097078d libeasy: 7.4.2 2023-11-27 17:04:44 +01:00
Jakob Olsson
9b4c941cd4 map-agent: map_genconfig: check for ath12k to identify qca 2023-11-27 14:08:45 +01:00
Sukru Senli
50bee657ba map-controller: capitalize basemacaddr for wifi ssid 2023-11-27 13:24:58 +01:00
Anjan Chanda
8412f5d2d6 libeasy: 7.4.1 2023-11-27 12:23:09 +01:00
Vivek Kumar Dutta
eabf5b6e8f obuspa: merge v7.0.5.1 2023-11-27 12:32:33 +05:30
Vivek Kumar Dutta
3dd525d5ff obuspa: define granular permission for admin 2023-11-25 17:51:42 +05:30
Vivek Kumar Dutta
a828671570 bbfdm: optimize uci handling 2023-11-25 11:36:19 +05:30
Amin Ben Romdhane
084cb9742a bbfdm: 1.4.12 2023-11-24 16:43:52 +01:00
Amin Ben Romdhane
f3e4a9717c hostmngr: 1.0.13 2023-11-24 16:42:03 +01:00
Jakob Olsson
b63033eeab map-agent: 4.5.0.6 2023-11-24 15:21:23 +01:00
Anjan Chanda
c52754d80e decollector: 4.2.1.0 2023-11-24 14:56:29 +01:00
Yalu Zhang
6adb45d944 libvoice-broadcom_1.0.8: Little improvement in DECT handset keypad event simulation 2023-11-24 14:53:36 +01:00
Vivek Kumar Dutta
2478ca8fd9 sulu: 3.1.30
sulu:
  - a6653de add documentation for connection config, lint files
  - 3f2c5d8 add support for port: "auto" and protocol: "autoWs"
  - be73c12 allow hosting sulu in sub-directory
  - 5d625dd if visibilityControl=force only show widget when parent matches
  - 154313a fix labels for firmware submit buttons when in queue mode
  - cb5cdd2 add visibilityControl field to widgetinfo, add documentation, normalize widget filtering function
  - 7702142 better users widget ui
config:
  - Switch port to auto
  - Switch protocol to autoWS
  - Removed config option to disable RBAC
  - Use 8000 as redirect to https
2023-11-24 15:13:59 +05:30
Vivek Kumar Dutta
c6492dfeee tr104: 1.0.10
- Added an option CONFIG_RUNAS_BBFDM_MICROSERVICE, to choose bbfdmd to load
  tr104 specific datamodel
2023-11-23 19:56:55 +05:30
Amin Ben Romdhane
5fcd32a7e8 icwmp: 9.5.20 2023-11-23 10:54:00 +01:00
Vivek Kumar Dutta
73e7efddae usermngr: 1.2.7 2023-11-23 10:55:13 +05:30
Vivek Kumar Dutta
a934358614 tr104: 1.0.9 2023-11-22 13:08:58 +05:30
Vivek Kumar Dutta
620ba60f2e usermngr: 1.2.6 2023-11-22 12:53:51 +05:30
Vivek Kumar Dutta
f89b0b1797 icwmp: descriptive fault messages on error 2023-11-22 12:48:46 +05:30
Vivek Kumar Dutta
bafb6f304c sulu: 3.1.29 2023-11-22 12:39:20 +05:30
Vivek Kumar Dutta
20e5110ac5 hostmngr: 1.0.12 2023-11-22 12:25:35 +05:30
Michael Polyntsov
083ffd8a3f obuspa: Return the error when XSI-compliant strerror_r() fails 2023-11-22 04:00:30 +00:00
Michael Polyntsov
cf8c202d01 obuspa: Use non failing version of asprintf
Suppresses warning about unchecked return value of asprintf when
built with glibc
2023-11-22 04:00:30 +00:00
Vivek Kumar Dutta
71bbb8281c bbfdm: 1.4.11 2023-11-21 19:19:19 +05:30
Jakob Olsson
3b3d7150bd libdpp: add libwifiutils dependency 2023-11-21 09:25:36 +01:00
Jakob Olsson
130e5c567d Revert "libdpp: add libwifi dep"
This reverts commit 4a049cfecd.
2023-11-21 09:21:15 +01:00
Janusz Dziedzic
ba61b6c8dd libwifi: 7.4.11 2023-11-21 08:00:06 +00:00
Rahul Thakur
b3715aee80 ethmngr: fix pipeline and update documentation 2023-11-21 12:49:41 +05:30
Elena Vengerova
4064c9b98c decollector: 4.2.0.9 2023-11-20 20:01:12 +04:00
Amin Ben Romdhane
fea576c258 bbfdm: 1.4.10 2023-11-20 14:44:26 +01:00
Janusz Dziedzic
189bfe4013 libwifi: 7.4.10 2023-11-20 13:11:05 +00:00
Jakob Olsson
2370c6e82e map-agent: 4.5.0.5 2023-11-20 13:32:31 +01:00
Jakob Olsson
bfda6d619e map-controller: 4.5.0.2 2023-11-20 13:31:58 +01:00
Rahul Thakur
930d777931 libethernet: add support for clear stats, fix pipeline 2023-11-20 12:27:21 +05:30
Grzegorz Sluja
9565fa70d2 libvoice-airoha: 1.0.10
e6ba6fc Fix warnings found in static code analysis job
9cbd9bc Support the API to get RTP statistics from Mtek DSP
a4c54e7 Add pipeline support in libvoice-airoha
a5aa4f1 Remove ipToStr() and use inet_ntoa() system API instead
2023-11-16 14:38:42 +01:00
Janusz Dziedzic
add4061e7f libwifi: 7.4.9 2023-11-16 13:17:10 +00:00
Jakob Olsson
15e0d8e40d wifimngr: 16.1.6 2023-11-16 13:34:07 +01:00
Amin Ben Romdhane
a1309b2552 urlfilter: Align with new bbfdm linker design 2023-11-16 12:40:31 +01:00
Vivek Kumar Dutta
283f148f74 icwmp: 9.5.18 2023-11-16 14:47:06 +05:30
Vivek Kumar Dutta
21292de648 ieee1905: start early at 60 2023-11-16 13:02:43 +05:30
Vivek Kumar Dutta
628872d2fd hostmngr: start early at 65 2023-11-16 13:02:18 +05:30
Vivek Kumar Dutta
6608a10538 sulu: Add support to set env options 2023-11-16 11:49:53 +05:30
Vivek Kumar Dutta
7eaf58237a sulu: 3.1.27 2023-11-16 11:23:35 +05:30
Vivek Kumar Dutta
f952712b5e tr104: 1.0.8 2023-11-16 11:04:12 +05:30
Janusz Dziedzic
03d5798ea0 remove uci-defaults/gen_wifi_json.sh
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2023-11-15 12:27:58 +00:00
Jakob Olsson
4a049cfecd libdpp: add libwifi dep 2023-11-15 12:43:36 +01:00
nevadita.chatterjee
d36c76f4de ieee1905: 8.3.3 add exclude tagging option 2023-11-15 11:24:37 +00:00
Wenpeng Song
fb04949dc3 dectmngr: 3.6.3
Add time sync along with DECT handset presence check
2023-11-15 10:28:58 +00:00
subramanianc
0969cc7a24 qosmngr: Improvements on qcm shaper 2023-11-15 09:57:58 +00:00
Amin Ben Romdhane
12dff011cc hostmngr: 1.0.10 2023-11-15 09:48:04 +01:00
Yalu Zhang
5572cc2ede libvoice-d2_1.1.0: Fix the bug that ringback tone is not displayed on DECT handset 2023-11-14 15:46:10 +01:00
Jakob Olsson
91f5827a4f map-agent: 4.5.0.4 2023-11-14 14:52:15 +01:00
Vivek Kumar Dutta
aec92583ea hostmngr: 1.0.9 2023-11-14 18:12:40 +05:30
Vivek Kumar Dutta
63f4adcc97 icwmp: 9.5.17 2023-11-14 18:07:29 +05:30
Grzegorz Sluja
82df16a8c4 libvoice-airoha: 1.0.9
5a41deb fixup! Add country specific tones for Slovakia
49f00d9 Add country specific tones for Slovakia
2023-11-14 10:54:41 +01:00
Roman Azarenko
237f30c3f7 self-diagnostics: substitute possible slashes in report names 2023-11-14 09:10:49 +00:00
Amin Ben Romdhane
2dac7741d4 hostmngr: 1.0.8 2023-11-14 09:53:39 +01:00
Amin Ben Romdhane
0cff7d0e94 bbfdm: 1.4.9 2023-11-14 09:52:29 +01:00
Amin Ben Romdhane
5e5abdfd21 timemngr: 1.0.8 2023-11-13 18:18:30 +01:00
Erik Karlsson
0a755e5ea5 iop: genconfig: add option for ignoring dirty tree
Add -D option which ignores dirty tree when determining version.
2023-11-13 14:56:10 +00:00
Erik Karlsson
792e3ad20d iop: feeds_update: add option for hard failure
Add -F option for hard failure on unsuccessful clone/fetch of feed.
2023-11-13 14:56:10 +00:00
Grzegorz Sluja
336c5047c6 voicemngr: 1.1.1
Extend ubus call to dectmngr with caller name
2023-11-13 15:20:02 +01:00
Grzegorz Sluja
9c999de243 libvoice-broadcom: 1.0.7
Convert local and remote lossRate to percentage as per TR-104
2023-11-13 15:18:13 +01:00
Vivek Kumar Dutta
9a71a0bc84 icwmp: Support custom forced inform parameters 2023-11-10 11:49:22 +05:30
Janusz Dziedzic
7fb76b6dcd map-agent: 4.5.0.3 2023-11-09 17:39:27 +00:00
Yalu Zhang
4f924bec0e dectmngr-3.6.2: Extend the ubus call with caller name
Send reply to ubus call from voicemngr that informs the outgoing call is answered
2023-11-09 15:19:24 +01:00
Yalu Zhang
ea4301bf28 voicemngr-1.1.0: Fix a bug that always caused ubus call release from dectmngr replying error 2023-11-09 13:38:18 +01:00
Lukasz Kotasa
99fcfcfa7e voicemngr/dectmgr: revert "Prevent wrong FLASH detection"
voicemngr: 1.0.13
dectmngr: 3.6.1
2023-11-09 10:21:43 +01:00
Yalu Zhang
81218bc62d dectmngr-3.6.0: Remove wrong free() call to avoid crash 2023-11-09 09:48:47 +01:00
Jakob Olsson
a71a0d4036 libdpp: 2.0.0 2023-11-09 09:40:10 +01:00
Janusz Dziedzic
db578ec144 mapagent: activate ap_follow_sta_dfs for QCA
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2023-11-09 06:40:05 +00:00
Andreas Gnau
9410758de0 iop: config: Remove disabling CONFIG_BUSYBOX_CONFIG_DEVMEM
CONFIG_BUSYBOX_CONFIG_DEVMEM is disabled by default, so there is no need
to explicitly disable it.

(This is probably true for a few others of those options as well and is
to be investigated later).

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-11-09 06:35:14 +00:00
Jakob Olsson
7b05468390 decollector: 4.2.0.8 2023-11-08 15:15:00 +01:00
Jakob Olsson
6d43b68d0b map-controller: 4.5.0.1 2023-11-08 15:15:00 +01:00
Jakob Olsson
ae1fb54a3c map-agent: 4.5.0.2 2023-11-08 15:15:00 +01:00
Jakob Olsson
313462e3ab ieee1905: 8.3.2 2023-11-08 15:15:00 +01:00
Jakob Olsson
be56713329 wifimngr: 16.1.5 2023-11-08 15:15:00 +01:00
Jakob Olsson
caae6916ae libeasy: 7.4.0 2023-11-08 15:15:00 +01:00
Vivek Kumar Dutta
4e1db4f14f xmppc: 2.2.3 2023-11-08 19:44:29 +05:30
Janusz Dziedzic
d2298b6097 libwifi: 7.4.8 2023-11-08 13:40:10 +00:00
Vivek Kumar Dutta
8b1ef3cd74 sulu: 3.1.26 2023-11-08 18:15:47 +05:30
Sukru Senli
05da8b4210 self-diagnostics: add hosts show and dump 2023-11-07 11:46:14 +01:00
Vivek Kumar Dutta
33cd29a47d self-diagnostics: 1.0.2 2023-11-07 14:18:34 +05:30
Anjan Chanda
f35b198c05 decollector: 4.2.0.7 2023-11-07 09:05:43 +01:00
Anjan Chanda
2bba5ad425 ieee1905: 8.3.1 2023-11-07 08:44:39 +01:00
Anjan Chanda
cbcb5278db libeasy: 7.3.1 2023-11-07 08:40:41 +01:00
Amin Ben Romdhane
be032908b0 bbfdm: 1.4.8 2023-11-03 18:16:57 +01:00
Amin Ben Romdhane
e4d7967cd5 timemngr: 1.0.7 2023-11-03 18:16:03 +01:00
Amin Ben Romdhane
2fd0e37395 usermngr: 1.2.5 2023-11-03 18:15:17 +01:00
Vivek Kumar Dutta
155ed6e0e1 sulu: 3.1.25 2023-11-03 18:39:50 +05:30
Vivek Kumar Dutta
4f70901a8c self-diagnostics: added documentation 2023-11-03 17:01:27 +05:30
Amin Ben Romdhane
faf81a70fd bbfdm: 1.4.7 2023-11-02 15:31:24 +01:00
Jakob Olsson
680f324a34 map-agent: 4.5.0.1 2023-11-02 15:11:28 +01:00
Vivek Kumar Dutta
718c2bdd81 sulu: 3.1.24 2023-11-02 18:52:52 +05:30
Jakob Olsson
d5ef59f028 ieee1905: dont use fragmentation at tlv boundry as default 2023-11-02 13:17:42 +01:00
Jakob Olsson
881b8edaa9 map-agent: 4.5.0.0 2023-11-02 13:17:42 +01:00
Jakob Olsson
2b5c30f203 map-controller: 4.5.0.0 2023-11-02 13:17:30 +01:00
Jakob Olsson
1e5ff3a2fd libdpp: 1.0.0 2023-11-02 13:16:59 +01:00
Vivek Kumar Dutta
7604786437 icwmp: Support for SelfTestDiagnostics 2023-11-02 14:12:09 +05:30
Vivek Kumar Dutta
be752464bc bbfdm: 1.4.6
- e5171a3 Added SelfTestDiagnostics()
- 44d1755 Add remove SSID object
- e33535e doc: how to migrate deprecated APIs
2023-11-02 14:06:50 +05:30
Vivek Kumar Dutta
fe47e30520 iop: Select self-diagnostics 2023-11-02 14:00:05 +05:30
Vivek Kumar Dutta
1623fb6559 self-diagnostics: Self diagnostics report 2023-11-02 14:00:04 +05:30
Amit Kumar
002dceac35 hostmngr: access control handling for disabled 2023-11-02 06:59:23 +00:00
Vivek Kumar Dutta
b0b2874fdf sulu: 3.1.23 2023-11-02 09:30:11 +05:30
Anjan Chanda
378ef51ea8 decollector: 4.2.0.3 2023-10-31 17:29:33 +01:00
Jakob Olsson
241fd05d5c map-agent: 4.4.0.1 2023-10-31 16:57:41 +01:00
Vivek Kumar Dutta
3267082ac3 sulu: 3.1.22 2023-10-31 18:59:21 +05:30
Vivek Kumar Dutta
fbc67e547c icwmp: 9.5.14 2023-10-31 18:16:48 +05:30
Jakob Olsson
57b0cde173 map-controller: config: use profile 3 2023-10-31 13:08:57 +01:00
Jakob Olsson
222116d122 map-agent: config: use profile 3 2023-10-31 13:08:47 +01:00
Jakob Olsson
4e51f87eb0 libeasy: 7.2.101 2023-10-31 10:15:01 +01:00
Jakob Olsson
a0fa00fd93 ieee1905: 8.3.0 2023-10-31 10:05:58 +01:00
Jakob Olsson
60989716fb map-agent: 4.4.0.0 2023-10-31 09:11:17 +01:00
Jakob Olsson
a50f99634e map-controller: 4.4.0.0 2023-10-31 09:10:33 +01:00
Marina Maslova
822a6ff7a1 libwifi: 7.4.7 2023-10-30 19:36:43 +03:00
Vivek Kumar Dutta
110da023b1 obuspa: 7.0.4.13 2023-10-30 20:03:49 +05:30
Elena Vengerova
03fcf31e97 map-controller: 4.3.3.2 2023-10-30 15:46:30 +04:00
Vivek Kumar Dutta
96e990ad3e obuspa: support binary encoding in upload 2023-10-30 14:58:44 +05:30
Amin Ben Romdhane
6709beee6c bbfdm: 1.4.5 2023-10-30 09:30:33 +01:00
Vivek Kumar Dutta
644856890b bbfdm: 1.4.4 2023-10-30 11:28:46 +05:30
Vivek Kumar Dutta
208ebe92a8 sulu: 3.1.21 2023-10-27 19:28:05 +05:30
Vivek Kumar Dutta
752648d604 bbfdm: Updated NeighboringWiFiDiagnostic parameters 2023-10-27 09:32:06 +05:30
Ratish
8f5e73321f bbfdm: handled X_IOPSYS_EU_IGMP.Proxy.{i}.Interface set 2023-10-26 16:42:43 +05:30
Jakob Olsson
5c83a98cb3 wifimngr: uci-defaults: generate wifi.json 2023-10-26 12:46:59 +02:00
Amit Kumar
8711c64ff6 qosmngr: handling linux platform qos shaper 2023-10-26 07:25:52 +00:00
Anatoly Mirin
b6477e8b84 mcastmngr: add snooping configuration support for linux targets
l2 snooping mode implements on the linux kernel multicast bridge level.
If snooping mode is enabled, mcastmngr configure kernel multicast bridge
with the appropriate uci mcast params.
2023-10-26 05:17:14 +00:00
Vivek Kumar Dutta
6f24ad440c sulu: 3.1.20 2023-10-26 08:41:59 +05:30
Yalu Zhang
640d24ea66 libvoice-airoha_1.0.8: Support type II caller ID presentation 2023-10-25 15:54:16 +02:00
Mikhail Kshevetskiy
60b06dd739 libwifi: fix mediatek module building with gcc-10 2023-10-25 13:57:05 +03:00
Vivek Kumar Dutta
501966b150 tr104: micro-service support 2023-10-24 17:07:36 +00:00
Amin Ben Romdhane
32e6e38103 bbfdm: 1.4.2 2023-10-24 17:28:00 +02:00
Lukasz Kotasa
adce72980b voicemngr: 1.0.12, dectmngr: 3.5.19
dectmngr can now tell if FLASH should be simulated
or not in the explicit way.
2023-10-24 11:03:47 +02:00
Yalu Zhang
695351633d libvoice-broadcom: Support type II caller ID presentation 2023-10-20 17:27:10 +02:00
Mikhail Kshevetskiy
a2b4aedce5 libwifi: fix building with 64-bit airoha board 2023-10-20 13:27:11 +03:00
Vivek Kumar Dutta
37dd1361b0 hostmngr: 1.0.7 2023-10-19 20:59:12 +05:30
Andreas Gnau
68042169ff voicemngr: Update LD_LIBRARY_PATH for BCM
Update the LD_LIBRARY_PATH after all BCM libraries have moved to a
separate sub-directory.

In the future, we should probably set the RUNPATH accordingly already at
build time.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-10-19 14:54:27 +02:00
Vivek Kumar Dutta
f110bdbe68 sulu: 3.1.19 2023-10-19 18:21:12 +05:30
Rahul Thakur
923e714017 libqos: fix stats for linux 2023-10-19 18:20:31 +05:30
subramanianc
81dd8f8afa qosmngr: Fix port shaping for qcm 2023-10-19 12:32:09 +00:00
Vivek Kumar Dutta
73d855e682 obuspa: 7.0.4.11 2023-10-19 17:54:59 +05:30
Vivek Kumar Dutta
a5606ed518 hostmngr: 1.0.6 2023-10-19 17:10:41 +05:30
Vivek Kumar Dutta
ca2a495790 sulu: 3.1.18 2023-10-19 16:57:16 +05:30
Elena Vengerova
695b7374bc libwifi: 7.4.6 2023-10-19 13:24:11 +03:00
Grzegorz Sluja
f9df86feec dectmngr-3.5.18
8aa0a3f Show contact's name on DECT handset for incoming call
3fe7209 Force outgoing calls to use WB when remote answered
2023-10-19 08:53:28 +02:00
Jani Juvan
8686249557 iop: feeds_update: let qualcomm feed override openwrt packages 2023-10-18 18:06:39 +02:00
Piotr Kubik
a8d529f9ea iop: genconfig: Rename armvirt to armsr
With openwrt 23.05 uplift armvirt target was renamed to armsr.
2023-10-18 18:06:39 +02:00
Vivek Kumar Dutta
4715de6308 sulu: 3.1.17 2023-10-18 16:40:46 +05:30
Amit Kumar
b41ec4ff65 hostmngr: handled host access control timing 2023-10-18 13:39:56 +05:30
Vivek Kumar Dutta
b3de88d2c4 obuspa: 7.0.4.10 2023-10-18 13:35:49 +05:30
Padmalochan Mohapatra
063314c91d qosmngr : Incorporating all interfaces option in classify 2023-10-18 06:38:00 +00:00
Vivek Kumar Dutta
e72b600326 xmppc: fix inform event 2023-10-18 08:39:01 +05:30
Vivek Kumar Dutta
594b13f5f9 bbfdm: link plugins from old path 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
fdb1dbbba0 xmppc: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
d89055f64b usermngr: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
13ffeac51b udpecho: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
d94c6e9995 twamp: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
639694c0fb swmodd: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
6f629b7393 stunc: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
d4af4ca030 ponmngr: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
237cead03b obuspc: 1.0.1.6 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
d440af07b1 obuspa: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
a09346bfc0 icwmp: Align with bbfdm plugins 2023-10-18 02:56:03 +00:00
Vivek Kumar Dutta
c9f90a6cf5 bbfdm: 1.4.0
- Load plugins from micro-services
- Unified path for core datamodel plugins(JSON and DotSO)
- Helper function to install plugin in core
- Manage plugins based on input.json
- Removed CONFIG_BBFDM_ENABLE_JSON_PLUGIN
- Removed CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN
2023-10-18 02:56:03 +00:00
Anjan Chanda
e0d07b5205 hostmngr: 1.0.5 2023-10-17 14:19:58 +02:00
Anjan Chanda
1c035c5523 decollector: 4.2.0.1 2023-10-17 10:38:40 +02:00
Jakob Olsson
38e49fc09f map-controller: 4.3.3.1 2023-10-17 09:48:34 +02:00
Jakob Olsson
1ff2a366fa map-agent: 4.3.7.2 2023-10-17 09:48:17 +02:00
Jakob Olsson
263b785fcb ieee1905: 8.2.22 2023-10-17 09:40:03 +02:00
Vivek Kumar Dutta
c1475dd5f1 sulu: 3.1.16 2023-10-17 11:35:18 +05:30
Amin Ben Romdhane
3411ece8a8 icwmp: 9.5.12 2023-10-16 19:03:55 +02:00
Amin Ben Romdhane
5912c00a4b bbfdm: 1.3.39 2023-10-16 19:02:49 +02:00
Amin Ben Romdhane
e39acfeeae bbfdm: 1.3.38 2023-10-13 16:18:41 +02:00
Vivek Kumar Dutta
b0ddc52e97 obsupa: register TransferComplete event 2023-10-13 19:19:10 +05:30
Suvendhu Hansa
b7ea6fdfcf bbfdmd: added support of Device.Firewall.Service. 2023-10-13 13:02:44 +00:00
Vivek Kumar Dutta
28fdf33411 obuspa: 7.0.4.7 2023-10-13 16:10:28 +05:30
Janusz Dziedzic
96b753c367 libwifi: 7.4.5 2023-10-13 07:41:24 +00:00
Grzegorz Sluja
e34ed69b9b dectmngr-3.5.17
Update documentation after phonebook modifications
2023-10-13 07:47:41 +02:00
Amin Ben Romdhane
d75d44795c bbfdm: 1.3.36 2023-10-12 18:04:22 +02:00
Yalu Zhang
97ce9d60e0 libvoice-d2_1.0.15: Support type II caller ID presentation 2023-10-11 16:51:15 +02:00
Janusz Dziedzic
391dbe06cc libwifi: 7.4.4 2023-10-11 14:32:33 +00:00
Vivek Kumar Dutta
81ae6221ac sulu: 3.1.15 2023-10-11 19:12:46 +05:30
Vivek Kumar Dutta
a96302230c obuspa: Use vendor extension prefix 2023-10-11 18:48:59 +05:30
Vivek Kumar Dutta
a5b5b160e2 sulu: 3.1.14 2023-10-11 10:15:44 +05:30
Andreas Gnau
21d327d4fe iop: config: Remove nping
Nping is only used as a convenience util. Due to restrictions imposed by
nmap's license (NPSL 0.95) distributing it in official images becomes
questionable. Remove it. Users can still enable it, if needed.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
2023-10-10 12:01:26 +00:00
Vivek Kumar Dutta
2241f360b4 icwmp: Allow empty set from cli 2023-10-10 11:59:07 +05:30
Vivek Kumar Dutta
3d951f5453 sulu: 3.1.13 2023-10-10 10:14:36 +05:30
Janusz Dziedzic
9db96d7296 wifimngr: 16.1.4 2023-10-09 08:56:29 +00:00
Vivek Kumar Dutta
7a8b81f261 sulu: 3.1.12 2023-10-07 13:09:34 +05:30
Amin Ben Romdhane
edd2f92dae bbfdm: 1.3.35 2023-10-06 15:59:04 +02:00
Vivek Kumar Dutta
f9fbb07f0a bbfdm: 1.3.34 2023-10-06 12:02:06 +05:30
Yalu Zhang
29418e36d8 dectmngr-3.5.16: Modifications for phone book operations 2023-10-05 15:07:10 +02:00
Vivek Kumar Dutta
2420391455 obuspa: updated user role for events 2023-10-05 17:39:16 +05:30
Vivek Kumar Dutta
5221858e30 sulu: 3.1.11 2023-10-05 17:36:33 +05:30
Janusz Dziedzic
1a40a6e747 wifimngr: 16.1.3 2023-10-05 11:22:52 +00:00
Amin Ben Romdhane
85715416a5 bbfdm: 1.3.33 2023-10-05 12:43:39 +02:00
Jakob Olsson
2133c53a5c ieee1905: 8.2.21 2023-10-05 12:29:57 +02:00
Jakob Olsson
f2a5d2987d map-agent: 4.3.7.1 2023-10-05 12:13:21 +02:00
Amin Ben Romdhane
cef675a672 bbfdm: 1.3.32 2023-10-04 17:49:45 +02:00
Amin Ben Romdhane
78cf48518c usermngr: 1.2.3 2023-10-04 17:41:08 +02:00
Amin Ben Romdhane
10d36df0b6 swmodd: 2.4.1 2023-10-04 17:39:57 +02:00
Amin Ben Romdhane
b2e5e5ee8d timemngr: 1.0.6 2023-10-04 17:39:06 +02:00
Amin Ben Romdhane
14cb91a952 hostmngr: 1.0.4 2023-10-04 17:38:01 +02:00
Amin Ben Romdhane
aba3bcbe99 periodicstats: 1.5.3 2023-10-04 17:36:23 +02:00
Amin Ben Romdhane
95691b3de6 icwmp: 9.5.10 2023-10-04 17:34:49 +02:00
Vivek Kumar Dutta
c6abc34868 sulu: 3.1.10 2023-10-04 19:11:23 +05:30
Vivek Kumar Dutta
e9e50f7402 sulu: 3.1.9 2023-10-04 16:54:34 +05:30
Yalu Zhang
ec66d57a7a libvocie-d2_1.0.14: Store FXS hook status each time when on-hook or off-hook event is received 2023-10-04 11:02:19 +02:00
Vivek Kumar Dutta
8eb1f7b729 sulu: 3.1.8 2023-10-04 08:58:08 +05:30
Wenpeng Song
4d1fe3c052 voicemngr: 1.0.11 ,dectmngr:3.5.15
voicemngr: Add congestion tone play from DECT  
dectmngr: Add busy tone playing via ubus call
2023-10-03 15:53:06 +00:00
suvendhu
93a42e1cb9 icwmpd: Optimised icwmpd startup 2023-10-03 12:43:15 +00:00
Vivek Kumar Dutta
93cffa2d20 usp-js: 1.2.3 2023-10-03 18:12:33 +05:30
Vivek Kumar Dutta
14a32ff704 timemngr: Fix ubus cleanup 2023-10-03 12:29:54 +05:30
Amin Ben Romdhane
1d1318dad2 bbfdm: 1.3.31 2023-10-02 17:30:55 +02:00
Yalu Zhang
cacf1e9610 libvocie-d2_1.0.13: Fix a regression that causes caller ID not being displayed 2023-10-02 16:46:55 +02:00
Vivek Kumar Dutta
cd80edc69d timemngr: 1.0.4 2023-10-02 14:32:34 +05:30
Jakob Olsson
778bd98197 ieee1905: 8.2.20 2023-10-02 08:41:09 +02:00
Jakob Olsson
2c0e2a559f decollector: 4.1.0.5 2023-10-02 08:39:55 +02:00
Amit Kumar
f76e8eb150 hostmngr: access schedule stop time calculation
stop time calculation has been corrected now to add duration
to utc converted start time.
2023-09-29 08:04:57 +00:00
Rahul Thakur
9084ce08b3 dslmngr: remove dependency on board-db 2023-09-29 04:32:15 +00:00
Suvendhu Hansa
eebe898c37 icwmpd: schedule inform and session handling 2023-09-28 08:38:23 +00:00
Yalu Zhang
ea3b3aec05 libvocie-d2_1.0.12: Fix a bug in getting RTP statistics 2023-09-27 17:18:13 +02:00
Lukasz Kotasa
2a820a9e33 libvoice-airoha: 1.0.7 2023-09-27 16:01:11 +02:00
Vivek Kumar Dutta
f5d77f5b19 sulu: 3.1.7 2023-09-27 16:46:57 +05:30
suvendhu
ea4a0acac7 icwmp: 9.5.7 2023-09-27 16:34:23 +05:30
Vivek Kumar Dutta
9655bf7740 sulu: 3.1.6 2023-09-27 14:42:30 +05:30
Vivek Kumar Dutta
2dce686767 icwmp: 9.5.6 2023-09-26 19:14:51 +05:30
Vivek Kumar Dutta
6d93558c6e tr104: 1.0.7 2023-09-26 19:08:13 +05:30
Vivek Kumar Dutta
363c2c39aa bbfdm: 1.3.30 2023-09-26 19:05:49 +05:30
Lukasz Kotasa
a5f7ef04f4 libvoice-airoha: 1.0.6 voicemngr: 1.0.10 2023-09-26 12:52:17 +00:00
Yalu Zhang
7f4eeaeb1a Remove the copyright declaration from Makefile 2023-09-26 12:32:29 +00:00
Vivek Kumar Dutta
a352b4f8fe twamp: 1.4.1 2023-09-26 16:20:11 +05:30
Vivek Kumar Dutta
a41e1d7299 obuspa: 7.0.4.4 2023-09-26 10:25:00 +05:30
suvendhu
01ce50ba59 icwmp: 9.5.5 2023-09-26 09:43:25 +05:30
Amin Ben Romdhane
b606530f0e bbfdm: 1.3.29 2023-09-25 14:52:25 +02:00
Janusz Dziedzic
0cdf15fec5 wifimngr: 16.1.2 2023-09-25 09:21:34 +00:00
Janusz Dziedzic
edb05ae692 libwifi: 7.4.3 2023-09-22 16:53:46 +00:00
Jakob Olsson
889f2637fc map-agent: map_genconfig: set channels list for airoha 2023-09-22 16:56:00 +02:00
Vivek Kumar Dutta
1792c8b615 bbfdm: Support FirstUseDate 2023-09-22 16:03:37 +05:30
Vivek Kumar Dutta
24173b4beb sulu: 3.1.5 2023-09-22 15:59:10 +05:30
Vivek Kumar Dutta
f59bed5f48 timemngr: Store first use date 2023-09-22 08:48:51 +05:30
Vivek Kumar Dutta
3a1915a027 sulu: 3.1.4 2023-09-21 18:35:30 +05:30
Jakob Olsson
67d8787dfa map-agent: 4.3.7.0 2023-09-21 12:08:14 +02:00
Jakob Olsson
8eb41f7b94 map-controller: 4.3.3.0 2023-09-21 12:04:35 +02:00
Amin Ben Romdhane
3725fdf26a bbfdm: 1.3.27 2023-09-21 11:57:27 +02:00
Vivek Kumar Dutta
9aa65e3489 icwmp: 9.5.4 2023-09-21 13:25:52 +05:30
Rahul Thakur
c945d0d4a6 libethernet: update rmon counter size to 64 2023-09-21 11:30:11 +05:30
Amin Ben Romdhane
63c8f8af95 bbfdm: 1.3.26 2023-09-20 18:25:36 +02:00
Vivek Kumar Dutta
18acbe65c4 sulu: 3.1.3 2023-09-20 19:27:03 +05:30
Vivek Kumar Dutta
af48c7c682 bbfdm: 1.3.25 2023-09-20 19:24:07 +05:30
Vivek Kumar Dutta
d961a590b4 obuspa: 7.0.4.3 2023-09-20 19:21:40 +05:30
Lukasz Kotasa
e7426d5e71 libvoice-airoha: align codec list and ptime max with Airoha specs 2023-09-20 12:19:50 +00:00
Markus Gothe
e485a0514e mcastmngr: Fix error regarding setup_mcast_mode().
Implement a stub for setup_mcast_mode() on
non-Broadcom platforms.

Change-Id: Idd0c75f564f0de5fe698c1fc32088a32a029ac96
2023-09-20 11:44:30 +00:00
Markus Gothe
05448a3cae qosmngr: Fix ingress rate limiting on Broadcom.
The code for ingress rate limiting is not working
on Broadcom.
2023-09-20 11:33:34 +00:00
Wenpeng Song
be22778704 voicemngr: 1.0.9
fixup, refactor header name
2023-09-20 09:58:36 +00:00
Lukasz Kotasa
89cfa4dc0d libvoice-airoha: add g722 codec to the supported codec list in codecs.json 2023-09-20 08:35:03 +00:00
Wenpeng Song
1a69381038 voicemngr: 1.0.8
Share data types with asterisk-chan-voicemngr
2023-09-20 08:31:11 +00:00
Wenpeng Song
0f6108a0c0 voicemngr: install shared header to staging dir 2023-09-20 08:14:53 +00:00
Amit Kumar
2dc1e6044a bbfdm: updated Makefile for leasetimeremaining 2023-09-20 11:56:14 +05:30
Vivek Kumar Dutta
2234822346 bbfdm: 1.3.24 2023-09-19 18:20:37 +05:30
Vivek Kumar Dutta
0739cef329 icwmp: 9.5.3 2023-09-19 17:50:23 +05:30
Janusz Dziedzic
572b370aec libwifi: 7.4.2
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
2023-09-19 09:10:09 +00:00
Janusz Dziedzic
0fc7964afa map-agent: 4.3.6.5 2023-09-18 08:27:15 +00:00
Janusz Dziedzic
10f287a885 map-controller: 4.3.2.6 2023-09-18 08:27:02 +00:00
Vivek Kumar Dutta
f47a2c3ef3 obuspa: wait for datamodel micro-services 2023-09-18 12:03:48 +05:30
Vivek Kumar Dutta
bb9d1621a5 bbfdm: 1.3.23
- Stop datamodel micro-services along with bbfdm
- Optimized schema handling
- Optimized service handling
2023-09-18 10:28:52 +05:30
Vivek Kumar Dutta
be88de9f0e periodicstats: 1.5.2 2023-09-18 09:48:37 +05:30
Vivek Kumar Dutta
d752daecbe bulkdata: 2.1.2 2023-09-18 09:22:12 +05:30
Vivek Kumar Dutta
f8482fd2ca sulu: 3.1.2 2023-09-16 09:36:58 +05:30
Vivek Kumar Dutta
6150acc420 hostmngr: Added dependency for libbbfdm-api 2023-09-15 18:14:04 +05:30
Jakob Olsson
b11e959fe7 hostmngr: 1.0.2 2023-09-14 21:41:49 +02:00
Jakob Olsson
76c8fbbfbc hostmngr: 1.0.1: Add support for Hosts Data Model 2023-09-14 21:39:40 +02:00
Jakob Olsson
81f0e8d255 Revert "hostmngr: 1.0.1: Add support for Hosts Data Model"
This reverts commit ba6a218a09.
2023-09-14 21:38:50 +02:00
Jakob Olsson
8b3ede859b map-agent: 4.3.6.4 2023-09-14 17:04:12 +02:00
Amin Ben Romdhane
82b8245f6a bbfdm: 1.3.22 2023-09-14 15:17:02 +02:00
Amin Ben Romdhane
ba6a218a09 hostmngr: 1.0.1: Add support for Hosts Data Model 2023-09-14 12:47:24 +00:00
suvendhu
7db489d987 obuspc: 1.0.1.5 2023-09-14 10:28:12 +00:00
Rahul Thakur
b718d566d7 libqos: add support for bcm63146 2023-09-14 15:37:40 +05:30
Janusz Dziedzic
c6808a3524 ieee1905: 8.2.19 2023-09-14 09:39:24 +00:00
Amin Ben Romdhane
74b9435ba4 timemngr: 1.0.2 2023-09-14 10:37:39 +02:00
Amin Ben Romdhane
1e81fee38a bbfdm: 1.3.21 2023-09-14 10:36:16 +02:00
Filip Matusiak
330f8b6e71 map-agent: 4.3.6.3 2023-09-14 10:33:42 +02:00
Filip Matusiak
3fbc1ea845 map-agent: 4.3.6.2
Signed-off-by: Filip Matusiak <filip.matusiak@iopsys.eu>
2023-09-13 18:00:49 +02:00
Janusz Dziedzic
fdc4a07242 map-agent: 4.3.6.2 2023-09-14 07:33:09 +00:00
Amin Ben Romdhane
fc7595c072 bbfdm: 1.3.20 2023-09-13 19:19:00 +02:00
Vivek Kumar Dutta
36e7d3d221 obuspa: Integrate v7.0.4 2023-09-13 19:20:51 +05:30
Lukasz Kotasa
ff11531d8c tr104: 1.0.6
Replace ubus call for getting codecs ('voice.asterisk' -> 'endpt')
2023-09-13 12:56:31 +02:00
Vivek Kumar Dutta
5f967edb5b swmodd: run lxc as service containers 2023-09-13 15:50:37 +05:30
Amin Ben Romdhane
22daedac3c usermngr: 1.2.2 2023-09-13 00:40:35 +02:00
Yalu Zhang
7a1760a20f libvoice-d2_1.0.11: Revise the jitter buffer configuration 2023-09-12 15:55:52 +02:00
Janusz Dziedzic
472bd4c27c map-controller: 4.3.2.5 2023-09-12 13:45:25 +00:00
Janusz Dziedzic
b37ea343f1 map-agent: 4.3.6.1 2023-09-12 13:43:50 +00:00
Yalu Zhang
0ea80c5b06 libvoice-d2_1.0.10: Change the jitter buffer mode to auto 2023-09-12 11:38:49 +02:00
Janusz Dziedzic
ae60472790 wifimngr: 16.1.1 2023-09-12 08:57:43 +00:00
Vivek Kumar Dutta
42f019a136 sulu: 3.1.1 2023-09-11 18:31:45 +05:30
Janusz Dziedzic
ccd87ca8bc libwifi: 7.4.1 2023-09-11 12:45:47 +00:00
Sukru Senli
23f74d3982 iop: config: remove map-topology package 2023-09-08 13:40:48 +02:00
Vivek Kumar Dutta
9dfbdbbb00 obuspa: 7.0.2.29 2023-09-07 19:48:30 +05:30
Vivek Kumar Dutta
b5e1379c8d bbfdm: 1.3.19 2023-09-07 19:47:41 +05:30
Amin Ben Romdhane
ce48719df9 bbfdm: 1.3.18 2023-09-07 16:03:36 +02:00
Jakob Olsson
84f2faff38 hostmngr: uci-defaults: exit with rc 0 after config convertation 2023-09-07 15:56:17 +02:00
Marina Maslova
74c1017a0c libqos: 7.2.104 2023-09-07 16:39:10 +03:00
Anjan Chanda
510712bf86 ieee1905: 8.2.18 2023-09-07 14:43:24 +02:00
subramanianc
7743425e9c ponmngr: Set default value as unknown for Connector parameter 2023-09-07 12:12:17 +00:00
Vivek Kumar Dutta
50984f8f84 sulu: 3.1.0
- Support to enqueue updates
2023-09-07 17:40:46 +05:30
Wenpeng Song
82fed513a8 libvoice-broadcom: 1.0.5
Support decode codecs cap list to improve decoding flexibility and robustness
2023-09-07 09:53:05 +00:00
Jakob Olsson
adfaa19180 hostmngr: uci-defaults: convert old hosts config to new format 2023-09-07 08:04:59 +00:00
Anjan Chanda
cf8b29665c hostmngr: 1.0.0 2023-09-07 10:02:49 +02:00
Anjan Chanda
43bfdc8994 ieee1905: 8.2.17 2023-09-07 10:02:49 +02:00
Yalu Zhang
b29b3a12e3 libvoice-d2_1.0.9: Rename rtp_stats->loss_rate with local_loss_rate which has been modified in the header file 2023-09-07 09:59:35 +02:00
Vivek Kumar Dutta
38d2c7dc25 sulu: 3.0.6 2023-09-06 19:50:22 +05:30
Grzegorz Sluja
cc3a8f55e6 tr104: 1.0.5
Fix mappings for some CallLog objects and parameters
2023-09-06 14:42:56 +02:00
Grzegorz Sluja
a6616bb17d voicemngr: 1.0.7
Expose both local and remote RTP loss rate to asterisk
2023-09-06 14:32:47 +02:00
Grzegorz Sluja
ad06a9f4ea libvoice-broadcom: 1.0.4
Expose both local and remote RTP loss rate to voicemngr
2023-09-06 14:31:05 +02:00
Janusz Dziedzic
d150800f1b libwifi: add IPQ95XX 2023-09-06 07:17:47 +00:00
Vivek Kumar Dutta
e8b716b2a1 icwmp: 9.5.2
- 9d42524 Support OpenSSL v3
- 8402178 Optimized module test
- 9322ecd Align with bbf changes
2023-09-05 19:26:20 +05:30
Vivek Kumar Dutta
442ce5ce83 bbfdm: 1.3.17
- d0d3480 Fix disabling DNS relay causes no IP on lan network
2023-09-05 19:22:18 +05:30
Janusz Dziedzic
72f18d7acf wifimngr: 16.1.0 2023-09-05 13:43:41 +00:00
Janusz Dziedzic
fa905db20f libwifi: 7.4.0
Introduce single wiphy architecture support.
2023-09-05 13:34:27 +00:00
Janusz Dziedzic
de1745f4ce ieee1905: 8.2.9 2023-09-05 08:45:06 +00:00
Janusz Dziedzic
f6697c9003 map-controller: 4.3.2.4 2023-09-05 08:32:31 +00:00
Janusz Dziedzic
44d9e704b3 map-controller: 4.3.2.3 2023-09-05 08:08:39 +00:00
Janusz Dziedzic
ed9ec3b702 wifimngr: 16.0.13 2023-09-04 13:21:08 +00:00
Janusz Dziedzic
07f10c42dc map-agent: fix genrated ifprefix 2023-09-04 13:07:55 +00:00
Vivek Kumar Dutta
9b45e4c9a1 stunc: 1.3.1 2023-09-04 14:43:11 +05:30
Grzegorz Sluja
d3d8bd14aa libvoice-broadcom: 1.0.3
Convert latency from Broadcom in ms to tr104 averageRoundTripDelay in us
2023-09-04 10:22:35 +02:00
Vivek Kumar Dutta
4dfe44af20 bbfdm: Updated deprecated ssl APIs 2023-09-01 17:39:09 +05:30
Ratish
9ae9af2acf qosmngr: ebtables rules race condition fix 2023-09-01 03:49:34 +00:00
Marina Maslova
2d11f25204 ieee1905: 8.2.8 2023-08-31 18:37:04 +03:00
Grzegorz Sluja
2cd4776649 dectmngr-3.5.14: upgrading to DSPG 4.13 Build19 2023-08-31 11:42:07 +00:00
Elena Vengerova
0aae8679c5 airoha: fix the case when library is used for mediatel platform, but not mt7915 chip 2023-08-31 10:12:56 +00:00
Vivek Kumar Dutta
3bb34b88a6 bbfdm: 1.3.15
- 88cb333 Cleanup topology object references
- a9f11eb Fix duplicate DNS server address
2023-08-31 15:38:34 +05:30
Janusz Dziedzic
8efb6e952a libwifi: 7.3.2 2023-08-31 08:23:59 +00:00
Padmalochan Mohapatra
3ef04dbd25 libqos: Makefile update to support ipq53xx based boards 2023-08-30 23:36:12 +05:30
Anjan Chanda
9d4eade8c1 decollector: 4.1.0.4 2023-08-30 17:14:13 +02:00
Anjan Chanda
9c145bc34b ieee1905: 8.2.7 2023-08-30 17:05:06 +02:00
Jakob Olsson
2317e6b072 map-agent: 4.3.6.0 2023-08-30 12:05:47 +02:00
Vivek Kumar Dutta
f12f17c6c4 bbfdm: 1.3.14
- 9799ef7 FirmwareImage: truncate name to max 64 characters
2023-08-29 18:48:55 +05:30
Wenpeng Song
23358a7f8c libvoice-d2-1.0.8: Fix crash due to DTMF event call back issue 2023-08-29 10:29:11 +00:00
Vivek Kumar Dutta
ef32f8b0f9 bbfdm: Align with hostmngr 2023-08-29 12:25:21 +05:30
Vivek Kumar Dutta
7e81d58f78 iop: Select timemngr for Device.Time. 2023-08-28 17:08:14 +05:30
suvendhu
213f7850bc timemngr: 1.0.1 2023-08-28 11:33:05 +00:00
Vivek Kumar Dutta
89a86c3629 sulu: 3.0.5 2023-08-28 16:17:33 +05:30
Jakob Olsson
83f4e57fe2 map-agent: map-dynamic-backhaul: create folder prior to touching ports file 2023-08-28 10:44:36 +02:00
nevadita.chatterjee
0ffe19196c map-agent:4.3.5.10 2023-08-28 13:53:38 +05:30
Vivek Kumar Dutta
ec9fb0cddc timemngr: 1.0.0 2023-08-28 12:31:50 +05:30
Vivek Kumar Dutta
c1ffc565e5 obuspa: 7.0.2.28
- 7d7b223 Add startup delay of 10s for DM stabilization
- 664eeb8 Add reload for schema update event notification
- 0242ca9 Fix instance refresh handler for objects
2023-08-28 12:24:24 +05:30
Vivek Kumar Dutta
dca4cd0e63 bbfdm: 1.3.12
- 5197103 Add schema update event
- 680179b FirmwareImage: Switch to fwbank file dependency
- Prepone bbfdm startup sequence
2023-08-28 11:41:30 +05:30
Vivek Kumar Dutta
0a00f07d26 obuspc: 1.0.1.4 2023-08-28 11:19:37 +05:30
Jakob Olsson
6b75585b9d map-agent: dynbhd: fix connected ports file path 2023-08-25 16:55:07 +02:00
Grzegorz Sluja
59583925b5 tr104: 1.0.4
1e7e8b9 Get proper data for jitter buffer overruns and underruns
43b93cb Align sip_option for srv_lookup
2023-08-25 16:48:53 +02:00
Grzegorz Sluja
39c594531a voicemngr: 1.0.6
Add support for getting jitter buffer overruns and underruns from the UBUS call
2023-08-25 16:43:55 +02:00
Grzegorz Sluja
21d167b543 libvoice-broadcom: 1.0.2
139397e Add debug messages for all RTP statistics numbers from Brcm API
8f11273 Get number of jitter buffer overruns and underruns
2023-08-25 16:41:17 +02:00
Janusz Dziedzic
4439dd777a wifimngr: 16.0.12 2023-08-25 11:28:47 +00:00
Elena Vengerova
1b17f255cd libwifi: add build dependency, remove temporary work around 2023-08-25 13:48:35 +03:00
Janusz Dziedzic
bd7ffb6ed0 wifimngr: 16.0.11 2023-08-25 10:34:48 +00:00
Anjan Chanda
d56bd71f04 ieee1905d: 8.2.3 2023-08-25 11:02:47 +02:00
Filip Matusiak
5dea0ad170 map-agent: 4.3.5.9 2023-08-25 09:32:11 +02:00
Wenpeng Song
caf0bcabf4 libvoice-d2-1.0.7: Support ptime change on a connection 2023-08-25 07:09:51 +00:00
Elena Vengerova
ad6c736f5c libwifi: add driver header temporary 2023-08-24 19:16:41 +03:00
Elena Vengerova
4c5443fff8 libwifi: rollback dependency temporary 2023-08-24 18:55:11 +03:00
Marina Maslova
c4c3ce2c76 libwifi: update dependency for mt vendor extension 2023-08-24 16:38:49 +03:00
Marek Puzyniak
f2e3dd3835 libwifi: 7.3.1 2023-08-24 12:29:42 +00:00
Anjan Chanda
3f8a60c2fd decollector: 4.1.0.3 2023-08-24 14:04:25 +02:00
Vivek Kumar Dutta
1d62545b4d swmodd: limited support to install lxc service container 2023-08-24 17:24:17 +05:30
Vivek Kumar Dutta
33b331d724 obuspc: Disable on extender DUT
- uci-default script to detect based on env variable `netmode=extender`
  to disable obuspc.
2023-08-24 17:21:36 +05:30
Anjan Chanda
ac51e3b0cd libwifi: 7.3.0 2023-08-24 13:48:19 +02:00
Vivek Kumar Dutta
6af817414a sulu: Use controller role from core usp definition 2023-08-24 17:15:21 +05:30
Vivek Kumar Dutta
c94f060196 obuspa: Multiple fixes
- Enable roles.json with extender role
- uci-default script for extender proxy
- dhcp provision script moved from source repo
2023-08-24 17:14:10 +05:30
Padmalochan Mohapatra
302daba0a6 libqos: Addressing memleak 2023-08-24 16:56:53 +05:30
Janusz Dziedzic
0cfd475bc7 map-agent: change qca prefix 2023-08-24 12:36:08 +02:00
Jakob Olsson
8bcb3d8d18 map-agent: 4.3.5.8 2023-08-24 12:35:54 +02:00
Marek Puzyniak
e70a2d5387 map-agent: 4.3.5.7 2023-08-24 10:05:53 +00:00
Vivek Kumar Dutta
1004eab7c3 rulengd: 1.2.9 2023-08-24 14:28:07 +05:30
Jakob Olsson
21512b44ff map-controller: change ap section order to ascending based on bands 2023-08-24 09:32:53 +02:00
Vivek Kumar Dutta
121bec3a3b rulengd: 1.2.8 2023-08-23 19:23:09 +05:30
Vivek Kumar Dutta
6227fca86e sulu: 3.0.3 2023-08-23 18:52:21 +05:30
Anjan Chanda
21d3c577c8 hostmngr: 0.21.0 2023-08-22 18:44:24 +02:00
Jakob Olsson
286e5ce814 map-controller: update default config and add uci-defaults generation 2023-08-22 17:25:37 +02:00
Jakob Olsson
077337b0ea map-agent: add config generator script 2023-08-22 17:13:51 +02:00
Jakob Olsson
c08342b404 map-agent: 4.3.5.6 2023-08-22 17:13:51 +02:00
Rahul Thakur
6ab6152d66 qosmngr: handle lan device parameter 2023-08-22 08:38:15 +00:00
Grzegorz Sluja
e3e11645b9 dectmngr: 3.5.13
2465b94 Fix getting handset's string after call mode changes
fbdd294 fixup! Handle DECT call modes correctly with call_waiting settings
2023-08-22 10:28:11 +02:00
Sukru Senli
71abbd7024 hostmngr: move host management files from map-topology to hostmngr package 2023-08-21 16:30:16 +02:00
Vivek Kumar Dutta
239336f39f bbfdm: 1.3.11 2023-08-21 18:39:18 +05:30
nevadita.chatterjee
adfda085d7 decollector: 4.1.0.2 2023-08-21 16:19:59 +05:30
Vivek Kumar Dutta
9034a41e93 bbfdm: Multiple fixes
- c4e1784 Deffered schema/instance updater for transaction
- aa8af74 Debug transaction status
- 0171e09 Fix transaction maxtimeout
- Disable instance updater
2023-08-21 16:03:16 +05:30
Vivek Kumar Dutta
8011700c3a obuspa: Fix deadlock in push notifications 2023-08-21 15:51:22 +05:30
Vivek Kumar Dutta
a4b6d1c15d sulu: Fix runtime config update 2023-08-21 11:30:03 +05:30
Anjan Chanda
885ace494e hostmngr: 0.17.0 2023-08-21 07:33:45 +02:00
Dineshkumar
139382c930 fscryptctl: Add support for fscryptctl command
Signed-off-by: Dineshkumar <quic_dinel@quicinc.com>
2023-08-17 15:27:47 +00:00
Anjan Chanda
f77697fa15 hostmngr: 0.16.0 2023-08-17 16:42:19 +02:00
Marek Puzyniak
0d230c1d96 ieee1905: 8.2.2 2023-08-17 11:27:14 +00:00
Marek Puzyniak
ed4fdc13c9 map-agent: 4.3.5.5 2023-08-17 11:25:03 +00:00
Vivek Kumar Dutta
a729eb4e75 bbfdm: pretty_print with sorted array 2023-08-17 16:07:22 +05:30
Jakob Olsson
f4efc133f9 map-agent: 4.3.5.4 2023-08-17 11:17:56 +02:00
Vivek Kumar Dutta
c2aa56adff sulu: 3.0.1 2023-08-17 10:13:54 +05:30
Jakob Olsson
1530b0b9e4 Revert "ieee1905: 8.2.2"
This reverts commit c0c8f92d6b.
2023-08-16 17:46:19 +02:00
Marek Puzyniak
c0c8f92d6b ieee1905: 8.2.2 2023-08-16 11:53:25 +00:00
Marek Puzyniak
da99f3b66c map-agent: 4.3.5.3 2023-08-16 07:50:20 +00:00
Anjan Chanda
4ec0b703f4 ieee1905: 8.2.1 2023-08-16 09:09:58 +02:00
Jakob Olsson
81f48dc776 map-agent: 4.3.5.2 2023-08-14 10:29:39 +02:00
Jakob Olsson
0927fbaf35 map-controller: 4.3.2.2 2023-08-14 10:28:34 +02:00
Amit Kumar
a61770b99d ponmngr: add support for configuring loid authentication 2023-08-14 05:13:06 +00:00
Arne Jonsson
2668e9d634 iop: remove unused script generate_tarballs.sh 2023-08-11 16:25:21 +02:00
Amin Ben Romdhane
a9e482d9af bbfdm: 1.3.8 2023-08-11 14:59:54 +02:00
Jakob Olsson
71cdb3e11c decollector: 4.1.0.1 2023-08-11 09:35:37 +02:00
Marek Puzyniak
ecd30ae17d map-topology: 2.5.2.1 2023-08-10 15:50:07 +00:00
Marek Puzyniak
a28ff87eca map-controller: 4.3.2.1 2023-08-10 15:48:07 +00:00
Marek Puzyniak
117bca46df map-agent: 4.3.5.1 2023-08-10 15:45:16 +00:00
Amin Ben Romdhane
2657260054 bbfdm: 1.3.7 2023-08-10 13:57:09 +02:00
Rahul Thakur
69c4c6cb31 qosmngr: update makefile 2023-08-10 11:29:47 +00:00
Rahul Thakur
2df5b55ed7 ethmngr, qosmgr: folder struct update, remove hotplug on link 2023-08-10 11:29:47 +00:00
Rahul Thakur
ecacb13edf qosmngr: reload qos on link up for linux platform 2023-08-10 11:29:47 +00:00
Rahul Thakur
3bf7d2557c qosmngr: fix errors on boot for linux platform
errors caused by updated logic to get link rate
2023-08-10 11:29:47 +00:00
Rahul Thakur
df8d9ff1ef ethmngr: rectify build issues 2023-08-10 11:29:47 +00:00
Rahul Thakur
10564d779c mcastmngr: remove dependency on ports uci file 2023-08-10 11:29:47 +00:00
Rahul Thakur
b64f41dc6b ethmngr: deprecate ports uci file
port to be setup from network uci device section instead
2023-08-10 11:29:47 +00:00
Rahul Thakur
cddf178691 qosmngr: update qos config generation
replace reading from ports uci file/db to board.json
2023-08-10 11:29:47 +00:00
Vivek Kumar Dutta
67083c4ab4 sulu: 3.0.0 2023-08-09 16:54:52 +00:00
Amin Ben Romdhane
063a97a7d0 bbfdm :1.3.6 2023-08-09 16:50:15 +02:00
Sukru Senli
3920ab6523 voicemngr: correct LICENSE 2023-08-09 11:40:49 +02:00
Suvendhu Hansa
406c8ef73c obuspc: added dhcp opt125 for agent on-boarding 2023-08-09 05:40:35 +00:00
Amin Ben Romdhane
8651b12aa6 bbfdm: 1.3.5 2023-08-08 18:05:08 +02:00
Vivek Kumar Dutta
3bc76dc1bb swmodd: 2.3.2 2023-08-08 20:07:44 +05:30
Anjan Chanda
71d96711bd libwifi: 7.2.111 2023-08-08 14:11:29 +02:00
Anjan Chanda
96966f447c map-topology: 2.5.2.0 2023-08-08 13:21:36 +02:00
Anjan Chanda
4efe0b0e53 map-controller: 4.3.2.0 2023-08-08 13:21:36 +02:00
Anjan Chanda
6f48560b97 map-agent: 4.3.5.0 2023-08-08 13:21:36 +02:00
Anjan Chanda
bdb3d1847e ieee1905: 8.2.0 2023-08-08 13:21:36 +02:00
Ratish
f2cb3f4442 qosmngr: supressed iptables chain already exists messages 2023-08-08 15:03:54 +05:30
Ratish
3df0e75b3f qosmngr: supress rtnetlink error messages while deleting queues 2023-08-08 13:22:18 +05:30
George Yang
0afc1b9dd5 Add RTP payload type for G726 codec 2023-08-07 12:35:36 +00:00
Amin Ben Romdhane
8e1a3b1184 bbfdm: 1.3.4 2023-08-04 16:38:27 +02:00
Anjan Chanda
854c2aa507 decollector: 4.1.0.0 2023-08-04 16:08:22 +02:00
Anjan Chanda
30282db3d5 ieee1905: add flags HAS_UBUS and EXTENSION_ALLOWED 2023-08-04 15:32:25 +02:00
Jakob Olsson
6c9f034d29 map-agent: 4.3.4.3 2023-08-04 14:59:46 +02:00
Amit Kumar
d19c85ebde ponmngr: handling the loid authentication 2023-08-04 10:44:11 +00:00
Rahul Thakur
dfa0414918 qosmngr: apply ebtables rules for linux platform 2023-08-04 04:51:23 +00:00
Amin Ben Romdhane
30a4b1b745 bbfdm: 1.3.3 2023-08-03 15:59:58 +02:00
Vivek Kumar Dutta
ebbe691ecc sulu: Option to enable PWA
- Added option to enable PWA support
- Option to define path of PWA certificates
- Form validation fix
2023-08-03 19:00:56 +05:30
Amin Ben Romdhane
ec9495cd41 swmodd: 2.3.1 2023-08-02 23:11:39 +02:00
Amin Ben Romdhane
c736b6244a usermngr: 1.2.1 2023-08-02 23:10:46 +02:00
Amin Ben Romdhane
ec4bd3cd91 periodicstats: 1.5.1 2023-08-02 23:09:35 +02:00
Amin Ben Romdhane
d685b60f45 bbfdm: 1.3.2 2023-08-02 23:08:02 +02:00
Sukru Senli
01f98c52c9 map-agent: activate dynamic-backhaul handling only if device is operating in extender mode
if AL bridge network uses DHCP as protocol, assume it is extender mode
2023-08-02 11:24:41 +00:00
Ratish
89af5bba92 bbfdm: Updated the logic to identify macvlan device 2023-08-02 15:57:37 +05:30
Grzegorz Sluja
f3edc9b7eb dectmngr: 3.5.12
27f6923 Handle DECT call modes correctly with call_waiting settings
eecab9a Play keypad tones on DECT handset during dialling
2023-08-01 11:03:52 +02:00
Amin Ben Romdhane
8ec904fac2 bbfdm: 1.3.1 2023-07-31 16:45:03 +02:00
Vivek Kumar Dutta
1d10770ed5 obuspa: 7.0.2.25 2023-07-31 19:25:00 +05:30
Vivek Kumar Dutta
01f738b2b3 sulu: 2.2.18 2023-07-31 17:52:35 +05:30
Vivek Kumar Dutta
dc0b80097b obuspa: Config to enable test controller 2023-07-31 12:46:57 +05:30
Vivek Kumar Dutta
ee283c2e1b usp-js: 1.2.2 2023-07-31 12:40:30 +05:30
Vivek Kumar Dutta
d1f4dfbb71 sulu: 2.2.17 2023-07-28 15:06:39 +05:30
Sukru Senli
28603606d6 decollector: do not pass collection interval argument if less than 30 2023-07-27 16:24:55 +02:00
Sukru Senli
0e06579c71 map-controller: update default config 2023-07-27 16:24:34 +02:00
Sukru Senli
89afb954da map-controller: add TS related config options to config 2023-07-27 16:01:34 +02:00
Janusz Dziedzic
01899c924a libwifi: 7.2.110 2023-07-27 11:57:10 +00:00
Vivek Kumar Dutta
41453f0f97 icwmp: 9.5.1 2023-07-27 12:41:58 +05:30
Amit Kumar
dd12c2574f ponmngr: handled equipment-id from uci config
removed unwanted demon bcm_msgd
2023-07-27 10:25:56 +05:30
Amin Ben Romdhane
f7087bb8c7 usermngr: 1.2.0 2023-07-26 18:21:46 +02:00
Amin Ben Romdhane
16ce80d9ee periodicstats: 1.5.0 2023-07-26 18:21:04 +02:00
Amin Ben Romdhane
02f85d54d0 xmppc: 2.2.0 2023-07-26 18:20:04 +02:00
Amin Ben Romdhane
c80da485c9 twamp: 1.4.0 2023-07-26 18:19:08 +02:00
Amin Ben Romdhane
38e95765a3 swmodd: 2.3.0 2023-07-26 18:17:55 +02:00
Amin Ben Romdhane
1141ca1ef9 stunc: 1.3.0 2023-07-26 18:16:36 +02:00
Amin Ben Romdhane
f0b1a32208 udpecho: 2.2.0 2023-07-26 18:15:30 +02:00
Amin Ben Romdhane
28dda87cfb icwmp: 9.5.0 2023-07-26 18:13:51 +02:00
Amin Ben Romdhane
f5be820ad5 bbfdm: 1.3.0 2023-07-26 18:12:42 +02:00
Janusz Dziedzic
8820cbe1b1 wifimngr: 16.0.10 2023-07-26 14:41:11 +00:00
Janusz Dziedzic
11293bb304 libwifi: 7.2.109 2023-07-26 14:40:10 +00:00
Vivek Kumar Dutta
5dcf58e7dd swmodd: select lxc-device 2023-07-26 16:48:57 +05:30
Vivek Kumar Dutta
91d345c7fb swmodd: Select lxc utils based on config option 2023-07-26 15:34:13 +05:30
Lukasz Kotasa
dc4c8bafc2 tr104: 1.0.3 2023-07-26 11:09:55 +02:00
Vivek Kumar Dutta
98287d382b sulu: 2.2.16 2023-07-25 13:35:24 +05:30
Sukru Senli
fbaa28712d map-agent: update config 2023-07-25 09:21:37 +02:00
Sukru Senli
84a5b3f99f capiagent: start only mapagent or controller exists and enabled 2023-07-25 09:17:37 +02:00
Janusz Dziedzic
4ebffa9cfb map-agent: 4.3.4.2 2023-07-24 12:57:00 +00:00
Sukru Senli
ed33a61be7 iop: reselect netmode until testnet is moved out of it 2023-07-24 14:31:45 +02:00
Janusz Dziedzic
99eb4bf546 map-controller: 4.3.1.1 2023-07-24 12:12:06 +00:00
Vivek Kumar Dutta
0745796112 bbfdm: Set respawn for micro-services 2023-07-24 17:19:46 +05:30
Vivek Kumar Dutta
ebcf8b4b61 sulu: fix site redirection 2023-07-24 15:28:07 +05:30
Sukru Senli
01f11f1ad0 map-controller: set default de_connect_interval 2023-07-24 10:26:22 +02:00
Amin Ben Romdhane
df1537cd0c bbfdm: 1.2.8 2023-07-24 10:00:05 +02:00
Sukru Senli
b370f1c242 multi-ap: update configs of map components
map-agent and map-controller are disabled by default

component versions are lifted to 4
2023-07-24 09:33:36 +02:00
Sukru Senli
c71de4a811 iop: update config 2023-07-24 09:32:50 +02:00
Vivek Kumar Dutta
30e8ff5884 tr104: 1.0.2 2023-07-24 12:11:04 +05:30
Vivek Kumar Dutta
454eba7e5e swmodd: 2.2.8 2023-07-24 12:02:05 +05:30
Amin Ben Romdhane
8305d28285 bbfdm: 1.2.7 2023-07-24 00:11:30 +02:00
Grzegorz Sluja
cf4731761d voicemngr: Handle clid info in call waiting 2023-07-21 16:47:20 +02:00
Janusz Dziedzic
bd81dfd51b libwifi: 7.2.108 2023-07-21 09:14:29 +00:00
Vivek Kumar Dutta
e5a41d343b bbfdm: 1.2.6 2023-07-20 19:03:49 +05:30
Vivek Kumar Dutta
97c7eacf69 swmodd: 2.2.7 2023-07-20 18:34:43 +05:30
Vivek Kumar Dutta
d1ceed52f2 swmodd: 2.2.6 2023-07-20 15:51:17 +05:30
Suvendhu Hansa
6aef44ea9b icwmp: 9.4.2 2023-07-20 09:59:21 +00:00
Vivek Kumar Dutta
fbf0aa29a3 tr104: 1.0.1 2023-07-19 16:42:10 +05:30
Vivek Kumar Dutta
8a9c147952 sulu: 2.2.14 2023-07-19 15:21:28 +05:30
Janusz Dziedzic
ac30cad2ed map-controller: 4.3.1.0 2023-07-19 06:48:25 +00:00
Sukru Senli
1ae87be0ac iop: config: select some needed iptables modules 2023-07-18 16:19:48 +02:00
Amin Ben Romdhane
b93ebe260b bbfdm: 1.2.5 2023-07-18 15:07:52 +02:00
Vivek Kumar Dutta
7160fadf56 tr104: Added tr104d as datamodel microservice daemon 2023-07-18 08:03:08 +00:00
Vivek Kumar Dutta
f06a0e93b7 bbfdm: Move tr104 to run as dm micro-service 2023-07-18 08:03:08 +00:00
Janusz Dziedzic
7a54b81daf map-controller: 4.3.0.9 2023-07-17 14:27:47 +00:00
Vivek Kumar Dutta
bd50a960ec obudpst: 8.0.0 2023-07-17 18:05:14 +05:30
Amin Ben Romdhane
64d3e07dd2 bbfdm: 1.2.3 2023-07-13 18:09:46 +02:00
Filip Matusiak
9401cea337 map-agent: 4.3.4.1 2023-07-13 10:19:18 +00:00
Vivek Kumar Dutta
99c15dfe30 sulu: 2.2.13 2023-07-13 15:45:10 +05:30
suvendhu
ce43197f45 icwmp: Optimize dhcp handler scripts 2023-07-13 14:37:45 +05:30
suvendhu
047e533140 obuspa: Support dhcp deployment via option 125 2023-07-13 14:03:10 +05:30
Amin Ben Romdhane
8c70ba4f00 bbfdm: 1.2.2 2023-07-12 22:55:52 +02:00
Michael Polyntsov
a3760e2082 libvoice-airoha: 1.0.5
Add tone maps for Colombia, Panama and India, fix minor issues for the USA tone map
2023-07-11 17:01:32 +02:00
Sukru Senli
00f9133ae3 ethmngr: enable binary compilation for ipq53xx 2023-07-11 16:36:05 +02:00
Rahul Thakur
184dcd5b97 ponmngr: update equipment id 2023-07-11 17:32:06 +05:30
Amin Ben Romdhane
66163d3945 periodicstats: 1.4.2 2023-07-10 16:31:10 +02:00
Amin Ben Romdhane
8bdfd3ea51 bulkdata: 2.1.1 2023-07-10 16:29:47 +02:00
Amin Ben Romdhane
0689c0f91a bbfdm: Add support for service registration 2023-07-10 16:28:27 +02:00
Vivek Kumar Dutta
7baea620ec sulu: 2.2.12 2023-07-10 17:18:04 +05:30
Padmalochan Mohapatra
a14dbdfb9c ponmngr : propagation of changed equipmentId parameter to OLT 2023-07-10 05:51:03 +00:00
Vivek Kumar Dutta
7c706a045b bbfdm: 1.2.0 2023-07-08 10:27:21 +05:30
Janusz Dziedzic
c346df2802 libwifi: 7.2.107 2023-07-07 14:48:37 +00:00
Amin Ben Romdhane
27ccd1582d icwmp: 9.4.0 2023-07-07 15:27:09 +02:00
Anatoly Mirin
7c3d1f919c mcastmngr: fixed mcproxy crash for multiupstream config
If more than one upstream iface is defined, mcastmngr runs mcproxy
multiple times for each protocol (e.g. igmp) with the same config.
So second mcproxy process fails because it can't lock the MRT flag
(/proc/sys/net/ipv/default/mc_forwarding) already blocked by the
first process.

If one good and one bad (no IP address) upstream interfaces are defined,
mcastmngr generates wrong filter configuration and mcproxy cannot start
at all.

Now upstream and downstream ifaces are checked in the
'config_mcproxy_interfaces' function and only good interfaces (with IP)
are written to the mcproxy config. Only one mcproxy process is started
per protocol (igmp, mld), configured to handle multiple interfaces
if necessary.

'get_network_of' function removed. This function fails in some
uci configurations for interfaces that refer to a device indirectly.
Example - network.wan6.device='@wan'
2023-07-07 04:59:57 +00:00
Vivek Kumar Dutta
3f398d1016 obuspa: Optimize instance caching based on groups 2023-07-06 19:29:33 +05:30
Amin Ben Romdhane
c6b9c83194 bbfdm: 1.0.34 2023-07-06 15:17:21 +02:00
Vivek Kumar Dutta
16843b0260 bbfdm: Support for hostname and paramlist
hostname and paramlist now added in DHCPv4 server pool client options
2023-07-06 11:14:33 +05:30
Vivek Kumar Dutta
61cba7f7f7 bbfdm: Fix usp events 2023-07-06 10:27:30 +05:30
Vivek Kumar Dutta
2fb2b24201 sulu: 2.2.11 2023-07-05 19:55:40 +05:30
Janusz Dziedzic
9c838d993c map-agent: 4.3.4.0 2023-07-04 13:12:23 +00:00
Vivek Kumar Dutta
0e1451bcd2 decollector: 4.0.2.6 2023-07-04 18:35:14 +05:30
Sukru Senli
0c3299f631 decontroller: periodically refresh based on mapcontroller config de_collect_interval option 2023-07-04 15:01:32 +02:00
Vivek Kumar Dutta
c07da46687 sulu: 2.2.10 2023-07-04 15:37:16 +05:30
Vivek Kumar Dutta
f81fc0b77b icwmp: Optimize firewall reloads 2023-07-03 05:22:16 +00:00
Vivek Kumar Dutta
ee67f14abd bbfdm: 1.0.31 2023-07-03 10:27:27 +05:30
Vivek Kumar Dutta
e5c76f17f6 sulu: 2.2.9 2023-06-29 22:38:36 +05:30
235 changed files with 8374 additions and 3847 deletions

View File

@@ -1,7 +1,3 @@
config BBF_VENDOR_EXTENSION
bool "Enable Vendor Extension"
default y
config BBF_VENDOR_LIST
string "Vendor List"
default "iopsys"
@@ -10,10 +6,6 @@ config BBF_VENDOR_PREFIX
string "Vendor Prefix"
default "X_IOPSYS_EU_"
config BBF_TR104
bool "Enable TR-104 Data Model Support"
default y
config BBF_TR143
bool "Enable TR-143 Data Model Support"
default y
@@ -22,14 +14,6 @@ config BBF_TR471
bool "Enable TR-471 Data Model Support"
default y
config BBFDM_ENABLE_JSON_PLUGIN
bool "Enable json plugin to extend datamodel"
default y
config BBFDM_ENABLE_DOTSO_PLUGIN
bool "Enable shared library plugin to extend datamodel"
default y
config BBF_MAX_OBJECT_INSTANCES
int "Maximum number of instances per object"
default 255

View File

@@ -5,68 +5,40 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bbfdm
PKG_VERSION:=1.0.30
PKG_VERSION:=1.7.4
USE_LOCAL:=0
ifneq ($(USE_LOCAL),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
PKG_SOURCE_VERSION:=93a7049287b355892c9ed732f5cb3b9406ba687e
PKG_SOURCE_VERSION:=57a3aedb8f6dea2a951d3edf1da0c868e252b27c
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
include bbfdm.mk
define Package/libbbfdm-api
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=BBF datamodel library, provides API to extend datamodel using DotSO plugins
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libcurl
ABI_VERSION:=1.0
endef
define Package/libbbfdm/default
define Package/libbbfdm
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Library for broadband forum data model support
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libcurl +libbbfdm-api \
+BBF_TR471:obudpst
endef
define Package/libbbfdm
$(Package/libbbfdm/default)
TITLE += (default)
VARIANT:=default
DEPENDS += +PACKAGE_libbbfdm-openssl:libopenssl
DEFAULT_VARIANT:=1
endef
define Package/libbbfdm-mbedtls
$(Package/libbbfdm/default)
TITLE += (mbedtls)
DEPENDS += +PACKAGE_libbbfdm-mbedtls:libmbedtls
VARIANT:=mbedtls
CONFLICTS := libbbfdm libbbfdm-openssl libbbfdm-wolfssl
endef
define Package/libbbfdm-openssl
$(Package/libbbfdm/default)
TITLE += (openssl)
DEPENDS += +PACKAGE_libbbfdm-openssl:libopenssl
VARIANT:=openssl
CONFLICTS := libbbfdm libbbfdm-mbedtls libbbfdm-wolfssl
endef
define Package/libbbfdm-wolfssl
$(Package/libbbfdm/default)
TITLE += (wolfssl)
DEPENDS += +PACKAGE_libbbfdm-wolfssl:libwolfssl
VARIANT:=wolfssl
CONFLICTS := libbbfdm libbbfdm-mbedtls libbbfdm-openssl
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api \
+BBF_TR471:obudpst +libopenssl
endef
define Package/bbfdmd
@@ -74,20 +46,7 @@ define Package/bbfdmd
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Datamodel ubus backend
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libbbfdm-api +PACKAGE_libbbfdm-mbedtls:libbbfdm-mbedtls \
+PACKAGE_libbbfdm-openssl:libbbfdm-openssl +PACKAGE_libbbfdm-wolfssl:libbbfdm-wolfssl \
+PACKAGE_libbbfdm:libbbfdm
endef
define Package/userinterface
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Package to add Device.UserInterface. datamodel support
endef
define Package/userinterface/description
Package to add Device.UserInterface. datamodel support
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libbbfdm-api +libbbfdm
endef
define Package/libbbfdm/config
@@ -99,13 +58,12 @@ define Package/libbbfdm-api/description
endef
define Package/libbbfdm/description
Library contains the data model tree. It includes TR181, TR104 and TR143 data models
Library contains the data model tree. It includes TR181, TR143 data models
endef
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
ifneq ($(USE_LOCAL),)
ifeq ($(USE_LOCAL),1)
define Build/Prepare
$(CP) ./src/* $(PKG_BUILD_DIR)/
$(CP) ~/git/bbfdm/* $(PKG_BUILD_DIR)/
endef
endif
@@ -113,11 +71,6 @@ CMAKE_OPTIONS += \
-DBBF_TR181=ON
-DBBF_WIFI_DATAELEMENTS=ON
ifeq ($(CONFIG_BBF_TR104),y)
CMAKE_OPTIONS += \
-DBBF_TR104=ON
endif
ifeq ($(CONFIG_BBF_TR143),y)
CMAKE_OPTIONS += \
-DBBF_TR143=ON
@@ -128,43 +81,11 @@ CMAKE_OPTIONS += \
-DBBF_TR471=ON
endif
ifeq ($(CONFIG_BBF_VENDOR_EXTENSION),y)
CMAKE_OPTIONS += \
-DBBF_VENDOR_EXTENSION=ON
CMAKE_OPTIONS += \
-DBBF_VENDOR_LIST:String="$(CONFIG_BBF_VENDOR_LIST)" \
-DBBF_VENDOR_PREFIX:String="$(CONFIG_BBF_VENDOR_PREFIX)" \
-DBBF_MAX_OBJECT_INSTANCES:Integer=$(CONFIG_BBF_MAX_OBJECT_INSTANCES)
endif ##CONFIG_BBF_VENDOR_EXTENSION
ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y)
CMAKE_OPTIONS += \
-DBBF_JSON_PLUGIN=ON
endif
ifeq ($(CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN),y)
CMAKE_OPTIONS += \
-DBBF_DOTSO_PLUGIN=ON
endif
ifeq ($(BUILD_VARIANT),default)
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
endif
ifeq ($(BUILD_VARIANT),openssl)
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
endif
ifeq ($(BUILD_VARIANT),wolfssl)
CMAKE_OPTIONS += -DWITH_WOLFSSL=ON
endif
ifeq ($(BUILD_VARIANT),mbedtls)
CMAKE_OPTIONS += -DWITH_MBEDTLS=ON
endif
ifeq ($(CONFIG_PACKAGE_bbfdmd),y)
CMAKE_OPTIONS += \
-DBBFDMD_MAX_MSG_LEN:Integer=10485760
@@ -175,28 +96,31 @@ define Package/libbbfdm-api/install
$(CP) $(PKG_BUILD_DIR)/libbbfdm-api/libbbfdm-api.so $(1)/lib/
endef
define Package/libbbfdm/default/install
define Package/libbbfdm/install
$(INSTALL_DIR) $(1)/lib
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(CP) $(PKG_BUILD_DIR)/libbbfdm/libbbfdm.so $(1)/lib/
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/bbf $(1)/lib/upgrade/keep.d/bbf
$(INSTALL_BIN) ./files/etc/uci-defaults/95-portmap-firewall $(1)/etc/uci-defaults/95-portmap-firewall
$(INSTALL_BIN) ./files/etc/uci-defaults/97-firewall-service $(1)/etc/uci-defaults/97-firewall-service
$(INSTALL_BIN) ./files/etc/uci-defaults/99-link-core-plugins $(1)/etc/uci-defaults/99-link-core-plugins
$(INSTALL_BIN) ./files/etc/firewall.portmap $(1)/etc/firewall.portmap
$(INSTALL_BIN) ./files/etc/firewall.service $(1)/etc/firewall.service
ifeq ($(findstring iopsys,$(CONFIG_BBF_VENDOR_LIST)),iopsys)
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/libbbfdm/dmtree/vendor/iopsys/libbbfdm_iopsys_ext.so)
endif
ifeq ($(CONFIG_BBF_TR143),y)
$(INSTALL_DIR) $(1)/usr/share/bbfdm
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libbbfdm/scripts/* $(1)/usr/share/bbfdm
$(CP) $(PKG_BUILD_DIR)/libbbfdm/scripts/* $(1)/usr/share/bbfdm
$(LN) /usr/share/bbfdm/bbf.diag $(1)/usr/libexec/rpcd/bbf.diag
endif
ifeq ($(CONFIG_BBFDM_ENABLE_JSON_PLUGIN),y)
$(INSTALL_DIR) $(1)/etc/bbfdm/json
endif
ifeq ($(CONFIG_BBFDM_ENABLE_DOTSO_PLUGIN),y)
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
endif
endef
define Package/libbbfdm/default/prerm
define Package/libbbfdm/prerm
#!/bin/sh
rm -rf /etc/bbfdm/dmmap/*
exit 0
@@ -208,58 +132,22 @@ define Package/bbfdmd/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/bbfdm
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbfdmd/ubus/bbfdmd $(1)/usr/sbin/
$(INSTALL_DATA) ./files/etc/bbfdm/input.json $(1)/etc/bbfdm/
$(INSTALL_BIN) ./files/etc/init.d/bbfdmd $(1)/etc/init.d/bbfdmd
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
$(INSTALL_CONF) ./files/etc/config/bbfdm $(1)/etc/config/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbfdmd/src/bbfdmd $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/json/input.json $(1)/etc/bbfdm/
$(INSTALL_BIN) ./files/etc/bbfdm/bbfdm_services.sh $(1)/etc/bbfdm/
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
endef
define Package/userinterface/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(INSTALL_DATA) ./files/etc/config/userinterface $(1)/etc/config/userinterface
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/userinterface $(1)/lib/upgrade/keep.d/userinterface
$(INSTALL_BIN) ./files/etc/init.d/userinterface $(1)/etc/init.d/userinterface
$(INSTALL_BIN) ./files/etc/uci-defaults/93-userinterface-firewall $(1)/etc/uci-defaults/93-userinterface-firewall
$(INSTALL_BIN) ./files/etc/uci-defaults/94-userinterface-json $(1)/etc/uci-defaults/94-userinterface-json
$(INSTALL_BIN) ./files/etc/uci-defaults/95-portmap-firewall $(1)/etc/uci-defaults/95-portmap-firewall
$(INSTALL_BIN) ./files/etc/firewall.userinterface $(1)/etc/firewall.userinterface
$(INSTALL_BIN) ./files/etc/firewall.portmap $(1)/etc/firewall.portmap
endef
Package/libbbfdm/prerm = $(Package/libbbfdm/default/prerm)
Package/libbbfdm-openssl/prerm = $(Package/libbbfdm/default/prerm)
Package/libbbfdm-wolfssl/prerm = $(Package/libbbfdm/default/prerm)
Package/libbbfdm-mbedtls/prerm = $(Package/libbbfdm/default/prerm)
Package/libbbfdm/install = $(Package/libbbfdm/default/install)
Package/libbbfdm-openssl/install = $(Package/libbbfdm/default/install)
Package/libbbfdm-wolfssl/install = $(Package/libbbfdm/default/install)
Package/libbbfdm-mbedtls/install = $(Package/libbbfdm/default/install)
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/libbbfdm
$(INSTALL_DIR) $(1)/usr/include/libbbfdm-api
$(INSTALL_DIR) $(1)/usr/include/libbbf_api
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/include/*.h $(1)/usr/include/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm/dmtree/tr181/device.h $(1)/usr/include/libbbfdm/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm/dmtree/vendor/vendor.h $(1)/usr/include/libbbfdm/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/*.h $(1)/usr/include/libbbfdm-api/
# Work around for backward compatibility
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/*.h $(1)/usr/include/libbbf_api/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/include/libbbfdm_api.h $(1)/usr/include/libbbf_api.h
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/include/*.h $(1)/usr/include/
endef
$(eval $(call BuildPackage,libbbfdm-api))
$(eval $(call BuildPackage,libbbfdm))
$(eval $(call BuildPackage,libbbfdm-openssl))
$(eval $(call BuildPackage,libbbfdm-wolfssl))
$(eval $(call BuildPackage,libbbfdm-mbedtls))
$(eval $(call BuildPackage,bbfdmd))
$(eval $(call BuildPackage,userinterface))

9
bbfdm/bbfdm.mk Normal file
View File

@@ -0,0 +1,9 @@
#
# Copyright (C) 2023 IOPSYS
#
define BbfdmInstallPlugin
$(INSTALL_DIR) $(1)/etc/bbfdm/plugins
$(INSTALL_DATA) $(2) $(1)/etc/bbfdm/plugins/
endef

View File

@@ -0,0 +1,47 @@
#!/bin/sh
BBFDMD="/usr/sbin/bbfdmd"
bbfdm_add_service()
{
local name path
name="${1}"
path="${2}"
if [ -z "${name}" -o -z "$path" ]; then
return 0;
fi
ubus call service add "{'name':'bbfdm.services','instances':{'$name':{'command':['$BBFDMD','-m','$path']}}}"
}
bbfdm_stop_service()
{
local name
name="${1}"
if [ -z "${name}" ]; then
return 0;
fi
if ubus call service list '{"name":"bbfdm.services"}' |grep -q "bbfdm.$name"; then
ubus call service delete "{'name':'bbfdm.services','instance':'bbfdm.$name'}"
fi
}
usages()
{
echo "Usages $0: <OPTIONS>..."
echo
echo " -h show help"
echo " -k micro-service name to stop"
echo
}
while getopts "s:k:h" opts; do
case "$opts" in
h) usages; exit 0;;
k) bbfdm_stop_service "${OPTARG}";;
esac
done

View File

@@ -0,0 +1,28 @@
{
"daemon": {
"config": {
},
"input": {
"type": "DotSo",
"name": "/lib/libbbfdm.so",
"plugin_dir": "/etc/bbfdm/plugins"
},
"output": {
"type": "UBUS",
"name": "bbfdm"
}
},
"cli": {
"config": {
"proto": "both",
"instance_mode": 0
},
"input": {
"type": "UBUS",
"name": "bbfdm"
},
"output": {
"type": "CLI"
}
}
}

View File

@@ -3,5 +3,6 @@ config bbfdmd 'bbfdmd'
option enabled '1'
option loglevel '1'
option refresh_time '10'
option transaction_timeout '10'
option transaction_timeout '30'
option subprocess_level '2'

163
bbfdm/files/etc/firewall.service Executable file
View File

@@ -0,0 +1,163 @@
#!/bin/sh
. /lib/functions.sh
log() {
echo "${@}"|logger -t firewall.service -p info
}
exec_cmd() {
if ! eval "$*"; then
log "Failed to run [$*]"
echo "-1"
return 0
fi
echo "0"
return 0
}
add_iptable_rule() {
chain_name=$1
protocol=$2
dest_port=$3
icmp_type=$4
family=$5
src_prefix=$6
action=$7
res=-1
cmd="-I ${chain_name}"
if [ -n "${protocol}" ]; then
cmd="${cmd} -p $protocol"
if [ "${protocol}" -eq 41 ] || [ "${protocol}" -eq 43 ] || [ "${protocol}" -eq 44 ] ||
[ "${protocol}" -eq 58 ] || [ "${protocol}" -eq 59 ] || [ "${protocol}" -eq 60 ]; then
# Explicit v6 protocols
if [ "${family}" = "ipv4" ]; then
echo $res
return 0
else
family="ipv6"
fi
elif [ "${protocol}" -eq 1 ]; then
# Explicit v4 protocols
if [ "${family}" = "ipv6" ]; then
echo $res
return 0
else
family="ipv4"
fi
fi
# Limitation:: iptables do not accept dport without specific protocol
count=$(echo "${dest_port}" | sed -n "/-1/p" | wc -l)
if [ "${count}" -eq 0 ]; then
# dest_port not contains -1 so need to have this match criteria
count=$(echo "${dest_port}" | wc -w)
if [ "${count}" -gt 1 ]; then
# multiple ports present
port=$(echo "${dest_port}" | sed "s/ /,/g")
cmd="${cmd} -m multiport --dports ${port}"
else
cmd="${cmd} --dport ${dest_port}"
fi
fi
fi
if [ "${family}" = "ipv4" ] || [ "${family}" = "-1" ]; then
if [ "${protocol}" -eq 1 ] && [ "${icmp_type}" -ge 0 ]; then
cmd="${cmd} --icmp-type ${icmp_type}"
fi
if [ -z "${src_prefix}" ]; then
res=$(exec_cmd "iptables ${cmd} -m comment --comment IPtables_service_rule -j ${action}")
else
#Add ipv4 sources if any
src_list=""
for src in $src_prefix; do
ret=$(echo $src | grep ":" | wc -l)
if [ "${ret}" -eq 0 ]; then
src_list="$src,$src_list"
fi
done
if [ -n "$src_list" ]; then
src_list=$(echo "${src_list}" | sed "s/,$//")
res=$(exec_cmd "iptables -s $src_list ${cmd} -m comment --comment IPtables_service_rule -j ${action}")
fi
fi
fi
if [ "${family}" = "ipv6" ] || [ "${family}" = "-1" ]; then
if [ "${protocol}" -eq 58 ] && [ "${icmp_type}" -ge 0 ]; then
cmd="${cmd} --icmpv6-type ${icmp_type}"
fi
if [ -z "${src_prefix}" ]; then
res=$(exec_cmd "ip6tables ${cmd} -m comment --comment IP6tables_service_rule -j ${action}")
else
#Add ipv6 sources if any
src_list=""
for src in $src_prefix; do
ret=$(echo $src | grep ":" | wc -l)
if [ "${ret}" -eq 1 ]; then
src_list="$src,$src_list"
fi
done
if [ -n "$src_list" ]; then
src_list=$(echo "${src_list}" | sed "s/,$//")
res=$(exec_cmd "ip6tables -s $src_list ${cmd} -m comment --comment IP6tables_service_rule -j ${action}")
fi
fi
fi
echo $res
}
add_service() {
local enable proto family dest_port interface target icmp_type
config_get enable "$1" enable "0"
config_get icmp_type "$1" icmp_type "-1"
config_get target "$1" target "Accept"
config_get interface "$1" interface ""
config_get family "$1" family "-1"
config_get dest_port "$1" dest_port "-1"
config_get proto "$1" proto "-1"
config_get src_prefix "$1" src_prefix ""
if [ "${enable}" -eq 0 ] || [ -z "${interface}" ]; then
return 0
fi
action=$(echo "${target}" | tr a-z A-Z)
chain_name="zone_${interface}_input"
res=0
count=$(echo "${proto}" | sed -n "/-1/p" | wc -l)
if [ "${count}" -eq 0 ]; then
# proto not contains -1 so need to have this match criteria
for protocol in $proto; do
res=$(add_iptable_rule "$chain_name" "$protocol" "$dest_port" "$icmp_type" "$family" "$src_prefix" "$action")
done
else
# proto contains -1 so no need to have this match criteria
res=$(add_iptable_rule "$chain_name" "" "$dest_port" "$icmp_type" "$family" "$src_prefix" "$action")
fi
if [ "${res}" -ne 0 ]; then
uci -q set firewall."${1}".status="Error"
else
uci -q set firewall."${1}".status=""
fi
uci commit firewall
}
config_load firewall
config_foreach add_service "service"

View File

@@ -1,12 +1,13 @@
#!/bin/sh /etc/rc.common
START=96
START=65
STOP=10
USE_PROCD=1
PROG=/usr/sbin/bbfdmd
BBFDM_JSON_INPUT="/etc/bbfdm/input.json"
BBFDM_TEMP_JSON="/tmp/bbfdm/input.json"
log() {
echo "${@}"|logger -t bbfdmd.init -p info
@@ -16,20 +17,21 @@ validate_bbfdm_bbfdmd_section()
{
uci_validate_section bbfdm bbfdmd "bbfdmd" \
'enabled:bool:true' \
'debug:bool:false' \
'loglevel:uinteger' \
'sock:string' \
'refresh_time:uinteger' \
'transaction_timeout:uinteger' \
'debug:bool:false' \
'loglevel:uinteger:1' \
'refresh_time:uinteger:0' \
'transaction_timeout:uinteger:30' \
'subprocess_level:uinteger'
}
configure_bbfdmd()
{
local enabled debug sock
local enabled debug sock update
local jlog jrefresh jtimeout jlevel
update=0
config_load bbfdm
validate_bbfdm_bbfdmd_section || {
log "Validation of bbfdmd section failed"
return 1;
@@ -37,22 +39,8 @@ configure_bbfdmd()
[ "${enabled}" -eq 0 ] && return 0
[ ! -f "${BBFDM_JSON_INPUT}" ] && return 0
if [ -n "${loglevel}" ]; then
echo "$(jq --arg res ${loglevel} '.daemon.config += {"loglevel": $res}' ${BBFDM_JSON_INPUT})" > ${BBFDM_JSON_INPUT}
fi
if [ -n "${refresh_time}" ]; then
echo "$(jq --arg res ${refresh_time} '.daemon.config += {"refresh_time": $res}' ${BBFDM_JSON_INPUT})" > ${BBFDM_JSON_INPUT}
fi
if [ -n "${transaction_timeout}" ]; then
echo "$(jq --arg res ${transaction_timeout} '.daemon.config += {"transaction_timeout": $res}' ${BBFDM_JSON_INPUT})" > ${BBFDM_JSON_INPUT}
fi
if [ -n "${subprocess_level}" ]; then
echo "$(jq --arg res ${subprocess_level} '.daemon.config += {"subprocess_level": $res}' ${BBFDM_JSON_INPUT})" > ${BBFDM_JSON_INPUT}
if [ -f "${BBFDM_JSON_INPUT}" ]; then
echo "$(jq --arg log ${loglevel} --arg tran ${transaction_timeout} --arg refresh ${refresh_time} --arg level ${subprocess_level} '.daemon.config += {"loglevel": $log, "refresh_time": $refresh, "transaction_timeout": $tran, "subprocess_level": $level}' ${BBFDM_JSON_INPUT})" > ${BBFDM_TEMP_JSON}
fi
procd_set_param command ${PROG}
@@ -68,10 +56,18 @@ configure_bbfdmd()
start_service()
{
mkdir -p /tmp/bbfdm
procd_open_instance "bbfdm"
configure_bbfdmd
procd_set_param respawn
procd_close_instance "bbfdm"
ubus call service state '{"name":"bbfdm.services", "spawn":true}'
}
stop_service()
{
ubus call service state '{"name":"bbfdm.services", "spawn":false}'
}
service_triggers()

View File

@@ -0,0 +1,62 @@
#!/bin/sh
. /lib/functions.sh
bbfdm_sysctl_conf="/etc/bbfdm/sysctl.conf"
update_device_section() {
local section="${1}"
local dev_name="${2}"
local ipv6="${3}"
local name
# Get name value
config_get name "${section}" name
# Retrun if the name value is different to the dev_name value
[ "${name}" != "${dev_name}" ] && return
if [ "${ipv6}" = "0" ]; then
ipv6="1"
else
ipv6="0"
fi
# Add ipv6 option
uci -q set network.${section}.ipv6="${ipv6}"
}
parse_bbfdm_sysctl_conf_file() {
# Check if the file exists
[ -f "${bbfdm_sysctl_conf}" ] || return
# Create a temporary file
tmpfile=$(mktemp)
# Load network config
config_load network
# Read each line of the file
while read -r line; do
if echo "$line" | grep -Eq '^net\.ipv6\.conf\.(.+)\.disable_ipv6=([0-1])$'; then
name=$(echo "$line" | sed -n 's/^net\.ipv6\.conf\.\(.*\)\.disable_ipv6=[0-1]$/\1/p')
value=$(echo "$line" | sed -n 's/^net\.ipv6\.conf\.\(.*\)\.disable_ipv6=\([0-1]\)$/\2/p')
config_foreach update_device_section device "${name}" "${value}"
else
# If the line doesn't match, preserve it in the temporary file
echo "$line" >> "$tmpfile"
fi
done < "${bbfdm_sysctl_conf}"
# Replace the original file with the modified content
mv "$tmpfile" "${bbfdm_sysctl_conf}"
# Apply the changes
uci commit network
sysctl -e -p "${bbfdm_sysctl_conf}" >&-
}
parse_bbfdm_sysctl_conf_file
exit 0

View File

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

View File

@@ -0,0 +1,18 @@
#!/bin/sh
UNIFIED_PATH="/etc/bbfdm/plugins/"
# Link JSON plugins
for f in `ls -1 /etc/bbfdm/json/*.json`; do
echo "# BBFDM JSON plugin ${f} not aligned #"
ln -s ${f} "${UNIFIED_PATH}"
done
# Link DotSo plugins
for f in `ls -1 /usr/lib/bbfdm/*.so`; do
echo "# BBFDM DotSO plugin ${f} not aligned #"
ln -s ${f} "${UNIFIED_PATH}"
done
exit 0

View File

@@ -7,13 +7,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bulkdata
PKG_VERSION:=2.1.0
PKG_VERSION:=2.1.5
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bulkdata.git
PKG_SOURCE_VERSION:=2dd55d9c9eb01ed1b11e16bad9e2c3e8badfffeb
PKG_SOURCE_VERSION:=f03fb8682aa7efe760294e54c422f2eab856e08c
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -43,9 +43,9 @@ endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bulkdatad $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbf_plugin/*.json $(1)/etc/bbfdm/json
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bulkdatad $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/bulkdata
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbf_plugin/*.json $(1)/etc/bulkdata
$(CP) ./files/* $(1)/
endef

View File

@@ -0,0 +1,15 @@
{
"daemon": {
"input": {
"type": "JSON",
"name": "/etc/bulkdata/bulkdata.json"
},
"output": {
"type": "UBUS",
"name": "bbfdm.bulkdata",
"parent_dm": "Device.",
"object": "BulkData",
"root_obj": "bbfdm"
}
}
}

View File

@@ -1,10 +1,13 @@
#!/bin/sh /etc/rc.common
START=99
START=60
STOP=10
. /etc/bbfdm/bbfdm_services.sh
USE_PROCD=1
PROG="/usr/sbin/bulkdatad"
BULKDATA_JSON_INPUT="/etc/bulkdata/input.json"
start_service() {
local enable
@@ -12,12 +15,14 @@ start_service() {
config_load bulkdata
config_get_bool enable bulkdata enable 1
procd_open_instance bulkdata
[ "$enable" -eq "1" ] && {
procd_open_instance "bulkdata"
procd_set_param command "$PROG"
procd_set_param respawn "3" "7" "0"
procd_set_param respawn
procd_close_instance "bulkdata"
}
procd_close_instance
bbfdm_add_service "bbfdm.bulkdata" "${BULKDATA_JSON_INPUT}"
}
reload_service() {

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=capiagent
PKG_VERSION:=2.1.0
PKG_VERSION:=2.1.1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=3e671db8f567b19c109fc13b25bc571c4c73a962
PKG_SOURCE_VERSION:=136cab3a9f1eec0132db9fa3f7bb1c8748ce1449
PKG_SOURCE_URL:=https://dev.iopsys.eu/multi-ap/capiagent.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -31,7 +31,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/capiagent
TITLE+= capiagent (daemon implementing Wi-Fi Alliance's CAPI commands)
DEPENDS= +libubox +libuci +libubus +libnl-genl +libeasy +libwifi \
+libjson-c +libblobmsg-json +ubus +libieee1905
+libjson-c +libblobmsg-json +ubus +libieee1905 +libwifiutils
endef
define Package/capiagent/description

View File

@@ -6,13 +6,22 @@ STOP=20
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command "/usr/sbin/capiagent" "-p 9000"
procd_set_param limits core="unlimited"
# procd_set_param respawn
# procd_set_param stdout 1
# procd_set_param stderr 1
procd_close_instance
if [ -e "/etc/config/mapagent" -o -e "/etc/config/mapcontroller" ]; then
config_load mapagent
config_get_bool agent_enabled agent enabled 1
config_load mapcontroller
config_get_bool controller_enabled controller enabled 1
if [ $agent_enabled -eq 1 -o $controller_enabled -eq 1 ]; then
procd_open_instance
procd_set_param command "/usr/sbin/capiagent" "-p 9000"
procd_set_param limits core="unlimited"
#procd_set_param respawn
#procd_set_param stdout 1
#procd_set_param stderr 1
procd_close_instance
fi
fi
}
service_triggers()

64
csmngr/Makefile Normal file
View File

@@ -0,0 +1,64 @@
#
# Copyright (C) 2020-2024 IOPSYS Software Solutions AB
#
include $(TOPDIR)/rules.mk
PKG_NAME:=csmngr
PKG_VERSION:=0.0.5
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=dcdaba75b85bf8758c34d3ae4a1be0ba09359331
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/csmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_CONFIG_DEPENDS := \
CONFIG_PACKAGE_libwifiutils \
CONFIG_PACKAGE_libwifi
PKG_BUILD_DEPENDS := libwifi
include $(INCLUDE_DIR)/package.mk
MAKE_PATH:=src
define Package/csmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=WiFi channel selection manager
DEPENDS:=+libwifiutils +libwifi +libuci +libubox +ubus +libnl-genl
endef
define Package/csmngr/description
WiFi Auto Channel Selection manager.
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/csmngr/ $(PKG_BUILD_DIR)/
endef
endif
define Package/csmngr/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/csmngr $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,csmngr))

21
csmngr/files/etc/init.d/csmngr Executable file
View File

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

16
ddnsmngr/Config.in Normal file
View File

@@ -0,0 +1,16 @@
if PACKAGE_ddnsmngr
choice
prompt "Select backend for dynamic DNS management"
default DDNSMNGR_BACKEND_DDNSSCRIPT
depends on PACKAGE_ddnsmngr
help
Select which package to use for dynamic DNS support
config DDNSMNGR_BACKEND_DDNSSCRIPT
bool "Use ddns_script"
config DDNSMNGR_BACKEND_INADYN
bool "Use inadyn"
endchoice
endif

79
ddnsmngr/Makefile Normal file
View File

@@ -0,0 +1,79 @@
#
# Copyright (C) 2024 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ddnsmngr
PKG_VERSION:=1.0.0
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/ddnsmngr.git
PKG_SOURCE_VERSION:=d0d37df44644ef2c1a0b11d3a4f92dc694ae1010
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_CONFIG_DEPENDS:=CONFIG_DDNSMNGR_BACKEND_DDNSSCRIPT CONFIG_DDNSMNGR_BACKEND_INADYN
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=Dynamic DNS manager
DEPENDS:=+libbbfdm-api +DDNSMNGR_BACKEND_DDNSSCRIPT:ddns-scripts +DDNSMNGR_BACKEND_INADYN:inadyn
MENU:=1
endef
define Package/$(PKG_NAME)/config
source "$(SOURCE)/Config.in"
endef
MAKE_PATH:=src
define Package/$(PKG_NAME)/description
Manage dynamic DNS updation and provides Device.DynamicDNS. datamodel object based on TR181-2.16
endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ~/git/ddnsmngr/* $(PKG_BUILD_DIR)/
endef
endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/etc/ddnsmngr
$(INSTALL_DIR) $(1)/etc/ddnsmngr/ddns
$(INSTALL_DIR) $(1)/etc/ddnsmngr/servers
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/ddnsmngr
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/libddnsmngr.so $(1)/etc/ddnsmngr/
$(INSTALL_DATA) ./files/etc/ddnsmngr/input.json $(1)/etc/ddnsmngr/
$(INSTALL_DATA) ./files/etc/config/ddnsmngr $(1)/etc/config/ddnsmngr
$(INSTALL_BIN) ./files/etc/uci-defaults/01-ddns-config-migrate $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/init.d/ddnsmngr $(1)/etc/init.d/ddnsmngr
ifeq ($(CONFIG_DDNSMNGR_BACKEND_DDNSSCRIPT),y)
$(INSTALL_BIN) ./files/usr/lib/ddns_script/ddnsmngr_service.sh $(1)/usr/lib/ddnsmngr/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns-script/usr/lib/ddnsmngr/ddnsmngr_updater.sh $(1)/usr/lib/ddnsmngr/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/ddns-script/server/* $(1)/etc/ddnsmngr/servers
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns-script/usr/libexec/rpcd/ddnsmngr $(1)/usr/libexec/rpcd/ddnsmngr
endif
ifeq ($(CONFIG_DDNSMNGR_BACKEND_INADYN),y)
$(INSTALL_BIN) ./files/usr/lib/inadyn/ddnsmngr_service.sh $(1)/usr/lib/ddnsmngr/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/inadyn/server/* $(1)/etc/ddnsmngr/servers
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/inadyn/usr/libexec/rpcd/ddnsmngr $(1)/usr/libexec/rpcd/ddnsmngr
endif
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@@ -0,0 +1,23 @@
config ddnsmngr 'global'
option configfile '/var/run/ddnsmngr/ddnsmngr.json'
option ddns_dateformat '%F %R'
option ddns_rundir '/var/run/ddnsmngr'
option ddns_logdir '/var/log/ddnsmngr'
option ddns_loglines '250'
option upd_privateip '0'
option use_curl '1'
config server 'ddns_server_1'
option enabled '1'
option service 'dynu.com'
option name 'dynu.com'
config server 'ddns_server_2'
option enabled '1'
option service 'dyndns.org'
option name 'dyndns.org'
config server 'ddns_server_3'
option enabled '1'
option service 'zoneedit.com'
option name 'zoneedit.com'

View File

@@ -0,0 +1,15 @@
{
"daemon": {
"input": {
"type": "DotSo",
"name": "/etc/ddnsmngr/libddnsmngr.so"
},
"output": {
"type": "UBUS",
"name": "bbfdm.ddnsmngr",
"parent_dm": "Device.",
"object": "DynamicDNS",
"root_obj": "bbfdm"
}
}
}

View File

@@ -0,0 +1,29 @@
#!/bin/sh /etc/rc.common
START=80
STOP=10
USE_PROCD=1
DM_INPUT="/etc/ddnsmngr/input.json"
. /etc/bbfdm/bbfdm_services.sh
. /usr/lib/ddnsmngr/ddnsmngr_service.sh
start_service() {
start_ddnsmngr_service
bbfdm_add_service "bbfdm.ddnsmngr" "${DM_INPUT}"
}
stop_service() {
stop_ddnsmngr_service
}
reload_service() {
stop
sleep 1
start
}
service_triggers() {
procd_add_reload_trigger ddnsmngr
add_ddnsmngr_triggers
}

View File

@@ -0,0 +1,170 @@
#!/bin/sh
. /lib/functions.sh
cl_id=1
srv_id=1
function get_ddns_config_option() {
local val
val="$(uci -q get ddns.${1}.${2})"
if [ -z "${val}" ] && [ -n "${3}" ]; then
val="${3}"
fi
echo "${val}"
}
function config_supported_service() {
if ! uci -q get ddnsmngr.global >/dev/null 2>&1; then
uci -q set ddnsmngr.global="ddnsmngr"
fi
servers=""
for i in $(find /etc/ddnsmngr/servers/ -name '*.json' | cut -d'/' -f 5 | sed "s/.json//")
do
if [ -z "${servers}" ]; then
servers="${i}"
else
servers="${servers},${i}"
fi
done
uci -q set ddnsmngr.global.supported_services="${servers}"
}
function migrate_service_section() {
client_sec=""
enabled="$(get_ddns_config_option ${1} enabled "0")"
service_name="$(get_ddns_config_option ${1} service_name)"
interface="$(get_ddns_config_option ${1} interface)"
ip_network="$(get_ddns_config_option ${1} ip_network)"
username="$(get_ddns_config_option ${1} username)"
password="$(get_ddns_config_option ${1} password)"
lookup_host="$(get_ddns_config_option ${1} lookup_host)"
use_ipv6="$(get_ddns_config_option ${1} use_ipv6 "0")"
force_ipversion="$(get_ddns_config_option ${1} force_ipversion "0")"
use_https="$(get_ddns_config_option ${1} use_https "0")"
force_dnstcp="$(get_ddns_config_option ${1} force_dnstcp "0")"
if [ -z "${service_name}" ]; then
uci -q delete ddns."${1}"
return 0
fi
# check server file is present in device
if [ ! -f "/etc/ddnsmngr/servers/${service_name}.json" ]; then
uci -q delete ddns."${1}"
return 0
fi
# Check if client section is already added for this service
clients=$(uci -q show ddnsmngr | grep "=client")
client_count=$(echo "${clients}" | wc -l)
tmp=0
while [ $tmp -lt $client_count ]
do
mngr_serv="$(uci -q get ddnsmngr.@client[$tmp].service_name)"
mngr_intf="$(uci -q get ddnsmngr.@client[$tmp].interface)"
mngr_netw="$(uci -q get ddnsmngr.@client[$tmp].ip_network)"
mngr_user="$(uci -q get ddnsmngr.@client[$tmp].username)"
mngr_ipv6="$(uci -q get ddnsmngr.@client[$tmp].use_ipv6)"
mngr_forceip="$(uci -q get ddnsmngr.@client[$tmp].force_ipversion)"
mngr_https="$(uci -q get ddnsmngr.@client[$tmp].use_https)"
mngr_dnstcp="$(uci -q get ddnsmngr.@client[$tmp].force_dnstcp)"
[ -z "${mngr_ipv6}" ] && mngr_ipv6="0"
[ -z "${mngr_forceip}" ] && mngr_forceip="0"
[ -z "${mngr_https}" ] && mngr_https="0"
[ -z "${mngr_dnstcp}" ] && mngr_dnstcp="0"
if [ "${mngr_serv}" == "${service_name}" ] && [ "${mngr_intf}" == "${interface}" ] && \
[ "${mngr_netw}" == "${ip_network}" ] && [ "${mngr_user}" == "${username}" ] && \
[ "${mngr_ipv6}" == "${use_ipv6}" ] && [ "${mngr_forceip}" == "${force_ipversion}" ] && \
[ "${mngr_https}" == "${use_https}" ] && [ "${mngr_dnstcp}" == "${force_dnstcp}" ]; then
break
fi
tmp=$(( tmp + 1 ))
done
if [ $tmp -ne $client_count ]; then
i=0
for client in $clients; do
if [ $i -eq $tmp ]; then
client_sec="$(echo $client | cut -d'=' -f 1 | cut -d'.' -f 2)"
break
fi
i=$(( i + 1 ))
done
if [ $enabled -eq 1 ]; then
uci -q set ddnsmngr."${client_sec}".enabled="1"
fi
else
client_sec=ddns_mig_client_"${cl_id}"
uci -q set ddnsmngr."${client_sec}"="client"
uci -q set ddnsmngr."${client_sec}".enabled="${enabled}"
uci -q set ddnsmngr."${client_sec}".service_name="${service_name}"
uci -q set ddnsmngr."${client_sec}".interface="${interface}"
uci -q set ddnsmngr."${client_sec}".ip_network="${ip_network}"
uci -q set ddnsmngr."${client_sec}".username="${username}"
uci -q set ddnsmngr."${client_sec}".password="${password}"
uci -q set ddnsmngr."${client_sec}".use_ipv6="${use_ipv6}"
uci -q set ddnsmngr."${client_sec}".force_ipversion="${force_ipversion}"
uci -q set ddnsmngr."${client_sec}".use_https="${use_https}"
uci -q set ddnsmngr."${client_sec}".force_dnstcp="${force_dnstcp}"
cl_id=$(( cl_id + 1 ))
# add server section if not added
servers=$(uci -q show ddnsmngr | grep "service=\'${service_name}\'")
if [ -z "${servers}" ]; then
server_sec=ddns_mig_server_"${srv_id}"
uci -q set ddnsmngr."${server_sec}"="server"
uci -q set ddnsmngr."${server_sec}".enabled="1"
uci -q set ddnsmngr."${server_sec}".service="${service_name}"
uci -q set ddnsmngr."${server_sec}".name="${service_name}"
srv_id=$(( srv_id + 1 ))
fi
fi
# if lookup_host is set then add host section
if [ -n "${lookup_host}" ] && [ -n "${client_sec}" ]; then
# check number of hosts present for this client
host_count=$(uci -q show ddnsmngr | grep "dm_parent=\'${client_sec}\'" | wc -l)
host_ix=$(( host_count + 1 ))
host_sec="${client_sec}"_host_"${host_ix}"
uci -q set ddnsmngr."${host_sec}"="host"
uci -q set ddnsmngr."${host_sec}".enabled="${enabled}"
uci -q set ddnsmngr."${host_sec}".lookup_host="${lookup_host}"
uci -q set ddnsmngr."${host_sec}".dm_parent="${client_sec}"
fi
uci -q delete ddns."${1}"
}
function migrate_ddns_config() {
if [ ! -f "/etc/config/ddnsmngr" ]; then
# Create ddnsmngr config file
touch /etc/config/ddnsmngr
fi
config_supported_service
config_load ddns
config_foreach migrate_service_section service
uci -q commit ddns
uci -q commit ddnsmngr
}
migrate_ddns_config

View File

@@ -0,0 +1,169 @@
#! /bin/sh
RUNDIR="/var/run/ddnsmngr"
LOGDIR="/var/log/ddnsmngr"
PROG="/usr/lib/ddnsmngr/ddnsmngr_updater.sh"
CONFIGFILE="/var/run/ddnsmngr/ddnsmngr.json"
CLIENT_INTFS=""
. /usr/share/libubox/jshn.sh
log() {
echo "$*"|logger -t ddnsmngr.init -p debug
}
validate_host_section() {
uci_validate_section ddnsmngr host "${1}" \
'enabled:bool:0' \
'lookup_host:string' \
'dm_parent:string'
}
validate_client_section() {
uci_validate_section ddnsmngr client "${1}" \
'enabled:bool:0' \
'service_name:string' \
'interface:string' \
'ip_network:string' \
'username:string' \
'password:string' \
'use_https:bool:0' \
'force_dnstcp:bool:0' \
'use_ipv6:bool:0' \
'force_ipversion:bool:0'
}
add_object() {
local enabled lookup_host dm_parent use_ipv6 force_ipversion proc_info_file
local service_name interface ip_network username password use_https force_dnstcp
validate_host_section "${1}" || {
log "Validation of host section failed"
return 0
}
if [ "${enabled}" -ne 1 ] || [ -z "${dm_parent}" ]; then
return 0
fi
validate_client_section "${dm_parent}" || {
log "Validation of client section failed"
return 0
}
if [ "${enabled}" -ne 1 ]; then
return 0
fi
service_name=$(uci -q get ddnsmngr.${dm_parent}.service_name)
if [ -z "${service_name}" ]; then
return 0
fi
service_section=$(uci -q show ddnsmngr | grep "service=\'${service_name}\'" | cut -d'.' -f 2 | head -1)
if [ -z "${service_section}" ]; then
return 0
fi
service_enabled=$(uci -q get ddnsmngr.${service_section}.enabled)
if [ "${service_enabled}" -ne 1 ]; then
return 0
fi
json_add_object
json_add_string "interface" "${interface}"
json_add_string "service_name" "${service_name}"
json_add_string "username" "${username}"
json_add_string "password" "${password}"
json_add_string "lookup_host" "${lookup_host}"
json_add_string "ip_network" "${ip_network}"
json_add_string "proc_info_file" "${1}"
json_add_string "use_ipv6" "${use_ipv6}"
json_add_string "force_ipversion" "${force_ipversion}"
json_add_string "use_https" "${use_https}"
json_add_string "force_dnstcp" "${force_dnstcp}"
json_close_object
if [ -z "${interface}" ]; then
if [ "${use_ipv6}" -eq 0 ]; then
interface="wan"
else
interface="wan6"
fi
fi
for intf in $CLIENT_INTFS; do
if [ "${intf}" == "${interface}" ]; then
return 0
fi
done
CLIENT_INTFS="${CLIENT_INTFS} ${interface}"
}
start_ddnsmngr_service() {
run_dir=$(uci -q get ddnsmngr.global.ddns_rundir)
log_dir=$(uci -q get ddnsmngr.global.ddns_logdir)
if [ -n "${run_dir}" ]; then
RUNDIR="${run_dir}"
fi
if [ -n "${log_dir}" ]; then
LOGDIR="${log_dir}"
fi
mkdir -p "${RUNDIR}"
mkdir -p "${LOGDIR}"
conf_file=$(uci -q get ddnsmngr.global.configfile)
if [ -n "${conf_file}" ]; then
CONFIGFILE="${conf_file}"
fi
touch "${CONFIGFILE}"
if [ ! -f "${CONFIGFILE}" ]; then
log "Can not create ${CONFIGFILE}, exit"
exit 0
fi
json_init
json_add_array "services"
config_load ddnsmngr
config_foreach add_object host
json_close_array
json_dump > "${CONFIGFILE}"
procd_open_instance ddnsmngr
procd_set_param command "$PROG"
procd_append_param command -c "${CONFIGFILE}"
procd_append_param command -- start
procd_close_instance
}
stop_ddnsmngr_service() {
conf_file=$(uci -q get ddnsmngr.global.configfile)
if [ -n "${conf_file}" ]; then
CONFIGFILE="${conf_file}"
fi
if [ ! -f "${CONFIGFILE}" ]; then
log "${CONFIGFILE} not found, can't stop services if running any"
fi
"$PROG" -c "${CONFIGFILE}" -- stop
return 0
}
add_ddnsmngr_triggers() {
procd_open_trigger
for intf in $CLIENT_INTFS; do
# No need to handle other ifevents like ifupdate etc
procd_add_interface_trigger "interface.*.up" $intf /etc/init.d/ddnsmngr restart
procd_add_interface_trigger "interface.*.down" $intf /etc/init.d/ddnsmngr restart
done
procd_close_trigger
}

View File

@@ -0,0 +1,311 @@
#!/bin/sh
PROG="/usr/sbin/inadyn"
CONFIGPATH="/tmp/inadyn_config"
PIDPATH="/etc/inadyn_pid"
CLIENT_INTFS=""
CONFIG_FILES=""
SERVER_PATH="/etc/ddnsmngr/servers"
FORMAT="custom [SECTION] {\n\tusername\t= [USER]\n\tpassword\t= [PWD]\n\tddns-server\t= [SERV]\n\tddns-path\t= [URI]\n\tssl\t\t= [SSL]\n\thostname\t= [NAME]\n\tcheckip-command\t= [CMD]\n\tddns-response\t= [RESPONSES]\n}"
. /usr/share/libubox/jshn.sh
log() {
echo "$*"|logger -t ddnsmngr.init -p debug
}
get_service_data() {
local provider="$1"
shift
local dir="$1"
shift
local ipv6="$1"
shift
local name data url answer script
[ $# -ne 2 ] && {
return 1
}
[ -f "${dir}/${provider}.json" ] || {
eval "$1=\"\""
eval "$2=\"\""
return 1
}
json_load_file "${dir}/${provider}.json"
json_get_var name "name"
if [ "$ipv6" -eq "1" ]; then
json_select "ipv6"
else
json_select "ipv4"
fi
json_get_var data "url"
json_get_var answer "answer"
json_select ".."
json_cleanup
response=""
if [ -n "${answer}" ]; then
answer=$(echo "${answer}" | sed 's/|/ /g')
for ans in $answer; do
if [ -z "${response}" ]; then
response="${ans}"
else
response="${response}, ${ans}"
fi
done
response="{ ${response} }"
fi
eval "$1=\"$data\""
eval "$2=\"$response\""
return 0
}
generate_inadyn_config() {
json_load "${1}"
json_get_var service_name service_name
json_get_var use_ipv6 use_ipv6
json_get_var interface interface
json_get_var username username
json_get_var password password
json_get_var host lookup_host
json_get_var conf_file config_file
json_get_var conf_dir config_dir
json_get_var server_address server_address
json_cleanup
if [ -z "${service_name}" ] || [ -z "${host}" ]; then
return 1
fi
if [ -z "${conf_file}" ]; then
return 1
fi
if [ -z "${conf_dir}" ]; then
return 1
fi
# First look into custom path to load the url otherwise default path
get_service_data "${service_name}" "${SERVER_PATH}" "${use_ipv6}" server_url server_answer
if [ -z "${server_url}" ]; then
return 1
fi
# Need to pick proto, server address and request uri separately from the url
# format http://[server_address]/[update_Request_uri]
proto=$(echo $server_url | cut -d':' -f 1)
serv=$(echo $server_url | cut -d'/' -f 3 | cut -d'@' -f 2)
uri=${server_url#*$serv}
if [ -z $proto ] || [ -z $serv ] || [ -z $uri ]; then
return 1
fi
path=$(echo "$uri" | sed 's/&/\\&/g')
update_uri=$(echo $path | sed -e "s#\[DOMAIN\]#%h#g" -e "s#\[PASSWORD\]#%p#g" \
-e "s#\[USERNAME\]#%u#g" -e "s#\[IP\]#%i#g")
if [ -z "${interface}" ]; then
if [ "${use_ipv6}" -eq 0 ]; then
interface="wan"
else
interface="wan6"
fi
fi
# now get the physical interface name
intf=$(ifstatus "${interface}" | jsonfilter -e '@.device')
if [ -z "${intf}" ]; then
return 1
fi
# command to get ip of the interface
if [ "${use_ipv6}" -eq 0 ]; then
get_ip="\"ifstatus ${interface} | jsonfilter -e '@[\\\\\"ipv4-address\\\\\"][0].address'\""
else
get_ip="\"ifstatus ${interface} | jsonfilter -e '@[\\\\\"ipv6-address\\\\\"][0].address'\""
fi
if [ "${proto}" = "http" ]; then
ssl="false"
else
ssl="true"
fi
inadyn_ver=$(inadyn -v)
user_agent="inadyn/${inadyn_ver}"
config_file="${conf_dir}/${conf_file}"
touch "${config_file}"
echo "iface = ${intf}" > "${config_file}"
echo "period = 600" >> "${config_file}"
echo "user-agent = ${user_agent}" >> "${config_file}"
if [ "${use_ipv6}" -eq 1 ]; then
echo "allow-ipv6 = true" >> "${config_file}"
fi
if [ -z "${password}" ]; then
FORMAT=$(echo "${FORMAT}" | sed 's/\\tpassword\\t= \[PWD\]\\n//g')
fi
if [ -z "${server_answer}" ]; then
FORMAT=$(echo "${FORMAT}" | sed 's/\\tddns-response\\t= \[RESPONSES\]\\n//g')
fi
config=$(echo $FORMAT | sed -e "s#\[SECTION\]#$conf_file#g" -e "s#\[PWD\]#$password#g" \
-e "s#\[USER\]#$username#g" -e "s#\[SERV\]#$serv#g" \
-e "s#\[URI\]#\"$update_uri\"#g" -e "s#\[SSL\]#$ssl#g" \
-e "s#\[NAME\]#$host#g" -e "s#\[CMD\]#$get_ip#g" \
-e "s#\[RESPONSES\]#$server_answer#g")
echo -e "\n\n${config}" >> "${config_file}"
return 0
}
validate_host_section() {
uci_validate_section ddnsmngr host "${1}" \
'enabled:bool:0' \
'lookup_host:string' \
'dm_parent:string'
}
validate_client_section() {
uci_validate_section ddnsmngr client "${1}" \
'enabled:bool:0' \
'service_name:string' \
'interface:string' \
'ip_network:string' \
'username:string' \
'password:string' \
'use_https:bool:0' \
'force_dnstcp:bool:0' \
'use_ipv6:bool:0' \
'force_ipversion:bool:0'
}
add_object() {
local enabled lookup_host dm_parent use_ipv6 force_ipversion
local service_name interface ip_network username password use_https force_dnstcp
validate_host_section "${1}" || {
log "Validation of host section failed"
return
}
if [ "${enabled}" -ne 1 ] || [ -z "${dm_parent}" ]; then
return
fi
validate_client_section "${dm_parent}" || {
log "Validation of client section failed"
return
}
if [ "${enabled}" -ne 1 ]; then
return
fi
service_name=$(uci -q get ddnsmngr.${dm_parent}.service_name)
if [ -z "${service_name}" ]; then
return
fi
service_section=$(uci show ddnsmngr | grep "service=\'${service_name}\'" | cut -d'.' -f 2 | head -1)
if [ -z "${service_section}" ]; then
return
fi
service_enabled=$(uci -q get ddnsmngr.${service_section}.enabled)
if [ "${service_enabled}" -ne 1 ]; then
return
fi
json_init
json_add_string "interface" "${interface}"
json_add_string "service_name" "${service_name}"
json_add_string "username" "${username}"
json_add_string "password" "${password}"
json_add_string "lookup_host" "${lookup_host}"
json_add_string "ip_network" "${ip_network}"
json_add_string "use_ipv6" "${use_ipv6}"
json_add_string "force_ipversion" "${force_ipversion}"
json_add_string "use_https" "${use_https}"
json_add_string "force_dnstcp" "${force_dnstcp}"
json_add_string "config_file" "${1}"
json_add_string "config_dir" "${CONFIGPATH}"
json_str=$(json_dump)
json_cleanup
generate_inadyn_config "${json_str}"
if [ "$?" -ne 0 ]; then
return
fi
CONFIG_FILES="${CONFIG_FILES} ${1}"
if [ -z "${interface}" ]; then
if [ "${use_ipv6}" -eq 0 ]; then
interface="wan"
else
interface="wan6"
fi
fi
for intf in $CLIENT_INTFS; do
if [ "${intf}" == "${interface}" ]; then
return
fi
done
CLIENT_INTFS="${CLIENT_INTFS} ${interface}"
}
start_ddnsmngr_service() {
rm -rf $CONFIGPATH
mkdir $CONFIGPATH
mkdir -p $PIDPATH
config_load ddnsmngr
config_foreach add_object host
i=1
for conf in $CONFIG_FILES; do
instance="ddnsmngr_${i}"
i=$(( i + 1 ))
procd_open_instance $instance
procd_set_param command "$PROG"
procd_append_param command -f "${CONFIGPATH}/${conf}"
procd_append_param command -l debug
procd_append_param command -P "${PIDPATH}/${conf}"
procd_append_param command -n -C
procd_close_instance
done
}
stop_ddnsmngr_service() {
rm -rf $CONFIGPATH
return 0
}
add_ddnsmngr_triggers() {
procd_open_trigger
for intf in $CLIENT_INTFS; do
# No need to handle other ifevents like ifupdate etc
procd_add_interface_trigger "interface.*.up" $intf /etc/init.d/ddnsmngr restart
done
procd_close_trigger
}

View File

@@ -2,6 +2,6 @@ menu "Configuration"
config DECOLLECTOR_EASYMESH_VERSION
int "Support Easymesh version"
default 2
default 4
endmenu

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=decollector
PKG_VERSION:=4.0.2.5
PKG_VERSION:=4.2.1.3
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=8b68886c505b2ddb78ce7c8d1dcd09e9d1bbb943
PKG_SOURCE_VERSION:=0fe317cbe2b2e37c25a6d6d4e6f5c1d6964f9e50
PKG_SOURCE_URL:=https://dev.iopsys.eu/multi-ap/decollector.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@@ -29,7 +29,7 @@ define Package/decollector
CATEGORY:=Utilities
TITLE:=WiFi DataElements Collector Proxy
DEPENDS:=+libuci +libubox +ubus +libpthread +libnl-genl \
+libeasy +libwifiutils +libieee1905 +map-plugin
+libeasy +libwifiutils +libieee1905 +ieee1905-map-plugin
endef
define Package/decollector/description

View File

@@ -7,7 +7,7 @@ USE_PROCD=1
PROG=/usr/sbin/decollector
service_running() {
ubus -t 2 wait_for ieee1905 ieee1905.map topology
ubus -t 2 wait_for ieee1905 ieee1905.map
}
start_service() {
@@ -17,10 +17,13 @@ start_service() {
config_load mapcontroller
config_get en controller enabled "0"
config_get collect_int controller de_collect_interval
[ -n "$collect_int" -a $collect_int -lt 30 ] && collect_int=""
[ $en -gt 0 ] && {
procd_open_instance
procd_set_param command "$PROG" "-d"
procd_set_param command "$PROG" "-d" "${collect_int:+-t $collect_int}"
#procd_set_param stdout 1
#procd_set_param stderr 1
procd_set_param respawn

View File

@@ -1,20 +1,14 @@
#
# Copyright (C) 2021 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:=dectmngr
PKG_RELEASE:=3
PKG_VERSION:=3.5.11
PKG_VERSION:=3.6.5
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dectmngr.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=18dece420502e25a9bd9f3b534bc6c338fcc9377
PKG_SOURCE_VERSION:=192e74db2082e3f89f6defe9d752d752b0b09079
PKG_MIRROR_HASH:=skip
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2018 iopsys Software Solutions AB
# Copyright (C) 2018-2024 iopsys Software Solutions AB
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,14 +8,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dslmngr
PKG_VERSION:=1.2.0
PKG_VERSION:=1.2.1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=43dec92b1c86be7859521da337e7bd1168848b26
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/dslmngr.git
PKG_SOURCE_VERSION:=cb8b8fd2549751bcd38808391b76a1a9a908c4de
PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/dslmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MAINTAINER:=Rahul Thakur <rahul.thakur@iopsys.eu>
PKG_MIRROR_HASH:=skip
endif
@@ -59,7 +60,7 @@ MAKE_FLAGS += \
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/dslmngr/ $(PKG_BUILD_DIR)/
rsync -r --exclude=.* ./dslmngr/ $(PKG_BUILD_DIR)/
endef
endif

View File

@@ -302,6 +302,8 @@ xdsl_stop() {
}
xdsl_init() {
[ -d /sys/class/net/dsl0/ ] || exit
prioritize_arp
echo "Starting DSL"

View File

@@ -26,10 +26,6 @@ stop_service() {
}
boot() {
local HASADSL="$(db -q get hw.board.hasAdsl)"
local HASVDSL="$(db -q get hw.board.hasVdsl)"
[ "$HASADSL" == "1" -o "$HASVDSL" == "1" ] || return
xdsl_init
start

View File

@@ -1,18 +1,21 @@
#
# Copyright (C) 2020 Iopsys
# Copyright (C) 2020-2024 Iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ethmngr
PKG_VERSION:=2.1.0
PKG_VERSION:=2.1.2
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=5a0ff3bc7c49dcb05129f423ef8e0c4929f6aa03
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ethmngr.git
PKG_SOURCE_VERSION:=e5cccdd45a93d969d51c4085cb52b543df544811
PKG_SOURCE_URL:=https://dev.iopsys.eu/hal/ethmngr.git
PKG_MAINTAINER:=Rahul Thakur <rahul.thakur@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
@@ -23,7 +26,7 @@ define Package/ethmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Ethernet status and configration utility
DEPENDS:=+(TARGET_brcmbca||TARGET_airoha||TARGET_ipq95xx||TARGET_mediatek):libethernet +libuci +libubox +ubus +libpthread +libnl-genl
DEPENDS:=+(TARGET_brcmbca||TARGET_airoha||TARGET_ipq95xx||TARGET_ipq53xx||TARGET_mediatek):libethernet +libuci +libubox +ubus +libpthread +libnl-genl +libeasy
endef
define Package/ethmngr/description
@@ -32,24 +35,25 @@ define Package/ethmngr/description
It uses APIs from the libethernet.so library.
endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) -rf ./ethmngr/* $(PKG_BUILD_DIR)/
endef
endif
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-D_GNU_SOURCE
ifeq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_mediatek),)
ifeq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx)$(CONFIG_TARGET_mediatek),)
define Build/Compile
endef
endif
define Package/ethmngr/install
$(CP) ./files/common/* $(1)/
ifneq ($(CONFIG_TARGET_brcmbca),)
$(CP) ./files/broadcom/* $(1)/
else
$(CP) ./files/linux/* $(1)/
endif
ifneq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_mediatek),)
$(CP) ./files/* $(1)/
ifneq ($(CONFIG_TARGET_brcmbca)$(CONFIG_TARGET_airoha)$(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx)$(CONFIG_TARGET_mediatek),)
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ethmngr $(1)/usr/sbin/
endif

View File

@@ -1,144 +0,0 @@
# arg1: port ifname, ex: eth0
get_max_port_speed() {
if [ -z "$1" ]; then
echo 0
return
fi
local ifname="$1"
local phycap="$(ethctl $ifname media-type 2>/dev/null | grep 'PHY Speed Capabilities' | awk '{print$NF}')"
local speed=1000
case "$phycap" in
10GFD*) speed=10000 ;;
5GFD*) speed=5000 ;;
2.5GFD*) speed=2500 ;;
1GFD*) speed=1000 ;;
100MFD*|100MHD*) speed=100 ;;
10MFD*|10MHD*) speed=10 ;;
esac
echo $speed
}
# arg1: port name, ex: eth0
get_port_number() {
[ -z "$1" ] && return
local ports="0 1 2 3 4 5 6 7 8"
local units="0 1"
local port="$1"
local ifname
for unit in $units; do
for prt in $ports; do
ifname="$(ethswctl getifname $unit $prt 2>/dev/null | awk '{print$NF}')"
if [ "$ifname" == "$port" ]; then
echo "$unit $prt"
return
fi
done
done
}
# arg1: port ifname, ex: eth0
reset_port() {
local ifname="$1"
ethctl $ifname phy-reset >/dev/null
}
# arg1: port ifname, ex: eth0
# arg2: port enabled, ex: 1
power_updown() {
local ifname="$1"
local enabled=$2
local updown="up"
[ $enabled -eq 0 ] && updown="down"
ethctl $ifname phy-power $updown >/dev/null
}
# arg1: port ifname, ex: eth0
# arg2: port enabled, ex: 1
# arg3: port speed, ex: 1000
# arg4: port duplex, ex: full
# arg5: port autoneg, ex: on
# arg6: port eee, ex: 0
# arg7: port pause, ex: 0
set_port_settings() {
local ifname="$1"
local enabled=$2
local speed="$3"
local duplex=$4
local autoneg=$5
local eee=$6
local pause=$7
[ -d /sys/class/net/$ifname ] || return
local unitport="$(get_port_number $ifname)"
local unit=$(echo $unitport | cut -d ' ' -f 1)
local port=$(echo $unitport | cut -d ' ' -f 2)
[ $autoneg -eq 1 ] && autoneg="on" || autoneg="off"
[ "$duplex" == "half" ] && duplex=0 || duplex=1
[ "$duplex" == 0 ] && dplx="HD" || dplx="FD"
[ "$autoneg" == "on" ] && media_type="auto" || media_type="$speed$dplx"
phycaps="$(ethctl $ifname media-type 2>/dev/null | grep 'PHY Speed Capabilities' | awk '{print$NF}')"
numofcaps="$(echo $phycaps | tr ':' ' ' | wc -w)"
# Reset the port before setting new params
reset_port $ifname
if [ "$numofcaps" == "1" ]; then
logger -t "ethmngr" "$ifname is capable of $phycaps only; not setting speed/duplex"
else
logger -t "ethmngr" "$ifname is capable of $phycaps; setting speed/duplex to $media_type"
ethctl $ifname media-type $media_type ${pyhendpoint:+ port $pyhendpoint} &>/dev/null
fi
[ $eee -eq 1 ] && eee="on" || eee="off"
ethtool --set-eee $ifname eee $eee 2>/dev/null
case $pause in
off|0)
pause=0x0
auto=off
rx=off
tx=off
;;
on|1)
pause=0x2
auto=off
rx=on
tx=on
;;
auto)
pause=0x1
auto=on
rx=on
tx=on
;;
tx)
pause=0x3
auto=off
rx=off
tx=on
;;
rx)
pause=0x4
auto=off
rx=on
tx=off
;;
esac
if [ "$auto" == "on" ]; then
# Use ethswctl utility to set pause autoneg
# as ethtool is not setting it properly
ethswctl -c pause -n $unit -p $port -v $pause 2>&1 >/dev/null
else
ethtool --pause $ifname autoneg $auto rx $rx tx $tx 2>/dev/null
fi
power_updown $ifname $enabled
}

View File

@@ -1,50 +0,0 @@
#!/bin/sh /etc/rc.common
START=15
STOP=90
USE_PROCD=1
PROG=/usr/sbin/ethmngr
. /lib/functions.sh
include /lib/ethernet
configure_ethernet_port(){
local cfg=$1
local ifname enabled speed duplex autoneg eee pause
config_get ifname $cfg ifname
[ -d /sys/class/net/$ifname ] || return
config_get enabled $cfg enabled 1
config_get speed $cfg speed 1000
config_get duplex $cfg duplex "full"
config_get autoneg $cfg autoneg 1
config_get eee $cfg eee 0
config_get pause $cfg pause 0
set_port_settings $ifname $enabled $speed $duplex $autoneg $eee $pause
}
start_service() {
if [ -s /etc/config/ports ]; then
config_load ports
config_foreach configure_ethernet_port ethport
fi
if [ -f $PROG ]; then
procd_open_instance
procd_set_param command ${PROG}
procd_set_param respawn
procd_close_instance
fi
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger ports
}

View File

@@ -1,81 +0,0 @@
#!/bin/sh
populate_config_from_db() {
. /lib/functions.sh
. /lib/network/utils.sh
include /lib/ethernet
portorder="$(db -q get hw.board.ethernetPortOrder)"
for port in $portorder; do
speed="$(get_max_port_speed $port 2>/dev/null)"
speed="${speed:-1000}"
uci add ports ethport
uci rename ports.@ethport[-1]="$(get_port_name $port)"
uci set ports.@ethport[-1].enabled=1
uci set ports.@ethport[-1].name="$(get_port_name $port)"
uci set ports.@ethport[-1].ifname="$port"
uci set ports.@ethport[-1].speed="$speed"
uci set ports.@ethport[-1].duplex="full"
uci set ports.@ethport[-1].autoneg=1
uci set ports.@ethport[-1].eee=0
if [ "$(db -q get hw.board.ethernetWanPort)" = "$port" ]; then
uci set ports.@ethport[-1].pause=1
uci set ports.@ethport[-1].uplink=1
else
uci set ports.@ethport[-1].pause=0
fi
done
uci commit ports
}
populate_config_from_device_tree() {
for path in $(find /proc/device-tree/ -name "port@*"); do
port="$(cat $path/label)"
[ -n "$port" ] || continue
[ "$port" = "cpu" ] && continue
speed=1000
if [ -e "$path/phy-mode" ]; then
phymode="$(cat $path/phy-mode)"
case "$phymode" in
10000*) speed=10000 ;;
2500*) speed=2500 ;;
esac
fi
PORT="$(echo $port | tr '[a-z]' '[A-Z]')"
uci add ports ethport
uci rename ports.@ethport[-1]="$PORT"
uci set ports.@ethport[-1].enabled=1
uci set ports.@ethport[-1].name="$PORT"
uci set ports.@ethport[-1].ifname="$port"
uci set ports.@ethport[-1].speed="$speed"
uci set ports.@ethport[-1].duplex="full"
uci set ports.@ethport[-1].autoneg=1
uci set ports.@ethport[-1].eee=0
if [ "$port" = "wan" ]; then
uci set ports.@ethport[-1].pause=1
uci set ports.@ethport[-1].uplink=1
else
uci set ports.@ethport[-1].pause=0
fi
done
uci commit ports
}
if [ -s "/etc/config/ports" ]; then
if uci -q get ports.@ethport[0] >/dev/null; then
# exit if there is any valid content
exit 0
else
rm -f /etc/config/ports
fi
fi
touch /etc/config/ports
if [ -f /sbin/db -a -n "$(db get hw.board.ethernetPortOrder 2>/dev/null)" ]; then
populate_config_from_db
elif [ -d /proc/device-tree/ ]; then
populate_config_from_device_tree
fi

View File

@@ -0,0 +1,28 @@
#!/bin/sh /etc/rc.common
START=15
STOP=90
USE_PROCD=1
PROG=/usr/sbin/ethmngr
. /lib/functions.sh
include /lib/ethernet
start_service() {
if [ -f $PROG ]; then
procd_open_instance
procd_set_param command ${PROG}
procd_set_param respawn
procd_close_instance
fi
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger network
}

View File

@@ -1,95 +0,0 @@
# arg1: port ifname, ex: eth0
get_max_port_speed() {
if [ -z "$1" ]; then
echo 0
return
fi
local ifname="$1"
local phycap="$(ethtool $ifname | grep -A 10 "Supported link modes" | grep 00 | tail -n 1 | awk '{print$NF}')"
local speed=1000
case "$phycap" in
10000*) speed=10000 ;;
5000*) speed=5000 ;;
2500*) speed=2500 ;;
1000*) speed=1000 ;;
100*) speed=100 ;;
10*) speed=10 ;;
esac
echo $speed
}
# arg1: port ifname, ex: eth0
# arg2: port enabled, ex: 1
power_updown() {
local ifname="$1"
local enabled=$2
local updown="up"
[ $enabled -eq 0 ] && updown="down"
ip link set dev $ifname $updown
}
# arg1: port ifname, ex: eth0
# arg2: port enabled, ex: 1
# arg3: port speed, ex: 1000
# arg4: port duplex, ex: full
# arg5: port autoneg, ex: on
# arg6: port eee, ex: 0
# arg7: port pause, ex: 0
set_port_settings() {
local ifname="$1"
local enabled=$2
local speed="$3"
local duplex=$4
local autoneg=$5
local eee=$6
local pause=$7
[ -d /sys/class/net/$ifname ] || return
[ $autoneg -eq 1 ] && autoneg="on" || autoneg="off"
ethtool --change $ifname speed $speed duplex $duplex autoneg $autoneg
[ $eee -eq 1 ] && eee="on" || eee="off"
ethtool --set-eee $ifname eee $eee 2>/dev/null
case $pause in
off|0)
pause=0x0
auto=off
rx=off
tx=off
;;
on|1)
pause=0x2
auto=off
rx=on
tx=on
;;
auto)
pause=0x1
auto=on
rx=on
tx=on
;;
tx)
pause=0x3
auto=off
rx=off
tx=on
;;
rx)
pause=0x4
auto=off
rx=on
tx=off
;;
esac
ethtool --pause $ifname autoneg $auto rx $rx tx $tx 2>/dev/null
power_updown $ifname $enabled
}

42
fscryptctl/Makefile Normal file
View File

@@ -0,0 +1,42 @@
# SPDX-License-Identifier: GPL-2.0-only
include $(TOPDIR)/rules.mk
PKG_NAME:=fscryptctl
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/google/fscryptctl.git
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Encryption
TITLE:=Fscryptctl
endef
define Package/$(PKG_NAME)/description
fscryptctl is a low-level tool written in C that handles raw keys and manages policies for Linux filesystem encryption,
specifically the "fscrypt" kernel interface which is supported by the ext4, f2fs, and UBIFS filesystems
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
CC="$(TARGET_CC)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
fscryptctl
endef
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/fscryptctl $(1)/usr/bin/fscryptctl
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

15
hostmngr/Config.in Normal file
View File

@@ -0,0 +1,15 @@
if (PACKAGE_hostmngr)
menu "Configuration"
config HOSTMNGR_HOSTS_HISTORY
bool "Keep history of hosts"
default y
config HOSTMNGR_PLATFORM_HAS_WIFI
bool "Platform has WiFi"
default y if PACKAGE_libwifi
endmenu
endif

77
hostmngr/Makefile Normal file
View File

@@ -0,0 +1,77 @@
#
# Copyright (C) 2020-2023 IOPSYS Software Solutions AB
#
include $(TOPDIR)/rules.mk
PKG_NAME:=hostmngr
PKG_VERSION:=1.2.2
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=b4990b384461f2d1ff75a122a7fa5d9276f211bb
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/hostmngr.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/hostmngr
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Show and manage hosts in the network
DEPENDS= +libubox +libuci +libubus +ubus +libeasy +libnl-genl \
+libjson-c +libblobmsg-json +libnfnetlink +libmnl \
+libnetfilter-conntrack \
+HOSTMNGR_PLATFORM_HAS_WIFI:libwifi +libbbfdm-api \
+libwifiutils
endef
define Package/hostmngr/config
source "$(SOURCE)/Config.in"
endef
define Package/hostmngr/description
This package provides hostmngr that can detect and show host devices
present in the network.
endef
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/libnl3 \
-I$(STAGING_DIR)/usr/include/libnetfilter_conntrack \
-D_GNU_SOURCE
ifeq ($(CONFIG_HOSTMNGR_PLATFORM_HAS_WIFI),y)
TARGET_CFLAGS += -DHAS_WIFI
endif
MAKE_PATH:=src
define Package/hostmngr/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/hostmngr/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/hostmngr $(1)/usr/sbin/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/bbf_plugin/libhostmngr.so $(1)/etc/hostmngr/
$(INSTALL_DATA) ./files/etc/hostmngr/input.json $(1)/etc/hostmngr/
$(INSTALL_DIR) $(1)/usr/share/hostmngr
$(INSTALL_DATA) ./files/scripts/hosts_acl.sh $(1)/usr/share/hostmngr/
endef
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/hostmngr/ $(PKG_BUILD_DIR)/
endef
endif
$(eval $(call BuildPackage,hostmngr))

View File

@@ -0,0 +1,9 @@
config global 'global'
option enabled '1'
option history '1'
option history_file '/etc/hosts_history.json'
option history_timeout '86400'
config interface
list ifname 'br-lan'

View File

@@ -0,0 +1,3 @@
#!/bin/sh
sh /usr/share/hostmngr/hosts_acl.sh

View File

@@ -0,0 +1,16 @@
{
"daemon": {
"input": {
"type": "DotSo",
"name": "/etc/hostmngr/libhostmngr.so"
},
"output": {
"type": "UBUS",
"name": "bbfdm.hosts",
"parent_dm": "Device.",
"object": "Hosts",
"root_obj": "bbfdm"
}
}
}

View File

@@ -0,0 +1,33 @@
#!/bin/sh /etc/rc.common
START=65
STOP=20
. /etc/bbfdm/bbfdm_services.sh
USE_PROCD=1
HOSTS_JSON_INPUT="/etc/hostmngr/input.json"
start_service() {
procd_open_instance
procd_set_param command "/usr/sbin/hostmngr" "--config hosts" "-o" "/tmp/hostmngr.log" "-f"
# procd_set_param respawn
procd_set_param limits core="unlimited"
# procd_set_param stdout 1
# procd_set_param stderr 1
procd_close_instance
bbfdm_add_service "bbfdm.hosts" "${HOSTS_JSON_INPUT}"
sh /usr/share/hostmngr/hosts_acl.sh
}
service_triggers()
{
procd_add_reload_trigger "hosts"
}
reload_service() {
stop
start
}

View File

@@ -0,0 +1,23 @@
#!/bin/sh
uci -q get hosts.global.ageing_timer || exit 0
# Old hosts UCI config is detected; Convert to new format
ageing_timer="$(uci -q get hosts.global.ageing_timer)"
history_timeout=$((ageing_timer*60))
uci -q set hosts.global.enabled=1
uci -q delete hosts.global.ageing_timer
uci -q set hosts.global.history_timeout="$history_timeout"
uci -q rename hosts.global.reboot_persistent=history
uci -q set hosts.global.history_file="/etc/hosts_history.json"
uci -q add hosts interface
for ifname in $(uci -q get hosts.global.ifname); do
uci -q add_list hosts.@interface[-1].ifname="$ifname"
done
uci -q delete hosts.global.ifname
exit 0

View File

@@ -0,0 +1,295 @@
#!/bin/sh
. /lib/functions.sh
day=""
next_days=""
prev_days=""
schedule_added=""
ACCESS_RULE=""
IP_RULE=""
IP_RULE1=""
get_next_day() {
local weekday="$1"
case "$weekday" in
"Mon"|"Monday") echo "Tuesday"
;;
"Tue"|"Tuesday") echo "Wednesday"
;;
"Wed"|"Wednesday") echo "Thursday"
;;
"Thu"|"Thursday") echo "Friday"
;;
"Fri"|"Friday") echo "Saturday"
;;
"Sat"|"Saturday") echo "Sunday"
;;
"Sun"|"Sunday") echo "Monday"
;;
esac
}
get_previous_day() {
local weekday="$1"
case "$weekday" in
"Mon"|"Monday") echo "Sunday"
;;
"Tue"|"Tuesday") echo "Monday"
;;
"Wed"|"Wednesday") echo "Tuesday"
;;
"Thu"|"Thursday") echo "Wednesday"
;;
"Fri"|"Friday") echo "Thursday"
;;
"Sat"|"Saturday") echo "Friday"
;;
"Sun"|"Sunday") echo "Saturday"
;;
esac
}
ip_rule_west_zone() {
local utc_start_t_h="$1"
local utc_stop_t_h="$2"
local local_start_t_h="$3"
local local_stop_t_h="$4"
local utc_start_time="$5"
local utc_stop_time="$6"
if [ "$utc_start_t_h" -lt "$local_start_t_h" ]; then
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop $utc_stop_time"
if [ -n "$next_days" ]; then
IP_RULE="$IP_RULE --weekdays $next_days"
fi
else
if [ "$utc_stop_t_h" -lt "$local_stop_t_h" ]; then
IP_RULE1="$IP_RULE"
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop 23:59"
IP_RULE1="$IP_RULE1 -m time --timestart 00:00 --timestop $utc_stop_time"
if [ -n "$next_days" ]; then
IP_RULE1="$IP_RULE1 --weekdays $next_days"
fi
else
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop $utc_stop_time"
fi
if [ -n "$day" ]; then
IP_RULE="$IP_RULE --weekdays $day"
fi
fi
}
ip_rule_east_zone() {
local utc_start_t_h="$1"
local utc_stop_t_h="$2"
local local_start_t_h="$3"
local local_stop_t_h="$4"
local utc_start_time="$5"
local utc_stop_time="$6"
if [ "$utc_start_t_h" -lt "$local_start_t_h" ]; then
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop $utc_stop_time"
if [ -n "$day" ]; then
IP_RULE="$IP_RULE --weekdays $day"
fi
else
if [ "$utc_stop_t_h" -lt "$local_stop_t_h" ]; then
IP_RULE1="$IP_RULE"
IP_RULE="$IP_RULE -m time --timestart 00:00 --timestop $utc_stop_time"
IP_RULE1="$IP_RULE1 -m time --timestart $utc_start_time --timestop 23:59"
if [ -n "$prev_days" ]; then
IP_RULE1="$IP_RULE1 --weekdays $prev_days"
fi
else
IP_RULE="$IP_RULE -m time --timestart $utc_start_time --timestop $utc_stop_time"
fi
if [ -n "$day" ]; then
IP_RULE="$IP_RULE --weekdays $day"
fi
fi
}
add_access_rule() {
local rule="$1"
echo "iptables -w -A hosts_forward ${rule}" >> $ACL_FILE
echo "ip6tables -w -A hosts_forward ${rule}" >> $ACL_FILE
}
handle_day_list() {
local value=$1
val=$(echo $value | cut -c 1-3)
next_day_val=$(get_next_day $val)
prev_day_val=$(get_previous_day $val)
if [ -z $day ]; then
day="$val"
next_days="$next_day_val"
prev_days="$prev_day_val"
else
day="$day,$val"
next_days="$next_days,$next_day_val"
prev_days="$prev_days,$prev_day_val"
fi
}
handle_schedule() {
local schd_section="$1"
local ac_section="$2"
local acs_id
local start_time
local duration
IP_RULE="$ACCESS_RULE"
IP_RULE1=""
day=""
next_days=""
prev_days=""
config_get acs_id "$schd_section" "dm_parent"
if [ "$acs_id" != "$ac_section" ]; then
return # schedule not for this access control section
fi
local is_enabled
config_get is_enabled "$schd_section" "enable" 0
if [ "$is_enabled" == "0" ]; then
return
fi
local all_days="Monday Tuesday Wednesday Thursday Friday Saturday Sunday"
local day_config
config_get day_config "$schd_section" "day" "$all_days"
IFS=" "
for d in $day_config; do
handle_day_list $d
done
config_get start_time "$schd_section" "start_time" "00:00"
config_get duration "$schd_section" "duration"
zone=$(date +%z | cut -c 1)
local_start_time=$start_time
hh=$(echo $local_start_time | awk -F: '{ print $1 }')
mm=$(echo $local_start_time | awk -F: '{ print $2 }')
hh_s=`expr $hh \* 3600`
mm_s=`expr $mm \* 60`
ss=$(( hh_s + mm_s ))
local_start_hh=$hh
if [ -n "$duration" ]; then
stop_ss=$(( ss + duration ))
hh=$(( stop_ss / 3600 ))
rem_ss=$(( stop_ss % 3600 ))
mm=$(( rem_ss / 60 ))
ss=$(( rem_ss % 60 ))
local_stop_time="$hh:$mm:$ss"
local_stop_hh=$hh
else
# if duartion is not specified, then apply rule to end of the day
local_stop_time="23:59:59"
local_stop_hh="23"
fi
utc_start_time=$(date -u -d @$(date "+%s" -d "$local_start_time") +%H:%M)
utc_stop_time=$(date -u -d @$(date "+%s" -d "$local_stop_time") +%H:%M)
utc_start_hh=$(echo $utc_start_time | awk -F: '{ print $1 }')
utc_stop_hh=$(echo $utc_stop_time | awk -F: '{ print $1 }')
if [ "$zone" == "-" ]; then
ip_rule_west_zone $utc_start_hh $utc_stop_hh $local_start_hh $local_stop_hh $utc_start_time $utc_stop_time
else
ip_rule_east_zone $utc_start_hh $utc_stop_hh $local_start_hh $local_stop_hh $utc_start_time $utc_stop_time
fi
IP_RULE="$IP_RULE -j ACCEPT"
if [ -n "$IP_RULE1" ]; then
IP_RULE1="$IP_RULE1 -j ACCEPT"
fi
add_access_rule "$IP_RULE"
if [ -n "$IP_RULE1" ]; then
add_access_rule "$IP_RULE1"
fi
# for access rules to be effective for a schedule, need to add DROP rule
# to block the access outside the defined schedule
if [ "$schedule_added" == "0" ]; then
schedule_added="1"
fi
}
handle_access_control() {
local ac_section="$1"
local is_enabled
# default value of Hosts.AccessControl.{i}.Enable is false,
# so, if not defined in uci as 1, assume 0
config_get is_enabled "$ac_section" "enable" 0
if [ "$is_enabled" == "0" ]; then
return
fi
local mac_addr
config_get mac_addr "$ac_section" "macaddr"
if [ -z "$mac_addr" ]; then
return
else
ACCESS_RULE="-m mac --mac-source $mac_addr"
fi
local access_policy
config_get access_policy "$ac_section" "access_policy"
if [ -z "$access_policy" ]; then
return # since system default is allow so no need to do anything
fi
# As per Data Model, if access policy is deny, then schedule is to be ignored
# and no access is to be provided for the device
if [ "$access_policy" == "Deny" ]; then
ACCESS_RULE="$ACCESS_RULE -j DROP"
add_access_rule "$ACCESS_RULE"
return # no need to parse schedule
fi
schedule_added="0"
# check if schedule is defined for this access_control instance
# and if yes, create rule accordingly
config_foreach handle_schedule ac_schedule "$ac_section"
# for access rule to work, need to have default drop rule as last rule
if [ "$schedule_added" == "1" ]; then
IP_RULE="$ACCESS_RULE -j DROP"
add_access_rule "$IP_RULE"
fi
}
ACL_FILE="/tmp/hosts_access_control/access_control.rules"
rm -f $ACL_FILE
mkdir -p /tmp/hosts_access_control/
touch $ACL_FILE
echo "iptables -w -F hosts_forward" >> $ACL_FILE
echo "ip6tables -w -F hosts_forward" >> $ACL_FILE
hosts_forward=$(iptables -t filter --list | grep hosts_forward)
if [ -z "$hosts_forward" ]; then
echo "iptables -w -t filter -N hosts_forward" >> $ACL_FILE
ret=$?
[ $ret -eq 0 ] && echo "iptables -w -t filter -I FORWARD -j hosts_forward" >> $ACL_FILE
echo "ip6tables -w -t filter -N hosts_forward" >> $ACL_FILE
ret=$?
[ $ret -eq 0 ] && echo "ip6tables -w -t filter -I FORWARD -j hosts_forward" >> $ACL_FILE
fi
# Load /etc/config/hosts UCI file
config_load hosts
config_foreach handle_access_control access_control
# apply the rules
sh $ACL_FILE

View File

@@ -8,114 +8,58 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=9.3.8
PKG_VERSION:=9.6.8
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/icwmp.git
PKG_SOURCE_VERSION:=09b7cd7a6b647dd8cbc038698af9298883b5c262
PKG_SOURCE_VERSION:=7ff419cefc314156a0ac518972096ef0dfb87162
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_RELEASE=$(PKG_SOURCE_VERSION)
endif
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
include ../bbfdm/bbfdm.mk
define Package/icwmp/default
define Package/icwmp
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=TR069 CWMP client
DEPENDS:=+libuci +libubox +libblobmsg-json +libubus +libjson-c +libcurl +mxml +libuuid +libbbfdm-api
DEPENDS:=+libuci +libubox +libblobmsg-json +libubus +libjson-c +libcurl +mxml +libuuid +libbbfdm-api +libopenssl
endef
define Package/icwmp
$(Package/icwmp/default)
VARIANT:=default
DEFAULT_VARIANT:=1
DEPENDS += +PACKAGE_icwmp-openssl:libopenssl
endef
define Package/icwmp-openssl
$(Package/icwmp/default)
TITLE += (openssl)
VARIANT:=openssl
DEPENDS += +PACKAGE_icwmp-openssl:libopenssl
CONFLICTS := icwmp icwmp-mbedtls icwmp-wolfssl
endef
define Package/icwmp-wolfssl
$(Package/icwmp/default)
TITLE += (wolfssl)
VARIANT:=wolfssl
DEPENDS += +PACKAGE_icwmp-wolfssl:libwolfssl
CONFLICTS := icwmp icwmp-mbedtls icwmp-openssl
endef
define Package/icwmp-mbedtls
$(Package/icwmp/default)
TITLE += (mbedtls)
DEPENDS += +PACKAGE_icwmp-mbedtls:libmbedtls
VARIANT:=mbedtls
CONFLICTS := icwmp icwmp-wolfssl icwmp-openssl
endef
ifeq ($(BUILD_VARIANT),default)
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
endif
ifeq ($(BUILD_VARIANT),openssl)
CMAKE_OPTIONS += -DWITH_OPENSSL=ON
endif
ifeq ($(BUILD_VARIANT),wolfssl)
CMAKE_OPTIONS += -DWITH_WOLFSSL=ON
endif
ifeq ($(BUILD_VARIANT),mbedtls)
CMAKE_OPTIONS += -DWITH_MBEDTLS=ON
endif
USE_LOCAL=$(shell ls ./src/ 2>/dev/null >/dev/null && echo 1)
ifneq ($(USE_LOCAL),)
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
$(CP) ./src/* $(PKG_BUILD_DIR)/
$(CP) -rf ~/git/icwmp/* $(PKG_BUILD_DIR)/
endef
endif
define Package/icwmp/default/install
define Package/icwmp/install
$(INSTALL_DIR) $(1)/etc/icwmpd
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(INSTALL_DIR) $(1)/etc/bbfdm/json/
$(INSTALL_DIR) $(1)/etc/udhcpc.user.d
$(INSTALL_DIR) $(1)/usr/lib/bbfdm
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libcwmpdm.so $(1)/usr/lib/bbfdm/libcwmpdm.so
$(INSTALL_BIN) $(PKG_BUILD_DIR)/icwmpd $(1)/usr/sbin/icwmpd
$(INSTALL_DATA) ./files/etc/config/cwmp $(1)/etc/config/cwmp
$(INSTALL_BIN) ./files/etc/firewall.cwmp $(1)/etc/firewall.cwmp
$(INSTALL_BIN) ./files/etc/init.d/icwmpd $(1)/etc/init.d/icwmpd
$(INSTALL_BIN) ./files/etc/uci-defaults/85-cwmp-set-userid $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/90-cwmpfirewall $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/95-set-random-inform-time $(1)/etc/uci-defaults/
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/icwmp $(1)/lib/upgrade/keep.d/icwmp
$(INSTALL_BIN) ./files/etc/icwmpd/update.sh $(1)/etc/icwmpd/update.sh
$(INSTALL_DATA) ./files/etc/bbfdm/json/CWMPManagementServer.json $(1)/etc/bbfdm/json/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/etc/udhcpc.user.d/udhcpc_icwmp_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_icwmp_opt125.user
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/etc/udhcpc.user.d/udhcpc_icwmp_opt43.user $(1)/etc/udhcpc.user.d/udhcpc_icwmp_opt43.user
$(INSTALL_BIN) ./files/etc/udhcpc.user.d/udhcpc_icwmp_opt125.user $(1)/etc/udhcpc.user.d/udhcpc_icwmp_opt125.user
$(INSTALL_BIN) ./files/etc/udhcpc.user.d/udhcpc_icwmp_opt43.user $(1)/etc/udhcpc.user.d/udhcpc_icwmp_opt43.user
$(call BbfdmInstallPlugin,$(1),./files/etc/bbfdm/json/CWMPManagementServer.json)
$(call BbfdmInstallPlugin,$(1),$(PKG_BUILD_DIR)/libcwmpdm.so)
endef
Package/icwmp/install = $(Package/icwmp/default/install)
Package/icwmp-openssl/install = $(Package/icwmp/default/install)
Package/icwmp-wolfssl/install = $(Package/icwmp/default/install)
Package/icwmp-mbedtls/install = $(Package/icwmp/default/install)
$(eval $(call BuildPackage,icwmp))
$(eval $(call BuildPackage,icwmp-openssl))
$(eval $(call BuildPackage,icwmp-wolfssl))
$(eval $(call BuildPackage,icwmp-mbedtls))

View File

@@ -5,12 +5,14 @@ config acs 'acs'
option periodic_inform_interval '1800'
option periodic_inform_time '0001-01-01T00:00:00Z'
option dhcp_discovery 'enable'
option ssl_capath "/etc/ssl/certs"
# 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 skip_dhcp_boot_options '0'
config cpe 'cpe'
option enable '1'
@@ -20,7 +22,7 @@ config cpe 'cpe'
option log_to_file 'disable'
# log_severity: INFO (Default)
# log_severity possible configs: EMERG, ALERT, CRITIC ,ERROR, WARNING, NOTICE, INFO, DEBUG
option log_severity 'INFO'
option log_severity 'ERROR'
option log_file_name '/var/log/icwmpd.log'
option log_max_size '102400'
option userid '' #$OUI-$SER
@@ -37,8 +39,10 @@ config cpe 'cpe'
option periodic_notify_interval '10'
option incoming_rule 'Port_Only'
option active_notif_throttle '0'
option disable_gatewayinfo '0'
option fw_upgrade_keep_settings '1'
config lwn 'lwn'
option enable '1'
option enable '0'
option hostname ''
option port '0'

View File

@@ -5,46 +5,58 @@ log() {
echo "${@}"|logger -t firewall.cwmp -p info
}
if [ ! -f "/var/state/icwmp" ]; then
get_firewall_zone() {
zone="$(uci show firewall|grep network|grep ${1}|cut -d. -f 2)"
zone="${zone:-wan}" # defaults to wan zone
echo "$zone"
}
cleanup_exiting_rules() {
while iptables -w 1 -nL zone_"${1}"_input --line-numbers 2>/dev/null | grep "Open_ACS_port"; do
rule_num="$(iptables -w 1 -nL zone_"${1}"_input --line-numbers | grep "Open_ACS_port" | head -1|awk '{print $1}')"
if [ -n "${rule_num}" ]; then
iptables -w 1 -D zone_"${1}"_input "${rule_num}";
fi
done
while ip6tables -w 1 -nL zone_"${1}"_input --line-numbers 2>/dev/null | grep "Open_ACS_port"; do
rule_num="$(ip6tables -w 1 -nL zone_"${1}"_input --line-numbers | grep "Open_ACS_port" | head -1|awk '{print $1}')"
if [ -n "${rule_num}" ]; then
ip6tables -w 1 -D zone_"${1}"_input "${rule_num}";
fi
done
}
enable="$(uci -q get cwmp.cpe.enable)"
enable="${enable:-1}"
if [ "$enable" -eq 0 ]; then
log "CWMP not enabled"
exit 0;
fi
zone_name=$(uci -c /var/state -q get icwmp.acs.zonename)
wan="$(uci -q get cwmp.cpe.default_wan_interface)"
wan="${wan:-wan}"
zone_name="$(get_firewall_zone $wan)"
port=$(uci -q get cwmp.cpe.port)
port="${port:-7547}"
incoming_rule=$(uci -q get cwmp.cpe.incoming_rule|awk '{print tolower($0)}')
incoming_rule="${incoming_rule:-port_only}"
ipaddr=$(uci -c /var/state -q get icwmp.acs.ip)
ip6addr=$(uci -c /var/state -q get icwmp.acs.ip6)
incoming_rule=$(uci -q get cwmp.cpe.incoming_rule|tr 'A-Z' 'a-z')
if [ -z "${zone_name}" ]; then
log "empty firewall zone name"
exit 0
elif [ "$zone_name" = "icwmp" ]; then
iptables -nL zone_icwmp_input 2> /dev/null
if [ "$?" != 0 ]; then
iptables -w 1 -N zone_icwmp_input
iptables -w 1 -t filter -A INPUT -j zone_icwmp_input
iptables -w 1 -I zone_icwmp_input -p tcp --dport "${port}" -j REJECT
else
iptables -w 1 -F zone_icwmp_input
iptables -w 1 -I zone_icwmp_input -p tcp --dport "${port}" -j REJECT
fi
else
iptables -w 1 -F zone_icwmp_input 2> /dev/null
iptables -w 1 -t filter -D INPUT -j zone_icwmp_input 2> /dev/null
iptables -w 1 -X zone_icwmp_input 2> /dev/null
fi
cmd="iptables -w 1 -I zone_${zone_name}_input -p tcp"
cmd6="ip6tables -w 1 -I zone_${zone_name}_input -p tcp"
# default incoming rule is Port only
if [ -z "${incoming_rule}" ]; then
incoming_rule="port_only"
fi
if [ "${incoming_rule}" = "ip_only" ]; then
if [ -n "${ipaddr}" ]; then
cmd="${cmd} -s ${ipaddr}"
fi
if [ -n "${ip6addr}" ]; then
cmd6="${cmd6} -s ${ip6addr}"
fi
elif [ "${incoming_rule}" = "port_only" ]; then
@@ -55,6 +67,9 @@ elif [ "${incoming_rule}" = "port_only" ]; then
else
if [ -n "${ipaddr}" ]; then
cmd="${cmd} -s ${ipaddr}"
fi
if [ -n "${ip6addr}" ]; then
cmd6="${cmd6} -s ${ip6addr}"
fi
@@ -64,17 +79,23 @@ else
fi
fi
cleanup_exiting_rules "${zone_name}"
echo "${cmd}"|grep -q "\-\-dport \|\-s "
if [ "$?" -eq 0 ]; then
cmd="${cmd} -j ACCEPT -m comment --comment=Open_ACS_port"
${cmd}
log "Applied [${cmd}]"
fi
echo "${cmd6}"|grep -q "\-\-dport \|\-s "
if [ "$?" -eq 0 ]; then
cmd6="${cmd6} -j ACCEPT -m comment --comment=Open_ACS_port"
${cmd6}
log "Applied [${cmd6}]"
fi
uci -c /var/state -q set icwmp.cpe.firewall_restart="init"
uci -c /var/state -q commit icwmp
if [ -f "/var/state/icwmp" ]; then
uci -c /var/state -q set icwmp.cpe.firewall_restart="init"
uci -c /var/state -q commit icwmp
fi

View File

@@ -1,34 +0,0 @@
#!/bin/sh
. /lib/functions.sh
log() {
echo "$@" |logger -t cwmp.update -p info
}
handle_icwmp_update() {
local cwmp_enable
config_load cwmp
config_get_bool cwmp_enable cpe enable 1
if [ "$cwmp_enable" = "0" ]; then
return 0
fi
# wait for some time to avoid interface fluctuation
sleep 10
ret=$(ubus call service list '{"name":"icwmpd"}' | jsonfilter -qe '@.icwmpd.instances.icwmp.running')
if [ "$ret" = "true" ]; then
# read status from var/state/icwmp
status=$(uci -q -c /var/state get icwmp.sess_status.current_status)
if [ "$status" != "running" ]; then
log "Trigger out of bound inform, since last inform status was failure"
ubus -t 10 call tr069 inform >/dev/null 2>&1
fi
else
log "Restarting icwmp tr069 object"
/etc/init.d/icwmpd restart
fi
}
handle_icwmp_update "$@"

View File

@@ -15,32 +15,24 @@ log() {
echo "${@}"|logger -t cwmp.init -p info
}
regenerate_ssl_link()
{
local cert_dir all_file rehash
regenerate_ssl_link() {
local cert_dir="${1%/}"
[ ! -d "${cert_dir}" ] || [ "${cert_dir}" = "/etc/ssl/certs" ] && return 0
cert_dir="${1}"
[ ! -d "${cert_dir}" ] && return 0;
### Generate all ssl link for pem certicates ###
all_file=$(ls "${cert_dir}"/*.pem 2>/dev/null)
if [ -n "${all_file}" ]; then
for cfile in $all_file; do
rehash="$(openssl x509 -hash -noout -in "${cfile}")"
[ -f "${cert_dir}"/"${rehash}".0 ] || \
ln -s "${cfile}" "${cert_dir}"/"${rehash}".0
generate_links() {
local file_type="$1"
local files="${cert_dir}"/*."${file_type}"
for cfile in ${files}; do
if [ -f "${cfile}" ]; then
rehash="$(openssl x509 -hash -noout -in "${cfile}")"
[ -f "${cert_dir}/${rehash}.0" ] || \
ln -s "${cfile}" "${cert_dir}/${rehash}.0"
fi
done
fi
}
### Generate all ssl link for crt certicates ###
all_file=$(ls "${cert_dir}"/*.crt 2>/dev/null)
if [ -n "${all_file}" ]; then
for cfile in $all_file; do
rehash="$(openssl x509 -hash -noout -in "${cfile}")"
[ -f "${cert_dir}"/"${rehash}".0 ] || \
ln -s "${cfile}" "${cert_dir}"/"${rehash}".0
done
fi
generate_links "pem"
generate_links "crt"
}
enable_dhcp_option43() {
@@ -98,7 +90,11 @@ configure_send_op125() {
if [ "${uci}" = "network" ]; then
local opt125="125:00:00:0D:E9"
else
local opt125="125,00:00:0D:E9"
if [ -z "${sendopt}" ]; then
local opt125="125,00:00:0D:E9"
else
local opt125=":00:00:0D:E9"
fi
fi
config_get oui cpe manufacturer_oui ""
@@ -178,10 +174,94 @@ configure_send_op125() {
new_send_opt="$sendopt $opt125"
uci -q set network."${intf}".sendopts="$new_send_opt"
else
uci -q add_list dhcp."${intf}".dhcp_option="$opt125"
new_send_opt="$sendopt$opt125"
uci -q add_list dhcp."${intf}".dhcp_option="$new_send_opt"
fi
}
check_for_suboptions() {
# Check if option 4 and 5 present inside enterprise id 3561
data=$(echo "${1}" | sed 's/://g')
len=$(printf "${data}"|wc -c)
rem_len="${len}"
while [ $rem_len -gt 8 ]; do
subopt_present=0
ent_id="${data:0:8}"
ent_id=$(printf "%d\n" "0x$ent_id")
if [ $ent_id -ne 3561 ]; then
len_val=${data:8:2}
data_len=$(printf "%d\n" "0x$len_val")
# add 4 byte for ent_id and 1 byte for len
data_len=$(( data_len * 2 + 10 ))
# move ahead data to next enterprise id
data=${data:"${data_len}":"${rem_len}"}
rem_len=$(( rem_len - data_len ))
continue
fi
# read the length of enterprise data
len_val=${data:8:2}
data_len=$(printf "%d\n" "0x$len_val")
# add 4 byte for ent_id and 1 byte for len
data_len=$(( data_len * 2 + 10 ))
len_val=${data:8:2}
opt_len=$(printf "%d\n" "0x$len_val")
if [ $opt_len -eq 0 ]; then
echo ${subopt_present}
return 0
fi
# populate the option data of enterprise id
sub_data_len=$(( opt_len * 2))
# starting 10 means ahead of length field
sub_data=${data:10:"${sub_data_len}"}
# parsing of suboption of option 125
while [ $sub_data_len -gt 0 ]; do
# get the suboption id
sub_opt_id=${sub_data:0:2}
sub_opt_id=$(printf "%d\n" "0x$sub_opt_id")
case "${sub_opt_id}" in
"4") subopt_present=1
;;
"5") subopt_present=1
;;
esac
if [ ${subopt_present} -eq 1 ]; then
break;
fi
# get the length of suboption
sub_opt_len=${sub_data:2:2}
sub_opt_len=$(printf "%d\n" "0x$sub_opt_len")
sub_opt_len=$(( sub_opt_len * 2 ))
# add 2 bytes for sub_opt id and sub_opt len field
sub_opt_end=$(( sub_opt_len + 4 ))
# update the remaining sub option hex string length
sub_data_len=$((sub_data_len - sub_opt_end))
# fetch next sub option hex string
sub_data=${sub_data:${sub_opt_end}:${sub_data_len}}
done
if [ ${subopt_present} -eq 1 ]; then
break;
else
# move ahead data to next enterprise id
rem_len=$(( rem_len - $data_len ))
data=${data:"${data_len}":"${rem_len}"}
fi
done
echo ${subopt_present}
}
enable_dnsmasq_option125() {
local lan="${1}"
local send125_present=0
@@ -190,16 +270,19 @@ enable_dnsmasq_option125() {
local proto="$(uci -q get dhcp."${lan}".dhcpv4)"
if [ "${proto}" = "server" ]; then
opt_list="$(uci -q get dhcp."${lan}".dhcp_option)"
base_opt=""
for sopt in $opt_list; do
if [[ "$sopt" == "$opt125"* ]]; then
send125_present=1
send125_present=$(check_for_suboptions "${sopt:4}")
base_opt="${sopt}"
break
fi
done
if [ ${send125_present} -eq 0 ]; then
configure_send_op125 "" "${lan}" "dhcp"
uci -q del_list dhcp."${lan}".dhcp_option="${base_opt}"
configure_send_op125 "${base_opt}" "${lan}" "dhcp"
ubus call uci commit '{"config":"dhcp"}'
fi
fi
@@ -316,6 +399,7 @@ validate_acs_section()
'periodic_inform_time:string' \
'url:string' \
'dhcp_discovery:string' \
'skip_dhcp_boot_options:bool:0' \
'dhcp_url:string' \
'compression:or("GZIP","Deflate","Disabled")' \
'retry_min_wait_interval:range(1, 65535)' \
@@ -344,12 +428,14 @@ validate_cpe_section()
'notification:bool' \
'exec_download:bool' \
'periodic_notify_enable:bool' \
'enable:bool' \
'periodic_notify_interval:uinteger'
'enable:bool:1' \
'periodic_notify_interval:uinteger' \
'fw_upgrade_keep_settings:bool'
}
validate_defaults() {
local ssl_capath
local ssl_capath enable url dhcp_url
config_load cwmp
validate_acs_section || {
@@ -357,13 +443,17 @@ validate_defaults() {
return 1;
}
if [ -z "${url}" ] && [ -z "${dhcp_url}" ]; then
log "No ACS URL is configured"
return 1
fi
ssl_capath="${ssl_capath%/}"
# Put the cert pem file in keep list
if [ -d "${ssl_capath}" ]; then
if [ -d "${ssl_capath}" ] && [ "${ssl_capath}" != "/etc/ssl/certs" ]; then
if ! grep "*.pem\|*.crt" /lib/upgrade/keep.d/icwmp; then
echo "${ssl_capath}"'/*.pem' >> /lib/upgrade/keep.d/icwmp
echo "${ssl_capath}"'/*.crt' >> /lib/upgrade/keep.d/icwmp
echo "${ssl_capath}"'/*.0' >> /lib/upgrade/keep.d/icwmp
fi
fi
@@ -372,37 +462,41 @@ validate_defaults() {
return 1;
}
if [ "$enable" = "0" ]; then
log "CWMP service disabled"
return 1
fi
return 0;
}
boot() {
local enable_cwmp="0"
local dhcp_discovery="0"
local dhcp_discovery wan_interface skip_dhcp_boot_options disable_gatewayinfo
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
local wan_interface=""
config_get wan_interface cpe default_wan_interface "wan"
if [ "$enable_cwmp" = "0" ]; then
return 0
fi
config_get disable_gatewayinfo cpe disable_gatewayinfo "0"
config_get dhcp_discovery acs dhcp_discovery "0"
config_get dhcp_discovery acs dhcp_discovery "0"
config_get skip_dhcp_boot_options acs skip_dhcp_boot_options "0"
if [ "${dhcp_discovery}" = "enable" ] || [ "${dhcp_discovery}" = "1" ]; then
# Set dhcp option 43 if not already configured
enable_dhcp_option43 "${wan_interface}"
# Set dhcp option 60
set_vendor_id "${wan_interface}"
if [ "${skip_dhcp_boot_options}" -ne 1 ]; then
# Set dhcp option 43 if not already configured
enable_dhcp_option43 "${wan_interface}"
# Set dhcp option 60
set_vendor_id "${wan_interface}"
fi
fi
config_get lan_interface cpe default_lan_interface ""
if [ -n "${lan_interface}" ]; then
# Set dhcp_option 125 if not already configured
enable_dhcp_option125 "${wan_interface}"
enable_dnsmasq_option125 "${lan_interface}"
if [ "${disable_gatewayinfo}" -ne 1 ]; then
# Set dhcp_option 125 if not already configured
enable_dhcp_option125 "${wan_interface}"
enable_dnsmasq_option125 "${lan_interface}"
fi
fi
config_get ssl_capath acs ssl_capath
@@ -420,32 +514,22 @@ boot() {
}
start_service() {
local enable_cwmp
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
if [ "$enable_cwmp" = "0" ]; then
return 0
fi
[ -f /sbin/netifd ] && log "Waiting for Network to be started ..." && ubus -t 5 wait_for network.interface
[ -f /usr/sbin/dnsmasq ] && log "Waiting for DNS Proxy to be started ..." && ubus -t 5 wait_for dnsmasq
[ -f /etc/config/dhcp ] && log "Waiting for DNS Server(s) ..." && wait_for_resolvfile 20
procd_open_instance icwmp
validate_defaults || {
log "Validation of defaults failed"
procd_close_instance
return 1;
}
procd_open_instance icwmp
procd_set_param command "$PROG"
procd_append_param command -b
procd_set_param respawn \
"${respawn_threshold:-5}" \
"${respawn_timeout:-10}" "${respawn_retry:-3}"
procd_set_param watch network.interface
procd_close_instance
}
@@ -457,11 +541,18 @@ stop_service()
reload_service() {
local ret
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
log "Reload service $ret"
ret="0"
if [ "$enable_cwmp" = "0" ]; then
validate_defaults || {
stop
start
return 0;
}
ret=$(ubus call service list '{"name":"icwmpd"}' | jsonfilter -qe '@.icwmpd.instances.icwmp.running')
if [ "$ret" != "true" ]; then
log "Reloading cwmp service ..."
stop
start
return 0
@@ -470,35 +561,18 @@ reload_service() {
tr069_status="$(ubus -t 1 call tr069 status)"
ret="$?"
if [ "$ret" = "7" ]; then
# ubus timed out may be due to uloop is busy in some task so returning
# ubus timed out may be due to uloop is busy in some task so return
log "Skipping ubus reload due to ubus timeout"
return 0
fi
status="$(echo "${tr069_status}" | jsonfilter -qe '@.cwmp.status')"
ret="$?"
if [ "$status" = "up" ]; then
ubus -t 1 call tr069 command '{"command":"reload"}'
ret="$?"
fi
if [ "$status" = "init" ] || [ "$ret" -ne "0" ]; then
log "Restarting CWMP client"
stop
start
fi
}
add_interface_trigger() {
procd_add_interface_trigger "interface.update" "$1" /etc/icwmpd/update.sh
}
service_triggers() {
local wan_interface
config_load cwmp
config_get wan_interface cpe default_wan_interface "wan"
procd_add_reload_trigger "cwmp"
add_interface_trigger ${default_wan_interface}
}

View File

@@ -0,0 +1,20 @@
#!/bin/sh
. /lib/functions.sh
set_inform_time()
{
local sec inform_time value
config_load cwmp
config_get inform_time acs periodic_inform_time '0001-01-01T00:00:00Z'
if [ "${inform_time}" == "0001-01-01T00:00:00Z" ]; then
sec=$(date +%s)
value="$(date -d @$(($sec-$RANDOM)) +%Y-%m-%dT%H:%M:%SZ)"
uci_set cwmp acs periodic_inform_time "$value"
fi
}
set_inform_time

View File

@@ -0,0 +1,139 @@
#!/bin/sh
. /lib/functions.sh
CLASS=""
OUI=""
SERIAL=""
get_vivsoi() {
# opt125 environment variable has data in below format
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | enterprise-number1 |
# | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# | data-len1 | |
# +-+-+-+-+-+-+-+-+ option-data1 |
# / /
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -----
# | enterprise-number2 | ^
# | | |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
# | data-len2 | | optional
# +-+-+-+-+-+-+-+-+ option-data2 | |
# / / |
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
# ~ ... ~ V
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -----
# Enterprise Id Len Sub Op SLen Data Sub Op SLen Data Sub Op SLen Data
# +-------------+-----+------+------+----+------+-----+----+-----+------+-----+----+
# | id | n | 1 | n1 | D1 | 2 | n2 | D2 | ... | 6 | n6 | D6 |
# +-------------+-----+------+------+----+------+-----+----+-----+------+-----+----+
local opt125="$1"
local len="$2"
local ent_id
#hex-string 2 character=1 Byte
# length in hex string will be twice of actual Byte length
[ "$len" -gt "8" ] || return
data="${opt125}"
rem_len="${len}"
while [ $rem_len -gt 0 ]; do
ent_id=${data:0:8}
ent_id=$(printf "%d\n" "0x$ent_id")
if [ $ent_id -ne 3561 ]; then
len_val=${data:8:2}
data_len=$(printf "%d\n" "0x$len_val")
# add 4 byte for ent_id and 1 byte for len
data_len=$(( data_len * 2 + 10 ))
# move ahead data to next enterprise id
data=${data:"${data_len}":"${rem_len}"}
rem_len=$(( rem_len - $data_len ))
continue
fi
# read the length of enterprise data
len_val=${data:8:2}
data_len=$(printf "%d\n" "0x$len_val")
# add 4 byte for ent_id and 1 byte for len
data_len=$(( data_len * 2 + 10 ))
opt_len=$(printf "%d\n" "0x$len_val")
[ $opt_len -eq 0 ] && return
# populate the option data of enterprise id
sub_data_len=$(( opt_len * 2))
# starting 10 means ahead of length field
sub_data=${data:10:"${sub_data_len}"}
# parsing of suboption of option 125
while [ $sub_data_len -gt 0 ]; do
# get the suboption id
sub_opt_id=${sub_data:0:2}
sub_opt_id=$(printf "%d\n" "0x$sub_opt_id")
# get the length of suboption
sub_opt_len=${sub_data:2:2}
sub_opt_len=$(printf "%d\n" "0x$sub_opt_len")
sub_opt_len=$(( sub_opt_len * 2 ))
# get the value of sub option starting 4 means starting after length
sub_opt_val=${sub_data:4:${sub_opt_len}}
# assign the value found in sub option
case "${sub_opt_id}" in
"4") OUI=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"5") SERIAL=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"6") CLASS=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
esac
# add 2 bytes for sub_opt id and sub_opt len field
sub_opt_end=$(( sub_opt_len + 4 ))
# update the remaining sub option hex string length
sub_data_len=$((sub_data_len - sub_opt_end))
# fetch next sub option hex string
sub_data=${sub_data:${sub_opt_end}:${sub_data_len}}
done
# move ahead data to next enterprise id
data=${data:"${data_len}":"${rem_len}"}
rem_len=$(( rem_len - data_len ))
done
}
config_load cwmp
config_get_bool enable_cwmp cpe enable 1
config_get wan_intf cpe default_wan_interface "wan"
if [ "$enable_cwmp" = "0" ]; then
return 0
fi
if [ "${wan_intf}" == "${INTERFACE}" ]; then
if [ -n "$opt125" ]; then
len=$(printf "$opt125"|wc -c)
get_vivsoi "$opt125" "$len"
fi
mkdir -p /var/state
touch /var/state/icwmp
sec=$(uci -q -c /var/state get icwmp.gatewayinfo)
if [ -z "${sec}" ]; then
sec=$(uci -q -c /var/state add icwmp gatewayinfo)
uci -q -c /var/state rename icwmp."${sec}"="gatewayinfo"
fi
uci -q -c /var/state set icwmp.gatewayinfo.class="$CLASS"
uci -q -c /var/state set icwmp.gatewayinfo.oui="$OUI"
uci -q -c /var/state set icwmp.gatewayinfo.serial="$SERIAL"
uci -q -c /var/state commit icwmp
fi

View File

@@ -0,0 +1,141 @@
#!/bin/sh
. /lib/functions.sh
DHCP_ACS_URL=""
DHCP_PROV_CODE=""
MIN_WAIT_INVL=""
INVL_MULTIPLIER=""
log() {
echo "$@" |logger -t cwmp.update -p info
}
get_opt43() {
# Check if option value is in encapsulated form
local opt43="$1"
local len="$2"
[ "$len" -gt "2" ] || return
first_byte=${opt43:0:2}
first_byte=$(printf "%d\n" "0x$first_byte")
if [ $len -ge 4 ] && [ $first_byte -ge 1 ] && [ $first_byte -le 4 ]; then
# it is in encapsulated form
# opt43 encapsulated vendor-specific option has data in below format
# Code Len Data item Code Len Data item Code
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
# | T1 | n | d1 | d2 | ... | T2 | n | D1 | D2 | ... | ... |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
#hex-string 2 character=1 Byte
# length in hex string will be twice of actual Byte length
data="${opt43}"
rem_len="${len}"
# parsing of suboption of option 43
while [ $rem_len -gt 0 ]; do
# get the suboption id
sub_opt_id=${data:0:2}
sub_opt_id=$(printf "%d\n" "0x$sub_opt_id")
# get the length of suboption
sub_opt_len=${data:2:2}
sub_opt_len=$(printf "%d\n" "0x$sub_opt_len")
sub_opt_len=$(( sub_opt_len * 2 ))
# get the value of sub option starting 4 means starting after length
sub_opt_val=${data:4:${sub_opt_len}}
# assign the value found in sub option
case "${sub_opt_id}" in
"1") DHCP_ACS_URL=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"2") DHCP_PROV_CODE=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"3") MIN_WAIT_INVL=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
"4") INVL_MULTIPLIER=$(echo -n $sub_opt_val | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
;;
esac
# add 2 bytes for sub_opt id and sub_opt len field
sub_opt_end=$(( sub_opt_len + 4 ))
# fetch next sub option hex string
data=${data:${sub_opt_end}:${len}}
# update the remaining sub option hex string length
rem_len=$((rem_len - sub_opt_end))
done
else
DHCP_ACS_URL=$(echo -n $opt43 | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf && echo '')
fi
}
config_load cwmp
config_get wan_intf cpe default_wan_interface "wan"
config_get dhcp_discovery acs dhcp_discovery "0"
config_get dhcp_url acs dhcp_url ""
config_get min_wait_intvl acs dhcp_retry_min_wait_interval "0"
config_get intvl_multi acs dhcp_retry_interval_multiplier "0"
config_change=0
discovery_enable=0
if [ "$dhcp_discovery" = "1" ] || [ "$dhcp_discovery" = "true" ] || [ "$dhcp_discovery" = "enable" ]; then
discovery_enable=1
fi
if [ "$discovery_enable" = "0" ]; then
return 0
fi
if [ "${wan_intf}" == "${INTERFACE}" ]; then
if [ -n "$opt43" ]; then
len=$(printf "$opt43"|wc -c)
get_opt43 "$opt43" "$len"
fi
if [ -z "$DHCP_ACS_URL" ]; then
return 0
fi
sec=$(uci -q get cwmp.acs)
if [ -z "${sec}" ]; then
return 0
fi
if [ "${dhcp_url}" != "${DHCP_ACS_URL}" ]; then
uci -q set cwmp.acs.dhcp_url="$DHCP_ACS_URL"
config_change=1
fi
if [ -n "$MIN_WAIT_INVL" ] && [ "${MIN_WAIT_INVL}" != "${min_wait_intvl}" ]; then
uci -q set cwmp.acs.dhcp_retry_min_wait_interval="$MIN_WAIT_INVL"
config_change=1
fi
if [ -n "$INVL_MULTIPLIER" ] && [ "${INVL_MULTIPLIER}" != "${intvl_multi}" ]; then
uci -q set cwmp.acs.dhcp_retry_interval_multiplier="$INVL_MULTIPLIER"
config_change=1
fi
sec=$(uci -q get cwmp.cpe)
if [ -n "${sec}" ] && [ -n "$DHCP_PROV_CODE" ]; then
uci -q set cwmp.cpe.dhcp_provisioning_code="$DHCP_PROV_CODE"
config_change=1
fi
if [ $config_change -eq 0 ]; then
return 0
fi
# ACS url has been set, inform icwmpd to reload new configuration
sleep 10 # wait for some time to avoid interface fluctuation
ubus call uci commit '{"config":"cwmp"}'
fi

View File

@@ -20,7 +20,6 @@ config IEEE1905_WIFI_EASYMESH
config IEEE1905_CMDU_FRAGMENT_TLV_BOUNDARY
bool "Fragment large CMDU frame at TLV boundary instead of octet boundary"
default y
endmenu

View File

@@ -1,16 +1,16 @@
#
# Copyright (C) 2020-2023 IOPSYS Software Solutions AB
# Copyright (C) 2020-2024 IOPSYS Software Solutions AB
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=8.1.15
PKG_VERSION:=8.3.7.1
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=a6d1c5c3e6a23129ce260613cadfaad3b2b31cc8
PKG_SOURCE_VERSION:=490979bd8ec0395795801f3bfb9dc47af1eb4ade
PKG_SOURCE_URL:=https://dev.iopsys.eu/multi-ap/ieee1905.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -60,12 +60,12 @@ define Package/libieee1905/description
endef
plugins := \
$(if $(CONFIG_PACKAGE_map-plugin),map) \
$(if $(CONFIG_PACKAGE_snoop-plugin),snoop) \
$(if $(CONFIG_PACKAGE_topology-plugin),topology)
$(if $(CONFIG_PACKAGE_ieee1905-map-plugin),map) \
$(if $(CONFIG_PACKAGE_ieee1905-snoop-plugin),snoop) \
$(if $(CONFIG_PACKAGE_ieee1905-topology-plugin),topology)
ppkg:=$(patsubst plugins/%.mk,%-plugin,$(wildcard plugins/*.mk))
ppkg:=$(patsubst plugins/%.mk,ieee1905-%-plugin,$(wildcard plugins/*.mk))
TARGET_CFLAGS += \
@@ -89,6 +89,12 @@ ifeq ($(CONFIG_IEEE1905_CMDU_FRAGMENT_TLV_BOUNDARY),y)
TARGET_CFLAGS += -DIEEE1905_CMDU_FRAGMENT_TLV_BOUNDARY
endif
ifeq ($(CONFIG_IEEE1905_EXTENSION_ALLOWED),y)
TARGET_CFLAGS += -DEXTENSION_ALLOWED
endif
TARGET_CFLAGS += -DHAS_UBUS
MAKE_FLAGS += \
extmod_subdirs="$(patsubst %,extensions/%,$(plugins))"
@@ -117,7 +123,6 @@ define Build/InstallDev/libieee1905
$(CP) $(PKG_BUILD_DIR)/src/cmdu_ackq.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/1905_tlvs.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/i1905_wsc.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/bufutil.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/timer_impl.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/i1905_extension.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/src/libmidgen.so $(1)/usr/lib/

View File

@@ -2,13 +2,17 @@ config ieee1905 'ieee1905'
option enabled '1'
option extension '1'
list extmodule 'map'
list extmodule 'topology'
option registrar '2 5 6'
list exclude_tagging '/eth.*'
# option macaddress '0a:1b:2c:3d:4e:50'
config al-iface
option enabled '1'
option ifname 'br-lan'
option type 'bridge'
list ifname 'br-lan'
list ifname '/eth.*'
list ifname '/wl.*'
list ifname '/wds.*'
# ap sections are auto-generated/overwritten during onboarding
#

View File

@@ -1,6 +1,6 @@
#!/bin/sh /etc/rc.common
START=96
START=60
STOP=21
USE_PROCD=1

View File

@@ -1,22 +1,22 @@
define Package/map-plugin
define Package/ieee1905-map-plugin
$(call Package/ieee1905/Default)
TITLE:=Multi-AP plugin supporting WiFi-Alliance Easymesh standard
DEPENDS= +libubox +libuci +libubus +libeasy +libnl-genl \
+libjson-c +libblobmsg-json +ieee1905 +libieee1905
endef
define Package/map-plugin/config
if (PACKAGE_map-plugin)
define Package/ieee1905-map-plugin/config
if (PACKAGE_ieee1905-map-plugin)
menu "Configuration"
config MULTIAP_EASYMESH_VERSION
int "Easymesh version"
default 2
default 4
config MULTIAP_DYNAMIC_CNTLR_SYNC_CONFIG
bool "Sync configuration between dynamic controllers in the network"
default n
default y
config MULTIAP_FUZZ_1905_CMDUS
bool "Include support to fuzz 1905 CMDUs for testing purpose"
@@ -32,7 +32,7 @@ ifeq ($(CONFIG_MULTIAP_DYNAMIC_CNTLR_SYNC_CONFIG),y)
TARGET_CFLAGS += -DDYNAMIC_CNTLR_SYNC_CONFIG
endif
define Build/InstallDev/map-plugin
define Build/InstallDev/ieee1905-map-plugin
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib/ieee1905
@@ -43,7 +43,7 @@ define Build/InstallDev/map-plugin
$(CP) $(PKG_BUILD_DIR)/src/extensions/map/libmaputil.so $(1)/usr/lib/libmaputil.so
endef
define Package/map-plugin/install
define Package/ieee1905-map-plugin/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/ieee1905
$(CP) $(PKG_BUILD_DIR)/src/extensions/map/libmaputil.so $(1)/usr/lib/libmaputil.so

View File

@@ -1,11 +1,11 @@
define Package/snoop-plugin
define Package/ieee1905-snoop-plugin
$(call Package/ieee1905/Default)
TITLE:=Show all received 1905 CMDUs over UBUS
DEPENDS= +libubox +libuci +libubus +libeasy +libnl-genl \
+libjson-c +libblobmsg-json +ieee1905 +libieee1905
endef
define Package/snoop-plugin/install
define Package/ieee1905-snoop-plugin/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/ieee1905
$(CP) $(PKG_BUILD_DIR)/src/extensions/snoop/snoop.so $(1)/usr/lib/ieee1905/snoop.so

View File

@@ -1,11 +1,11 @@
define Package/topology-plugin
define Package/ieee1905-topology-plugin
$(call Package/ieee1905/Default)
TITLE:=Build full network topology of the 1905 nodes only
DEPENDS= +libubox +libuci +libubus +libeasy +libnl-genl \
+libjson-c +libblobmsg-json +ieee1905 +libieee1905
endef
define Package/topology-plugin/install
define Package/ieee1905-topology-plugin/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/ieee1905
$(CP) $(PKG_BUILD_DIR)/src/extensions/topology/topology.so $(1)/usr/lib/ieee1905/topology.so

View File

@@ -1,56 +0,0 @@
#
# Copyright (C) 2016 iopsys
#
# 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:=inbd
PKG_VERSION:=1.2.3
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=d4e910a31039e0c0b7a539311eafcd716c36be77
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/inbd
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=LICENSE
# support parallel build
PKG_BUILD_PARALLEL:=1
#re create configure scripts if not present.
PKG_FIXUP:=autoreconf
# run install target when cross compiling. basically, make install DESTDIR=$(PKG_INSTALL_DIR)
# this way we don't need to pick out the resulting files from the build dir.
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/inbd
CATEGORY:=Utilities
TITLE:=iopsys Netlink Bridge Daemon
URL:=
DEPENDS:=+libuci +libubus +libblobmsg-json +libnl-genl
endef
define Package/inbd/description
Application handling netlink messages from kernel and sending them out on ubus.
endef
define Package/inbd/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/inbd $(1)/usr/bin/
cp $(PKG_BUILD_DIR)/files/etc/init.d/inbd $(1)/etc/init.d/
endef
$(eval $(call BuildPackage,inbd))

View File

@@ -11,10 +11,19 @@ CONFIG_DEVEL=y
CONFIG_USE_STRIP=y
# CONFIG_SIGNED_PACKAGES is not set
CONFIG_JSON_CYCLONEDX_SBOM=y
CONFIG_INCLUDE_CONFIG=y
# Image #
CONFIG_TARGET_CUSTOMER="IOPSYS"
CONFIG_TARGET_ROOTFS_TARGZ=y
# Although UBIFS and EXT4 images work on all non-secure-boot devices,
# squashfs is the only officially supported rootfs filesystem.
# A writable rootfs is useful for developping an debugging preinit code.
# CONFIG_TARGET_ROOTFS_UBIFS is not set
# CONFIG_TARGET_ROOTFS_EXT4FS is not set
# /etc/banner and /etc/device_info #
CONFIG_IMAGEOPT=y
CONFIG_VERSIONOPT=y
@@ -55,21 +64,20 @@ CONFIG_LOCALMIRROR="https://download.iopsys.eu/iopsys/mirror/"
################
# EasySoC HAL #
CONFIG_PACKAGE_inbd=y
CONFIG_PACKAGE_qosmngr=y
CONFIG_PACKAGE_libwifiutils=y
CONFIG_PACKAGE_wifimngr=y
# Multi-AP #
CONFIG_PACKAGE_ieee1905=y
CONFIG_PACKAGE_map-agent=m
CONFIG_PACKAGE_map-controller=m
CONFIG_PACKAGE_map-topology=y
CONFIG_PACKAGE_decollector=y
CONFIG_IEEE1905_CMDU_SA_IS_ALMAC=y
CONFIG_PACKAGE_ieee1905-topology-plugin=y
CONFIG_PACKAGE_decollector=y
CONFIG_PACKAGE_map-agent=y
CONFIG_PACKAGE_map-controller=y
# Network #
CONFIG_PACKAGE_hostmngr=y
CONFIG_PACKAGE_netmode=y
CONFIG_PACKAGE_urlfilter=y
@@ -86,12 +94,15 @@ CONFIG_PACKAGE_icwmp=y
CONFIG_PACKAGE_obuspa=y
CONFIG_PACKAGE_bulkdata=y
CONFIG_PACKAGE_periodicstats=y
CONFIG_PACKAGE_stunc=m
CONFIG_PACKAGE_swmodd=m
CONFIG_PACKAGE_twamp=m
CONFIG_PACKAGE_udpecho-client=m
CONFIG_PACKAGE_udpecho-server=m
CONFIG_PACKAGE_xmppc=m
CONFIG_PACKAGE_stunc=y
CONFIG_PACKAGE_swmodd=y
CONFIG_PACKAGE_twamp=y
CONFIG_PACKAGE_udpecho-client=y
CONFIG_PACKAGE_udpecho-server=y
CONFIG_PACKAGE_userinterface=y
CONFIG_PACKAGE_xmppc=y
CONFIG_PACKAGE_timemngr=y
CONFIG_PACKAGE_self-diagnostics=y
# WebGUI #
CONFIG_PACKAGE_sulu=y
@@ -131,11 +142,11 @@ CONFIG_PACKAGE_wwan=y
CONFIG_PACKAGE_xl2tpd=y
# Services #
CONFIG_PACKAGE_atftp=m
CONFIG_PACKAGE_atftpd=m
CONFIG_PACKAGE_atftpd=y
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_dnsmasq=y
CONFIG_PACKAGE_ssdpd=y
CONFIG_PACKAGE_miniupnpd-iptables=y
CONFIG_PACKAGE_mosquitto-client-ssl=y
CONFIG_PACKAGE_mosquitto-ssl=y
CONFIG_PACKAGE_nginx=y
@@ -144,7 +155,7 @@ CONFIG_PACKAGE_openvpn-openssl=y
CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
# CONFIG_PACKAGE_qos-scripts is not set
CONFIG_PACKAGE_rdnssd=y
CONFIG_PACKAGE_vsftpd-tls=m
CONFIG_PACKAGE_vsftpd-tls=y
# Tools and Utilities #
CONFIG_PACKAGE_curl=y
@@ -160,11 +171,18 @@ CONFIG_PACKAGE_ipset=y
CONFIG_PACKAGE_ip6tables-zz-legacy=y
CONFIG_PACKAGE_iptables-zz-legacy=y
CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
CONFIG_PACKAGE_iptables-mod-extra=y
CONFIG_PACKAGE_iptables-mod-filter=y
CONFIG_PACKAGE_iptables-mod-ipmark=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
CONFIG_PACKAGE_iptables-mod-nflog=y
CONFIG_PACKAGE_iptables-mod-nfqueue=y
CONFIG_PACKAGE_iputils-arping=y
CONFIG_PACKAGE_iputils-ping=y
CONFIG_PACKAGE_ndisc6=y
CONFIG_PACKAGE_rdisc6=y
CONFIG_PACKAGE_resolveip=y
CONFIG_PACKAGE_socat=y
CONFIG_PACKAGE_tcpdump=y
CONFIG_PACKAGE_traceroute6=y
@@ -174,9 +192,13 @@ CONFIG_PACKAGE_traceroute6=y
##########
CONFIG_PACKAGE_at=y
CONFIG_PACKAGE_ca-certificates=y
CONFIG_PACKAGE_crun=y
CONFIG_PACKAGE_getopt=y
CONFIG_PACKAGE_gpiod-tools=y
# CONFIG_PACKAGE_iwatchdog is not set
CONFIG_PACKAGE_jq=y
CONFIG_PACKAGE_libcap-bin=y
CONFIG_PACKAGE_libustream-openssl=y
# CONFIG_PACKAGE_libustream-wolfssl is not set
CONFIG_PACKAGE_lscpu=y
@@ -184,6 +206,7 @@ CONFIG_PACKAGE_nand-utils=y
CONFIG_PACKAGE_openssl-util=y
CONFIG_OPENSSL_WITH_COMPRESSION=y
CONFIG_PACKAGE_procd-ujail=m
CONFIG_PACKAGE_quota=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
@@ -225,12 +248,10 @@ CONFIG_PACKAGE_nginx-mod-luci=y
CONFIG_BUSYBOX_CUSTOM=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 is not set
@@ -307,3 +328,8 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS=y
CONFIG_BUSYBOX_CONFIG_TIMEOUT=y
CONFIG_BUSYBOX_CONFIG_NOHUP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="sha512"
# CONFIG_BUSYBOX_CONFIG_ARPING is not set
# CONFIG_BUSYBOX_CONFIG_PING is not set
# CONFIG_BUSYBOX_CONFIG_PING6 is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_FANCY_PING is not set

View File

@@ -33,7 +33,8 @@ _iop()
prev="${COMP_WORDS[COMP_CWORD-1]}"
iopcmds="bootstrap cfe_upgrade cfe_upgrade_latest extract_core \
feeds_update genconfig generate_tarballs install_key \
feeds_update feeds_update-legacy genconfig genconfig-legacy \
generate_tarballs install_key \
scp_changes setup_host ssh_install_key status \
update_package update_feed_branches ssh_upgrade smoketest"

View File

@@ -0,0 +1,88 @@
#!/bin/bash
function feeds_update-legacy {
heads=1
developer=0
override=1
force=1
function update_failure {
if [ $force == 1 ]; then
echo "WARNING: Failed to update feed(s). Forced update, proceeding anyway." >&2
else
echo "ERROR: Failed to update feed(s). Omit -F to proceed anyway." >&2
exit 1
fi
}
while getopts "inFh" opt; do
case $opt in
i)
heads=0
;;
n)
override=0
;;
F)
force=0
;;
h|\?)
echo "Usage: ./iop feeds_update-legacy [-i] [-n] [-F] [-h]"
echo
echo "OPTIONS:"
echo " -i - Only update index. Do not change HEAD in feeds."
echo " -n - Do not replace core packages with iopsys versions."
echo " -F - Do not force update if there are inaccessible feeds."
echo " -h - Display this help message and exit."
exit 1
;;
esac
done
git remote -v | grep -qE '(git@|ssh://)' && developer=1
cp .config .genconfig_config_bak
if [ $heads == 1 ]; then
if [ $developer == 1 ]; then
./scripts/feeds update -g || update_failure
else
./scripts/feeds update || update_failure
fi
fi
./scripts/feeds update -ai || exit 1
# replace core packages with iopsys versions
if [ $override == 1 ]; then
./scripts/feeds install -f -p openwrt_core -a || exit 1
./scripts/feeds install -f -p qualcomm -a || exit 1
fi
(
echo '# DO NOT EDIT. Autogenerated file by ./iop feeds_update'
echo 'FEED_DEVICES_DIRS:='
find feeds -type f -name .is-feed-devices-dir -printf 'FEED_DEVICES_DIRS+=$(TOPDIR)/%h\n'
) > target/linux/feed-devices/feed-devices-list.mk || exit 1
# targets need to be installed explicitly
for target in $(ls ./feeds/targets); do
./scripts/feeds install -f -p targets $target || exit 1
done
# install all packages
./scripts/feeds install -a || exit 1
# remove broken symlinks ( for packages that are no longer in the feed )
find -L package/feeds -maxdepth 2 -type l -delete || exit 1
cp .genconfig_config_bak .config
make defconfig || exit 1
# record when we last run this script
touch tmp/.iop_bootstrap || exit 1
# always return true
exit 0
}
register_command "feeds_update-legacy" "Update feeds to point to commit hashes from feeds.conf - legacy mode"

View File

@@ -1,72 +1,9 @@
#!/bin/bash
function feeds_update {
heads=1
developer=0
override=1
while getopts "inh" opt; do
case $opt in
i)
heads=0
;;
n)
override=0
;;
h|\?)
echo "Usage: ./iop feeds_update [-i] [-n] [-h]"
echo
echo "OPTIONS:"
echo " -i - Only update index. Do not change HEAD in feeds."
echo " -n - Do not replace core packages with iopsys versions."
echo " -h - Display this help message and exit."
exit 1
;;
esac
done
git remote -v | grep -qE '(git@|ssh://)' && developer=1
cp .config .genconfig_config_bak
if [ $heads == 1 ]; then
if [ $developer == 1 ]; then
./scripts/feeds update -g
else
./scripts/feeds update
fi
fi
./scripts/feeds update -ai || exit 1
# replace core packages with iopsys versions
if [ $override == 1 ]; then
./scripts/feeds install -f -p openwrt_core -a || exit 1
fi
(
echo '# DO NOT EDIT. Autogenerated file by ./iop feeds_update'
echo 'FEED_DEVICES_DIRS:='
find feeds -type f -name .is-feed-devices-dir -printf 'FEED_DEVICES_DIRS+=$(TOPDIR)/%h'
) > target/linux/feed-devices/feed-devices-list.mk || exit 1
# targets need to be installed explicitly
for target in $(ls ./feeds/targets); do
./scripts/feeds install -f -p targets $target || exit 1
done
# install all packages
./scripts/feeds install -a || exit 1
# remove broken symlinks ( for packages that are no longer in the feed )
find -L package/feeds -maxdepth 2 -type l -delete || exit 1
cp .genconfig_config_bak .config
make defconfig || exit 1
# record when we last run this script
touch tmp/.iop_bootstrap || exit 1
# always return true
exit 0
}
register_command "feeds_update" "Update feeds to point to commit hashes from feeds.conf"
register_command "feeds_update" "Compatibility function only"

View File

@@ -1,7 +1,8 @@
#!/bin/bash
function genconfig {
function genconfig-legacy {
export CLEAN=0
export DIRTY="--dirty"
export IMPORT=1
export SRCTREEOVERR=0
export FILEDIR="files/"
@@ -16,7 +17,7 @@ function genconfig {
brcmbca_feed="target/linux/feeds/brcmbca"
airoha_feed="target/linux/feeds/airoha"
x86_feed="target/linux/feeds/x86"
armvirt_feed="target/linux/feeds/armvirt"
armsr_feed="target/linux/feeds/armsr"
mediatek_feed="target/linux/feeds/mediatek"
qualcomm_ipq95xx_feed="target/linux/feeds/ipq95xx"
qualcomm_ipq53xx_feed="target/linux/feeds/ipq53xx"
@@ -108,8 +109,8 @@ function genconfig {
airoha=$(cd $airoha_feed; ./genconfig)
[ -e $x86_feed/genconfig ] &&
x86=$(cd $x86_feed; ./genconfig)
[ -e $armvirt_feed/genconfig ] &&
armvirt=$(cd $armvirt_feed; ./genconfig)
[ -e $armsr_feed/genconfig ] &&
armsr=$(cd $armsr_feed; ./genconfig)
[ -e $mediatek_feed/genconfig ] &&
mediatek=$(cd $mediatek_feed; ./genconfig)
[ -e $qualcomm_ipq95xx_feed/genconfig ] &&
@@ -118,7 +119,7 @@ function genconfig {
ipq53xx=$(cd $qualcomm_ipq53xx_feed; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in brcmbca airoha x86 armvirt mediatek ipq95xx ipq53xx; do
for list in brcmbca airoha x86 armsr mediatek ipq95xx ipq53xx; do
echo "$list based boards:"
a=$(echo "${!list}" | sort)
for b in $a; do
@@ -144,10 +145,10 @@ function genconfig {
fi
done
for p in $armvirt; do
for p in $armsr; do
if [ $p == $profile ]; then
target="armvirt"
target_config_path="$armvirt_feed/config"
target="armsr"
target_config_path="$armsr_feed/config"
return
fi
done
@@ -195,9 +196,10 @@ function genconfig {
usage() {
echo
echo 1>&2 "Usage: $0 [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
echo 1>&2 "Usage: $0 genconfig-legacy [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
echo
echo -e " -c|--clean\t\tRemove all files under ./files and import from config "
echo -e " -D|--no-dirty\t\tIgnore dirty tree"
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"
@@ -208,7 +210,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 eg400 OPERATORX"
echo "Example ./iop genconfig-legacy eg400 OPERATORX"
echo "(if no customerconfig is chosen, iopsys config will be used)"
echo
exit 0
@@ -363,11 +365,27 @@ function genconfig {
echo "" >> .config
fi
# hack to support custom-devices until we have deprecated this genconfig-script...
if [ -f "feeds/custom_devices/devices/$target/config/$BOARDTYPE/config" ]; then
cat "feeds/custom_devices/devices/$target/config/$BOARDTYPE/config" >> .config
echo "" >> .config
fi
local custom_found=false
local used_config_file
for config_file in feeds/*/devices/$target/config/$BOARDTYPE/config; do
if [ "$custom_found" = "true" ]; then
echo
echo "Error was found!"
echo "Please use only one path."
echo "Two instances of $target/config/$BOARDTYPE exists:"
echo "Path 1: $used_config_file"
echo "Path 2: $config_file"
return 1
fi
if [ -f "$config_file" ]; then
cat "$config_file" >> .config
echo "" >> .config
custom_found=true
used_config_file=$config_file
fi
done
# Special handling for targets which use TARGET_DEVICES
case "$target" in
airoha | mediatek | brcmbca | ipq95xx | ipq53xx)
@@ -381,6 +399,8 @@ function genconfig {
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_DEVICE_${target}_${subtarget}_DEVICE_${BOARDTYPE}=y" >> .config
echo "CONFIG_TARGET_MULTI_PROFILE=y" >> .config
echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=y" >> .config
;;
*)
echo "CONFIG_TARGET_${target}=y" >> .config
@@ -416,7 +436,7 @@ function genconfig {
# Set target version
local git_version
if ! git_version="$(git describe --always --dirty --tags --match '[0-9].*.*' --match '[0-9][0-9].*.*')"; then
if ! git_version="$(git describe --always $DIRTY --tags --match '[0-9].*.*' --match '[0-9][0-9].*.*')"; then
echo "ERROR: Failed getting version via git describe, exiting." >&2
return 1
fi
@@ -476,13 +496,14 @@ function genconfig {
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"
echo "Try ./iop genconfig-legacy -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;;
-D|--no-dirty) export DIRTY="";;
-n|--no-update) export IMPORT=0;;
-v|--verbose) export VERBOSE="$(($VERBOSE + 1))";;
-t|--target) export TARGET="$2"; shift;;
@@ -511,4 +532,4 @@ function genconfig {
fi
}
register_command "genconfig" "Generate configuration for board and customer"
register_command "genconfig-legacy" "Generate configuration for board and customer - legacy mode"

View File

@@ -1,7 +1,8 @@
#!/bin/bash
function genconfig_min {
function genconfig_min-legacy {
export CLEAN=0
export DIRTY="--dirty"
export SRCTREEOVERR=0
export FILEDIR="files/"
CURRENT_CONFIG_FILE=".current_config_file"
@@ -15,7 +16,7 @@ function genconfig_min {
brcmbca_feed="target/linux/feeds/brcmbca"
airoha_feed="target/linux/feeds/airoha"
x86_feed="target/linux/feeds/x86"
armvirt_feed="target/linux/feeds/armvirt"
armsr_feed="target/linux/feeds/armsr"
mediatek_feed="target/linux/feeds/mediatek"
qualcomm_ipq95xx_feed="target/linux/feeds/ipq95xx"
qualcomm_ipq53xx_feed="target/linux/feeds/ipq53xx"
@@ -107,8 +108,8 @@ function genconfig_min {
airoha=$(cd $airoha_feed; ./genconfig)
[ -e $x86_feed/genconfig ] &&
x86=$(cd $x86_feed; ./genconfig)
[ -e $armvirt_feed/genconfig ] &&
armvirt=$(cd $armvirt_feed; ./genconfig)
[ -e $armsr_feed/genconfig ] &&
armsr=$(cd $armsr_feed; ./genconfig)
[ -e $mediatek_feed/genconfig ] &&
mediatek=$(cd $mediatek_feed; ./genconfig)
[ -e $qualcomm_ipq95xx_feed/genconfig ] &&
@@ -117,7 +118,7 @@ function genconfig_min {
ipq53xx=$(cd $qualcomm_ipq53xx_feed; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in brcmbca airoha x86 armvirt mediatek ipq95xx ipq53xx; do
for list in brcmbca airoha x86 armsr mediatek ipq95xx ipq53xx; do
echo "$list based boards:"
a=$(echo "${!list}" | sort)
for b in $a; do
@@ -143,10 +144,10 @@ function genconfig_min {
fi
done
for p in $armvirt; do
for p in $armsr; do
if [ $p == $profile ]; then
target="armvirt"
target_config_path="$armvirt_feed/config"
target="armsr"
target_config_path="$armsr_feed/config"
return
fi
done
@@ -194,9 +195,10 @@ function genconfig_min {
usage() {
echo
echo 1>&2 "Usage: $0 [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
echo 1>&2 "Usage: $0 genconfig_min-legacy [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
echo
echo -e " -c|--clean\t\tRemove all files under ./files and import from config "
echo -e " -D|--no-dirty\t\tIgnore dirty tree"
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"
@@ -207,7 +209,7 @@ function genconfig_min {
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 eg400 OPERATORX"
echo "Example ./iop genconfig_min-legacy eg400 OPERATORX"
echo "(if no customerconfig is chosen, iopsys config will be used)"
echo
exit 0
@@ -337,10 +339,26 @@ function genconfig_min {
echo "" >> .config
fi
# hack to support custom-devices until we have deprecated this genconfig-script...
if [ -f "feeds/custom_devices/devices/$target/config/$BOARDTYPE/config" ]; then
cat "feeds/custom_devices/devices/$target/config/$BOARDTYPE/config" >> .config
echo "" >> .config
fi
local custom_found=false
local used_config_file
for config_file in feeds/*/devices/$target/config/$BOARDTYPE/config; do
if [ "$custom_found" = "true" ]; then
echo
echo "Error was found!"
echo "Please use only one path."
echo "Two instances of $target/config/$BOARDTYPE exists:"
echo "Path 1: $used_config_file"
echo "Path 2: $config_file"
return 1
fi
if [ -f "$config_file" ]; then
cat "$config_file" >> .config
echo "" >> .config
custom_found=true
used_config_file=$config_file
fi
done
# Special handling for targets which use TARGET_DEVICES
case "$target" in
@@ -355,6 +373,8 @@ function genconfig_min {
echo "CONFIG_TARGET_${target}=y" >> .config
echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config
echo "CONFIG_TARGET_DEVICE_${target}_${subtarget}_DEVICE_${BOARDTYPE}=y" >> .config
echo "CONFIG_TARGET_MULTI_PROFILE=y" >> .config
echo "CONFIG_TARGET_PER_DEVICE_ROOTFS=y" >> .config
;;
*)
echo "CONFIG_TARGET_${target}=y" >> .config
@@ -390,7 +410,7 @@ function genconfig_min {
# Set target version
local git_version
if ! git_version="$(git describe --always --dirty --tags --match '[0-9].*.*' --match '[0-9][0-9].*.*')"; then
if ! git_version="$(git describe --always $DIRTY --tags --match '[0-9].*.*' --match '[0-9][0-9].*.*')"; then
echo "ERROR: Failed getting version via git describe, exiting." >&2
return 1
fi
@@ -444,13 +464,14 @@ function genconfig_min {
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"
echo "Try ./iop genconfig_min-legacy -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;;
-D|--no-dirty) export DIRTY="";;
-n|--no-update) export IMPORT=0;;
-v|--verbose) export VERBOSE="$(($VERBOSE + 1))";;
-t|--target) export TARGET="$2"; shift;;
@@ -479,4 +500,4 @@ function genconfig_min {
fi
}
register_command "genconfig_min" "Generate configuration for customer with manual board configuration"
register_command "genconfig_min-legacy" "Generate configuration for customer with manual board configuration - legacy mode"

29
iop/scripts/genconfig_wrap.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
# Function to convert parameters to lowercase
function to_lowercase {
local params=()
for param in "$@"; do
params+=("$(tr '[:upper:]' '[:lower:]' <<< "$param")")
done
echo "${params[@]}"
}
function genconfig {
target_script="./scripts/gen_config.py"
# First convert all to lowercase
args=$(to_lowercase "$@")
# Check if an option is provided
if [[ ${args[0]} == -* ]]; then
# Convert options for target script
if [[ ${args[0]} == "-b" || ${args[0]} == "--boards" ]]; then
args=("--list")
fi
fi
${target_script} ${args[@]}
}
register_command "genconfig" "Generate configuration for board and customer"

View File

@@ -1,108 +0,0 @@
#!/bin/bash
# shellcheck disable=SC2029
build_bcmkernel_consumer() {
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
# 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":"$serverpath"
ssh "$SERVER" "test -f '$serverpath' && ln -sf '$serverpath' '$serverlink'"
rm -f $tarfile
cd "$curdir"
}
build_endptmngr_consumer() {
# create endptmngr open version tar file
local endptversion endptcommith
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" ] && [ -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
mkdir endptmngr-open-$endptversion/src
cp ./src/endptmngr endptmngr-open-$endptversion/src
cp -r ./files/ endptmngr-open-$endptversion/
tar -czv endptmngr-open-$endptversion/ -f endptmngr-$profile-$endptversion-$endptcommith.tar.gz
scp -pv endptmngr-$profile-$endptversion-$endptcommith.tar.gz $SERVER:$FPATH/
cp endptmngr-$profile-$endptversion-$endptcommith.tar.gz $curdir/
rm -rf endptmngr-open-$endptversion
rm -f endptmngr-$profile-$endptversion-$endptcommith.tar.gz
cd "$curdir"
}
function print_usage {
echo "Usage: $0 generate_tarballs"
echo " -t <target>"
}
function generate_tarballs {
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
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 .)
curdir="$PWD"
# Execute user command
while getopts "t:h" opt; do
case $opt in
t)
stk_target=${OPTARG}
;;
h)
print_usage
exit 1
;;
\?)
print_usage
exit 1
;;
esac
done
if [ -z "$stk_target" ]; then
print_usage
exit 1
fi
if [ "$stk_target" == "broadcom" ]; then
build_bcmkernel_consumer
build_endptmngr_consumer
else
echo "Invalid target: $stk_target"
print_usage
exit 1
fi
}
register_command "generate_tarballs" "Generate tarballs for Open SDK"

View File

@@ -1,646 +1,10 @@
#!/bin/bash
print_git_update()
{
echo "pkg -> ${PKG_NAME}"
echo " PKG_BUILD_DIR = ${PKG_BUILD_DIR}"
echo " PKG_DIR = ${PKG_DIR}"
echo " PKG_SOURCE = ${PKG_SOURCE}"
echo " PKG_NAME = ${PKG_NAME}"
echo " PKG_SOURCE_URL = ${PKG_SOURCE_URL}"
echo " PKG_SOURCE_PROTO= ${PKG_SOURCE_PROTO}"
echo " PKG_SOURCE_VERSION= ${PKG_SOURCE_VERSION}"
echo " PKG_SOURCE = ${PKG_SOURCE}"
echo " PKG_SOURCE_VERSION_FILE=${PKG_SOURCE_VERSION_FILE}"
}
is_git_same()
{
git_last=$(cd ${PKG_BUILD_DIR}; git rev-parse HEAD)
#echo "$PKG_NAME $git_last = ${PKG_SOURCE_VERSION}"
if [ "$git_last" == "${PKG_SOURCE_VERSION}" ]
then
return 0
fi
return 1
}
update_this_pkg()
{
mk_hash=$(get_makefile_hash)
if [ "$mk_hash" != "${PKG_SOURCE_VERSION}" ]
then
echo "${PKG_NAME}:"
echo " build dir = ${PKG_BUILD_DIR}"
echo " feed makefile = ${mk_hash}"
echo " stale hash = ${PKG_SOURCE_VERSION}"
echo " build git = $(cd ${PKG_BUILD_DIR}; git rev-parse HEAD)"
echo " Git hash in package makefile and the git hash recorded from last compile of"
echo " package is different. You probably want to recompile the package"
echo " to get an up to date version in ${PKG_BUILD_DIR}/.git_update"
echo ""
echo -n " Should we continue with the update anyway? [y/N]:"
read answer
echo ""
case $answer in
y|Y)
;;
n|N|*)
return 1;;
esac
fi
echo "${PKG_NAME}:"
echo " build dir = ${PKG_BUILD_DIR}"
echo " pkg dir = ${PKG_DIR}"
echo " feed makefile = ${PKG_SOURCE_VERSION}"
echo " build git = $(cd ${PKG_BUILD_DIR}; git rev-parse HEAD)"
echo " package is at a different git commit in build compared to feed"
echo -n " Should we update the feed and top project to reflect the new version ? [y/N]:"
read answer
echo ""
case $answer in
y|Y)
return 0;;
*)
echo ""
return 1;;
esac
}
get_makefile_hash()
{
if [ -n "$PKG_SOURCE_VERSION_FILE" ]
then
name="$PKG_SOURCE_VERSION_FILE"
else
name=Makefile
fi
grep "PKG_SOURCE_VERSION:=" ${PKG_DIR}/${name} | sed -e "s/\(^PKG_SOURCE_VERSION:=\)\(.*\)/\2/"
}
insert_hash_in_feed_makefile()
{
if [ -n "$PKG_SOURCE_VERSION_FILE" ]
then
name="$PKG_SOURCE_VERSION_FILE"
else
name=Makefile
fi
git_last=$(cd ${PKG_BUILD_DIR}; git rev-parse HEAD)
sed -i -e "s/\(^PKG_SOURCE_VERSION:=\).*/\1${git_last}/" ${PKG_DIR}/${name}
(cd ${PKG_DIR}; git add ${name})
}
insert_version_in_feed_makefile()
{
if [ -n "$PKG_SOURCE_VERSION_FILE" ]
then
name="$PKG_SOURCE_VERSION_FILE"
else
name=Makefile
fi
last_version=$(awk -F '=' '/PKG_VERSION:=/ {print $2}' ${PKG_DIR}/${name})
echo -n "please enter version: "
read -ei "$last_version" answer
if [ -z ${answer} ]; then
return
fi
sed -i -e "s/\(^PKG_VERSION:=\).*/\1${answer}/" ${PKG_DIR}/${name}
(cd ${PKG_DIR}; git add ${name})
}
# BUG: fix if only local branche name!
branch_uptodate()
{
# $1 git repo
# $2 if it exist dont abort do the pull
(cd $1
git remote update 2>&1 >/dev/null
LOCAL=$(git rev-parse @)
REMOTE=$(git rev-parse @{u})
BASE=$(git merge-base @ @{u})
if [ -z "$REMOTE" ]; then
BRANCH=$(basename $(git symbolic-ref -q HEAD))
echo "You need to setup a tracking branch for $BRANCH"
exit 99
fi
if [ $LOCAL = $REMOTE ]; then
return
elif [ $LOCAL = $BASE ]; then
if [ -n "$2" ]
then
echo "Doing automatic pull on [ $1 ]"
if git pull
then
return
else
echo "Something wrong with pull. aborting, repo at"
echo " [ $1 ]"
exit 99
fi
else
echo "Local repo behind remote:"
echo "do git pull at repo"
echo " [ $1 ]"
exit 99
fi
elif [ $REMOTE = $BASE ]; then
echo "Local repo ahead of remote. A push is needed"
echo "Repo is at: $1"
echo ""
echo -n "Should we try a push ? [Y/n]:"
read answer
echo ""
case $answer in
n|N|q|Q)
exit 99;;
*)
echo -e "${Yellow}"
if ! git push origin HEAD
then
echo -e "${Color_Off}"
exit 99
fi
echo -e "${Color_Off}Push done."
;;
esac
else
echo "Diverged. not sure what you did but there is no tracking branch. "
echo "repo at [ $1 ]. fix it so that there is a tracking branch remote."
echo "Often this is related to somebody having commited to the same branch"
echo "on the server so a simple push wont work, try a 'git rebase'."
exit 99
fi
)
}
on_a_branch()
{
local repo=$1
local type=$2
(
cd $repo
name=$(git symbolic-ref -q HEAD)
if [ -z "$name" ]
then
echo "git $type repo [ $repo ] is detached."
branches=($(git branch -r --contains $(git rev-parse HEAD)))
if [ 0 == ${#branches[@]} ]
then
echo "It needs to be on a branch but git could not find any associated branch"
echo ""
echo "you need to make sure that the commit is not on a detached branch"
echo "and that the branch exist in the remote repo also. it can not be a local name"
echo "as it is about to get pushed so it can be part of system release"
exit 99
fi
echo "It needs to be on a branch. Please select one or quit if it is not in list."
echo ""
i=0
for branch in ${branches[*]}
do
echo "$i: $branch"
i=$((i + 1))
done
echo ""
echo -n "Select what branch to checkout. Q/q or N/n to quit? "
read answer
case $answer in
q|Q|n|N)
echo "Aborting!"
exit 99;;
esac
echo -e "${Yellow}"
pwd
echo "git checkout ${branches[$answer]}"
if ! git checkout -t ${branches[$answer]}
then
local_branch=$(basename ${branches[$answer]})
if ! git checkout ${local_branch}
then
echo -e "${Color_Off}"
echo "update_git aborting! something was wrong changing to branch ${branches[$answer]}"
echo "go to [ $repo ] and fix it."
exit 99
fi
fi
echo -e "${Color_Off}"
fi
)
}
git_repos_uptodate()
{
on_a_branch ${PKG_BUILD_DIR} package
on_a_branch ${PKG_DIR} feed
on_a_branch ${PWD} top
branch_uptodate ${PKG_BUILD_DIR}
branch_uptodate ${PKG_DIR} do_pull
branch_uptodate ${PWD} do_pull
}
get_feed_name()
{
echo $1 |sed -e "s|.*feeds/\([^/]*\).*|\1|"
# rest=$(dirname $1)
# base=$(basename $1)
# prev=$base
# while [ -n "$rest" ]
# do
# if [ "$base" == "feeds" ]
# then
# echo "$prev"
# fi
# done
}
create_message()
{
FORMAT="commit %H%n\
Author: %aN <%aE>%n\
Date: %ai%n\
%n\
%w(80,4,4)%s%n
%b%n\
%w()Base directory -> ${repo_PATH}/"
local FROM=${PKG_SOURCE_VERSION}
local TO=$(cd ${PKG_BUILD_DIR}; git rev-parse HEAD)
local commits=$(cd ${PKG_BUILD_DIR};git rev-list ${FROM}..${TO})
local feed=$(get_feed_name ${PKG_DIR})
echo "Update feed [ $feed ] package [ $PKG_NAME ]"
echo ""
echo "-------------------------------------------------------------------------------"
(cd ${PKG_BUILD_DIR}; git log --graph --oneline ${FROM}..${TO})
echo "-------------------------------------------------------------------------------"
for commit in $commits
do
(cd ${PKG_BUILD_DIR}; git show --stat --pretty=format:"$FORMAT" $commit)
echo "-------------------------------------------------------------------------------"
done
}
edit_file()
{
echo -en "${Red}"
echo "Here is the commit message we are going to use!"
echo "-------------------------------------------------------------------------------"
echo -en "${Color_Off}"
cat $1
echo -en "${Red}"
echo "-------------------------------------------------------------------------------"
echo -en "${Color_Off}"
echo -n "Do you want to edit the message [y/N]? "
read answer
case $answer in
y|Y)
$EDITOR $1;;
esac
}
commit_feed()
{
template=$(readlink -f $1)
edit_file $template
echo -e "${Yellow}"
(
cd ${PKG_DIR}
if git commit -F $template
then
if git push origin HEAD
then
echo -e "${Color_Off} Feed Updated!"
return
else
echo -e "${Color_Off}"
echo "something wrong push feed git ${PKG_DIR}"
exit 99
fi
else
echo -e "${Color_Off}"
echo "something wrong committing to feed git ${PKG_DIR}"
exit 99
fi
)
}
commit_feeds_config()
{
template=$(readlink -f $1)
edit_file $template
echo -e "${Yellow}"
if git commit -F $template
then
if git push origin HEAD
then
echo -e "${Color_Off}Feeds.conf updated!"
return
else
echo -e "${Color_Off}"
echo "something wrong push change to feeds.conf"
echo "try \"git remote update ; git stash ;git rebase; git push;git stash pop\""
exit 99
fi
else
echo -e "${Color_Off}"
echo "something wrong committing to feed git"
exit 99
fi
}
insert_hash_in_feeds_config()
{
local feed=$(get_feed_name ${PKG_DIR})
local TO=$(cd ${PKG_DIR}; git rev-parse HEAD)
sed -i feeds.conf -e "/ ${feed} / s/\(.*\)[;^].*/\1^${TO}/"
git add feeds.conf
}
check_packages()
{
echo -e "${Green}_______________________________________________________________________________${Color_Off}"
echo "Now checking if any changes have been done to the packages."
echo -e "${Green}_______________________________________________________________________________${Color_Off}"
# only scan in the build directory that is currently in use.
CPU=$(grep "CONFIG_CPU_TYPE=" .config| cut -f2 -d\")
LIBC=$(grep "CONFIG_LIBC=" .config| cut -f2 -d\")
# First scan all files in build dir for packages that have .git directories.
all_pkgs=$(find build_dir/*${CPU}*${LIBC}* -name ".git")
for pkg in `echo "$all_pkgs"`
do
pkg=$(dirname $pkg)
# check if the git in build is at same commit id as the feed makefile points out
if [ -e ${pkg}/.git_update ]
then
source ${pkg}/.git_update
fi
# print_git_update
if [ -n "${PKG_NAME}" ]
then
if ! is_git_same
then
if update_this_pkg
then
# print_git_update
git_repos_uptodate
insert_hash_in_feed_makefile
[ ${UPDATE} -eq 1 ] && insert_version_in_feed_makefile
create_message >tmp/msg
commit_feed tmp/msg
insert_hash_in_feeds_config
commit_feeds_config tmp/msg
fi
fi
fi
done
}
# now handle the target git. we have only one
feeds_hash()
{
grep -v "^#" feeds.conf | grep " $1 " | grep "\^" | sed -e "s/.*[;^]\(.*\)/\1/"
}
insert_feed_hash_in_feeds_config()
{
local feed=$1
local TO=$(cd feeds/${feed}; git rev-parse HEAD)
sed -i feeds.conf -e "/ ${feed} / s/\(.*\)[;^].*/\1^${TO}/"
git add feeds.conf
}
create_feed_message()
{
local feed=$1
local FROM=$2
local TO=$3
local FORMAT="commit %H%n\
Author: %aN <%aE>%n\
Date: %ai%n\
%n\
%w(80,4,4)%s%n
%b%n\
%w()Base directory -> feeds/$feed/"
local commits=$(cd feeds/$feed;git rev-list ${FROM}..${TO})
echo "Update feed [ $feed ]"
echo ""
echo "-------------------------------------------------------------------------------"
(cd feeds/$feed; git log --graph --oneline ${FROM}..${TO})
echo "-------------------------------------------------------------------------------"
for commit in $commits
do
(cd feeds/$feed; git show --stat --pretty=format:"$FORMAT" $commit)
echo "-------------------------------------------------------------------------------"
done
}
check_feeds()
{
echo -e "${Green}_______________________________________________________________________________${Color_Off}"
echo "Now checking if any changes have been done to the feeds."
echo -e "${Green}_______________________________________________________________________________${Color_Off}"
feeds="$1"
[ -n "$feeds" ] || feeds=$(grep -v "^#" feeds.conf| awk '{print $2}')
for feed in `echo $feeds`
do
feed_hash=$(feeds_hash $feed)
[ -n "$feed_hash" ] || continue
if [ -d feeds/$feed ]; then
in_git=$(cd feeds/$feed; git rev-parse HEAD)
if [ "$feed_hash" != "$in_git" ]
then
name=$(cd feeds/$feed;git symbolic-ref -q HEAD)
if [ -z "$name" ]
then
echo "Feed feeds/${feed} is at a git commit which is different from feeds.conf"
#echo "git id from feeds.conf [$feed_hash] git id from feeds/${feed} [$in_git]"
on_a_branch feeds/${feed} feed
#redo the test here and see if the feeds.conf and git is still different.
in_git=$(cd feeds/$feed; git rev-parse HEAD)
if [ "$feed_hash" = "$in_git" ]
then
continue
fi
fi
LOCAL=$(cd feeds/$feed;git rev-parse @)
REMOTE=$(cd feeds/$feed;git rev-parse @{u})
BASE=$(cd feeds/$feed;git merge-base @ @{u})
# if we are behind the remote automatically do a pull
if [ $LOCAL = $BASE ]; then
(cd feeds/$feed ; git pull 1>/dev/null)
#redo the test here and see if the feeds.conf and git is still different.
in_git=$(cd feeds/$feed; git rev-parse HEAD)
if [ "$feed_hash" = "$in_git" ]
then
continue
fi
fi
echo "Feed feeds/${feed} is at different commit than what is in feeds.conf"
#echo "git id from feeds.conf [$feed_hash] git id from feeds/${feed} [$in_git]"
echo -n "Should we update feeds.conf to reflect the new version ? [y/N]:"
read answer
case $answer in
n|N|'')
continue;;
esac
branch_uptodate feeds/${feed}
create_feed_message ${feed} $feed_hash $in_git >tmp/msg
insert_feed_hash_in_feeds_config ${feed}
commit_feeds_config tmp/msg
fi
fi
done
}
is_local_and_remote_same()
{
git remote update 2>/dev/null 1>/dev/null
LOCAL=$(git rev-parse @)
REMOTE=$(git rev-parse @{u})
if [ $LOCAL = $REMOTE ]
then
return
fi
local_name=$(git rev-parse --abbrev-ref @ )
remote_name=$(git rev-parse --abbrev-ref @{u} )
echo "Top repo local branch \"$local_name\" is not at same point as remote \"$remote_name\""
echo "This update script will update the feeds.conf file and for that to work it needs to"
echo "be up to date with the remote."
echo ""
echo "please run:"
echo " git pull"
echo " ./iop feeds_update"
echo ""
echo "do not forget the bootstrap. but do not run make it can delete your package in build"
exit 0
}
usage(){
echo -e "$0 [flags]"
echo -e "flags:"
echo -e " -f\tFeed to update"
echo -e " -h\tShow this help"
echo -e " -u\tUpdate package version\n"
}
# Exported interface
function update_package {
UPDATE=0
Color_Off='\033[0m' # Text Reset
# Regular Colors
Black='\033[0;30m' # Black
Red='\033[0;31m' # Red
Green='\033[0;32m' # Green
Yellow='\033[0;33m' # Yellow
Blue='\033[0;34m' # Blue
Purple='\033[0;35m' # Purple
Cyan='\033[0;36m' # Cyan
White='\033[0;37m' # White
while getopts "f:hu" opt; do
case $opt in
f)
feed=$OPTARG
;;
h)
usage
exit 1
;;
u)
UPDATE=1
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
if [ -z "$EDITOR" ]
then
if [ -f /usr/bin/vi ]; then
EDITOR=vi
else
echo "env variable EDITOR needs to be set"
exit 1
fi
fi
# allow subshells to abort the whole program by exiting with "exit 99"
set -E
trap '[ "$?" -ne 99 ] || exit 99' ERR
is_local_and_remote_same
[ -n "$feed" ] || check_packages
check_feeds $feed
update_package() {
echo "update_package is no longer supported." >&2
echo "Its replacement will come soon." >&2
echo >&2
echo "For now update references in profiles/include/*.yml and feeds.conf.io manually." >&2
return 1
}
register_command "update_package" "Publish changes to packages and feeds"
register_command "update_package" "No longer used command"

50
iopsys-analytics/Makefile Normal file
View File

@@ -0,0 +1,50 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=iopsys-analytics
PKG_RELEASE:=$(COMMITCOUNT)
PKG_LICENSE:=PROPRIETARY
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=88dd7997ed78b1ab02c2904ed90518c46a8fa26b
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/iopsys-analytics.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
CATEGORY:=Utilities
TITLE:=Analytics tweaks for IOPSYS CI/CD purposes
# setting core dump limit
DEPENDS+= \
+prlimit \
# monitoring
DEPENDS+= \
+collectd \
+collectd-mod-cpu \
+collectd-mod-exec \
+collectd-mod-load \
+collectd-mod-memory \
+collectd-mod-network \
+collectd-mod-processes \
+collectd-mod-write-http \
+@PACKAGE_COLLECTD_ENCRYPTED_NETWORK \
# remote syslog
DEPENDS+= \
+syslog-ng \
+@SYSLOGNG_LOGROTATE \
endef
define Package/$(PKG_NAME)/description
Analytics tweaks for IOPSYS internal CI/CD purposes
e.g. syslog, system health, coredumps...
endef
Build/Compile=
define Package/$(PKG_NAME)/install
$(CP) -r $(PKG_BUILD_DIR)/files/* $(1)/
endef
$(eval $(call BuildPackage,$(PKG_NAME)))

57
libdpp/Makefile Normal file
View File

@@ -0,0 +1,57 @@
#
# Copyright (C) 2020-2023 Iopsys
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libdpp
PKG_VERSION:=2.0.0
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=f22959b107a8bf443d04d6261d00074b5514dfe8
PKG_SOURCE_URL:=https://dev.iopsys.eu/multi-ap/libdpp.git
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=LGPL-2.1-only
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/libdpp/description
Library providing APIs for DPP EasyConnect frame generation and handling
endef
define Package/libdpp
TITLE:= DPP EasyConnect library (libdpp)
DEPENDS:= +libeasy +libopenssl +libgcrypt +libubox +libwifiutils
endef
MAKE_PATH:=lib
define Build/InstallDev/libdpp
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/dpp_api.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/lib/dpputils.h $(1)/usr/include/
$(CP) $(PKG_BUILD_DIR)/lib/libdpp.so* $(1)/usr/lib/
endef
define Build/InstallDev
$(call Build/InstallDev/libdpp,$(1),$(2))
endef
define Package/libdpp/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libdpp.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libdpp))

View File

@@ -24,8 +24,9 @@ include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_brcmbca),y)
TARGET_PLATFORM=BROADCOM
CHIP_ID=$(patsubst "%",%,$(CONFIG_BCM_CHIP_ID))
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_BCM9$(CHIP_ID) \
CONFIG_ID=$(SUBTARGET:bcm%=BCM%)
CHIP_ID=$(CONFIG_ID:BCM9%=%)
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_$(CONFIG_ID) \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/userspace/public/include
else ifeq ($(CONFIG_TARGET_x86),y)

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libeasy
PKG_VERSION:=7.2.100
PKG_VERSION:=7.4.3
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=32db1b79bd88eba85a3e7518dbbbd1e29f4b06d9
PKG_SOURCE_VERSION:=ba80dcc51056772c906cac8022a2537b74959e6a
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libeasy.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
@@ -28,6 +28,12 @@ TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include/openssl \
-I$(STAGING_DIR)/usr/include/libnl3
ifeq ($(LOCAL_DEV),1)
define Build/Prepare
rsync -r --exclude=.* ~/git/libeasy/ $(PKG_BUILD_DIR)/
endef
endif
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS) -Wall"
@@ -50,9 +56,13 @@ define Build/InstallDev/libeasy
$(CP) $(PKG_BUILD_DIR)/easy.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/event.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/utils.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/bufutil.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/cryptutil.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/ecc_cryptutil.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/if_utils.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/debug.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/hlist.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/timestamp.h $(1)/usr/include/easy/
$(CP) $(PKG_BUILD_DIR)/libeasy*.so* $(1)/usr/lib/
endef

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libethernet
PKG_VERSION:=7.2.104
PKG_VERSION:=7.2.107
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=d777636ca43302a95e571ab030ec44ef50905570
PKG_SOURCE_VERSION:=9c0e9ecd62b79d4e89b4f013f04124870d237395
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libethernet.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -24,8 +24,9 @@ include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_brcmbca),y)
TARGET_PLATFORM=BROADCOM
CHIP_ID=$(patsubst "%",%,$(CONFIG_BCM_CHIP_ID))
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_BCM9$(CHIP_ID) \
CONFIG_ID=$(SUBTARGET:bcm%=BCM%)
CHIP_ID=$(CONFIG_ID:BCM9%=%)
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_$(CONFIG_ID) \
-I$(STAGING_DIR)/usr/include/bcm963xx/shared/opensource/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/userspace/public/include

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libqos
PKG_VERSION:=7.2.101
PKG_VERSION:=7.2.106
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=93ca0a66d6f82bca208bbe52b75ed582b20aa094
PKG_SOURCE_VERSION:=02dba6571fddd9b4c5b4b671270604b4c0faf9ae
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libqos.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
PKG_MIRROR_HASH:=skip
@@ -24,8 +24,9 @@ include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_brcmbca),y)
TARGET_PLATFORM=BROADCOM
CHIP_ID=$(patsubst "%",%,$(CONFIG_BCM_CHIP_ID))
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_BCM9$(CHIP_ID) \
CONFIG_ID=$(SUBTARGET:bcm%=BCM%)
CHIP_ID=$(CONFIG_ID:BCM9%=%)
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_$(CONFIG_ID) \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/userspace/public/include
else ifeq ($(CONFIG_TARGET_x86),y)
@@ -37,14 +38,11 @@ else ifeq ($(CONFIG_TARGET_armvirt),y)
else ifeq ($(CONFIG_TARGET_airoha),y)
TARGET_PLATFORM=ECONET
TARGET_CFLAGS +=-DIOPSYS_ECONET
else ifeq ($(CONFIG_TARGET_ipq95xx),y)
TARGET_PLATFORM=IPQ95XX
TARGET_CFLAGS +=-DIPQ95XX
else ifeq ($(CONFIG_TARGET_mediatek),y)
TARGET_PLATFORM=LINUX
TARGET_CFLAGS +=-DIOPSYS_LINUX
TARGET_PLATFORM=MEDIATEK
TARGET_CFLAGS +=-DIOPSYS_MEDIATEK
else
$(info Unexpected CONFIG_TARGET, use default LINUX)
$(info Using default LINUX)
TARGET_PLATFORM=LINUX
TARGET_CFLAGS +=-DIOPSYS_LINUX
endif

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-airoha
PKG_RELEASE:=1
PKG_VERSION:=1.0.4
PKG_VERSION:=1.0.12
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=8ced85cd48f8bdd7d238fc1ded3a218dd19aeae9
PKG_SOURCE_VERSION:=68f0b4f3edecea9b8f05e72b6bbf3952d3946b7c
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -2,7 +2,7 @@
"ulaw": {
"name": "G.711MuLaw",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 64
@@ -10,7 +10,7 @@
"alaw": {
"name": "G.711ALaw",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 64
@@ -18,15 +18,16 @@
"g726": {
"name": "G.726",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 16
"bitrate": 16,
"rtp_payload": 80
},
"g723": {
"name": "G.723.1",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 30,
"ptime_increment": 30,
"bitrate": 5.3
@@ -34,26 +35,18 @@
"g729": {
"name": "G.729",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 10,
"bitrate": 8
},
"ilbc": {
"name": "iLBC",
"g722": {
"name": "G.722",
"ptime_min": 10,
"ptime_max": 30,
"ptime_max": 60,
"ptime_default": 20,
"ptime_increment": 30,
"bitrate": 15.2
},
"gsm": {
"name": "AMR",
"ptime_min": 10,
"ptime_max": 30,
"ptime_default": 20,
"ptime_increment": 20,
"bitrate": 12.2
"ptime_increment": 10,
"bitrate": 64
}
}

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-broadcom
PKG_RELEASE:=1
PKG_VERSION:=1.0.1
PKG_VERSION:=1.0.9
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=548f8fccc9f8f0b5dd6bb39bdd9cac8659400cb6
PKG_SOURCE_VERSION:=3a8d0954ca351a1f8f669dc2f3d294409b90f091
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif
@@ -28,7 +28,7 @@ PKG_CONFIG_DEPENDS:=CONFIG_TARGET_BOARD
LIBVOICE_PKG_BUILD_DIR := $(PKG_BUILD_DIR)
export CONFIG_BCM_CHIP_ID
export BCM_CHIP_ID:=$(SUBTARGET)
include $(INCLUDE_DIR)/package.mk

View File

@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libvoice-d2
PKG_RELEASE:=1
PKG_VERSION:=1.0.6
PKG_VERSION:=1.1.4
PKG_LICENSE:=PROPRIETARY
PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/$(PKG_NAME).git
PKG_SOURCE_VERSION:=062a265754b93a865cfcd2745f200aa09fb4a668
PKG_SOURCE_VERSION:=17388c54e14d8505254c0640067cf697760310ee
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
endif

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libwifi
PKG_VERSION:=7.2.106
PKG_VERSION:=7.4.42
LOCAL_DEV=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=b0af6d0fc35bc0e66ae8643c038e867b4688695b
PKG_SOURCE_VERSION:=c3efa4ecd3bbf8247bc1b4c3e0ff512e42649531
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libwifi.git
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz
@@ -26,8 +26,9 @@ include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_brcmbca),y)
TARGET_PLATFORM=BROADCOM
TARGET_WIFI_TYPE=BROADCOM
CHIP_ID=$(patsubst "%",%,$(CONFIG_BCM_CHIP_ID))
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_BCM9$(CHIP_ID) \
CONFIG_ID=$(SUBTARGET:bcm%=BCM%)
CHIP_ID=$(CONFIG_ID:BCM9%=%)
TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_$(CONFIG_ID) \
-I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \
-I$(STAGING_DIR)/usr/include/bcm963xx/userspace/public/include
else ifeq ($(CONFIG_TARGET_x86),y)
@@ -46,9 +47,13 @@ else ifeq ($(CONFIG_TARGET_ipq95xx),y)
TARGET_PLATFORM=IPQ95XX
TARGET_WIFI_TYPE=QUALCOMM MAC80211
TARGET_CFLAGS +=-DIPQ95XX
else ifeq ($(CONFIG_TARGET_ipq53xx),y)
TARGET_PLATFORM=IPQ53XX
TARGET_WIFI_TYPE=QUALCOMM MAC80211
TARGET_CFLAGS +=-DIPQ53XX
else ifeq ($(CONFIG_TARGET_mediatek),y)
TARGET_PLATFORM=LINUX
TARGET_WIFI_TYPE=MAC80211
TARGET_WIFI_TYPE=MEDIATEK MAC80211
TARGET_CFLAGS +=-DIOPSYS_LINUX
else
$(info Unexpected CONFIG_TARGET, use default MAC80211)
@@ -57,6 +62,12 @@ else
TARGET_CFLAGS +=-DIOPSYS_MAC80211
endif
ifneq ($(CONFIG_PACKAGE_kmod-mt7915e),)
TARGET_CFLAGS=-DMT7915_VENDOR_EXT
endif
PKG_BUILD_DEPENDS:=PACKAGE_kmod-mt7915e:mt76
ifneq ($(CONFIG_PACKAGE_libwifi),)
TARGET_CFLAGS +=-DHAS_WIFI
endif
@@ -132,7 +143,7 @@ define Package/libwifi/config
config LIBWIFI_USE_CTRL_IFACE
bool "Create UNIX sockets to interface with hostapd/wpa_supplicant"
default n
default y
endif
endef

View File

@@ -8,28 +8,28 @@ config AGENT_SYNC_DYNAMIC_CNTLR_CONFIG
config AGENT_ISLAND_PREVENTION
bool "Support Island Prevention"
default y if MULTIAP_AGENT_ISLAND_PREVENTION
default y
config AGENT_EASYMESH_R2_CERT
bool "Compile for WFA test bed"
config AGENT_EASYMESH_VERSION
int "Support Easymesh version"
default 2
default 4
config AGENT_EASYMESH_VENDOR_EXT
bool "Enable extra features through Easymesh vendor extension"
default y
config AGENT_EASYMESH_VENDOR_EXT_OUI_DEFAULT
string
default "\\\\x11\\\\x22\\\\x33"
hex "Vendor OUI default"
default 0xB456FA
config AGENT_EASYMESH_VENDOR_EXT_OUI
string "Vendor OUI in '\\\\xAB\\\\xCD\\\\xEF' format"
hex "Vendor OUI in 0xAABBCC format"
default AGENT_EASYMESH_VENDOR_EXT_OUI_DEFAULT
help
Extra features not covered by the base Easymesh specification can be
Extra features not covered by the base EasyMesh specification can be
enabled through AGENT_EASYMESH_VENDOR_EXT. Please provide the Vendor's OUI
through which such features would be exposed.
@@ -45,5 +45,15 @@ config AGENT_LOCAL_ACS_SERVICE
config AGENT_STRICT_OPER_CHANNEL_REPORT
bool "Report operation channel strictly, skip some unsolicited reports"
config AGENT_WIRELESS_EXPLICIT_RELOAD
bool "Reload wireless after UCI commit"
config AGENT_OPER_CHANNEL_CHANGE_RELAY_MCAST
bool "Use config opt to determine if Oper Channel Report CMDU is send as relayed multicast or directly to controller"
default y
config AGENT_USE_LIBDPP
bool "Depend on libdpp for DPP EasyConnect"
endmenu
endif

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-agent
PKG_VERSION:=4.3.3.9
PKG_VERSION:=4.5.1.15.1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=051b38fa01fee46f4b4184442972a8af3c349b7c
PKG_SOURCE_VERSION:=e0538bb1eb0b85ac085e6abb61ebbf8e1712f1e7
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
PKG_LICENSE:=BSD-3-Clause
@@ -28,16 +28,19 @@ define Package/map-agent
CATEGORY:=Utilities
TITLE:=WiFi multi-AP Agent (EasyMesh R2)
DEPENDS:=+libwifi +libuci +libubox +ubus +libeasy +libieee1905 +ieee1905 \
+map-plugin +ip-bridge
+ieee1905-map-plugin +ip-bridge +AGENT_USE_LIBDPP:libdpp
endef
ifeq ($(CONFIG_AGENT_USE_LIBDPP),y)
TARGET_CFLAGS += -DUSE_LIBDPP
endif
define Package/dynbhd
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Dynamic Backhaul Daemon
DEPENDS:=+libwifi +libuci +libubox +ubus +libeasy +libieee1905 +ieee1905 \
+map-plugin +map-agent
+ieee1905-map-plugin +map-agent
endef
@@ -74,7 +77,7 @@ TARGET_CFLAGS += -DEASYMESH_R2_CERT
endif
ifeq ($(CONFIG_AGENT_EASYMESH_VENDOR_EXT),y)
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT_OUI=\\\"$(CONFIG_AGENT_EASYMESH_VENDOR_EXT_OUI)\\\"
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT_OUI=$(CONFIG_AGENT_EASYMESH_VENDOR_EXT_OUI)
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT
endif
@@ -94,6 +97,14 @@ ifeq ($(CONFIG_AGENT_STRICT_OPER_CHANNEL_REPORT),y)
TARGET_CFLAGS += -DSTRICT_OPER_CHANNEL_REPORT
endif
ifeq ($(CONFIG_AGENT_WIRELESS_EXPLICIT_RELOAD),y)
TARGET_CFLAGS += -DWIRELESS_EXPLICIT_RELOAD
endif
ifeq ($(CONFIG_AGENT_OPER_CHANNEL_CHANGE_RELAY_MCAST),y)
TARGET_CFLAGS += -DOPER_CHAN_CHANGE_RELAY_MCAST
endif
MAKE_PATH:=src
define Package/map-agent/install

View File

@@ -1,14 +1,16 @@
config agent 'agent'
option enabled '1'
option enabled '0'
option debug '0'
option profile '2'
option profile '3'
option al_bridge 'br-lan'
option netdev 'wlan'
option island_prevention '0'
option eth_onboards_wifi_bhs '0'
# option controller_macaddr '0a:1b:2c:3d:4e:50'
option eth_onboards_wifi_bhs '1'
option scan_on_boot_only '0'
option chan_ch_relay_mcast '0'
option guest_isolation '1'
list map_port 'all'
# option controller_macaddr '0a:1b:2c:3d:4e:50'
config dynamic_backhaul
option missing_bh_timer '60'
@@ -21,9 +23,9 @@ config controller_select
option autostart '1'
option local '0'
config radio
option device 'phy0'
option band '2'
#config radio
# option device 'phy0'
# option band '2'
# options below are auto-generated during onboarding
# option steer_policy '0'
# option util_threshold '0'
@@ -34,9 +36,9 @@ config radio
# option include_sta_stats '1'
# option include_sta_metric '1'
config radio
option device 'phy1'
option band '5'
#config radio
# option device 'phy1'
# option band '5'
# options below are auto-generated during onboarding
# option steer_policy '0'
# option util_threshold '0'
@@ -47,12 +49,12 @@ config radio
# option include_sta_stats '1'
# option include_sta_metric '1'
config bsta
option enabled '1'
option ifname 'wlan0'
option band '2'
option device 'phy0'
option priority '2'
#config bsta
# option enabled '1'
# option ifname 'wlan0'
# option band '2'
# option device 'phy0'
# option priority '2'
# options below are auto-generated during onboarding
# option ssid 'MAP-BH-2.4GHz'
# option encryption 'sae-mixed'
@@ -61,12 +63,12 @@ config bsta
# option bssid '0a:1b:2c:3d:4e:53'
# option vid '1'
config bsta
option enabled '1'
option ifname 'wlan1'
option band '5'
option device 'phy1'
option priority '0'
#config bsta
# option enabled '1'
# option ifname 'wlan1'
# option band '5'
# option device 'phy1'
# option priority '0'
# options below are auto-generated during onboarding
# option ssid 'MAP-BH-5GHz'
# option encryption 'sae-mixed'

View File

@@ -2,7 +2,7 @@
. /lib/network/utils.sh
conn_ports_file="/tmp/map.connected.ports"
conn_ports_file="/var/run/multiap/map.connected.ports"
map_bh_file="/var/run/multiap/multiap.backhaul"
al_bridge="$(uci -q get mapagent.agent.al_bridge)"
[ "${al_bridge:0:3}" = "br-" ] || exit 0
@@ -11,11 +11,15 @@ al_brnet="${al_bridge:3}"
# Exit if the PORT is not member of the AL Bridge
[ "$(get_network_of $PORT)" = "$al_brnet" ] || exit 0
# Exit if the device is not operating in extender/repeater mode
[ "$(uci -q get network.${al_brnet}.proto)" == "dhcp" ] || exit 0
############## Dynamic Backhaul Daemon ##############
if [ -n "$(which dynbhd)" ]; then
pidof dynbhd >/dev/null && exit 0 # dynbhd is managing the links
if [ ! -f $conn_ports_file ]; then
mkdir -p /var/run/multiap
touch $conn_ports_file
if [ "$LINK" = "up" ]; then
touch $conn_ports_file
@@ -47,8 +51,6 @@ if [ -n "$wanport" ]; then
########################################################
else
#################### DHCP Discovery ####################
[ "$(uci -q get network.${al_brnet}.proto)" == "dhcp" ] || exit 0
if [ "$LINK" = "up" ]; then
brctl delif $al_bridge $PORT
@@ -67,7 +69,7 @@ fi
remove_from_bridge() {
config_get ifname "$section" ifname
[ -n "$ifname" ] && ubus call network.interface.${al_brnet} remove_device '{"name":"$ifname"}'
[ -n "$ifname" ] && brctl delif ${al_bridge} ${ifname}
}
update_bstas() {

View File

@@ -179,7 +179,16 @@ create_dir() {
}
start_service() {
[ -f /usr/sbin/dynbhd ] && start_dynbhd_service
if [ -f /usr/sbin/dynbhd ]; then
# Start dynbhd only if the device is operating in extender/repeater mode
al_bridge="$(uci -q get mapagent.agent.al_bridge)"
if [ "${al_bridge:0:3}" = "br-" ]; then
al_brnet="${al_bridge:3}"
if [ "$(uci -q get network.${al_brnet}.proto)" == "dhcp" ]; then
start_dynbhd_service
fi
fi
fi
config_load "mapagent"
validate_agent_config || return 1;
@@ -210,3 +219,8 @@ reload_service() {
stop
start
}
boot() {
/lib/wifi/multiap conf
start
}

View File

@@ -0,0 +1,200 @@
#!/bin/sh /etc/rc.common
. /lib/functions.sh
generate_mapagent_config=0
generate_wireless_sta_config=0
network_mode="$(fw_printenv -n netmode)"
multiap_mode="$(fw_printenv -n multiap_mode)"
is_airoha() {
[ -f /proc/device-tree/compatible ] || return
strings /proc/device-tree/compatible | grep -qE '^(econet,|airoha,)'; return
}
is_broadcom() {
[ -e /dev/bcm ] && return 0
return 1
}
is_qualcomm() {
[ -d /sys/module/ath12k ] && return 0
return 1
}
generate_multiap_config() {
devidx=0
generate_config() {
dev="$1"
[ -n "$dev" ] || continue
config_get band $dev band
mode_band=""
priority=
dpp_chan=
channels=
case "$band" in
2g)
mode_band=2
priority=2
dpp_chan="81/1"
channels="1 6 11"
;;
5g)
mode_band=5
priority=1
dpp_chan="128/36"
channels="36-64 100-112"
;;
6g)
mode_band=6
priority=0
dpp_chan="133/49"
;;
esac
[ -n "$mode_band" ] || continue
devidx=$(echo ${dev} |tr -dc '0-9')
device="$dev"
if is_airoha; then
ifprefix="wlan%_%"
ifname="wlan${devidx}_0"
ifname_bh="wlan${devidx}_1"
uci set wireless.$dev.channels="$channels"
uci commit wireless
elif is_broadcom; then
ifprefix="wl"
ifname="wl${devidx}"
ifname_bh="$ifname.1"
device="wl${devidx}"
brcm_setup="1"
elif is_qualcomm; then
ifprefix="wlan0%-"
ifname="wlan${devidx}"
ifname_bh="wlan${devidx}-1"
ap_follow_sta_dfs="1"
else
ifprefix="wlan%-"
ifname="wlan$devidx"
ifname_bh="$ifname-1"
fi
if [ $generate_mapagent_config -eq 1 ]; then
uci set mapagent.agent.ifprefix="$ifprefix"
uci set mapagent.agent.brcm_setup="$brcm_setup"
uci set mapagent.agent.ap_follow_sta_dfs="$ap_follow_sta_dfs"
uci add mapagent radio
uci set mapagent.@radio[-1].device="$device"
uci set mapagent.@radio[-1].band="$mode_band"
if [ "$network_mode" == "extender" ]; then
uci add mapagent bsta
uci set mapagent.@bsta[-1].device="$device"
uci set mapagent.@bsta[-1].ifname="$ifname"
uci set mapagent.@bsta[-1].band="$mode_band"
uci set mapagent.@bsta[-1].priority="$priority"
#uci add mapagent dpp_uri
#uci set mapagent.@dpp_uri[-1].type="qrcode"
#uci set mapagent.@dpp_uri[-1].device="$device"
#uci set mapagent.@dpp_uri[-1].ifname="$ifname"
#uci set mapagent.@dpp_uri[-1].band="$mode_band"
#uci set mapagent.@dpp_uri[-1].chirp_interval="10"
#uci add_list mapagent.@dpp_uri[-1].dpp_chan="$dpp_chan"
if [ $generate_wireless_sta_config -eq 1 ]; then
secname="default_sta_${device}"
uci set wireless.$secname=wifi-iface
uci set wireless.$secname.device="$device"
uci set wireless.$secname.mode="sta"
uci set wireless.$secname.ifname="$ifname"
uci set wireless.$secname.disabled="0"
uci set wireless.$secname.default_disabled="1"
uci set wireless.$secname.multi_ap="1"
uci commit wireless
else
ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \
\"match\":{\"mode\":\"sta\", \"ifname\":\"$ifname\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"1\"}}" 2>/dev/null
fi
else
uci add mapagent ap
uci set mapagent.@ap[-1].type="fronthaul"
uci set mapagent.@ap[-1].device="$device"
uci set mapagent.@ap[-1].ifname="$ifname"
uci set mapagent.@ap[-1].band="$mode_band"
uci add mapagent ap
uci set mapagent.@ap[-1].type="backhaul"
uci set mapagent.@ap[-1].device="$device"
uci set mapagent.@ap[-1].ifname="$ifname_bh"
uci set mapagent.@ap[-1].band="$mode_band"
if [ "$multiap_mode" != "none" ]; then
ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \
\"match\":{\"ifname\":\"$ifname\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"2\"}}" 2>/dev/null
ubus call uci set "{\"config\":\"wireless\",\"type\":\"wifi-iface\", \
\"match\":{\"ifname\":\"$ifname_bh\", \"device\":\"$device\"},\"values\":{\"multi_ap\":\"1\"}}" 2>/dev/null
fi
fi
fi
}
config_load wireless
config_foreach generate_config wifi-device
}
map_genconf () {
if [ -f /etc/config/mapagent -a -z "$(uci -q get mapagent.@radio[0].band)" ]; then
generate_mapagent_config=1
fi
if [ "$network_mode" == "extender" ]; then
if ! uci show wireless | grep -q "mode=.*sta"; then
generate_wireless_sta_config=1
if is_broadcom; then
for section in $(uci show wireless | grep wifi-device | cut -d'.' -f2 | cut -d'=' -f1); do
uci -q set wireless.$section.apsta="1"
done
fi
for section in $(uci show wireless | grep "mode=.*ap" | cut -d'.' -f2); do
uci delete wireless.$section
done
fi
fi
generate_multiap_config
if [ $generate_mapagent_config -eq 1 ]; then
uci set mapagent.agent.enabled="1"
if [ "$multiap_mode" == "agent" ]; then
uci -q set mapagent.@controller_select[0].autostart=0
uci -q set mapagent.@controller_select[0].local=0
elif [ "$multiap_mode" == "auto" ]; then
uci -q set mapagent.@controller_select[0].autostart=1
uci -q set mapagent.@controller_select[0].local=0
elif [ "$multiap_mode" == "full" ]; then
uci -q set mapagent.@controller_select[0].autostart=1
uci -q set mapagent.@controller_select[0].local=1
elif [ "$multiap_mode" == "none" ]; then
uci set mapagent.agent.enabled="0"
fi
uci -q commit mapagent
fi
if [ "$multiap_mode" == "agent" -o "$multiap_mode" == "none" ]; then
uci set mapcontroller.controller.enabled="0"
else
uci set mapcontroller.controller.enabled="1"
fi
uci -q commit mapcontroller
}

View File

@@ -11,20 +11,24 @@ config CONTROLLER_EASYMESH_VENDOR_EXT
default y
config CONTROLLER_EASYMESH_VENDOR_EXT_OUI_DEFAULT
string
default "\\\\x11\\\\x22\\\\x33"
hex "Vendor OUI default"
default 0xB456FA
config CONTROLLER_EASYMESH_VERSION
int "Support Easymesh version"
default 2
default 4
config CONTROLLER_EASYMESH_VENDOR_EXT_OUI
string "Vendor OUI in '\\\\xAB\\\\xCD\\\\xEF' format"
hex "Vendor OUI in 0xAABBCC format"
default CONTROLLER_EASYMESH_VENDOR_EXT_OUI_DEFAULT
help
Extra features not covered by the base Easymesh specification can be
Extra features not covered by the base EasyMesh specification can be
enabled through CONTROLLER_EASYMESH_VENDOR_EXT. Please provide the Vendor's OUI
through which such features would be exposed.
config CONTROLLER_USE_LIBDPP
bool "Depend on libdpp for DPP EasyConnect"
endmenu
endif

View File

@@ -5,9 +5,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-controller
PKG_VERSION:=4.3.0.8
PKG_VERSION:=4.6.0.5.2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=0d83f8acd66a4cb97f2f123149696334d7f03e6e
PKG_SOURCE_VERSION:=27b2dabe45811909122a90e185bab3860a340084
PKG_MAINTAINER:=Jakob Olsson <jakob.olsson@iopsys.eu>
LOCAL_DEV=0
@@ -27,9 +27,15 @@ define Package/map-controller
SECTION:=utils
CATEGORY:=Utilities
TITLE:=WiFi Multi-AP Controller (EasyMesh R2)
DEPENDS:=+libuci +libubox +ubus +libeasy +libwifiutils +libieee1905 +ieee1905 +map-plugin
DEPENDS:=+libuci +libubox +ubus +libeasy +libwifiutils +libieee1905 +ieee1905 +ieee1905-map-plugin \
+CONTROLLER_USE_LIBDPP:libdpp
endef
ifeq ($(CONFIG_CONTROLLER_USE_LIBDPP),y)
TARGET_CFLAGS += -DUSE_LIBDPP
endif
define Package/map-controller/description
This package provides WiFi MultiAP Controller as per the EasyMesh-R2 specs.
endef
@@ -53,7 +59,7 @@ TARGET_CFLAGS += -DCONTROLLER_SYNC_DYNAMIC_CNTLR_CONFIG
endif
ifeq ($(CONFIG_CONTROLLER_EASYMESH_VENDOR_EXT),y)
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT_OUI=\\\"$(CONFIG_CONTROLLER_EASYMESH_VENDOR_EXT_OUI)\\\"
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT_OUI=$(CONFIG_CONTROLLER_EASYMESH_VENDOR_EXT_OUI)
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT
endif

View File

@@ -1,13 +1,16 @@
config controller 'controller'
option enabled '1'
option registrar '2 5'
option enabled '1' # may be modified by other package start-up scripts (i.e. map-agent)
option profile '3'
option registrar '2 5 6'
option debug '0'
option bcn_metrics_max_num '10'
option initial_channel_scan '0'
option primary_vid '0'
option enable_ts '0'
option primary_vid '1'
option primary_pcp '0'
option allow_bgdfs '0'
option channel_plan '0'
option de_collect_interval '60'
config sta_steering
option steer_module 'rcpi'
@@ -18,40 +21,65 @@ config sta_steering
option use_usta_metrics '0'
option bandsteer '0'
option diffsnr '8'
option rcpi_threshold_2g '70'
option rcpi_threshold_5g '86'
option rcpi_threshold_6g '86'
option report_rcpi_threshold_2g '80'
option report_rcpi_threshold_5g '96'
option report_rcpi_threshold_6g '96'
###################
# Default AP sections credentials will by updated
# by uci-defaults script 99-mapcntlr
###################
config ap
option band '2'
option ssid '$DEVICE_MANUFACTURER-$BASEMAC_ADDR'
option encryption 'sae-mixed'
option key '$WIFI_FH_KEY'
option vid '1'
option ssid 'IOWRT-2.4GHz'
option encryption 'sae-mixed'
option key '1234567890'
config ap
option band '5'
option type 'fronthaul'
option vid '1'
option ssid 'IOWRT-5GHz'
option encryption 'sae-mixed'
option key '1234567890'
config ap
option band '2'
option type 'backhaul'
option vid '1'
list disallow_bsta '0'
option ssid 'MAP-BH-2.4GHz'
option encryption 'sae'
option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
config ap
option band '5'
option ssid '$DEVICE_MANUFACTURER-$BASEMAC_ADDR'
option encryption 'sae-mixed'
option key '$WIFI_FH_KEY'
option vid '1'
option type 'fronthaul'
config ap
option band '6'
option ssid '$DEVICE_MANUFACTURER-$BASEMAC_ADDR'
option encryption 'sae'
option key '$WIFI_FH_KEY'
option vid '1'
option type 'fronthaul'
config ap
option band '2'
option ssid 'MAP-$BASEMAC_ADDR-BH'
option encryption 'sae'
option key '$WIFI_BH_KEY'
option type 'backhaul'
option vid '1'
list disallow_bsta '0'
option ssid 'MAP-BH-5GHz'
config ap
option band '5'
option ssid 'MAP-$BASEMAC_ADDR-BH'
option encryption 'sae'
option key '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ0'
option key '$WIFI_BH_KEY'
option type 'backhaul'
option vid '1'
config ap
option band '6'
option ssid 'MAP-$BASEMAC_ADDR-BH'
option encryption 'sae'
option key '$WIFI_BH_KEY'
option type 'backhaul'
option vid '1'
# node and radio sections (per node) are auto
# generated per Multi-AP Agent in the network
@@ -62,8 +90,6 @@ config ap
# option backhaul_ul_macaddr '00:00:00:00:00:00'
# option backhaul_dl_macaddr '00:00:00:00:00:00'
# option backhaul_type 'none'
# option primary_vid '1'
# option primary_pcp '0'
# option report_sta_assocfails '0'
# option report_sta_assocfails_rate '0'
# option report_metric_periodic '0'

View File

@@ -0,0 +1,18 @@
#!/bin/sh
. /etc/device_info
WIFI_BH_KEY=$(openssl rand -rand /dev/urandom -hex 64 2>/dev/null | openssl dgst -hex -sha256 | cut -d " " -f 2)
WIFI_BH_KEY=${WIFI_BH_KEY::-1}
BASEMAC_ADDR="$(fw_printenv -n ethaddr | tr -d ':' | tr 'a-z' 'A-Z')"
[ ${#BASEMAC_ADDR} -eq 12 ] || BASEMAC_ADDR="$(db -q get device.deviceinfo.BaseMACAddress | tr -d ':')"
WIFI_FH_KEY="$(db get hw.board.wpa_key)"
WIFI_FH_KEY="${WIFI_FH_KEY:-1234567890}"
sed -i -e "s/\$BASEMAC_ADDR/$BASEMAC_ADDR/g" \
-e "s/\$WIFI_FH_KEY/$WIFI_FH_KEY/g" \
-e "s/\$WIFI_BH_KEY/$WIFI_BH_KEY/g" \
-e "s/\$DEVICE_MANUFACTURER/$DEVICE_MANUFACTURER/g" \
/etc/config/mapcontroller 2>/dev/null

View File

@@ -7,14 +7,14 @@ config TOPOLOGYD_EASYMESH_VENDOR_EXT
default y
config TOPOLOGYD_EASYMESH_VENDOR_EXT_OUI_DEFAULT
string
default "\\\\x11\\\\x22\\\\x33"
hex "Vendor OUI default"
default 0xB456FA
config TOPOLOGYD_EASYMESH_VENDOR_EXT_OUI
string "Vendor OUI in '\\\\xAB\\\\xCD\\\\xEF' format"
hex "Vendor OUI in 0xAABBCC format"
default TOPOLOGYD_EASYMESH_VENDOR_EXT_OUI_DEFAULT
help
Extra features not covered by the base Easymesh specification can be
Extra features not covered by the base EasyMesh specification can be
enabled through TOPOLOGYD_EASYMESH_VENDOR_EXT. Please provide the Vendor's OUI
through which such features would be exposed.

View File

@@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=map-topology
PKG_VERSION:=2.5.1.24
PKG_VERSION:=2.5.2.1
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_VERSION:=9f15e813c39ff23cef27975ce138bd3286f30adf
PKG_SOURCE_VERSION:=914f1ead2e65c1e24ed2d8786aa883730db2208f
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/multi-ap/map-topology.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
@@ -49,7 +49,7 @@ endef
MAKE_PATH:=src
ifeq ($(CONFIG_TOPOLOGYD_EASYMESH_VENDOR_EXT),y)
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT_OUI=\\\"$(CONFIG_TOPOLOGYD_EASYMESH_VENDOR_EXT_OUI)\\\"
TARGET_CFLAGS += -DEASYMESH_VENDOR_EXT_OUI=$(CONFIG_TOPOLOGYD_EASYMESH_VENDOR_EXT_OUI)
endif
ifeq ($(CONFIG_TOPOLOGYD_HOST_WAN_STATS),y)

View File

@@ -1,5 +0,0 @@
config global 'global'
option ageing_timer '1440'
option reboot_persistent '0'
list ifname 'br-lan'

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