Compare commits

..

249 Commits

Author SHA1 Message Date
yyashvardhan
bf125d0750 Ticket#576: Implement rest of the operate commands 2019-05-01 11:58:24 +05:30
vdutta
26efd8075e PoC#578: [USPD] multiple element set in one set command 2019-04-25 13:08:39 +05:30
vdutta
369a371fd3 Ticket#460: Updated group logic in uspd get operation 2019-04-18 11:43:16 +05:30
vdutta
672a2914ba Ticket#460: Update get and operate command in uspd 2019-04-17 18:32:32 +05:30
vdutta
24a4cea696 Ticket#460: Updated output format of uspd 2019-04-11 14:29:16 +05:30
vdutta
02700e01c7 Ticket#460: Updated search by reference logic in uspd 2019-04-10 13:01:40 +05:30
vdutta
e280e6e2ac Ticket#460: Added operate in uspd 2019-04-09 18:21:32 +05:30
vdutta
9f454afaef Ticket-460: USP extention for TR-069
Description:
 - First draft of the changes

Test Done:
 - Below ubus call tested
   ubus call usp get '{"path":"Device.WiFi.SSID.[BSSID==\"00:22:07:6D:5E:DD\"].SSID"}'
   ubus call usp get '{"path":"Device.IP.Interface.*.IPv4Address.*.IPAddress"}'
   ubus call usp get '{"path":"Device.WiFi.AccessPoint.[SSIDReference+BSSID==\"00:22:07:6D:5E:DD\"].SSID"}'
   ubus call usp set '{"path":"Device.WiFi.AccessPoint.[SSIDReference+BSSID==\"00:22:07:6D:5E:D\"].SSID", "value":"Test-2G"}'

Not Covered:
 - Operate command
 - Alias based addressing
 - Searching with List of References
2019-04-05 19:41:38 +05:30
Oussama Ghorbel
7b0e391f98 gryphon-led-module: fix memory allocation issue 2019-04-05 14:07:43 +02:00
Jakob Olsson
fa8094da2c samba: update hex_filter performance 2019-04-05 09:24:18 +02:00
Oussama Ghorbel
7d202f64b0 gryphon-led-module: move the driver to LED modules section 2019-04-04 10:30:04 +02:00
Oussama Ghorbel
b7b48d7815 gryphon-led-module: added driver for RGB led 2019-04-04 08:38:28 +02:00
vdutta
6a483badac Added NDT speed test client
Test:
 - web100clt client is available in DUT(ex400) on including ndt package
2019-04-02 16:12:33 +02:00
Sukru Senli
8756e51e1f netmode: fix acl for netmodes 2019-04-02 12:06:26 +02:00
Kent Ekholm
338ed66325 voice-client: Fixed line name error caused by 60742c4. 2019-04-02 12:04:16 +02:00
Sachin Singla
7907ca2725 ifbt: add syslog debugging feature 2019-04-02 11:53:06 +02:00
Anjan Chanda
2481be3c17 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 359524d libwifi: fix dependency errors of wext.c
* 03f9203 libwifi: integrate intel nlwifi support
-------------------------------------------------------------------------------
commit 359524ddd8a17df39c70c5ba39e723e9641d5956
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-04-01 16:51:55 +0200

    libwifi: fix dependency errors of wext.c

Base directory -> /
 libwifi/Makefile | 4 ++--
 libwifi/wifi.c   | 6 +++++-
 2 files changed, 7 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
commit 03f920394f47730e0326705d61d8a8e6a04f0810
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-04-01 16:00:51 +0200

    libwifi: integrate intel nlwifi support

Base directory -> /
 libwifi/Makefile  |   9 +-
 libwifi/drivers.c |   3 +
 libwifi/drivers.h |   3 +
 libwifi/intel.h   | 142 ++++++++++++++++
 libwifi/nlwifi.c  | 482 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 libwifi/wext.c    |   1 -
 libwifi/wifi.c    |  88 +++++++++-
 libwifi/wifi.h    |   8 +
 8 files changed, 729 insertions(+), 7 deletions(-)
-------------------------------------------------------------------------------
2019-04-01 17:08:20 +02:00
Anjan Chanda
922509742f Update feed [ iopsys ] package [ wifimngr ]
-------------------------------------------------------------------------------
* 1de666d match iftype in uci_wifi_get_interfaces function
* 4b4087d account for vifs in wildcard dumps
* ba40c08 assoclist can dump info for all radios
-------------------------------------------------------------------------------
commit 1de666d20954b818c075c9166a005d1ae13526d6
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-03-29 14:49:03 +0100

    match iftype in uci_wifi_get_interfaces function

Base directory -> /
 wifimngr.c | 31 +++++++++++++++++++++----------
 1 file changed, 21 insertions(+), 10 deletions(-)
-------------------------------------------------------------------------------
commit 4b4087d3970258c2fd7e90e65df923e3f699189e
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-03-28 11:50:50 +0100

    account for vifs in wildcard dumps

Base directory -> /
 wifimngr.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 65 insertions(+), 7 deletions(-)
-------------------------------------------------------------------------------
commit ba40c089a07601cb4831fc82abde940d5b9937fc
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-03-21 13:06:57 +0100

    assoclist can dump info for all radios

Base directory -> /
 wifimngr.c | 106 ++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 67 insertions(+), 39 deletions(-)
-------------------------------------------------------------------------------
2019-04-01 16:14:29 +02:00
Amin Ben Ramdhane
12eeaab14f icwmp: implements ticket refs #475 2019-04-01 15:05:50 +01:00
Benjamin Larsson
5ddd8d9565 tools: Add ltq-nand host tool 2019-04-01 16:00:31 +02:00
Omar Kallel
1612137a98 icwmp: Device.DHCPv4. TR-181 object 2019-04-01 10:20:45 +01:00
Yalu Zhang
72d7f0fcf8 Restart asterisk when configuration changes
This is just a temporary workaround since "intel reload" doesn't work properly on
Intel platform. The commitment will be reverted when the problem is solved.
2019-04-01 11:01:25 +02:00
Sukru Senli
60742c42b3 voice-client: fix line syntax 2019-04-01 10:40:48 +02:00
Sukru Senli
4acd35f27e rulengd: v1.1.0 with json recipe support 2019-03-30 19:53:59 +01:00
Sachin Singla
a20c24b2e1 ifbt: change event name to wifi.fbt 2019-03-29 17:55:17 +01:00
Kenneth Johansson
1c0ec3b441 dslmngr: fix dependency on easy-soc-libs.
The header file xdsl.h is created from easy-soc-libs package.
2019-03-29 16:39:27 +01:00
Amin Ben Ramdhane
195993ad4c Ticket refs #378: TR-181: Device.IP.Diagnostics 2019-03-29 11:39:37 +01:00
Amin Ben Ramdhane
a1cf420672 icwmp-4.0-2019-03-29 2019-03-29 10:25:41 +01:00
Sachin Singla
a65cd95ebe libwifi: add PMKR0 for MTK 2019-03-29 09:23:13 +01:00
Sachin Singla
2b355ac6ed ifbt: fix issues in ifbt 2019-03-28 16:44:25 +01:00
Kenneth Johansson
0d36a03130 genconfig: add option to force build of bcmkernel to one thread.
to allow the jenkins builds to use this but to still default to
parallel build for developers.
2019-03-28 15:22:59 +01:00
Sachin Singla
a92b3b6c70 ifbt: fix ifbt issues 2019-03-28 12:14:02 +01:00
Sachin Singla
2ae73ef3b9 add PMK_R0 for 11r 2019-03-28 10:36:46 +01:00
Sachin Singla
581377431c increase inbd buffer 2019-03-28 10:23:22 +01:00
Sukru Senli
ad027d5ed6 ice-client: restrict read access to ice user password 2019-03-27 18:05:04 +00:00
Kent Ekholm
9573b64759 voice-client: Make it possible to set echo cancelling.
Ref: #425
2019-03-27 17:34:31 +01:00
Jakob Olsson
7222f366dd questd: update pkg to include wificontrol compilation fixes 2019-03-27 16:24:54 +01:00
Jakob Olsson
a54562e035 Revert "questd: remove wificontrol"
This reverts commit 7513d32e91.
2019-03-27 16:14:13 +01:00
Jakob Olsson
747e201f4c questd: update pkg to include wificontrol re-addition to makefile 2019-03-27 16:14:13 +01:00
Jakob Olsson
866ff67c27 questd: remove wificontrol 2019-03-27 15:50:09 +01:00
Jakob Olsson
b895b5f1b5 questd: update pkg to include router.network refactor #17078 #17081
Primarily a router.network overhaul, but also minor router.system
info fix.
2019-03-27 15:50:09 +01:00
Jakob Olsson
f09ecd8a78 wifilife: update pkg to include legacy steer options #17100 2019-03-27 12:36:22 +01:00
Jonas Höglund
2ac91191f6 Fix updating wrong boot loader 2019-03-27 12:09:18 +01:00
Jonas Höglund
f29d2b89e2 Update feed [ iopsys ] package [ u-boot ]
-------------------------------------------------------------------------------
* 0ef53f2 Use correct CBM_FREQ value for Maia board.
* 811579e easy550: fix format system variable
* a168343 norrland: bbt mtd partition is no longer needed
* f4bc231 norrland: fix ramfs boot
-------------------------------------------------------------------------------
commit 0ef53f269c27f8e736fd30fd1a874159f70c76bf
Author: Jonas Höglund <jonas.hoglund@embeddednation.com>
Date: 2019-03-27 11:14:37 +0100

    Use correct CBM_FREQ value for Maia board.

    Having the wrong value causes slow traffic after configuring QOS egress
    queues.

Base directory -> /
 configs/grx500_norrland_defconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 811579e5015cc58cadd6e065977315552763ff71
Author: Oussama Ghorbel <oussama.ghorbel@iopsys.eu>
Date: 2019-03-26 17:21:05 +0100

    easy550: fix format system variable

Base directory -> /
 include/configs/iopsys_easy550.h | 1 +
 1 file changed, 1 insertion(+)
-------------------------------------------------------------------------------
commit a1683431d586c1353c36d75fd04f7c120a66d55b
Author: Oussama Ghorbel <oussama.ghorbel@iopsys.eu>
Date: 2019-03-26 16:20:17 +0100

    norrland: bbt mtd partition is no longer needed

Base directory -> /
 include/configs/iopsys_norrland.h | 6 +++---
 lib_iopsys/factory.c              | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)
-------------------------------------------------------------------------------
commit f4bc23162608f3d83eccb5ba0a65e21eaa294420
Author: Oussama Ghorbel <oussama.ghorbel@iopsys.eu>
Date: 2019-03-22 12:10:23 +0100

    norrland: fix ramfs boot

Base directory -> /
 include/configs/iopsys_norrland.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
2019-03-27 11:25:25 +01:00
Amin Ben Ramdhane
86847b3435 icwmp-4.0-2019-03-26 2019-03-26 16:31:59 +01:00
Sukru Senli
6979da23ea voice-client: use correct key value for lines 2019-03-26 15:50:14 +01:00
Sukru Senli
22b307a967 voice-client: adapt config file to new section name changes 2019-03-26 09:25:28 +01:00
Sukru Senli
40ab082d84 wifilife: set dnsmasq lease hwmask according to mobility domain id 2019-03-23 11:46:36 +01:00
Kenneth Johansson
d6b3059ca9 genconfig: add mirror for tar files.
New location http://download.iopsys.eu/iopsys/mirror/
2019-03-22 15:27:46 +01:00
Sukru Senli
93b80cf4e9 netmode: enable arp_discovery tool by default 2019-03-21 11:28:31 +01:00
Sukru Senli
0085626e8e netmode: disable wificontrol and arp_discovery tools by default 2019-03-21 11:27:35 +01:00
Jakob Olsson
e132128e13 samba: use hex_filter when creating user and password #17065 2019-03-20 13:56:34 +01:00
Jakob Olsson
83ad72d797 Revert "quest: update pkg to fix router.network for repeated clients"
This reverts commit f8857b208d.
2019-03-19 16:21:27 +01:00
Oussama Ghorbel
52749424b6 uboot: update uboot version and pkg_release for intel_mips 2019-03-19 15:58:11 +01:00
Oussama Ghorbel
1a4f39918d uboot: provides lib for uboot upgrade
This will allows to update uboot from other script
disable the init.d/uboot script on intel as it's no longer needed
2019-03-19 14:50:53 +01:00
Sukru Senli
e8c7708afb iop: some more cleanup; remove ice-client and iup by default 2019-03-19 11:43:34 +01:00
Sukru Senli
d0249844c8 iop: cleanup from obselete configs 2019-03-19 11:37:57 +01:00
Sukru Senli
37de921473 iop: juci plugin selection cleanup 2019-03-19 11:27:19 +01:00
Jakob Olsson
42b4fd7e44 netmode: update pkg removal of perror on fopen 2019-03-19 10:37:41 +01:00
Sukru Senli
20500dcafb voice-client: reload asterisk upon ifup even if not bound to a specific interface 2019-03-19 08:52:18 +01:00
Kent Ekholm
4678f529cb Update feed [ iopsys ] package [ endptmngr ]
-------------------------------------------------------------------------------
* 44e2472 Changed endpoint section name from BRCM to TEL because that is now used in UCI DB.
-------------------------------------------------------------------------------
commit 44e2472e8c08bef01fab27e8e908d5672f7af136
Author: Kent Ekholm <Kent.Ekholm@evidente.se>
Date: 2019-03-18 15:52:26 +0100

    Changed endpoint section name from BRCM to TEL because that is now used in
    UCI DB.

    Ref: #400

Base directory -> /
 src/ubus.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-03-18 16:11:01 +01:00
Kent Ekholm
40240bda8d Merge branch 'kent_400' into devel 2019-03-18 13:27:22 +01:00
Yalu Zhang
3a39529bef Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
commit be5b0d0c0a1c2abd335aaf19f01f63284d8cc285
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Fri Mar 15 15:28:16 2019 +0100

    Update the format of UBUS calls' outputs
2019-03-15 17:22:39 +01:00
Kent Ekholm
fa145a60f3 voice-client: Using double quotes around string.
Ref: #400
2019-03-15 17:05:34 +01:00
Kent Ekholm
754e42f0d4 voice-client: Added dbus function to get platform and other platform specific info.
Ref: #400
2019-03-15 16:03:56 +01:00
Jakob Olsson
107c6bf7fe quest: update pkg to fix router.network for repeated clients 2019-03-15 09:55:24 +01:00
Sachin Singla
757f4ad4c4 add EX400 master support 2019-03-14 13:53:59 +01:00
Yalu Zhang
a4d250c91d Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
commit dd34d6bfa4f41f15c840050c3702eb6b7090332c
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Tue Mar 12 16:33:19 2019 +0100

    Fixed a bug in libdsl for line/channel number check

commit a741970252c97836589624e553200ce02b9b6814
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Mon Mar 11 11:52:56 2019 +0100

    Support multiple lines and channels

Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
commit ea107cd743b44da93171780a8c136e87984e4016
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Wed Mar 13 12:18:31 2019 +0100

    Code cleanup: remove some unused functions

commit 448a69af1fa5b90e6f63b71738e952ae32b1eddf
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Tue Mar 12 11:51:27 2019 +0100

    Reorganize the output formats of UBUS calls

    - Support multiple lines and channels
    - Embed channel(s) in the line
    - Make text values more user friendly in C conventions
2019-03-13 12:26:09 +01:00
Jakob Olsson
1bd31876ce wifilife: update pkg to include fix that exits on wifix radios timeout #16739 2019-03-13 10:14:35 +01:00
Jakob Olsson
420c5f2b7f wifilife: update pkg hash to fix agent crash on cleaned timeouts #17005 2019-03-12 13:29:46 +01:00
Jakob Olsson
19f41d4896 netmode: run save/apply _wet_cfg through pre and post scripts #16601 2019-03-12 09:58:47 +01:00
Sukru Senli
a450ee83c5 netmode: if automode set to 0, do not change mode depending on ipaddr type 2019-03-11 15:20:25 +01:00
Oussama Ghorbel
e3eedf90e8 norrland: reserve mtd partition for bbt 2019-03-11 12:58:22 +01:00
Yalu Zhang
e4e6ab960f Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
commit 37d09f28bb5622e1d3ddf5e48f71e2e0f81cc04c
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Tue Mar 5 11:19:11 2019 +0100

    Revert libwifi to the previous version due to compilation errors

    libwifi is curretnly under development in another branch devel-wifi-new.

Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
commit 6df93110ba0f59ac8bf860a1b46121e9f71b3f3a
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Fri Mar 1 16:13:28 2019 +0100

    Provide UBUS calls for status of DSL channel
2019-03-05 11:29:55 +01:00
Kent Ekholm
4a45764a5c Using TEL instead of platform specific channel name.
Ref: 400
2019-03-05 11:00:43 +01:00
Kent Ekholm
933b98aec2 Changing platform specific name "brcm" to general name "tel".
Ref: #400
2019-03-04 17:43:09 +01:00
Jakob Olsson
ccdcbf2dfc netmode: update pkg to include flashing led change #16963 2019-03-04 16:46:24 +01:00
Kenneth Johansson
c5e4078895 genconfig: add verification to config.
This makes an extra check to see that option we want set is actually
in the final config.
2019-03-04 14:10:54 +01:00
Jakob Olsson
2bd55602cd wifilife: update pkg to include minor memory leak fix 2019-03-04 12:25:40 +01:00
Jakob Olsson
c39b1bfacb netmode: update pkg ot include flashing leds during zero-touch #16963 2019-03-04 12:16:13 +01:00
Kent Ekholm
48c6fea60a voice-client: Removed debug log.
Ref: #345
2019-02-27 14:17:39 +01:00
Kent Ekholm
bfa91bad06 Merge branch 'kent_345' into devel 2019-02-27 14:12:23 +01:00
Kent Ekholm
234d1356b3 voice-client: Fixing typo.
Ref: #345
2019-02-27 13:43:50 +01:00
Kent Ekholm
561083d810 Different platforms is handled during installation.
Ref: #345
2019-02-27 10:39:35 +01:00
Omar Kallel
ebbf818206 icwmp: Device.Users.User. Object (missing parameters) 2019-02-26 16:32:53 +01:00
Yalu Zhang
7c653918f3 Update dslmngr's Makefile for platform dependent libraries 2019-02-25 16:26:54 +01:00
Jakob Olsson
ba336baf46 netmode: do ubus call commit owsd after writing to owsd config #16739
Daemons such as wifilife are dependent on owsd configuration. Wifilife
was started with the controller running and it was never being stopped,
despite owsd config being changed.
2019-02-25 13:07:56 +01:00
Jakob Olsson
e2c49a8945 samba: add hex filter to discard newline section or config #16885 2019-02-22 09:06:37 +01:00
Jakob Olsson
38a1faae48 Revert "samba: prevent mulitple lines from being written to an option in smb.conf"
This reverts commit 88291c196a.
2019-02-22 09:06:26 +01:00
Jakob Olsson
d4b4304ea7 Revert "samba: prevent multiple lines from being written from uci to smb.conf #16885"
This reverts commit 8784439985.
2019-02-22 09:06:08 +01:00
Omar Kallel
f7069dc1f3 icwmp: Device.Users.User object 2019-02-21 17:48:28 +01:00
Kent Ekholm
372032a114 Merge remote-tracking branch 'refs/remotes/origin/kent_345' into kent_345 2019-02-21 12:33:20 +01:00
Kent Ekholm
a73500f662 Fixes for telephone line naming.
Ref: 345
2019-02-21 12:24:22 +01:00
Kent Ekholm
32d990e0c4 Changing TAPI channel index.
Ref: #345
2019-02-21 12:24:22 +01:00
Kent Ekholm
c382d4b1c1 voice-client: Make voice-client scripts work for both Broadcom and Intel.
Ref: #345
2019-02-21 12:24:22 +01:00
Kent Ekholm
da63d95232 voice-client: Making voice-client scripts work for both Broadcom and Intel.
Ref: #345
2019-02-21 12:24:22 +01:00
Kent Ekholm
63ca2e0541 Fixes for telephone line naming.
Ref: 345
2019-02-21 12:21:35 +01:00
Amin Ben Ramdhane
bfa3126cbc icwmp: generate XML datamodel files for TR-098 and TR-181 according to BBF schema 2019-02-21 11:13:21 +01:00
Omar Kallel
53c23dfe00 icwmp: Device.Ethernet.VLANtermination. development and fixes 2019-02-21 10:39:00 +01:00
Anjan Chanda
a072e89040 easy-soc-libs: fix dependencies 2019-02-20 16:31:45 +01:00
Jakob Olsson
5c6221667c samba: prevent multiple lines from being written from uci to smb.conf #16885 2019-02-20 16:26:02 +01:00
Kent Ekholm
fd1add50ef Changing TAPI channel index.
Ref: #345
2019-02-20 14:48:02 +01:00
Kent Ekholm
953c96f188 voice-client: Make voice-client scripts work for both Broadcom and Intel.
Ref: #345
2019-02-19 17:59:13 +01:00
Sachin Singla
ad25cf23a5 Update feed [ iopsys ] package [ inbd ]
-------------------------------------------------------------------------------
* d229412 inbd: change family inteno to easysoc
-------------------------------------------------------------------------------
commit d22941205aae953f10c518a9ed9d1eb08eaf9ed7
Author: Sachin Singla <sachin.singla@iopsys.eu>
Date: 2019-02-19 15:00:01 +0100

    inbd: change family inteno to easysoc

Base directory -> /
 src/inbd.c | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)
-------------------------------------------------------------------------------
2019-02-19 15:12:14 +01:00
Amin Ben Ramdhane
6bef590bdd icwmp-4.0-2019-02-19 2019-02-19 13:50:56 +01:00
Amin Ben Ramdhane
92a29a7736 icwmp-4.0-2019-02-18 2019-02-18 19:35:44 +01:00
Jonas Höglund
e41ae36a70 feeds_update: Fix error message.
Adding -p flag to install removes:

WARNING: No feed for package 'targets' found, maybe it's already part
of the standard packages?
2019-02-18 13:29:41 +01:00
Kent Ekholm
833cbec9f9 voice-client: Making voice-client scripts work for both Broadcom and Intel.
Ref: #345
2019-02-15 17:06:53 +01:00
Kenneth Johansson
5d36e88aae feeds_update: fix installation of targets.
intel target moved. make sure the old link is gone.
2019-02-15 10:57:28 +01:00
Omar Kallel
8302a83136 icwmp: Firewall and Time objects 2019-02-14 12:29:48 +01:00
Reidar Cederqvist
99b61a5333 ice-client: update to version 5.3.6 refs #16174 2019-02-14 08:34:12 +01:00
Jonas Höglund
80e6d7c72c config: Disable gdbserver by default 2019-02-13 10:43:38 +01:00
Jonas Höglund
6d0a673c40 genconfig: Check if local target script exists. 2019-02-13 10:13:28 +01:00
Sukru Senli
a2bfb5601f iop: config: set IOPSYS as default customer 2019-02-13 08:36:52 +01:00
Jakob Olsson
8f67b8f58e owsd: wifilife: prevent procd crash loop error 2019-02-12 14:17:29 +01:00
Jakob Olsson
0147c91077 wifilife: add reload trigger on owsd.ubusproxy.enable change 2019-02-12 14:07:50 +01:00
Jakob Olsson
062c53a3a7 netmode: update pkg to include status method 2019-02-12 08:51:35 +01:00
Jakob Olsson
c29883ef18 wifilife: update pkg to include workaround for stale clients when roaming 2019-02-11 12:02:11 +01:00
Jakob Olsson
a938f1203b wifimngr: update hash to include disconnect_sta function 2019-02-11 12:01:26 +01:00
Kent Ekholm
a8cb27534b voice-client: Some cleanup in voice_client script.
Ref: #10
2019-02-08 15:25:44 +01:00
Yalu Zhang
8cad1c6049 Remove a Broadcom folder from include path for libdsl
usr/include/bcm963xx/bcmdrivers/broadcom/include/bcm963xx/ can't not be exposed to
staging_dir since it contains some proprietary header files.
2019-02-08 10:44:44 +01:00
Sukru Senli
5e6279c872 iop: genconfig: new way of testing access to repos 2019-02-08 10:42:19 +01:00
Yalu Zhang
e4c6906c49 Add more folders to include path for libdsl on Broadcom platforms 2019-02-07 16:56:16 +01:00
Amin Ben Ramdhane
7c86637d86 icwmp-4.0-2019-02-07 2019-02-07 16:23:07 +01:00
Yalu Zhang
e118dcfb72 Update include paths for some broadcom header files 2019-02-07 14:44:19 +01:00
Kenneth Johansson
ce775713f6 Update feed [ iopsys ] package [ iopupgrade ]
-------------------------------------------------------------------------------
* 01f2afd fix language.
-------------------------------------------------------------------------------
commit 01f2afd6c831d6f9eb2940c7e7af16f7e4d439c2
Author: Kenneth Johansson <kenneth.johansson@iopsys.eu>
Date: 2019-02-06 18:04:04 +0100

    fix language.

Base directory -> /
 src/cfe.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
2019-02-06 18:07:06 +01:00
Kenneth Johansson
1325fa1b23 iopupgrade: add check for DSL annex.
It is now possible to match any header in the y3 image file.
2019-02-06 16:57:01 +01:00
Ronny Nilsson
ae520f39fb sdk: make install_key to work in target intel_mips as well. 2019-02-06 15:13:50 +01:00
Yalu Zhang
c8ba32bc7d Update feed [ iopsys ] package [ inbd ]
-------------------------------------------------------------------------------

commit 9a31f0584c454fe35149dbfddde6feee8bb72d67
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Tue Feb 5 12:09:46 2019 +0100

    Revert "Revert the netlink rename"

    This reverts commit 8ad6d0a4a9fbad8dea006b5f08a2c1704f5a1b27.
2019-02-06 14:28:52 +01:00
Yalu Zhang
2c2d91ae60 Fix the dependency issue in libdsl for both Intel and Broadcom platforms 2019-02-06 11:16:44 +01:00
Yalu Zhang
50f9b66210 Fix a dependency issue in the Makefile for libdsl 2019-02-06 10:19:35 +01:00
Yalu Zhang
26489affbb Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
commit 9b0759870118499cd1176c15b449d94d00859716
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Tue Feb 5 15:32:40 2019 +0100

    Merge code from branch devel-4.3/dsl_devel for libdsl

Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
commit a1abe356a2c32d32859b8811db2ec6028ff69222
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Tue Feb 5 15:14:15 2019 +0100

    Add a dummy output temporarily to avoid build error
2019-02-05 15:39:05 +01:00
Yalu Zhang
20f667b163 Update the dependency of dslmngr package 2019-02-05 15:11:47 +01:00
Yalu Zhang
147d00ea48 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
commit 794b958cda049aa0bfb6ea6827e4b489e23600d7
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Tue Feb 5 12:23:38 2019 +0100

    Comment out some code temporarily since libdsl for Broadcom is under development

Update feed [ iopsys ] package [ dslmngr ]
-------------------------------------------------------------------------------
commit 266a037a7b8c1f9c61a5fc51f9c31ff7ee6e4d93
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Tue Feb 5 12:41:29 2019 +0100

    Disable the compilation temporarily since dslmngr is under development
2019-02-05 13:52:48 +01:00
Yalu Zhang
7a0e6613b6 Fix a dependency error in the Makefile of easy-soc-libs package 2019-02-05 13:52:48 +01:00
Yalu Zhang
b480ca039c Modify Makefile of easy-soc-libs to add libdsl test application 2019-02-05 13:52:48 +01:00
Yalu Zhang
af11c1b407 Remove unused files from the package dslmngr 2019-02-05 13:52:48 +01:00
Yalu Zhang
2448ca936d Add the support of local source build for dslmngr and easy-soc-libs 2019-02-05 13:52:48 +01:00
Anjan Chanda
ce95010582 dslmngr: initial code 2019-02-05 13:52:48 +01:00
Sukru Senli
6b51f62caf iop: update_feed_branches: set release branch as upstream 2019-02-05 11:32:16 +01:00
Sukru Senli
d804ac28b9 iop: adapt update_feed_branches script to dev.iopsys.eu 2019-02-04 13:46:19 +01:00
Anjan Chanda
5ff1045b54 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 7abfdc2 cntlr: fix crash due to double free of watchnode
-------------------------------------------------------------------------------
commit 7abfdc2f5b3549d43899db7d8d9f22ccdbd141a7
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-02-03 10:04:47 +0100

    cntlr: fix crash due to double free of watchnode

Base directory -> /
 src/cntlr.c | 1 -
 1 file changed, 1 deletion(-)
-------------------------------------------------------------------------------
2019-02-03 12:07:48 +01:00
Reidar Cederqvist
b9ce500c0c ice-client: update ice-client to version 5.3.5 refs #16751 2019-02-01 15:10:41 +01:00
Reidar Cederqvist
eda0d3a3f6 ice-client: update to version 5.3.3 refs #16174 2019-02-01 15:10:38 +01:00
Amin Ben Ramdhane
11eb21aa1f icwmp-4.0-2019-02-01 2019-02-01 11:22:59 +01:00
Sukru Senli
56b2db5817 Revert "iop: genconfig: directory check before cd to it"
This reverts commit a2aa796cda.
2019-01-30 15:29:28 +01:00
Anjan Chanda
14d6d0eaa4 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 87ad01a libwifi: fix allowed channel list for US
-------------------------------------------------------------------------------
commit 87ad01a06b7898ae45e94444e0caa7e2cc264cc8
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-01-29 09:45:41 +0100

    libwifi: fix allowed channel list for US

Base directory -> /
 libwifi/chlist.c | 153 +++++++++++++++++--------------------------------------
 1 file changed, 46 insertions(+), 107 deletions(-)
-------------------------------------------------------------------------------
2019-01-30 09:34:50 +01:00
Sukru Senli
a2aa796cda iop: genconfig: directory check before cd to it 2019-01-30 08:43:34 +01:00
Oussama Ghorbel
8469ce20e5 uboot: update revision 2019-01-29 17:40:08 +01:00
Amin Ben Ramdhane
c6bce18981 icwmp-4.0-2019-01-28 2019-01-28 10:03:55 +01:00
Jonas Höglund
7564ef08d6 Fix intel configuration problem 2019-01-25 15:22:15 +01:00
Jakob Olsson
72fa3e9b3c netmoded: update pkg to include daisy chain changes 2019-01-25 14:51:02 +01:00
Jonas Höglund
9139217694 We no longer need to support a LUCI profile 2019-01-25 14:04:06 +01:00
Jonas Höglund
714b7ade2f Move master config 2019-01-25 14:00:11 +01:00
Jonas Höglund
1561d7b6b4 Target and board configs are moved to target feeds 2019-01-25 12:02:04 +01:00
Jonas Höglund
342616a451 Luci profile no longer needed 2019-01-25 11:50:17 +01:00
Jonas Höglund
ae91292604 Target configs moved to target feeds 2019-01-25 11:49:00 +01:00
Jonas Höglund
5115b71ce8 We no longer need to build openwrt ramips. 2019-01-25 11:32:17 +01:00
Jakob Olsson
2a4c5a1c56 owsd: update pkg hash 2019-01-24 15:09:02 +01:00
Omar Kallel
5f937eb6ea icwmp: fix #16711 segmentation fault 2019-01-24 14:25:39 +01:00
Jonas Höglund
8078dff380 Ask target feeds for board names 2019-01-24 14:16:45 +01:00
Anjan Chanda
7a57ddef4b easy-soc-libs: use correct config name for intel_mips 2019-01-24 11:54:48 +01:00
Jakob Olsson
73cae5d93a mqtt_ciotc: prepare pkg and files properly 2019-01-18 16:40:20 +01:00
Jakob Olsson
c9cf69ee54 add mqtt-ciotc and related pkgs
libjwt new version

paho-mqtt-c package

package for the example file

paho: include all shared lib and header files, remove redundant lines

jwt: include all shared lib files, use correct jansson dependency

mqtt-ciotc: remove copy paste excess

update package dependencies

update repo, hash and path

correct git path

add init.d script

update hash

hash update

update hash

update init.d and add config script
2019-01-18 15:10:38 +01:00
Oussama Ghorbel
fbde005657 Revert "disable temporary ppacmd due to compile error"
This reverts commit d228f8dbe0.
2019-01-18 12:24:31 +01:00
Kenneth Johansson
d5422a20b3 Update feed [ iopsys ] package [ iopupgrade ]
-------------------------------------------------------------------------------
* 9b5ed4b cfe: Add support for minimum version.
-------------------------------------------------------------------------------
commit 9b5ed4bc9f7ac5064414cf5feb510ffd95df6ec4
Author: Kenneth Johansson <kenneth@southpole.se>
Date: 2019-01-17 21:16:56 +0100

    cfe: Add support for minimum version.

    If the new version is not larger than the one given programming of CFE is
    turned off.

Base directory -> /
 src/cfe.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 60 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
2019-01-17 21:21:00 +01:00
Amin Ben Ramdhane
51c167adf6 icwmp: fix ticket #16427 2019-01-17 21:02:31 +01:00
Kenneth Johansson
0acbd692b8 iop upgrade: reformat long comments to fit in 80 columns. 2019-01-17 19:40:04 +01:00
Kenneth Johansson
d2c3004c63 iop upgrade: make mount retry 10 times.
On ex400 UBIFS can report busy on first mount regardless of how much
time one waits after ubiupdatevol for the mount.

has to be some internal error in that kernel version.
2019-01-17 19:35:44 +01:00
Jakob Olsson
541e0cff50 questd: update pkg to include graph fix 2019-01-17 16:16:56 +01:00
Jakob Olsson
4f9223dab7 questd: update pkg hash for ethctl update #16449 2019-01-17 13:54:35 +01:00
Amin Ben Ramdhane
b020676abb icwmp-4.0-2019-01-17 2019-01-17 09:30:51 +01:00
Kenneth Johansson
351965e397 iop upgrade: add upgrade of boot loader. 2019-01-16 21:32:02 +01:00
Kenneth Johansson
2187c6cadd iop upgrade: implement force image.
during development we might want to do it.
2019-01-16 19:01:23 +01:00
Kenneth Johansson
27800f2100 iop upgrade: add -r option to jump into a chroot of other system.
useful for developing testing upgrade configuration migration.
2019-01-16 18:35:16 +01:00
Kenneth Johansson
4fa352c5fc iop upgrade: add handling of no reboot option. 2019-01-16 16:58:42 +01:00
Jakob Olsson
8a83899eba owsd: update pkg hash #16527 2019-01-16 16:20:52 +01:00
Oussama Ghorbel
d228f8dbe0 disable temporary ppacmd due to compile error 2019-01-16 15:28:48 +01:00
Kent Ekholm
57bd744aba voice-client: Added default config files to not get erorrs from Asterisk modules.
ref: #16273
2019-01-16 14:10:09 +01:00
Sukru Senli
8353c17ea6 icwmp-4.0-2019-01-16 2019-01-16 13:49:48 +01:00
Kent Ekholm
6641a075ea voice-client: Changed deprecated value for parameter nat.
Ref: #16273
2019-01-16 13:02:07 +01:00
Ronny Nilsson
a0be24b379 watchdog: don't use iwatchdog any more. It has been replaced with
procd which handles the Broadcom kernel HW watchdog.
Refs: #14969
2019-01-15 16:44:08 +01:00
Ronny Nilsson
38916c8bfd dect: Workaround for product DG400 which has an
incorrect value in nvram from factory.
2019-01-15 16:44:08 +01:00
Omar Kallel
bc2ad87997 icwmp-4.0-2019-01-15 2019-01-15 15:13:34 +01:00
Anjan Chanda
c3e18ae04c netmode: wireless config - set 'scantimer' to 60 minutes 2019-01-15 14:41:56 +01:00
Omar Kallel
48b47727fa icwmp-4.0-2019-01-15 2019-01-15 11:37:52 +01:00
Kenneth Johansson
52353475f4 iopupgrade: use right variable for UBI ID for rootfs volume.
Also add sync before mount as needed for ex400.

check lock file before the exit handler is added otherwise
we can not exit without also removing the lock and we did not
get it so it should not be removed.
2019-01-14 17:31:29 +01:00
Robin Stjerndorff
5e91f9d69c ice-client: update to version 5.3.1 refs #16173 2019-01-14 15:55:34 +01:00
Reidar Cederqvist
765ba5632a ice-client: update to version 5.2.5 refs #16174 2019-01-14 15:55:31 +01:00
Kenneth Johansson
4e9836fa17 iop: remove ssh_sysupgrade*
use ssh_upgrade instead.
2019-01-14 15:34:14 +01:00
Kenneth Johansson
c2776532c5 iop upgrade: add sysupgrade option.
Needed to be able to update old boards.
2019-01-14 15:22:07 +01:00
Kenneth Johansson
ebd13be2c5 iopupgrade: Add interactive mode. 2019-01-14 14:58:00 +01:00
Oussama Ghorbel
28b3715da2 add norrland board and update u-boot for grx500 to ugw 8.1.1 2019-01-14 13:55:31 +01:00
Kenneth Johansson
e0792ad185 iop ssh_upgrade: lost a $
it compared a string instead of a variable.
2019-01-11 17:09:02 +01:00
Kenneth Johansson
227f258789 iop: add ssh_upgrade completion of -f option.
Now you can select the file as a normal bash completion.
2019-01-11 16:46:40 +01:00
Kenneth Johansson
2830ec29b6 iop: add new command ssh_upgrade to iop completion table.
need to run ./iop setup_host to activate this.
2019-01-11 16:15:34 +01:00
Kenneth Johansson
d18fd1cd4a iop ssh_upgrade: ask before starting flash.
Printout what options is going to be used and ask if its ok before
burning image.
2019-01-11 16:04:46 +01:00
Kenneth Johansson
7c8634e948 iopupgrade: Prevent print to stdout in reboot subshell.
the trap for sigpipe is not active for any subshell so
manually prevent it from printing to non existing stdout.
2019-01-11 14:06:12 +01:00
Kenneth Johansson
dafde17b4f iopupgrade: handle sigpipe and loss of stdout in a better way.
By catching sigpipe we do not have to manually keep track of when we might
need to avoid printing to stdout.
2019-01-11 13:56:32 +01:00
Kenneth Johansson
7571abd272 iop update: new iop command ./iop ssh_update.
Only tested on dg400 and will fail on mediatek and intel boards.
Does currently not handle keeping the configuration.
2019-01-10 23:11:31 +01:00
Amin Ben Ramdhane
78c861801e icwmp-4.0-2019-01-10 2019-01-10 18:18:44 +01:00
Jakob Olsson
fa8fd97000 wifilife: call netmode to sync credentials on reload/config write 2019-01-10 16:28:10 +01:00
Jakob Olsson
bd1c686c18 netmode: update pkg hash to include wifilife propagation 2019-01-10 16:21:05 +01:00
Amin Ben Ramdhane
96f2b96c29 icwmp-4.0-2019-01-09 2019-01-10 10:50:27 +01:00
Omar Kallel
2c440cdfa8 icwmp-4.0-2019-01-09 2019-01-09 16:52:32 +01:00
Kenneth Johansson
5a1de62955 Add iopupgrade to all iopsys boards. 2019-01-09 15:17:43 +01:00
Kenneth Johansson
89ec592e51 Add iopupgrade. 2019-01-09 14:52:35 +01:00
Jakob Olsson
253865d22f netmode: save wet config when entering repeater mode #16601 2019-01-09 14:43:47 +01:00
Amin Ben Ramdhane
b1bd71033e icwmp-4.0-2019-01-09 2019-01-09 10:43:31 +01:00
Sukru Senli
032b27503d remove syslog-ng3 and eventlog packages which are available through lede feeds 2019-01-08 14:35:19 +01:00
Sukru Senli
d4ab62bfcb Revert "Update feed [ iopsys ] package [ inbd ]"
This reverts commit 2898a64249.
2019-01-08 08:48:30 +01:00
Yalu Zhang
2898a64249 Update feed [ iopsys ] package [ inbd ]
-------------------------------------------------------------------------------
commit 201db1880ab124643f930f5ec9983ed6ccdc9c40
Author: Yalu Zhang <yalu.zhang@iopsys.eu>
Date:   Mon Jan 7 13:43:04 2019 +0100

    Rename netlink family to HAL from Inteno in order to make the name more generic
2019-01-07 16:19:50 +01:00
Omar Kallel
7c81da0c41 icwmp-4.0-2019-01-07 2019-01-07 10:27:22 +01:00
Amin Ben Ramdhane
d0d9387c85 icwmp-4.0-2019-01-03 2019-01-03 18:59:08 +01:00
Reidar Cederqvist
af9cfe3e93 iop: genconfig: allow more than one customer at the same time refs #14604
Ex: ./iop genconfig dg400prime GNI ELION
2019-01-03 16:27:49 +01:00
Anjan Chanda
6b0f82b322 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* f23b71a cntlr: log radar detection at default loglevel
* 420e54a improve scanning for watchlist nodes
* 71c4a7a cntlr: add return status for cntlr_cmd
* 7fe863b cntlr: channel switch in 'local' agent upon radar event
* 8452d42 cntlr: handle radar events in network
* d010d49 wip: radar detect functionality added to cntlr
-------------------------------------------------------------------------------
commit f23b71acd4312fa4eacca61cc4170b164da60c9a
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-01-02 15:01:47 +0100

    cntlr: log radar detection at default loglevel

Base directory -> /
 src/agent.c | 2 ++
 src/cntlr.c | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit 420e54a2f51364f7411da01016b2b0b33596eb40
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-01-02 14:03:58 +0100

    improve scanning for watchlist nodes

Base directory -> /
 src/agent.c |  5 +++--
 src/cntlr.c | 28 ++++++++++++++++++++--------
 2 files changed, 23 insertions(+), 10 deletions(-)
-------------------------------------------------------------------------------
commit 71c4a7ac5a39d158557700b87097d2a575a815f9
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2019-01-02 14:01:01 +0100

    cntlr: add return status for cntlr_cmd

Base directory -> /
 src/cntlr_comm.h      | 2 +-
 src/cntlr_comm_ubus.c | 3 ++-
 src/comm.c            | 9 ++++++---
 3 files changed, 9 insertions(+), 5 deletions(-)
-------------------------------------------------------------------------------
commit 7fe863b59356c144f622b9dec125aaf6fc294cd5
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-28 16:54:27 +0100

    cntlr: channel switch in 'local' agent upon radar event

Base directory -> /
 src/agent.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/cntlr.c | 37 ++++++++++++++++++++++++++++------
 src/comm.c  | 15 ++------------
 src/comm.h  |  9 +++++++++
 4 files changed, 109 insertions(+), 19 deletions(-)
-------------------------------------------------------------------------------
commit 8452d42d454e11fbb774d21fc85e4f0255d4888d
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-27 15:53:49 +0100

    cntlr: handle radar events in network

Base directory -> /
 src/agent.c |  67 +++++++++++++-
 src/cntlr.c | 300 +++++++++++++++++++++++++++++++-----------------------------
 src/cntlr.h |  13 ++-
 src/comm.h  |   2 +
 4 files changed, 232 insertions(+), 150 deletions(-)
-------------------------------------------------------------------------------
commit d010d49d3935e9ec243c8f0225dfdd491067bd40
Author: Jakob Olsson <jakob.olsson@iopsys.eu>
Date: 2018-12-21 16:36:09 +0100

    wip: radar detect functionality added to cntlr

Base directory -> /
 src/cntlr.c | 241 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 src/cntlr.h |  11 +++
 2 files changed, 242 insertions(+), 10 deletions(-)
-------------------------------------------------------------------------------
2019-01-02 15:30:12 +01:00
Anjan Chanda
fec4dc0535 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 7f88459 libwifi: bcm: add new API to set channel
-------------------------------------------------------------------------------
commit 7f884592aa42cc627542589d5b77cf4a50567536
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-28 16:38:51 +0100

    libwifi: bcm: add new API to set channel

Base directory -> /
 libwifi/bcm.c  | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 libwifi/wifi.c |  10 ++++++
 libwifi/wifi.h |  12 +++++++
 3 files changed, 128 insertions(+)
-------------------------------------------------------------------------------
2019-01-02 15:29:25 +01:00
Amin Ben Ramdhane
e48ebfad92 icwmp-4.0-2018-12-28 2019-01-01 21:19:30 +01:00
Oussama Ghorbel
0876536e9a add norrland board 2018-12-28 11:47:43 +01:00
Anjan Chanda
318ad1776b Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* af7d9f6 libwifi: bcm: workaround scan only for pre-4366 chips
-------------------------------------------------------------------------------
commit af7d9f6b11f3cc12da6fb770659ec9bc08c342cc
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-21 11:36:17 +0100

    libwifi: bcm: workaround scan only for pre-4366 chips

Base directory -> /
 libwifi/bcm.c | 49 ++++++++++++++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 17 deletions(-)
-------------------------------------------------------------------------------
2018-12-21 11:38:31 +01:00
Kent Ekholm
7916ea3bd4 voice-client: Removed erroneous double quote character. 2018-12-20 14:38:01 +01:00
Anjan Chanda
2e12e27c49 Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* bcce717 libwifi: bcm: update BTM request as per 'imp32' definition
-------------------------------------------------------------------------------
commit bcce7177a031ac2a757e2625fdc02cfca98700a4
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-19 15:30:05 +0100

    libwifi: bcm: update BTM request as per 'imp32' definition

Base directory -> /
 libwifi/broadcom.h | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
-------------------------------------------------------------------------------
2018-12-19 15:33:42 +01:00
Sukru Senli
4befcc49ee iop: config: re-enable tr-069 packages 2018-12-19 14:44:58 +01:00
Jakob Olsson
8b5e6820ea questd: update pkg hash for igmp fix 2018-12-19 14:27:56 +01:00
Sukru Senli
8d27db3d09 iop: correct bcmopen tarball symlink 2018-12-18 17:10:16 +01:00
Anjan Chanda
6e5cabc67b Update feed [ iopsys ] package [ easy-soc-libs ]
-------------------------------------------------------------------------------
* 15ccbcd libwifi: bcm: update nbr_element_t as per 'imp32' definition
-------------------------------------------------------------------------------
commit 15ccbcd12da45f4943bc8cac74a1c2413b4391ea
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-18 14:48:25 +0100

    libwifi: bcm: update nbr_element_t as per 'imp32' definition

Base directory -> /
 libwifi/bcm.c      | 4 ++--
 libwifi/broadcom.h | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)
-------------------------------------------------------------------------------
2018-12-18 14:50:32 +01:00
Kent Ekholm
4a8598aeee Removed repeated tlsbindaddr parameter. 2018-12-18 10:53:36 +01:00
Anjan Chanda
01d73e7642 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 8de1e0f fix endian during structure-to-bytestring conversions
-------------------------------------------------------------------------------
commit 8de1e0f3264998a6757ae2fb16599ad6eb19a0f9
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-17 16:59:35 +0100

    fix endian during structure-to-bytestring conversions

Base directory -> /
 src/agent.c |  7 ++++++-
 src/cntlr.c | 11 +++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
2018-12-18 10:26:16 +01:00
Kenneth Johansson
a7f37954b9 uboot intel: fix u-boot inteno version.
On intel it is not possible to grep for the compiled in version string
    so another one was created and put in SPL. but missed the " so it's not
    correct json anymore.

    that combined with the fact that board_late_init() was never called due
    to missing define in config made the update logic fail.

Change the PKG_RELEASE to 7 as a previous bug in the Makefile made it
actually 6 even if the value was set to 5.
2018-12-17 19:19:27 +01:00
Kenneth Johansson
c0e7e9ad57 u-boot: fix version string for intel targets.
The expansion of PKG_RELEASE did not work and ended up as the first value
set in "define uboot/ex400"

why and why this change work correctly I do not understand.
2018-12-17 19:19:27 +01:00
Amin Ben Ramdhane
06fcbb6060 icwmp-4.0-2018-12-17 2018-12-17 18:35:41 +01:00
Kent Ekholm
8819f589d4 Added voice-client to config.
Ref #10 (project.iopsys.eu)
2018-12-17 16:25:49 +01:00
Kent Ekholm
47200eb0fa Added hotplug script for asterisk to handle network related changes.
Ref. #16488
2018-12-17 15:04:39 +01:00
Jakob Olsson
56fab86483 owsd: update pkg hash 2018-12-17 10:53:39 +01:00
Amin Ben Ramdhane
fa2f9de5d7 icwmp-4.0-2018-12-14 2018-12-14 12:06:13 +01:00
Amin Ben Ramdhane
4372f2b307 icwmp: do not reload icwmp if previous option 43 is empty 2018-12-14 12:01:19 +01:00
Kent Ekholm
9bc25990ab Added VoIP funtionality to intel_mips config.
Ref #10 (project.iopsys.eu)
2018-12-14 10:35:45 +01:00
Oussama Ghorbel
83d5e75695 update kernel revision for smart3 2018-12-13 17:44:34 +01:00
Anjan Chanda
f1757d70f7 wifilife: add option for continuous record logging 2018-12-12 17:35:22 +01:00
Anjan Chanda
a71f0184e1 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 586a747 use 'logrec' from record logging
* 830e703 create fifo for logging
-------------------------------------------------------------------------------
commit 586a747bbc22a5cacd3e826f27c967662a421c22
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-12 16:33:15 +0100

    use 'logrec' from record logging

Base directory -> /
 src/agent.c | 2 +-
 src/debug.c | 2 +-
 src/debug.h | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 830e7033a8901ca83cc6b46e472dc8f010404969
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-12 11:37:51 +0100

    create fifo for logging

Base directory -> /
 src/agent.c |  1 +
 src/debug.c | 37 +++++++++++++++++++++++++++++++++++--
 src/main.c  |  7 ++++++-
 3 files changed, 42 insertions(+), 3 deletions(-)
-------------------------------------------------------------------------------
2018-12-12 17:21:34 +01:00
Sukru Senli
1ab6bb017a icwmp-4.0-2018-12-11 2018-12-11 16:01:42 +01:00
Anjan Chanda
1457c5c9f8 Update feed [ iopsys ] package [ wifilife ]
-------------------------------------------------------------------------------
* 0766754 increase ubus timeout to account for BCM's scanning
* 42e2ad0 suppress 'wifi.sta' info ubus events
* e44e852 do not send more than one BTM req to a STA
-------------------------------------------------------------------------------
commit 0766754acc071bd9f1631ca83cbc47c108ca1cea
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-11 12:41:01 +0100

    increase ubus timeout to account for BCM's scanning

Base directory -> /
 src/cntlr_comm_ubus.c | 2 +-
 src/comm.c            | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
-------------------------------------------------------------------------------
commit 42e2ad0fe4bcc658d8269a51740afff3788a6b23
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-11 12:38:31 +0100

    suppress 'wifi.sta' info ubus events

Base directory -> /
 src/agent.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
commit e44e852b5babe907913975026aea5a1da7daf329
Author: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: 2018-12-06 08:14:19 +0100

    do not send more than one BTM req to a STA

Base directory -> /
 src/agent.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
-------------------------------------------------------------------------------
2018-12-11 13:34:48 +01:00
Jakob Olsson
7befbac499 owsd: update pkg hash to include losing objects fix 2018-12-11 11:30:45 +01:00
Jakob Olsson
1fcc834cd3 topology: update pkg hash to include device types 2018-12-07 15:17:49 +01:00
Jakob Olsson
d0e17bf396 topology: update hash to fix first boot issue 2018-12-07 12:18:46 +01:00
Jakob Olsson
3729431a8c topology: update pkg hash to include dt data model 2018-12-07 10:15:43 +01:00
Jakob Olsson
4f0ff76d64 topology: update makefile cflags and lib dependencies 2018-12-07 09:01:10 +01:00
Ronny Nilsson
3873129a8b - Don't start the catv monitor if init of CATV
device failed (likely it's missing then).
- Clear the UBUS buffer before send.
2018-12-05 18:00:38 +01:00
Suru Dissanaike
1bacdc2674 Update topologyd 2018-12-05 16:22:04 +00:00
110 changed files with 3209 additions and 870 deletions

View File

@@ -42,6 +42,7 @@ define Package/dectmngr2/install
$(INSTALL_DIR) $(1)/etc/dect/
$(INSTALL_DIR) $(1)/etc/config/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_DIR) $(1)/etc/uci-defaults/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/dectmngr2 $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/target.bin $(1)/etc/dect/
@@ -49,6 +50,7 @@ define Package/dectmngr2/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/dect $(1)/etc/init.d/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/dectmngr-wrapper.sh $(1)/usr/sbin/
$(CP) ./files/dect.config $(1)/etc/config/dect
$(CP) ./files/etc/uci-defaults/* $(1)/etc/uci-defaults/
endef
$(eval $(call BuildPackage,dectmngr2))

View File

@@ -0,0 +1,23 @@
#!/bin/sh
# Workaround for product DG400 which has an
# incorrect value in nvram from factory.
if [ -e "/proc/nvram/BoardId" ]; then
boardid=$(cat /proc/nvram/BoardId)
ulBoardStuffOption=$(cat /proc/nvram/ulBoardStuffOption)
if [ "$boardid" = "DG400R0" -a "$ulBoardStuffOption" = "0xffffffff" ]; then
echo "0xfffffff2" >/proc/nvram/ulBoardStuffOption
db -q batch <<-EOT
set hw.board.hasDect=1
commit hw.board
EOT
fi
fi
exit 0

78
dslmngr/Makefile Normal file
View File

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

View File

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

View File

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

View File

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

View File

@@ -1,49 +0,0 @@
#
# Copyright (C) 2009-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=eventlog
PKG_VERSION:=0.2.9
PKG_RELEASE:=2
PKG_SOURCE_URL:=http://www.balabit.com/downloads/files/eventlog/0.2/
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
PKG_MD5SUM:=76e3d7a0b8f335c12099e9b91191fbf1
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/libeventlog
SECTION:=libs
CATEGORY:=Libraries
TITLE:=A new API to format and send structured log messages.
endef
define Package/eventlog/description
A new API to format and send structured log messages. It supports multiple message
representations (plain, XML attributes and XML tags) and multiple output methods
(local syslogd).
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/eventlog $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevtlog.{a,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/eventlog.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libeventlog/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libevtlog.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libeventlog))

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -19,14 +19,14 @@ export PLATFORM_INCLUDE:=platforms/iopsys/build.mk
export DATE:=$(shell date +%Y-%m-%d-%H-%M-%S)
export LOGIN:=$(shell whoami)
BASE_PKG_VERSION:=5.2.3
BASE_PKG_VERSION:=5.3.6
PKG_RELEASE:=
PKG_VERSION:=$(BASE_PKG_VERSION)-$(PKG_RELEASE)_$(DATE)_$(LOGIN)
export PKG_VERSION
###########################--RELEASE--################################
PKG_SOURCE_VERSION:=795cf8ce3cc19ff8bbb014c8ac456784c187dcc5
PKG_SOURCE_VERSION:=94aab1532fef2caf2d65579614fc413252a517eb
ifeq ($(CONFIG_ICE_OPEN),y)
TARGET_PROFILE=$(shell echo $(CONFIG_TARGET_BOARD) | sed s/\"//g)
PKG_SOURCE_URL:=http://iopsys.inteno.se/iopsys/consumer/

View File

@@ -9,6 +9,8 @@ uci -q set passwords.ice=usertype
uci -q set passwords.ice.password="\$WPAKEY"
uci -q del_list passwords.ice._access_w=root
uci -q add_list passwords.ice._access_w=root
uci -q del_list passwords.ice._access_r=root
uci -q add_list passwords.ice._access_r=root
uci -q commit passwords
uci show rpcd | grep username=.*ice.* >/dev/null || {

View File

@@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=4.0-2018-12-04
PKG_VERSION:=4.0-2019-04-01
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=f9bbd7fb4a122dd523c2f2eaedec932c8483154f
PKG_SOURCE_VERSION:=434174439789e7e78e30063d6cf472f381e5b5f1
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@@ -51,6 +51,13 @@ define Package/icwmp_xmpp
DEPENDS:=+libuci +libubox +libexpat +libstrophe
endef
define Package/icwmp_udpechoserver
SECTION:=utils
CATEGORY:=Utilities
TITLE:=TR-069 udpechoserver feature
DEPENDS:=+libuci
endef
define Package/icwmp/Default
SECTION:=utils
CATEGORY:=Utilities
@@ -203,6 +210,15 @@ define Package/icwmp_xmpp/install
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_xmpp $(1)/etc/config
endef
define Package/icwmp_udpechoserver/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_udpechoserverd $(1)/usr/sbin/icwmp_udpechoserverd
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/init/icwmp_udpechoserverd $(1)/etc/init.d/icwmp_udpechoserverd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(PKG_BUILD_DIR)/config/cwmp_udpechoserver $(1)/etc/config
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/include/libdatamodel
@@ -238,4 +254,5 @@ $(eval $(call BuildPackage,icwmp-curl))
$(eval $(call BuildPackage,libdatamodel))
$(eval $(call BuildPackage,icwmp_stun))
$(eval $(call BuildPackage,icwmp_xmpp))
$(eval $(call BuildPackage,icwmp_udpechoserver))
$(eval $(call BuildPackage,icwmp-zstream))

View File

@@ -75,9 +75,11 @@ handle_icwmp_restart() {
"$previpaddr" = "$curipaddr" -a \
"$prevgateway" = "$curgateway" -a \
"$prevsubnets" = "$cursubnets" -a \
"$prevdnsservers" = "$curdnsservers" -a \
"$prevopt43url" = "$curopt43url" \
] && exit 0
"$prevdnsservers" = "$curdnsservers" \
] && {
[ "$prevopt43url" = "$curopt43url" ] && exit 0
[ -z "$prevopt43url" ] && exit 0
}
/etc/init.d/icwmpd reload &
}

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2013 Inteno
# Copyright (C) 2018 iopsys Software Solutions AB
#
include $(TOPDIR)/rules.mk
@@ -8,7 +8,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ifbt
PKG_VERSION:=0.1
PKG_SOURCE_VERSION:=a0572079265293ed99dc4d69fd38528760d29be9
PKG_SOURCE_VERSION:=0286812ed8036dea758f904694dc416481fba64d
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ifbt.git
@@ -18,6 +18,22 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_mips),y)
TARGET_PLATFORM:=-DIOPSYS_BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_brcm63xx_arm),y)
TARGET_PLATFORM:=-DIOPSYS_BROADCOM
else ifeq ($(CONFIG_TARGET_iopsys_linksys),y)
TARGET_PLATFORM:=-DIOPSYS_MARVELL
else ifeq ($(CONFIG_TARGET_intel_mips),y)
TARGET_PLATFORM:=-DIOPSYS_INTEL
else ifeq ($(CONFIG_TARGET_iopsys_ramips),y)
TARGET_PLATFORM:=-DIOPSYS_MEDIATEK
else
$(info (UNEXPECTED CONFIG TARGET))
endif
export TARGET_PLATFORM
define Package/ifbt
CATEGORY:=Utilities
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libwifi +libjson-c

View File

@@ -12,7 +12,7 @@ PKG_NAME:=inbd
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=b846ae0ff55284392de2c4d874851b33edd7a6c5
PKG_SOURCE_VERSION:=665a72a6bb2b5ea5a17ad6248957fe35525b3782
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/inbd

View File

@@ -3,11 +3,9 @@ CONFIG_BUSYBOX_CUSTOM=y
CONFIG_CCACHE=y
CONFIG_DEBUG=y
CONFIG_DEVEL=y
# CONFIG_LOCALMIRROR is not set
CONFIG_PACKAGE_6in4=y
CONFIG_PACKAGE_6rd=y
CONFIG_PACKAGE_6to4=y
CONFIG_PACKAGE_6tunnel=y
CONFIG_PACKAGE_alsa-lib=y
CONFIG_PACKAGE_chat=y
CONFIG_PACKAGE_comgt=y
@@ -17,56 +15,35 @@ CONFIG_PACKAGE_crashlog=y
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_ds-lite=y
CONFIG_PACKAGE_gdb=m
CONFIG_PACKAGE_gdbserver=m
CONFIG_PACKAGE_getopt=y
CONFIG_PACKAGE_glib2=y
CONFIG_PACKAGE_ice-client=y
CONFIG_PACKAGE_ice-client-camerawatch=m
CONFIG_PACKAGE_ice-client-fileme=m
CONFIG_PACKAGE_ice-client-gigaset=m
CONFIG_PACKAGE_ice-client-guest=m
CONFIG_PACKAGE_ice-client-iperf=m
CONFIG_PACKAGE_ice-client-logreader=m
CONFIG_PACKAGE_ice-client-monitor=m
CONFIG_PACKAGE_ice-client-netrounds=m
CONFIG_PACKAGE_ice-client-rshell=m
CONFIG_PACKAGE_ice-client-texec=m
CONFIG_PACKAGE_icwmp-curl=y
CONFIG_PACKAGE_ifbt=y
CONFIG_PACKAGE_imonitor=y
CONFIG_PACKAGE_inbd=y
CONFIG_PACKAGE_netmode=y
CONFIG_PACKAGE_iperf-mt=y
CONFIG_PACKAGE_iopupgrade=y
CONFIG_PACKAGE_ip-full=y
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_ipset=y
CONFIG_PACKAGE_iptables=y
CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
CONFIG_PACKAGE_iptables-mod-filter=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
CONFIG_PACKAGE_iup=y
CONFIG_PACKAGE_iwatchdog=y
# CONFIG_PACKAGE_iwatchdog is not set
CONFIG_PACKAGE_juci=y
CONFIG_PACKAGE_juci-broadcom-iptv=y
CONFIG_PACKAGE_juci-broadcom-pwrmgmt=y
CONFIG_PACKAGE_juci-wifilife=y
CONFIG_PACKAGE_juci-wireless=y
CONFIG_PACKAGE_juci-config-backup=y
CONFIG_PACKAGE_juci-ddns=y
CONFIG_PACKAGE_juci-diagnostics=y
CONFIG_PACKAGE_juci-dnsmasq-dhcp=y
CONFIG_PACKAGE_juci-dropbear=y
CONFIG_PACKAGE_juci-event=y
CONFIG_PACKAGE_juci-firewall-fw3=y
CONFIG_PACKAGE_juci-ice-client=y
CONFIG_PACKAGE_juci-icwmp=y
CONFIG_PACKAGE_juci-igmpinfo=y
CONFIG_PACKAGE_juci-config-backup=y
CONFIG_PACKAGE_juci-mwan3=y
CONFIG_PACKAGE_juci-iup=y
# CONFIG_PACKAGE_juci-qos is not set
CONFIG_PACKAGE_juci-voice-client=y
CONFIG_PACKAGE_juci-macdb=y
CONFIG_PACKAGE_juci-minidlna=y
CONFIG_PACKAGE_juci-mod-status=y
CONFIG_PACKAGE_juci-mod-system=y
CONFIG_PACKAGE_juci-mwan3=y
CONFIG_PACKAGE_juci-natalie-dect=y
CONFIG_PACKAGE_juci-netmode=y
CONFIG_PACKAGE_juci-network-device=y
@@ -75,24 +52,20 @@ CONFIG_PACKAGE_juci-network-netifd=y
CONFIG_PACKAGE_juci-network-port=y
CONFIG_PACKAGE_juci-openvpn=y
CONFIG_PACKAGE_juci-owsd=y
CONFIG_PACKAGE_juci-printer=y
CONFIG_PACKAGE_juci-realtime-graphs=y
CONFIG_PACKAGE_juci-samba=y
CONFIG_PACKAGE_juci-simple-gui=y
CONFIG_PACKAGE_juci-snmpd=y
CONFIG_PACKAGE_juci-sysupgrade=y
CONFIG_PACKAGE_juci-theme-iopsys=y
CONFIG_PACKAGE_juci-ubus-core=y
CONFIG_PACKAGE_juci-upnp=y
CONFIG_PACKAGE_juci-usb=y
CONFIG_PACKAGE_juci-utils=y
# CONFIG_PACKAGE_kmod-ipt-nathelper is not set
CONFIG_PACKAGE_kmod-nls-base=y
CONFIG_PACKAGE_juci-voice-client=y
CONFIG_PACKAGE_juci-wifilife=y
CONFIG_PACKAGE_juci-wireless=y
CONFIG_PACKAGE_juci-theme-iopsys=y
CONFIG_PACKAGE_kmod-siit=y
CONFIG_PACKAGE_libcgroup-daemon=y
CONFIG_PACKAGE_libcgroup=y
# CONFIG_PACKAGE_libcgroup-utils is not set
CONFIG_PACKAGE_ldd=y
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libffmpeg-mini=y
CONFIG_PACKAGE_libgmp=y
@@ -100,14 +73,10 @@ CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_loop-detector=m
CONFIG_PACKAGE_minidlna=y
CONFIG_PACKAGE_miniupnpd=y
CONFIG_PACKAGE_mtd-utils=y
CONFIG_PACKAGE_mtd-utils-deubinize=y
CONFIG_PACKAGE_mtd-utils-imagewrite=y
CONFIG_PACKAGE_mtd-utils-mkfs.jffs2=y
CONFIG_PACKAGE_mtd-utils-nanddump=y
CONFIG_PACKAGE_mwan3=y
CONFIG_PACKAGE_nand-utils=y
CONFIG_PACKAGE_ndisc6=y
CONFIG_PACKAGE_netmode=y
CONFIG_PACKAGE_ntfs-3g=y
CONFIG_PACKAGE_ntpd=y
CONFIG_PACKAGE_odhcp6c=y
@@ -116,7 +85,6 @@ CONFIG_PACKAGE_openssl-util=y
CONFIG_OPENSSL_WITH_COMPRESSION=y
CONFIG_PACKAGE_openvpn-easy-rsa=y
CONFIG_PACKAGE_openvpn-openssl=y
# CONFIG_PACKAGE_p910nd is not set
CONFIG_PACKAGE_peripheral_manager=y
CONFIG_PACKAGE_port-management=y
CONFIG_PACKAGE_power-management=y
@@ -155,7 +123,7 @@ CONFIG_PACKAGE_wifimngr=y
CONFIG_PACKAGE_xl2tpd=y
CONFIG_PACKAGE_zoneinfo-core=y
CONFIG_PACKAGE_zoneinfo-europe=y
CONFIG_TARGET_CUSTOMER="INT"
CONFIG_TARGET_CUSTOMER="IOPSYS"
CONFIG_TARGET_ROOTFS_TARGZ=y
# CONFIG_USE_SSTRIP is not set
CONFIG_USE_STRIP=y
@@ -187,7 +155,6 @@ CONFIG_BUSYBOX_CONFIG_MICROCOM=y
# CONFIG_BUSYBOX_CONFIG_RMMOD is not set
CONFIG_BUSYBOX_CONFIG_STTY=y
CONFIG_BUSYBOX_CONFIG_TFTP=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_2_4_MODULES is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
@@ -201,11 +168,9 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_NOLOGIN is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_SECURETTY=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_GET=y
CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_PUT=y
@@ -215,7 +180,6 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_TFTP_PUT=y
# CONFIG_BUSYBOX_CONFIG_PAM is not set
# CONFIG_BUSYBOX_CONFIG_TFTP_DEBUG is not set
# CONFIG_BUSYBOX_CONFIG_NTPD is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
CONFIG_LIBCURL_CRYPTO_AUTH=y
# CONFIG_LIBCURL_MBEDTLS is not set
CONFIG_LIBCURL_OPENSSL=y
@@ -224,5 +188,6 @@ CONFIG_OPENVPN_openssl_ENABLE_IPROUTE2=y
# CONFIG_SIGNED_PACKAGES is not set
CONFIG_KERNEL_DEVTMPFS=y
CONFIG_KERNEL_DEVTMPFS_MOUNT=y
CONFIG_PACKAGE_ip-full=y
# CONFIG_BUSYBOX_CONFIG_IP is not set
LOCAL_MIRROR="http://download.iopsys.eu/iopsys/mirror/"

View File

@@ -1,38 +0,0 @@
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-mod-admin-core=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-app-ddns=y
CONFIG_PACKAGE_luci-app-dslstats=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-iup=y
CONFIG_PACKAGE_luci-app-mcpd=y
CONFIG_PACKAGE_luci-app-minidlna=y
CONFIG_PACKAGE_luci-app-multiwan=y
CONFIG_PACKAGE_luci-app-p910nd=y
CONFIG_PACKAGE_luci-app-parental-control=y
CONFIG_PACKAGE_luci-app-port-management=y
CONFIG_PACKAGE_luci-app-power-mgmt=y
CONFIG_PACKAGE_luci-app-samba=y
CONFIG_PACKAGE_luci-app-sfp=y
CONFIG_PACKAGE_luci-app-snmp=y
CONFIG_PACKAGE_luci-app-speedtest=y
CONFIG_PACKAGE_luci-app-upnp=y
CONFIG_PACKAGE_luci-app-voice=y
CONFIG_PACKAGE_luci-theme-base=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_luci-i18n-english=y
CONFIG_PACKAGE_luci-proto-3g=y
CONFIG_PACKAGE_luci-proto-4g=y
CONFIG_PACKAGE_luci-proto-core=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-sgi-cgi=y
CONFIG_PACKAGE_luci-lib-core=y
CONFIG_PACKAGE_luci-lib-core_source=y
CONFIG_PACKAGE_luci-lib-ipkg=y
CONFIG_PACKAGE_luci-lib-json=y
CONFIG_PACKAGE_luci-lib-nixio=y
CONFIG_PACKAGE_luci-lib-nixio_notls=y
CONFIG_PACKAGE_luci-lib-sys=y
CONFIG_PACKAGE_luci-lib-web=y

View File

@@ -1,67 +0,0 @@
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
CONFIG_GCC_VERSION="6.3.0"
CONFIG_TOOLCHAINOPTS=y
# CONFIG_BINUTILS_USE_VERSION_2_27 is not set
CONFIG_BINUTILS_USE_VERSION_2_28=y
# CONFIG_BINUTILS_USE_VERSION_2_29_1 is not set
# CONFIG_GCC_USE_GRAPHITE is not set
# CONFIG_GCC_USE_VERSION_5 is not set
CONFIG_GCC_USE_VERSION_6=y
# CONFIG_GCC_USE_VERSION_7 is not set
# CONFIG_LIBC_USE_GLIBC is not set
CONFIG_LIBC_USE_MUSL=y
# CONFIG_PACKAGE_ppp-mod-pppoa is not set
#################### switch related
CONFIG_PACKAGE_switch_cli_ugw8=y
#################### ppa related
CONFIG_PACKAGE_ppacmd=y
# CONFIG_PACKAGE_kmod-ppa-drv-gre is not set
# CONFIG_PACKAGE_kmod-ppa-drv-grx500-eth-bond is not set
# CONFIG_PACKAGE_kmod-ppa-drv-grx500-mpe is not set
# CONFIG_PACKAGE_kmod-ppa-drv-mpe-ip97 is not set
CONFIG_PACKAGE_mcast-pa=y
#################### DSL related
CONFIG_PACKAGE_dsl-cpe-control-vrx=y
CONFIG_dsl-cpe-mei-vrx_DEVICE_VR11=y
CONFIG_dsl-cpe-mei-vrx_IRQ_POLLING_ACTIVE=y
CONFIG_PACKAGE_kmod-dsl-cpe-mei-vrx=y
CONFIG_PACKAGE_ifxos=y
CONFIG_PACKAGE_kmod-directconnect-dp=y
CONFIG_PACKAGE_kmod-vrx518_tc_drv=y
CONFIG_PACKAGE_vrx518_aca_fw=y
CONFIG_PACKAGE_vrx518_ppe_fw=y
CONFIG_dsl-cpe-api-vrx_MODEL_DEBUG=y
CONFIG_dsl-cpe-control-vrx_DTI=y
CONFIG_dsl-cpe-control-vrx_MODEL_DEBUG=y
# yes intel dsl script need this.
CONFIG_BUSYBOX_CONFIG_USLEEP=y
#################### DSL related end
#################### WIFI related
CONFIG_PACKAGE_kmod-lantiq-wlan-wave-support_5_x=y
CONFIG_PACKAGE_ltq-wlan-wave_5_x=y
CONFIG_FEATURE_LTQ_WAVE_500_PCIE=y
# CONFIG_FEATURE_LTQ_WAVE_500 is not set
CONFIG_FEATURE_LTQ_WAVE_AR10_SUPPORT=y
# CONFIG_FEATURE_LTQ_WAVE_STA is not set
# CONFIG_FEATURE_LTQ_WAVE_DEBUG_TFTP_BINS is not set
# CONFIG_FEATURE_LTQ_WAVE_FGPA_DUMMY_PHY is not set
CONFIG_FEATURE_LTQ_WAVE_500B=y
####################
# the options below this point is wrong but packages wont compile
# CONFIG_PACKAGE_icwmp-curl is not set
# CONFIG_PACKAGE_juci-icwmp is not set
# CONFIG_PACKAGE_libcgroup is not set
# CONFIG_PACKAGE_libcgroup-daemon is not set
# CONFIG_PACKAGE_libdatamodel is not set
# CONFIG_TARGET_ROOTFS_INITRAMFS is not set
# CONFIG_TARGET_ROOTFS_SQUASHFS is not set

View File

@@ -1,3 +0,0 @@
# temporary solution for kernel
CONFIG_KERNEL_GIT_BRANCH="easy550_anywan_smart3board"
CONFIG_KERNEL_GIT_COMMIT="58796d57c6da6bba984c781c05222349f7c2b655"

View File

@@ -1,15 +0,0 @@
# CONFIG_PACKAGE_libcgroup-daemon is not set
# CONFIG_PACKAGE_libcgroup is not set
# CONFIG_PACKAGE_juci-broadcom-wl is not set
# CONFIG_PACKAGE_juci-minisnmpd is not set
# CONFIG_PACKAGE_juci-router-openwrt is not set
# CONFIG_PACKAGE_speedsvc is not set
# CONFIG_juci_broadcom_wl is not set
# CONFIG_juci_minisnmpd is not set
# CONFIG_juci_router_openwrt is not set
# CONFIG_PACKAGE_brcminfo is not set
CONFIG_PACKAGE_brcm_fw_tool=y

View File

@@ -1,4 +0,0 @@
# Disable kernel internal Dect. External Dect can still operate.
CONFIG_TARGET_NO_DECT=y

View File

@@ -1,4 +0,0 @@
# Disable kernel internal Dect. External Dect can still operate.
CONFIG_TARGET_NO_DECT=y

View File

@@ -1,7 +0,0 @@
CONFIG_BCM_I2C=y
# Disable kernel internal Dect. External Dect can still operate.
CONFIG_TARGET_NO_DECT=y
CONFIG_TARGET_NO_DSL=y

View File

@@ -1,6 +0,0 @@
# Disable kernel internal Dect. External Dect can still operate.
CONFIG_TARGET_NO_DECT=y
CONFIG_USE_DSL=y
CONFIG_TARGET_DSL_GFAST=y

View File

@@ -1,6 +0,0 @@
# Disable kernel internal Dect. External Dect can still operate.
CONFIG_TARGET_NO_DECT=y
CONFIG_USE_DSL=y
CONFIG_TARGET_DSL_GFAST=y

View File

@@ -1,5 +0,0 @@
# Disable kernel internal Dect. External Dect can still operate.
CONFIG_TARGET_NO_DECT=y
CONFIG_TARGET_NO_DSL=y

View File

@@ -1,3 +0,0 @@
CONFIG_TARGET_NO_DSL=y
CONFIG_BCM_I2C=y

View File

@@ -1,15 +0,0 @@
# CONFIG_PACKAGE_libcgroup-daemon is not set
# CONFIG_PACKAGE_libcgroup is not set
# CONFIG_PACKAGE_juci-broadcom-wl is not set
# CONFIG_PACKAGE_juci-minisnmpd is not set
# CONFIG_PACKAGE_juci-router-openwrt is not set
# CONFIG_PACKAGE_speedsvc is not set
# CONFIG_juci_broadcom_wl is not set
# CONFIG_juci_minisnmpd is not set
# CONFIG_juci_router_openwrt is not set
# CONFIG_PACKAGE_brcminfo is not set
CONFIG_PACKAGE_brcm_fw_tool=y

View File

@@ -1,3 +0,0 @@
CONFIG_BCM_I2C=y
CONFIG_TARGET_NO_DECT=y

View File

@@ -1,3 +0,0 @@
CONFIG_TARGET_NO_VOICE=y
CONFIG_BCM_I2C=y

View File

@@ -1,2 +0,0 @@
CONFIG_BCM_I2C=y

View File

@@ -1,3 +0,0 @@
CONFIG_TARGET_NO_VOICE=y
CONFIG_BCM_I2C=y

View File

@@ -1,5 +0,0 @@
CONFIG_BCM_I2C=y
CONFIG_TARGET_NO_DECT=y
CONFIG_TARGET_NO_DSL=y
CONFIG_BCM_ENDPOINT_MODULE=y

View File

@@ -1,3 +0,0 @@
CONFIG_TARGET_NO_DSL=y
CONFIG_BCM_I2C=y

View File

@@ -1,4 +0,0 @@
CONFIG_TARGET_NO_DHD=y
CONFIG_TARGET_NO_VOICE=y
CONFIG_BCM_I2C=y

View File

@@ -1,14 +0,0 @@
# CONFIG_PACKAGE_libcgroup-daemon is not set
# CONFIG_PACKAGE_libcgroup is not set
# CONFIG_PACKAGE_power-management is not set
# CONFIG_PACKAGE_qos-scripts is not set
# CONFIG_PACKAGE_mtd-utils-deubinize is not set
# CONFIG_PACKAGE_mtd-utils-imagewrite is not set
# CONFIG_PACKAGE_mtd-utils-mkfs.jffs2 is not set
# CONFIG_PACKAGE_mtd-utils-nanddump is not set
CONFIG_PACKAGE_mtd-utils-nandwrite=y
CONFIG_PACKAGE_mtk-bndstrg=y
CONFIG_PACKAGE_igmpproxy=y
CONFIG_PACKAGE_kmod-nf-nathelper=y
CONFIG_PACKAGE_kmod-nf-nathelper-extra=y
# CONFIG_PACKAGE_endptmngr is not set

View File

@@ -34,9 +34,8 @@ _iop()
iopcmds="bootstrap cfe_upgrade cfe_upgrade_latest extract_core \
feeds_update genconfig generate_tarballs install_key \
scp_changes setup_host ssh_install_key ssh_sysupgrade \
ssh_sysupgrade_latest ssh_sysupgrade_latest_w status \
update_package update_feed_branches"
scp_changes setup_host ssh_install_key status \
update_package update_feed_branches ssh_upgrade"
if [ $COMP_CWORD -eq 1 ] ; then
@@ -76,7 +75,13 @@ _iop()
fi
return 0
;;
ssh_upgrade)
if [ "$prev" == "-f" ] ; then
_filedir
else
COMPREPLY=( $(compgen -W "-f -t -i -n -x -b" -- ${cur}) )
fi
;;
*)
# No arguments or arguments not supported yet
;;

View File

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

View File

@@ -7,45 +7,104 @@ function genconfig {
export FILEDIR="files/"
export THEMEDIR="themes"
CURRENT_CONFIG_FILE=".current_config_file"
export CONFIGPATH="package/feeds/iopsys/iop/configs"
export CONFIGPATH="package/feeds/iopsys/iop"
CUSTPATH="customerconfigs"
export CUSTCONF="customerconfigs/customers"
export VERBOSE=0
export DEVELOPER=0
LOCAL_MIRROR="http://mirror.inteno.se/mirror"
target="bogus"
masterconfig=1
config_path=""
brcm63xx_mips="target/linux/iopsys-brcm63xx-mips"
brcm63xx_arm="target/linux/iopsys-brcm63xx-arm"
ramips="target/linux/iopsys-ramips"
intel_mips="target/linux/intel_mips"
Red='\033[0;31m' # Red
Color_Off='\033[0m' # Text Reset
Yellow='\033[0;33m' # Yellow
function find_last {
egrep "^[ #]*${1}[ =]" $2 | tail -n1
}
function is_new {
for opt in $conf_warned
do
if [ "$opt" == "$1" ]
then
return 1
fi
done
# option not found return true
return 0
}
function verify_config {
IFS=$'\n'
org=$(<.genconfig.config)
unset IFS
local num
local conf_opt
local conf_org
local conf_new
#echo "lines to check $tot_lines"
num=0
for line in $org
do
conf_opt=$(echo $line | grep CONFIG_ | sed 's|.*\(CONFIG_[^ =]*\)[ =].*|\1|')
if [ -n "${conf_opt}" ]
then
conf_org=$(find_last ${conf_opt} .genconfig.config)
conf_new=$(find_last ${conf_opt} .config)
if [ "$conf_org" != "$conf_new" ]
then
if is_new $conf_opt
then
echo -e "config option [${Red}$conf_opt${Color_Off}] is not set correctly in .config"
echo -e "got value [${Yellow}$conf_new${Color_Off}] but wanted [${Yellow}$conf_org${Color_Off}]"
echo "This is a real problem somebody needs to investigate"
echo ""
conf_warned="$conf_warned $conf_opt"
fi
else
true
# for debug to see all options
#echo -e "wanted [$conf_org] got [$conf_new]"
fi
fi
num=$((num+1))
done
}
# Takes a board name and returns the target name in global var $target
set_target() {
local profile=$1
local iopsys_brcm63xx_mips="cg300 cg301 dg150 dg150v2 dg150alv2 dg200 dg200al dg301 dg301al eg300 vg50 vox25 hpc_hu02 eg200"
local iopsys_brcm63xx_arm="dg400 eg400 sdx810_rg f104w f104 dg400prime dg400primeb 963138REF_P502"
local iopsys_ramips="ex400 sdx810_ap"
local intel_mips="easy550 easy350 speedport_smart3"
local ramips="mt7621"
if [ "$profile" == "LIST" ]
then
for list in iopsys_brcm63xx_mips iopsys_brcm63xx_arm iopsys_ramips intel_mips
do
echo "$list based boards:"
for b in ${!list}
do
echo -e "\t$b"
done
done
return
[ -e $brcm63xx_mips/genconfig ] &&
iopsys_brcm63xx_mips=$(cd $brcm63xx_mips; ./genconfig)
[ -e $brcm63xx_arm/genconfig ] &&
iopsys_brcm63xx_arm=$(cd $brcm63xx_arm; ./genconfig)
[ -e $ramips/genconfig ] &&
iopsys_ramips=$(cd $ramips; ./genconfig)
[ -e $intel_mips/genconfig ] &&
iopsys_intel_mips=$(cd $intel_mips; ./genconfig)
if [ "$profile" == "LIST" ]; then
for list in iopsys_brcm63xx_mips iopsys_brcm63xx_arm iopsys_ramips iopsys_intel_mips; do
echo "$list based boards:"
for b in ${!list}; do
echo -e "\t$b"
done
done
return
fi
local targets
for p in $iopsys_brcm63xx_mips; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_mips"
config_path="$brcm63xx_mips/config"
return
fi
done
@@ -53,6 +112,7 @@ function genconfig {
for p in $iopsys_brcm63xx_arm; do
if [ $p == $profile ]; then
target="iopsys_brcm63xx_arm"
config_path="$brcm63xx_arm/config"
return
fi
done
@@ -60,21 +120,15 @@ function genconfig {
for p in $iopsys_ramips; do
if [ $p == $profile ]; then
target="iopsys_ramips"
config_path="$ramips/config"
return
fi
done
for p in $ramips; do
if [ $p == $profile ]; then
target="ramips"
masterconfig=0
return
fi
done
for p in $intel_mips; do
for p in $iopsys_intel_mips; do
if [ $p == $profile ]; then
target="intel_mips"
config_path="$intel_mips/config"
return
fi
done
@@ -91,17 +145,12 @@ function genconfig {
mediatekAllowed=0
wifilifeAllowed=0
allowedRepos="$(ssh -o ConnectTimeout=5 git@private.inteno.se 2>/dev/null | grep -w 'R\|W' | awk '{print$NF}')"
for repo in $allowedRepos; do
case $repo in
bcmkernel) bcmAllowed=1 ;;
ice-client) iceAllowed=1 ;;
endptcfg) endptAllowed=1 ;;
natalie-dect*) natalieAllowed=1 ;;
linux) mediatekAllowed=1 ;;
wifilife) wifilifeAllowed=1 ;;
esac
done
git ls-remote git@dev.iopsys.eu:broadcom/bcmcreator.git -q 2>/dev/null && bcmAllowed=1
git ls-remote git@dev.iopsys.eu:mediatek/linux.git -q 2>/dev/null && mediatekAllowed=1
git ls-remote git@dev.iopsys.eu:dialog/natalie-dect-12.26.git -q 2>/dev/null && natalieAllowed=1
git ls-remote git@dev.iopsys.eu:iopsys/endptmngr.git -q 2>/dev/null && endptAllowed=1
git ls-remote git@dev.iopsys.eu:iopsys/wifilife.git -q 2>/dev/null && wifilifeAllowed=1
git ls-remote git@private.inteno.se:ice-client.git -q -q 2>/dev/null && iceAllowed=1
}
v() {
@@ -110,17 +159,17 @@ function genconfig {
usage() {
echo
echo 1>&2 "Usage: $0 [ OPTIONS ] < Board_Type > [ Customer ]"
echo 1>&2 "Usage: $0 [ OPTIONS ] < Board_Type > [ Customer [customer2 ]...]"
echo
echo -e " -c|--clean\tRemove all files under ./files and import from config "
echo -e " -v|--verbose\tVerbose"
echo -e " -c|--clean\t\tRemove all files under ./files and import from config "
echo -e " -v|--verbose\t\tVerbose"
echo -e " -n|--no-update\tDo NOT! Update customer config before applying"
echo -e " -p|--profile\tSet profile (if exists) default juci"
echo -e " -s|--override\tEnable 'Package source tree override'"
echo -e " -h|--help\tShow this message"
echo -e " -s|--override\t\tEnable 'Package source tree override'"
echo -e " -S|--brcmsingle\tForce build of bcmkernel to use only one thread"
echo -e " -h|--help\t\tShow this message"
echo -e " -l|--list [customer]\tList all Customers or all boards for one customer"
echo -e " -a|--list-all\tList all Customers and their board types"
echo -e " -b|--boards\tList all board types"
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 vg50 TELIA"
echo "(if no customerconfig is chosen the Inteno Config will be used)"
@@ -183,7 +232,7 @@ function genconfig {
setup_dirs()
{
if ssh -o ConnectTimeout=5 git@private.inteno.se 2>/dev/null | grep -qw ${CUSTREPO:22}; then
if git ls-remote $CUSTREPO -q 2>/dev/null; then
if [ ! -d "$CUSTPATH" ]; then
git clone "$CUSTREPO" "$CUSTPATH"
elif [ $IMPORT -eq 1 ]; then
@@ -214,62 +263,42 @@ function genconfig {
create_and_copy_files()
{
local BOARDTYPE=$1
local CUSTOMER=$2
shift
local CUSTOMERS=$@
# Validate seleced board and customer
# Validate seleced board and customers
set_target $BOARDTYPE
if [ $target == "bogus" ]; then
echo "Hardware profile does not exist"
exit 1
elif [ -n "$CUSTOMER" ]; then
if [ ! -d "$CUSTCONF/$CUSTOMER/" ]; then
echo "Customer profile for '$CUSTOMER' does not exist"
exit 1
elif [ ! -d "$CUSTCONF/$CUSTOMER/$BOARDTYPE/" ]; then
echo "'$BOARDTYPE' board profile does not exist for customer '$CUSTOMER'"
if [ -f "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
echo "Common profile configuration will be used"
else
elif [ -n "$CUSTOMERS" ]; then
for CUSTOMER in $CUSTOMERS; do
if [ ! -d "$CUSTCONF/$CUSTOMER/" ]; then
echo "Customer profile for '$CUSTOMER' does not exist"
exit 1
elif [ ! -d "$CUSTCONF/$CUSTOMER/$BOARDTYPE/" ]; then
echo "'$BOARDTYPE' board profile does not exist for customer '$CUSTOMER'"
if [ -f "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
echo "Common profile configuration will be used"
else
exit 1
fi
fi
fi
done
fi
# Generate base config
# Used only for iopsys targets, not openwrt targets
rm -f .config
if [ $masterconfig -eq 1 ]; then
v "Config $BOARDTYPE selected"
v "cp $CONFIGPATH/config .config"
cp $CONFIGPATH/config .config
fi
v "Config $BOARDTYPE selected"
v "cp $CONFIGPATH/config .config"
cp $CONFIGPATH/config .config
# Add target (soc/board specific )
if [ -f $CONFIGPATH/target/config ]; then
cat $CONFIGPATH/target/config >> .config
if [ -f $config_path/config ]; then
cat $config_path/config >> .config
fi
if [ -f $CONFIGPATH/target/$target/config ]; then
cat $CONFIGPATH/target/$target/config >> .config
if [ -f $config_path/$BOARDTYPE/config ]; then
cat $config_path/$BOARDTYPE/config >> .config
fi
if [ -f $CONFIGPATH/target/$target/$BOARDTYPE/config ]; then
cat $CONFIGPATH/target/$target/$BOARDTYPE/config >> .config
fi
# Apply profile diff to master config if selected
if [ -n "$PROFILE" ]; then
if [ -e "$CONFIGPATH/$PROFILE.diff" ]; then
cat $CONFIGPATH/$PROFILE.diff >> .config
elif [ "$PROFILE" == "juci" ]; then
v "Default profile (juci) is selected."
else
echo "ERROR: profile $PROFILE does not exist!"
exit 1
fi
else
v "No profile selected! Using default."
fi
# Set target and profile
#special handling for intel_mips which use TARGET_DEVICES
if [ "$target" = "intel_mips" ]; then
@@ -285,31 +314,33 @@ function genconfig {
echo "CONFIG_TARGET_${target}_${BOARDTYPE}=y" >> .config
fi
echo "$CUSTOMER $BOARDTYPE" > $CURRENT_CONFIG_FILE
echo "$CUSTOMERS $BOARDTYPE" > $CURRENT_CONFIG_FILE
# Add customerconfig diff if a customer is selected
if [ -n "$CUSTOMER" ]; then
if [ -d "$CUSTCONF/$CUSTOMER/common/fs" ]; then
v "cp -ar $CUSTCONF/$CUSTOMER/common/fs/* $FILEDIR"
cp -ar $CUSTCONF/$CUSTOMER/common/fs/* $FILEDIR
fi
if [ -d "$CUSTCONF/$CUSTOMER/$BOARDTYPE/fs" ]; then
v "cp -ar $CUSTCONF/$CUSTOMER/$BOARDTYPE/fs/* $FILEDIR"
cp -ar $CUSTCONF/$CUSTOMER/$BOARDTYPE/fs/* $FILEDIR
fi
if [ -d "$CUSTCONF/$CUSTOMER/juci-theme" ]; then
customer="$(echo $CUSTOMER | tr 'A-Z' 'a-z')"
v "cp -ar $CUSTCONF/$CUSTOMER/juci-theme $THEMEDIR/juci-theme-$customer"
cp -ar $CUSTCONF/$CUSTOMER/juci-theme $THEMEDIR/juci-theme-$customer
fi
if [ -e "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
v "Apply $CUSTCONF/$CUSTOMER/common/common.diff"
cat $CUSTCONF/$CUSTOMER/common/common.diff >> .config
fi
if [ -e "$CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff" ]; then
v "Apply $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff"
cat $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff >> .config
fi
if [ -n "$CUSTOMERS" ]; then
for CUSTOMER in $CUSTOMERS; do
if [ -d "$CUSTCONF/$CUSTOMER/common/fs" ]; then
v "cp -ar $CUSTCONF/$CUSTOMER/common/fs/* $FILEDIR"
cp -ar $CUSTCONF/$CUSTOMER/common/fs/* $FILEDIR
fi
if [ -d "$CUSTCONF/$CUSTOMER/$BOARDTYPE/fs" ]; then
v "cp -ar $CUSTCONF/$CUSTOMER/$BOARDTYPE/fs/* $FILEDIR"
cp -ar $CUSTCONF/$CUSTOMER/$BOARDTYPE/fs/* $FILEDIR
fi
if [ -d "$CUSTCONF/$CUSTOMER/juci-theme" ]; then
customer="$(echo $CUSTOMER | tr 'A-Z' 'a-z')"
v "cp -ar $CUSTCONF/$CUSTOMER/juci-theme $THEMEDIR/juci-theme-$customer"
cp -ar $CUSTCONF/$CUSTOMER/juci-theme $THEMEDIR/juci-theme-$customer
fi
if [ -e "$CUSTCONF/$CUSTOMER/common/common.diff" ]; then
v "Apply $CUSTCONF/$CUSTOMER/common/common.diff"
cat $CUSTCONF/$CUSTOMER/common/common.diff >> .config
fi
if [ -e "$CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff" ]; then
v "Apply $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff"
cat $CUSTCONF/$CUSTOMER/$BOARDTYPE/$BOARDTYPE.diff >> .config
fi
done
fi
# Set target version
@@ -340,6 +371,11 @@ function genconfig {
echo "CONFIG_WIFILIFE_OPEN=y" >> .config
fi
if [ -n "$BRCM_MAX_JOBS" ]
then
echo "CONFIG_BRCM_MAX_JOBS=\"1\"" >>.config
fi
# Force regeneration of themes
touch package/feeds/juci/juci/Makefile
@@ -351,23 +387,19 @@ function genconfig {
# currently boardparms.c and boardparms_voice.c is the only place that is depending on inteno boardid name
# so just touch that file.
[ -d ./build_dir ] && find build_dir/ -name "boardparms*c" -print0 2>/dev/null | xargs -0 touch 2>/dev/null
# Store generated config
cp .config .genconfig.config
# Set default values based on selected parameters
v "$(make defconfig 2>&1)"
# Temporary fixup for juci/luci profile
if [ "$PROFILE" == "luci" ]; then
sed -i '/CONFIG_DEFAULT_juci/d' .config
sed -i '/CONFIG_PACKAGE_juci/d' .config
sed -i '/CONFIG_PACKAGE_uhttpd/d' .config
fi
if [ $masterconfig -eq 1 ]; then
echo Set version to $(grep -w CONFIG_TARGET_VERSION .config | cut -d'=' -f2 | tr -d '"')
fi
echo Set version to $(grep -w CONFIG_TARGET_VERSION .config | cut -d'=' -f2 | tr -d '"')
# Clean base-file package to force rebuild when changing profile
v "$(make package/base-files/clean 2>&1)"
verify_config
}
####### main #####
@@ -392,6 +424,7 @@ function genconfig {
-p|--profile) export PROFILE="$2"; shift;;
-r|--repo) export CUSTREPO="$2"; shift;;
-s|--override) export SRCTREEOVERR=1;;
-S|--brcmsingel) export BRCM_MAX_JOBS=1;;
-h|--help) usage;;
-l|--list) list_customers 0 $2;;
-a|--list-all)list_customers 1;;
@@ -409,7 +442,7 @@ function genconfig {
CUSTREPO="${CUSTREPO:-git@private.inteno.se:customerconfigs}"
setup_dirs
create_and_copy_files "$1" "$2"
create_and_copy_files "$@"
fi
}

View File

@@ -14,7 +14,7 @@ build_bcmkernel_consumer() {
tarfile='out/bcm963xx_*_consumer.tar.gz'
[ $(ls -1 $tarfile |wc -l) -ne 1 ] && echo "Too many tar files: '$tarfile'" && return
scp -pv $tarfile $SERVER:$FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz
ssh $SERVER "[ -f $FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz ] && ln -sf $FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz $FPATH/bcmopen-$board-$majver.$minver.tar.gz"
ssh $SERVER "[ -f $FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz ] && ln -sf $FPATH/bcmopen-$board-$bcmkernelcommith.tar.gz $FPATH/bcmopen-$board-$majver.$minver-latest"
rm -f $tarfile
cd "$curdir"
}

View File

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

326
iop/scripts/iopupgrade.sh Normal file
View File

@@ -0,0 +1,326 @@
# this is a developer helper script to install firmware on a remote host with SSH
function upd_usage {
echo "usage: $0 iopupgrade -t <host> -f <file> [opts] "
echo ""
echo " Default host is 192.168.1.1"
echo " Default firmware file is the newest one found"
echo " Default is to not keep configuration"
echo "opts:"
echo ""
echo " -i Interactive use, Allows to select firmware file"
echo " -n Do not do the final reboot of the target board"
echo " -c Keep configuration"
echo " -x Force install even if firmware is not for this board"
echo " -b Force install of bootloader regardless of version installed"
echo " -s Use sysupgade. old upgrade method, needed for old releases that do not have iopu"
}
function set_config_string {
eval `grep $1 .config`
}
function upd_ask_ok {
echo "Will Continue with the following settings"
echo "-----------------------------------------"
printf "%20s: %s\n" "Firmare file" "$upd_fw_base"
printf "%20s: %s\n" "Host ip" "$upd_host"
printf "%20s: " "Reboot"; if [ "$upd_noreboot" == "0" ] ;then printf "Yes\n" ;else printf "No\n";fi
printf "%20s: " "Keep config"; if [ "$upd_keepconf" == "1" ] ;then printf "Yes\n" ;else printf "No\n";fi
printf "%20s: " "Force bootloader"; if [ "$upd_forceboot" == "1" ] ;then printf "Yes\n" ;else printf "No\n";fi
printf "%20s: " "Force image upgrade"; if [ "$upd_forceimage" == "1" ] ;then printf "Yes\n" ;else printf "No\n";fi
printf "%20s: " "Use sysupgrade"; if [ "$upd_sysupgrade" == "1" ] ;then printf "Yes\n" ;else printf "No\n";fi
echo "-----------------------------------------"
if [ "$upd_sysupgrade" == "0" ]
then
if [ "$upd_keepconf" == "1" ] ;then echo "keeping config is just a fantasy it's not yet implemented, try sysupgrade";fi
fi
echo -n "Continue? [Y/n/q]:"
read answer
case $answer in
n|N)
return 1;;
q|Q)
exit 1;;
y|Y|*)
return 0;;
esac
}
function upd_select_file {
dialog --keep-tite --title "To select file use TAB/ARROW to hilight then press SPACEBAR -> RETURN" \
--fselect "bin/targets/$CONFIG_TARGET_BOARD/generic/" \
$((lines -10)) $((cols -5)) \
2> $tempfile
new_file=$(cat $tempfile)
if [ -n "$new_file" ]
then
upd_fw="$new_file"
upd_fw_base=$(basename $upd_fw);
fi
}
function upd_select_target {
dialog --keep-tite --title "Input the name/ip number of target board" \
--inputbox "Name/IP" \
$((lines -10)) $((cols -5)) \
"$upd_host" \
2> $tempfile
new_file=$(cat $tempfile)
if [ -n "$new_file" ]
then
upd_host="$new_file"
fi
}
function upd_select_reboot {
dialog --keep-tite --radiolist "Should the board reboot after download finished" \
$((lines -5)) $((cols -5)) $((lines -5 -5)) \
"Reboot" "Restart board after done" `if [ "$upd_noreboot" == "0" ] ;then echo "ON" ;else echo "OFF";fi` \
"No reboot" "Continue running old system" `if [ "$upd_noreboot" == "1" ] ;then echo "ON" ;else echo "OFF";fi` \
2> $tempfile
res=$(cat $tempfile)
case $res in
"No reboot")
upd_noreboot=1
;;
"Reboot")
upd_noreboot=0
;;
esac
}
function upd_select_config {
dialog --keep-tite --radiolist "Should the configuration be keept" \
$((lines -5)) $((cols -5)) $((lines -5 -5)) \
"Keep" "Keep the config from old system" `if [ "$upd_keepconf" == "1" ] ;then echo "ON" ;else echo "OFF";fi` \
"Default" "Use default config for new system" `if [ "$upd_keepconf" == "0" ] ;then echo "ON" ;else echo "OFF";fi` \
2> $tempfile
res=$(cat $tempfile)
case $res in
"Keep")
upd_keepconf=1
;;
"Default")
upd_keepconf=0
;;
esac
}
function upd_select_forceboot {
dialog --keep-tite --radiolist "Should the boot loader be updated reagardless of version installed" \
$((lines -5)) $((cols -5)) $((lines -5 -5)) \
"Force" "Alwasy update boot loader" `if [ "$upd_forceboot" == "1" ] ;then echo "ON" ;else echo "OFF";fi` \
"Version check" "Only upgrade if version is newer" `if [ "$upd_forceboot" == "0" ] ;then echo "ON" ;else echo "OFF";fi` \
2> $tempfile
res=$(cat $tempfile)
case $res in
"Force")
upd_forceboot=1
;;
"Version check")
upd_forceboot=0
;;
esac
}
function upd_select_forceimage {
dialog --keep-tite --radiolist "Should the image be stored in flash even if sanity checks would reject it" \
$((lines -5)) $((cols -5)) $((lines -5 -5)) \
"Force" "Dissable sanity check and force use of image (dangerous)" `if [ "$upd_forceimage" == "1" ] ;then echo "ON" ;else echo "OFF";fi` \
"Only compatible" "Normal checks apply" `if [ "$upd_forceimage" == "0" ] ;then echo "ON" ;else echo "OFF";fi` \
2> $tempfile
res=$(cat $tempfile)
case $res in
"Force")
upd_forceimage=1
;;
"Only compatible")
upd_forceimage=0
;;
esac
}
function upd_select_sysupgrade {
dialog --keep-tite --radiolist "Use the old way to upgrade a board" \
$((lines -5)) $((cols -5)) $((lines -5 -5)) \
"iopu" "Use the iop upgrade methode" `if [ "$upd_sysupgrade" == "0" ] ;then echo "ON" ;else echo "OFF";fi` \
"sysupgrade" "Use the old sysupgrade methode" `if [ "$upd_sysupgrade" == "1" ] ;then echo "ON" ;else echo "OFF";fi` \
2> $tempfile
res=$(cat $tempfile)
case $res in
"iopu")
upd_sysupgrade=0
;;
"sysupgrade")
upd_sysupgrade=1
;;
esac
}
function upd_select {
dialog --keep-tite --ok-label "Select" --cancel-label "Done" --menu "Select Item to change" \
$((lines -5)) $((cols -5)) $((lines -5 -5)) \
"Firmare file" "$upd_fw_base"\
"Host ip" "$upd_host" \
"Reboot" `if [ "$upd_noreboot" == "0" ] ;then printf "Yes\n" ;else printf "No\n";fi` \
"Keep config" `if [ "$upd_keepconf" == "1" ] ;then printf "Yes\n" ;else printf "No\n";fi` \
"Force bootloader" `if [ "$upd_forceboot" == "1" ] ;then printf "Yes\n" ;else printf "No\n";fi` \
"Force image upgrade" `if [ "$upd_forceimage" == "1" ] ;then printf "Yes\n" ;else printf "No\n";fi` \
"sysupgrade" `if [ "$upd_sysupgrade" == "1" ] ;then printf "Yes\n" ;else printf "No\n";fi` \
2> $tempfile
case $(cat $tempfile) in
"Firmare file")
upd_select_file
;;
"Host ip")
upd_select_target
;;
"Reboot")
upd_select_reboot
;;
"Keep config")
upd_select_config
;;
"Force bootloader")
upd_select_forceboot
;;
"Force image upgrade")
upd_select_forceimage
;;
"sysupgrade")
upd_select_sysupgrade
;;
*)
return
;;
esac
upd_select
}
function upd_select_start {
lines=$(tput lines)
cols=$(tput cols)
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15
upd_select
}
function ssh_upgrade {
upd_noreboot=0
upd_forceboot=0
upd_keepconf=0
upd_forceimage=0
upd_fw_base=""
upd_fw=""
upd_host="192.168.1.1"
upd_sysupgrade=0
do_dialog=0
while getopts "f:hnxt:iscb" opt; do
case $opt in
n)
upd_noreboot=1
;;
x)
upd_forceimage=1
;;
b)
upd_forceboot=1
;;
c)
upd_keepconf=1
;;
v)
verbose=$OPTARG
;;
f)
upd_fw=$OPTARG
;;
t)
upd_host=$OPTARG
;;
i)
do_dialog=1
;;
s)
upd_sysupgrade=1
;;
h)
upd_usage
exit 1
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
if [ -n "$upd_fw" ]
then
upd_fw_base=$(basename $upd_fw);
else
set_config_string CONFIG_TARGET_BOARD
firmwares=$(cd bin/targets/$CONFIG_TARGET_BOARD/generic/; ls -t *[0-9].y[3])
for upd_fw_base in $firmwares
do
#echo "firmware $upd_fw"
break
done
upd_fw="bin/targets/$CONFIG_TARGET_BOARD/generic/$upd_fw_base"
fi
[ $do_dialog -eq 1 ] && upd_select_start
if ! upd_ask_ok
then
upd_select_start
if ! upd_ask_ok
then
exit 1
fi
fi
if [ ! -f $upd_fw ]
then
echo "firmware file $firmware do not exist"
exit 1
fi
if [ $upd_sysupgrade -eq 0 ]
then
extra_args=""
[ $upd_noreboot -eq 1 ] && extra_args="$extra_args -n"
[ $upd_forceimage -eq 1 ] && extra_args="$extra_args -x"
[ $upd_forceboot -eq 1 ] && extra_args="$extra_args -b"
file_size_kb=`du -k "$upd_fw" | cut -f1`
cat $upd_fw | pv -s ${file_size_kb}k | ssh root@$upd_host "iopu $extra_args"
else
scp $upd_fw root@$upd_host:/tmp/ &&
ssh -o ConnectTimeout=60 root@$upd_host "sysupgrade -v $3 /tmp/$upd_fw_base" &&
echo "sysupgrade done!"
fi
}
register_command "ssh_upgrade" "-h <host> -f <file> [opts] Install firmware on remote host with SSH"

View File

@@ -1,56 +0,0 @@
# this is a developer helper script to install firmware on a remote host with SSH
function usage {
echo "usage: $0 ssh_sysupgrade <host> <file> [opts]"
}
function ssh_sysupgrade {
if [ -z "$1" ] ; then
usage
echo "Error: host required"
exit 1
fi
if [ -z "$2" ] ; then
usage
echo "Error: firmware filename required"
exit 1
fi
if [ ! -e $2 ] ; then
usage
echo "Error: firmware file does not exist"
exit 1
fi
IMAGE=`basename $2`
echo "sysupgrade host: $1 with file $IMAGE"
[ "$2" ] && [ -e "$2" ] && scp $2 root@$1:/tmp/ && ssh -o ConnectTimeout=60 root@$1 "sysupgrade -v $3 /tmp/$IMAGE" && echo "sysupgrade done!"
}
register_command "ssh_sysupgrade" "<host> <file> [opts] Install firmware on remote host with SSH"
function ssh_sysupgrade_latest {
if [ -z "$1" ] ; then
echo "usage: $0 ssh_sysupgrade_latest <host> [opts]"
echo "Error: host required"
exit 1
fi
{ cd `dirname $0`
IMAGE=`ls -Art bin/*/*/*/*.y[23] | tail -n1`
[ "$IMAGE" ] && [ -e "$IMAGE" ] && ./iop ssh_sysupgrade $1 $IMAGE $2
}
}
register_command "ssh_sysupgrade_latest" "<host> [opts] Install latest ubifs firmware on remote host with SSH"
function ssh_sysupgrade_latest_w {
if [ -z "$1" ] ; then
echo "usage: $0 ssh_sysupgrade_latest_w <host> [opts]"
echo "Error: host required"
exit 1
fi
{ cd `dirname $0`
IMAGE=`ls -Art bin/*/*.w | tail -n1`
[ "$IMAGE" ] && [ -e "$IMAGE" ] && ./iop ssh_sysupgrade $1 $IMAGE $2
}
}
register_command "ssh_sysupgrade_latest_w" "<host> [opts] Install latest jffs2 firmware on remote host with SSH"

View File

@@ -36,17 +36,17 @@ function update_feed_branches {
echo "Updating release branch $release to specific commit hash given in feeds.conf for each feed repo"
fi
ifeeds="$(grep -r feed_inteno feeds.conf | awk '{print$2}' | cut -d'_' -f3 | tr '\n' ' ')"
ifeeds="$(grep -r 'dev.iopsys.eu' feeds.conf | awk '{print$2}' | tr '\n' ' ')"
for f in $ifeeds; do
commith=$(grep feed_inteno_$f feeds.conf | cut -d'^' -f2)
cd $ipath/feeds/feed_inteno_$f
commith=$(grep $f feeds.conf | cut -d'^' -f2)
cd $ipath/feeds/$f
git branch -D $release 2>/dev/null
echo "feed_inteno_$f: updating release branch $release to commit $commith"
echo "$f: updating release branch $release to commit $commith"
git checkout $commith
git push origin :$release
git checkout -b $release
git push origin $release
git push --set-upstream origin $release
cd $ipath
done

55
iopupgrade/Makefile Normal file
View File

@@ -0,0 +1,55 @@
#
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=iopupgrade
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_SOURCE_VERSION:=01f2afd6c831d6f9eb2940c7e7af16f7e4d439c2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/iopupgrade
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
# support parallel build
PKG_BUILD_PARALLEL:=1
#re create configure scripts if not present.
PKG_FIXUP:=autoreconf
# run install target when cross compiling. basically, make install DESTDIR=$(PKG_INSTALL_DIR)
# this way we don't need to pick out the resulting files from the build dir.
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/iopupgrade
CATEGORY:=Utilities
TITLE:=Iopsys system upgrade utility
URL:=
# DEPENDS:=
endef
define Package/iopupgrade/description
Application handling peripheral
endef
define Package/iopupgrade/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/etc/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iopupgrade $(1)/sbin/
endef
$(eval $(call BuildPackage,iopupgrade))

279
iopupgrade/files/sbin/iopu Executable file
View File

@@ -0,0 +1,279 @@
#!/bin/sh
###############################################################################
# Global variables. can be used directly in any function called.
cur_vol="" # num,[0/1] Number used for ubifs root filesystem volume name.
# eg: rootfs_0 or rootfs_1, currently used
upd_vol="" # num,[0/1] Number used for ubifs root filesystem volume name.
# eg: rootfs_0 or rootfs_1, the one we want to update
cmdline="" # command line settings.
cmdline_match="" # Headers to match to the image
###############################################################################
# file local variables. should not be used in imported functions. Can be used
# by functions declared in this script
chroot_cmdline="" # command line for the iop_chroot command.
board="" # string, Board name that is going to be matched
# against header of firmware image
upd_ubi_id="" # num, UBI volume number for the volume name
# "rootfs_$upd_vol", use to know what volume to run
# ubiupdatevol on.
run_cleanup=0 # if set the cleanup should be run otherwise we skip it.
run_mount_cleanup=0 # set if we should run umount in cleanup
upd_kernel=0 # set to 1 if system has the kernel in own mtd partition
upd_cfe=0 # set to 1 if system is using cfe as bootloader.
log_stdout=1 # set to 0 to prevent the log to also print to stdout
upd_noreboot=0 # set to 1 if we should not reboot after programming
upd_forceimage=0 # set this to force upgrade even if image is for wrong board.
upd_forceboot=0 # set this to force upgrade of boot loader
###############################################################################
# import external functions
source /lib/upgrade/iopsys.sh
[ -f /lib/upgrade/iopupgrade ] && source /lib/upgrade/iopupgrade
# only call function if it exists
function_call() {
if type "$1" 2>/dev/null >/dev/null
then
$1 $@
fi
}
###############################################################################
# Cleanup and error handling functions.
function log {
TIME=$(date)
[ $log_stdout -eq 1 ] && echo "$@"
echo "[$TIME] $@" >>/tmp/upd_log
}
# we need to handle ctrl-c, segmentation fault, sigpipe and other abnormal
# terminations. no printing to stdout/stderr allowed in this function or
# anyhting it calls as stdout/stderr might no longer exist
function finish {
if [ "$run_cleanup" == "1" ]
then
function_call upd_cleanup
log ""
fi
if [ "$run_mount_cleanup" == "1" ]
then
log "Cleaning up after mount"
umount_newroot
fi
# always kill the timeout process, will leave the sleep but that is harmless
# as long as the kill will nerver be run.
kill $TIMEOUT_PID 2>/dev/null
lock -u /tmp/iopu.lock
}
function sig_pipe {
log_stdout=0 # stdin,stdout,stderr do not exist anymore
log "Got sigpipe. Turning of log printing to stdout"
}
# if a timout happens terminate
function timeout {
finish
exit 1
}
# Not much that can be done if the mount fails but to try again.
# if after 10 seconds there still is errors abort program.
# UBIFS has some wierd time intervall after ubiupdatevol where
# a mount of the newly written data results in a busy error.
function mount_retry {
local tries=0
while [ $tries -lt 10 ]
do
if mount $@ 2>/dev/null
then
return
fi
tries=$((tries + 1))
sleep 1
done
log "mount failed for command [mount $@] so upgrade failed."
exit 1
}
function mount_newroot {
run_mount_cleanup=1
mkdir -p /tmp/newroot
mkdir -p /tmp/newroot_overlay
mount_retry -t ubifs ubi0:rootfs_$upd_vol /tmp/newroot
mount_retry -o noatime,lowerdir=/tmp/newroot,upperdir=/tmp/newroot/overlay,workdir=/tmp/newroot/lib/overlay.tmp -t overlay "overlayfs:/tmp/newroot/overlay" /tmp/newroot_overlay
mount_retry --bind /tmp/newroot/ /tmp/newroot_overlay/rom
mount_retry --bind /dev /tmp/newroot_overlay/dev
mount_retry --bind /proc /tmp/newroot_overlay/proc
mount_retry --bind /sys /tmp/newroot_overlay/sys
mount_retry -t tmpfs -o noatime,mode=0755 root /tmp/newroot_overlay/tmp
mkdir -p /tmp/newroot_overlay/tmp/oldroot
mount_retry --bind / /tmp/newroot_overlay/tmp/oldroot
mount_retry --bind /tmp /tmp/newroot_overlay/tmp/oldroot/tmp
}
function umount_newroot {
umount /tmp/newroot_overlay/tmp/oldroot/tmp
umount /tmp/newroot_overlay/tmp/oldroot
umount /tmp/newroot_overlay/tmp
umount /tmp/newroot_overlay/sys
umount /tmp/newroot_overlay/proc
umount /tmp/newroot_overlay/dev
umount /tmp/newroot_overlay/rom
umount /tmp/newroot_overlay
umount /tmp/newroot
run_mount_cleanup=0
}
function usage {
echo "usage: $0 iopu [opts] "
echo ""
echo "opts:"
echo ""
echo " -n Do not do the final reboot of the target board"
echo " -c Keep configuration"
echo " -x Force install even if firmware is not for this board"
echo " -b Force install of bootloader regardless of version installed"
echo " -r Jump into chroot env of other system"
}
###############################################################################
# just one instance
# this check has to be done before we install handler to avoid removing the
# lock even if it was not available.
if ! lock -n /tmp/iopu.lock
then
echo "Another instance of iopu already running"
echo "If you are sure this is wrong remove file /tmp/iopu.lock"
exit 1
fi
trap finish EXIT
trap timeout SIGALRM
trap sig_pipe SIGPIPE
while getopts "nrxb" opt; do
case $opt in
n)
upd_noreboot=1
;;
x)
upd_forceimage=1
;;
b)
upd_forceboot=1
;;
r)
upd_vol=$(get_flashbank_next)
mount_newroot
(ENV=/sbin/iopu_chroot_env chroot /tmp/newroot_overlay /bin/sh)
echo ""
umount_newroot
exit 0
;;
h)
upd_usage
exit 1
;;
esac
done
# put a timeout on this if it takes longer than 120 seconds we should abort
# and clean up
(
sleep 120 # if 2 minutes pass
kill -ALRM $$ 2>/dev/null # send it a SIGALRM signal
)&
TIMEOUT_PID=$!
log "Firmware upgrade started"
# Should board name be checked
if [ $upd_forceimage -eq 0 ]
then
board=$(db get hw.board.iopVerBoard)
cmdline_match="board=$board"
fi
# find out what rootfs volume is active.
cur_vol=$(get_flashbank_current)
upd_vol=$(get_flashbank_next)
# convert volume name "rootfs_$upd_vol" into ubifs volume id
upd_ubi_id=$(ubinfo -d 0 -N rootfs_$upd_vol | awk "/Volume ID:/ {print \$3}")
log "installing Root Fileystem into UBI volume rootfs_$upd_vol"
# prepare to match dsl.
function_call upd_conf_dsl
# prepare to update CFE if it exists
function_call upd_conf_cfe
# prepare to update kernel if it is stored in MTD/JFFS2
function_call upd_conf_kernel
log "now starting writing data to flash with [ iopupgrade $cmdline -M "$cmdline_match" -u ubi0_$upd_ubi_id ]"
run_cleanup=1 # When we start to actually write data there might be some
# things that need cleanup if we get an error/crash
iopupgrade $cmdline -M "$cmdline_match" -u ubi0_$upd_ubi_id
# in case of any error we abort
if [ $? -ne 0 ]; then
log "iopupgrade program Failed"
exit 1
fi
log "Firmware programmed to flash."
log "Transfering configuration to new system."
# Force upgrade of boot loader
[ $upd_forceboot -eq 1 ] && chroot_cmdline="$chroot_cmdline -b"
mount_newroot
chroot /tmp/newroot_overlay /sbin/iopu_chroot $chroot_cmdline
umount_newroot
log "Update fully installed."
run_cleanup=0
# Now make sure that we actually boot the new system on the next reboot
upd_finnish
# spawn the reboot to a subshell to allow the main program to quit before reset
# to avoid any hanged network connection like ssh
if [ $upd_noreboot -eq 0 ]
then
(
log_stdout=0 # stdin,stdout,stderr do not exist anymore, we are in a
# subshell and then the trap is no longer working.
sleep 1
log "Rebooting NOW!!!"
log ""
reboot
)&
log "Reboot initiated"
else
log "Skipping reboot"
fi

View File

@@ -0,0 +1,61 @@
#!/bin/sh
#
# This program is intended to be run in a chroot environment where the old system
# is mounted in /tmp/oldroot
#
###############################################################################
# Global variables. can be used directly in any function called.
###############################################################################
# file local variables. should not be used in imported functions. Can be used
# by functions declared in this script
upd_forceboot=0
log_stdout=1 # set to 0 to prevent the log to also print to stdout
###############################################################################
# import external functions
source /lib/upgrade/iopsys.sh
[ -f /lib/upgrade/iopupgrade ] && source /lib/upgrade/iopupgrade
# only call function if it exists
function_call() {
if type "$1" 2>/dev/null >/dev/null
then
$1 $@
fi
}
# Cleanup and error handling functions.
function log {
TIME=$(date)
[ $log_stdout -eq 1 ] && echo "$@"
echo "[$TIME] $@" >>/root/upd_log
}
while getopts "hb" opt; do
case $opt in
h)
upd_usage
exit 1
;;
b)
upd_forceboot=1
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
# copy old install log over
cp /tmp/oldroot/tmp/upd_log /root/upd_log
# Upgrade boot loader if needed.
function_call upd_program_boot

View File

@@ -0,0 +1,18 @@
#!/bin/sh
# this is run when "iopr -r" is executed.
# intended to just show what environment is actually started.
cat /etc/banner
echo "/tmp/oldroot:"
echo " Contains the running root filesystem. It is live so files are in use"
echo " Anything copying/reading files from there needs to make sure it is done safely."
echo ""
Color_Off='\033[0m' # Text Reset
Red='\033[0;31m' # Red
PS1="${Red}chroot_new${Color_Off}:\w\#"
export PS1
export Red
export Color_Off

52
libjwt/Makefile Normal file
View File

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

33
ltq-nand/Makefile Normal file
View File

@@ -0,0 +1,33 @@
#
# Copyright (C) 2008-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ltq-nand
PKG_VERSION:=1.0
PKG_SOURCE:=v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand/archive/
#PKG_SOURCE_PROTO:=git
#PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand/releases/download/v$(PKG_VERSION)/
#PKG_SOURCE_URL:=https://github.com/merbanan/ltq-nand.git
#PKG_SOURCE_VERSION:=07b5b0331af6de4174dab2c02bf260ee9625452a
include $(INCLUDE_DIR)/host-build.mk
define Host/Compile
$(MAKE) -C $(HOST_BUILD_DIR)
endef
define Host/Install
$(CP) \
$(HOST_BUILD_DIR)/ltq-nand \
$(STAGING_DIR_HOST)/bin/
endef
$(eval $(call HostBuild))

37
mqtt-ciotc/Makefile Normal file
View File

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

View File

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

View File

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

33
ndt/Makefile Normal file
View File

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

View File

@@ -3,7 +3,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=netmode
PKG_VERSION:=0.2.0
PKG_SOURCE_VERSION:=82fd6c196a3b990e105cef867a69ce52979b27fa
PKG_SOURCE_VERSION:=9fa23664b3bdd963e4556f5921c9f9be1c9c578f
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/netmoded

View File

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

View File

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

View File

@@ -18,7 +18,7 @@ config wifi-device 'wl0'
option bandwidth '80'
option hwmode 'auto'
option channel 'auto'
option scantimer '15'
option scantimer '60'
option wmm '1'
option wmm_noack '0'
option wmm_apsd '1'
@@ -60,7 +60,7 @@ config wifi-device 'wl1'
option bandwidth '20'
option hwmode 'auto'
option channel 'auto'
option scantimer '15'
option scantimer '60'
option wmm '1'
option wmm_noack '0'
option wmm_apsd '1'

View File

@@ -0,0 +1,38 @@
#if wet in wireless config and SSID nad KEY was saved for it, apply to config
#!/bin/sh
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
parse_wet_json()
{
local interface=$1
local mode key encryption ssid connect_bssid
config_get mode $interface mode
[ "$mode" = "wet" ] || return
json_load "$(cat /tmp/netmodecfg)" 2> /dev/null
json_get_var ssid ssid
json_get_var key key
json_get_var encryption encryption
json_get_var connect_bssid connect_bssid
uci -q set wireless.$1.key="$key"
uci -q set wireless.$1.encryption="$encryption"
uci -q set wireless.$1.ssid="$ssid"
uci -q set wireless.$1.connect_bssid="$connect_bssid"
uci commit wireless
}
apply_wet_cfg()
{
[ -f /tmp/netmodecfg ] || return
config_load wireless
config_foreach parse_wet_json "wifi-iface"
rm /tmp/netmodecfg 2> /dev/null
}
apply_wet_cfg

View File

@@ -0,0 +1,38 @@
#if mode wet in wireless config has SSID Key, save them
#!/bin/sh
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
parse_wet_cfg()
{
local interface=$1
local mode key encryption ssid connect_bssid
config_get mode $interface mode
[ "$mode" = "wet" ] || return
config_get ssid $interface ssid
config_get key $interface key
config_get encryption $interface encryption
config_get connect_bssid $interface connect_bssid
[ -n "$key" ] || return
[ -n "$encryption" ] || return
json_init
json_add_string "ssid" "$ssid"
json_add_string "key" "$key"
json_add_string "encryption" "$encryption"
json_add_string "connect_bssid" "$connect_bssid"
echo "`json_dump`" > /tmp/netmodecfg
}
save_wet_cfg()
{
config_load wireless
config_foreach parse_wet_cfg "wifi-iface"
}
save_wet_cfg

View File

@@ -18,7 +18,7 @@ config wifi-device 'wl0'
option bandwidth '80'
option hwmode 'auto'
option channel 'auto'
option scantimer '15'
option scantimer '60'
option wmm '1'
option wmm_noack '0'
option wmm_apsd '1'
@@ -60,7 +60,7 @@ config wifi-device 'wl1'
option bandwidth '20'
option hwmode 'auto'
option channel 'auto'
option scantimer '15'
option scantimer '60'
option wmm '1'
option wmm_noack '0'
option wmm_apsd '1'

View File

@@ -18,6 +18,7 @@ config wifi-device ra0
option hwmode auto
option htmode HT20
option country 'DE'
option scantimer '60'
config wifi-iface
option device ra0
@@ -37,6 +38,7 @@ config wifi-device rai0
option htmode VHT80
option country 'DE'
option beamforming 1
option scantimer '60'
config wifi-iface
option device rai0

View File

@@ -180,6 +180,7 @@ switch_netmode() {
run_netmode_scripts $curmode "pre"
logger -s -p user.info -t $0 "[netmode] Copying /etc/netmodes/$curmode in /etc/config" >/dev/console
for file in $(ls /etc/netmodes/$curmode/); do
case "$file" in
DETAILS|scripts) continue ;;
@@ -188,6 +189,9 @@ switch_netmode() {
done
sync
#commit owsd to reload all init.d scripts dependent on its config
ubus call uci commit '{"config":"owsd"}'
local reboot=$(uci -q get netmode.$curmode.reboot)
if [ "$reboot" != "0" ]; then
@@ -382,7 +386,9 @@ populate_netmodes() {
if json_select acl; then
_i=1
while json_get_var user $_i; do
uci del_list netmode.$mode._access_r="$user"
uci del_list netmode.$mode._access_w="$user"
uci add_list netmode.$mode._access_r="$user"
uci add_list netmode.$mode._access_w="$user"
_i=$((_i+1))
done

View File

@@ -10,7 +10,7 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/owsd.git
PKG_SOURCE_VERSION:=b3f52463a50d56af80bfd8b3f63960885379f150
PKG_SOURCE_VERSION:=f0eedeb6fd061edf3784d6bf86fa60b176bf3fe7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_MAINTAINER:=Sartura Support for Inteno <support-inteno@sartura.hr>

View File

@@ -308,10 +308,10 @@ start_service() {
procd_close_instance
}
stop_service()
{
service_stop ${PROG}
}
#stop_service()
#{
# service_stop ${PROG}
#}
reload_service() {
stop

43
paho-mqtt-c/Makefile Normal file
View File

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

View File

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

View File

@@ -8,7 +8,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=questd
PKG_VERSION:=3.1.40
PKG_SOURCE_VERSION:=7a0a7427d339736e3ee555e816d40c985651632c
PKG_SOURCE_VERSION:=dd8f4a956ce652d483b8f8878deaa6d5586c2860
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/questd

View File

@@ -5,17 +5,16 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=rulengd
PKG_VERSION:=1.0.0
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/rulengd.git
PKG_SOURCE_VERSION:=99881f39232154530ac129dc2109d78963017ad1
PKG_SOURCE_VERSION:=63569245b62d90d3106cc826f2d2b18f51c0b885
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_MAINTAINER:=Sartura Support for Inteno <support-inteno@sartura.hr>
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1

View File

@@ -11,6 +11,11 @@ useradd()
local password
config_get user $1 user
config_get password $1 password
filter="0A;5C 6E"
[ "$(hex_filter "$user" "$filter" 1)" = "" ] || return
[ "$(hex_filter "$password" "$filter" 1)" = "" ] || return
if ! $(grep -rq "^$user:" /etc/passwd) ; then
echo "adding user $user"
adduser $user -s /bin/false -D -H -h /mnt/$user -g "samba,pass=$password" && smbpasswd $user $password
@@ -51,6 +56,46 @@ purgepasswd()
done
}
hex_filter() {
local string=$1
local hex_chars=$2
local wc_max=$3
local wc_tot=0
if [ -z "$string" -o -z "$hex_chars" -o -z "$wc_max" ]
then
return;
fi
dump=$(echo "$string" | hexdump -v -e '32/1 "%02X ""\n"')
IFS=';'
for i in $hex_chars;
do
local filtered
IFS=' '
filtered=${dump//$i/}
set -- $i
divider=$#
set -- $dump
start=$#
set -- $filtered
end=$#
wc=$((start-end))
wc=$((wc/divider))
[ $wc -eq 0 ] || wc_tot=$((wc_tot+wc))
IFS=';'
done
[ $wc_tot -gt $wc_max ] && echo "corrupt"
}
smb_header() {
local interface
config_get interface $1 interface
@@ -80,11 +125,12 @@ smb_header() {
config_get description $1 description "Samba on ${hostname:-OpenWrt}"
config_get charset $1 charset "UTF-8"
name=`echo -e "$name" | head -1`
workgroup=`echo -e "$workgroup" | head -1`
description=`echo -e "$description" | head -1`
interfaces=`echo -e "$interfaces" | head -1`
charset=`echo -e "$charset" | head -1`
filter="0A;5C 6E"
[ "$(hex_filter "$name" "$filter" 1)" = "" ] || exit
[ "$(hex_filter "$workgroup" "$filter" 1)" = "" ] || exit
[ "$(hex_filter "$description" "$filter" 1)" = "" ] || exit
[ "$(hex_filter "$interfaces" "$filter" 1)" = "" ] || exit
[ "$(hex_filter "$charset" "$filter" 1)" = "" ] || exit
mkdir -p /var/etc
sed -e "s#|NAME|#$name#g" \
@@ -144,13 +190,22 @@ smb_add_share() {
path=$(readlink -f $path)
[ "${path:0:4}" == "/mnt" ] || path="/mnt/"
echo -e "\n[$name]\n\tpath = ${path%%\\n*}" >> /var/etc/smb.conf
[ -n "$users" ] && echo -e "\tvalid users = $users" | head -1 >> /var/etc/smb.conf
[ -n "$read_only" ] && echo -e "\tread only = $read_only" | head -1 >> /var/etc/smb.conf
[ -n "$guest_ok" ] && echo -e "\tguest ok = $guest_ok" | head -1 >> /var/etc/smb.conf
[ -n "$create_mask" ] && echo -e "\tcreate mask = $create_mask" | head -1 >> /var/etc/smb.conf
[ -n "$dir_mask" ] && echo -e "\tdirectory mask = $dir_mask" | head -1 >> /var/etc/smb.conf
[ -n "$browseable" ] && echo -e "\tbrowseable = $browseable" | head -1 >> /var/etc/smb.conf
filter="0A;5C 6E"
[ "$(hex_filter "$name" "$filter" 1)" = "" ] || return
[ "$(hex_filter "$users" "$filter" 1)" = "" ] || return
[ "$(hex_filter "$read_only" "$filter" 1)" = "" ] || return
[ "$(hex_filter "$guest_ok" "$filter" 1)" = "" ] || return
[ "$(hex_filter "$create_mask" "$filter" 1)" = "" ] || return
[ "$(hex_filter "$dir_mask" "$filter" 1)" = "" ] || return
[ "$(hex_filter "$browseable" "$filter" 1)" = "" ] || return
echo -e "\n[$name]\n\tpath = $path" >> /var/etc/smb.conf
[ -n "$users" ] && echo -e "\tvalid users = $users" >> /var/etc/smb.conf
[ -n "$read_only" ] && echo -e "\tread only = $read_only" >> /var/etc/smb.conf
[ -n "$guest_ok" ] && echo -e "\tguest ok = $guest_ok" >> /var/etc/smb.conf
[ -n "$create_mask" ] && echo -e "\tcreate mask = $create_mask" >> /var/etc/smb.conf
[ -n "$dir_mask" ] && echo -e "\tdirectory mask = $dir_mask" >> /var/etc/smb.conf
[ -n "$browseable" ] && echo -e "\tbrowseable = $browseable" >> /var/etc/smb.conf
}
start_service() {

View File

@@ -1,72 +0,0 @@
#
# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=syslog-ng
PKG_VERSION:=3.0.5
PKG_RELEASE:=5
PKG_SOURCE_URL:=http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/$(PKG_VERSION)/source/
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
PKG_MD5SUM:=28f0d9ff2243b330e8cd6311ef9b2f12
PKG_CONFIG_DEPENDS:= \
CONFIG_IPV6 \
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/syslog-ng3
SECTION:=admin
CATEGORY:=Administration
DEPENDS:=+libpcre +glib2 +libeventlog +libopenssl +libwrap +libpthread +librt +zlib +libdbi
TITLE:=A powerful syslog daemon
URL:=http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/
endef
define Package/syslog-ng3/description
syslog-ng reads and logs messages to the system console, log
files, other machines and/or users as specified by its
configuration file.
endef
define Package/syslog-ng3/conffiles
/etc/syslog-ng.conf
endef
define Build/Configure
$(SED) 's,-I/usr/include,,' $(PKG_BUILD_DIR)/configure
$(Build/Configure/Default)
endef
CONFIGURE_ARGS += \
$(call autoconf_bool,CONFIG_IPV6,ipv6) \
--disable-dependency-tracking \
--enable-tcp-wrapper \
--disable-glibtest \
--disable-spoof-source \
--disable-sql \
--enable-prce \
--disable-linux-caps \
TARGET_CPPFLAGS += \
-I$(STAGING_DIR)/usr/include/eventlog
CONFIGURE_VARS += \
LIBDBI_CFLAGS="-I$(STAGING_DIR)/usr/include"
define Package/syslog-ng3/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/syslog-ng $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/syslog-ng.init $(1)/etc/init.d/syslog-ng
$(INSTALL_DIR) $(1)/etc
$(INSTALL_DATA) ./files/syslog-ng.conf $(1)/etc
endef
$(eval $(call BuildPackage,syslog-ng3))

View File

@@ -1,37 +0,0 @@
@version:3.0
options {
chain_hostnames(no);
create_dirs(yes);
flush_lines(0);
keep_hostname(yes);
log_fifo_size(256);
log_msg_size(1024);
stats_freq(0);
flush_lines(0);
use_fqdn(no);
};
source src {
internal();
unix-stream("/dev/log");
};
source net {
udp(ip(0.0.0.0) port(514));
};
source kernel {
file("/proc/kmsg" program_override("kernel"));
};
destination messages {
file("/var/log/messages");
};
log {
source(src);
source(net);
source(kernel);
destination(messages);
};

View File

@@ -1,19 +0,0 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
START=50
SERVICE_USE_PID=1
start() {
[ -f /etc/syslog-ng.conf ] || return 1
service_start /usr/sbin/syslog-ng
}
stop() {
service_stop /usr/sbin/syslog-ng
}
reload() {
service_reload /usr/sbin/syslog-ng
}

View File

@@ -1,12 +0,0 @@
--- a/configure
+++ b/configure
@@ -7357,6 +7357,9 @@ dynamic_threads () {
esac
}
+GLIB_LIBS="-Wl,-rpath-link=$STAGING_DIR/usr/lib/libiconv-full/lib $GLIB_LIBS"
+LIBS="-Wl,-rpath-link=$STAGING_DIR/usr/lib/libiconv-full/lib $LIBS"
+
case "$ostype" in
FreeBSD)
GLIB_LIBS="$GLIB_LIBS -lintl"

View File

@@ -8,7 +8,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=topologyd
PKG_VERSION:=0.1
PKG_SOURCE_VERSION:=b520fe65d2469ff52cc70328fce753f67cf998e5
PKG_SOURCE_VERSION:=23b812bb512189487484182ab736e957d54da9f3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/topologyd.git

View File

@@ -17,7 +17,7 @@ start_service() {
fi
procd_set_param respawn
procd_set_param stdout 1
# procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}

View File

@@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git
ifdef CONFIG_TARGET_intel_mips
PKG_SOURCE_URL:=git@dev.iopsys.eu:intel/uboot.git
PKG_SOURCE_VERSION:=b3bc3af5831f14d9cd4d983522bc45a1fd9fa26c
PKG_SOURCE_VERSION:=0ef53f269c27f8e736fd30fd1a874159f70c76bf
else
PKG_SOURCE_URL:=https://dev.iopsys.eu/fork/uboot.git
PKG_SOURCE_VERSION:=3ef2ba866a99205496e0ce01935c89a1778d9b85
@@ -59,21 +59,30 @@ define uboot/grx500
TITLE:=U-Boot for the grx
UBOOT_IMG:=u-boot-nand.bin
DEPENDS:=@TARGET_intel_mips
PKG_RELEASE:=5
PKG_RELEASE:=10
endef
# obsolete: no longer supported
define uboot/grx500_speedport_smart3
TITLE:=U-Boot for the Speedport Smart3
UBOOT_IMG:=u-boot-nand.bin
DEPENDS:=@TARGET_intel_mips
PKG_RELEASE:=5
PKG_RELEASE:=7
endef
define uboot/grx500_norrland
TITLE:=U-Boot for Norrland Board
UBOOT_IMG:=u-boot-nand.bin
DEPENDS:=@TARGET_intel_mips
PKG_RELEASE:=10
endef
UBOOTS := \
ex400 \
sdx810_ap \
grx500 \
grx500_speedport_smart3
grx500_speedport_smart3 \
grx500_norrland
define Package/uboot/template
define Package/uboot-$(1)
@@ -95,13 +104,14 @@ ifdef BUILD_VARIANT
$(eval $(call uboot/$(BUILD_VARIANT)))
UBOOT_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT))
UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_VARIANT)-u-boot.bin)
UBOOT_IOPSYS_VERSION:=$(PKG_RELEASE)
endif
define Build/Configure
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
$(UBOOT_CONFIG)_config
$(SED) "s,CONFIG_INTENO_MAJOR=\"0\",CONFIG_INTENO_MAJOR=\"$(PKG_RELEASE)\"," $(PKG_BUILD_DIR)/.config
$(SED) "s,CONFIG_INTENO_MAJOR=\"0\",CONFIG_INTENO_MAJOR=\"$(UBOOT_IOPSYS_VERSION)\"," $(PKG_BUILD_DIR)/.config
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
oldconfig
@@ -114,8 +124,13 @@ define Build/Compile
CROSS_COMPILE=$(TARGET_CROSS) env
endef
# don't install /etc/init.d/uboot for intel-mips as it's not needed
define Package/uboot/install/default
$(CP) ./files/* $$(1)/
$(INSTALL_DIR) $$(1)/lib/upgrade
$(CP) ./files/uboot-upgrade $$(1)/lib/upgrade/
$(if $(CONFIG_TARGET_intel_mips), ,$(INSTALL_DIR) $$(1)/etc/init.d)
$(if $(CONFIG_TARGET_intel_mips), ,$(CP) ./files/uboot $$(1)/etc/init.d/)
$(INSTALL_DIR) $(BIN_DIR)/$(TARGET)
$(INSTALL_DIR) $$(1)/boot
$(CP) \

8
uboot/files/uboot Executable file
View File

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

View File

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

46
usp/Makefile Normal file
View File

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

19
usp/files/uspd.init Normal file
View File

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

View File

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

View File

@@ -0,0 +1,80 @@
;
; Named Access Control Lists (ACLs)
;
; A convenient way to share acl definitions
;
; This configuration file is read on startup
;
; CLI Commands
; -----------------------------------------------------------
; acl show Show all named ACLs configured
; acl show <name> Show contents of a particular named ACL
; reload acl Reload configuration file
;
; Any configuration that uses ACLs which has been made to be able to use named
; ACLs will specify a named ACL with the 'acl' option in its configuration in
; a similar fashion to the usual 'permit' and 'deny' options. Example:
; acl=my_named_acl
;
; Multiple named ACLs can be applied by either comma separating the arguments or
; just by adding additional ACL lines. Example:
; acl=my_named_acl
; acl=my_named_acl2
;
; or
;
; acl=my_named_acl,my_named_acl2
;
; ACLs specified by name are evaluated independently from the ACL specified via
; permit/deny. In order for an address to pass a given ACL, it must pass both
; the ACL specified by permit/deny for a given item as well as any named ACLs
; that were specified.
;
;[example_named_acl1]
;deny=0.0.0.0/0.0.0.0
;permit=209.16.236.0
;permit=209.16.236.1
;
;[example_named_acl2]
;permit=0.0.0.0/0.0.0.0
;deny=10.24.20.171
;deny=10.24.20.103
;deny=209.16.236.1
;
; example_named_acl1 above shows an example of whitelisting. When whitelisting, the
; named ACLs should follow a deny that blocks everything (like deny=0.0.0.0/0.0.0.0)
; The following example explains how combining the ACLs works:
; <in another configuration>
; [example_item_with_acl]
; acl=example_named_acl1
; acl=example_named_acl2
;
; Suppose 209.16.236.0 tries to communicate and the ACL for that example is applied to it...
; First, example_named_acl1 is evaluated. The address is allowed by that ACL.
; Next, example_named_acl2 is evaluated. The address isn't blocked by example_named_acl2
; either, so it passes.
;
; Suppose instead 209.16.236.1 tries to communicate and the same ACL is applied.
; First, example_named_acl1 is evaluated and the address is allowed.
; However, it is blocked by example_named_acl2, so the address is blocked from the combined
; ACL.
;
; Similarly, the permits/denies in specific configurations that make up an ACL definition
; are also treated as a separate ACL for evaluation. So if we change the example above to:
; <in another configuration>
; [example_item_with_acl]
; acl=example_named_acl1
; acl=example_named_acl2
; deny=209.16.236.0
;
; Then 209.16.236.0 will be rejected by the non-named component of the combined ACL even
; though it passes the two named components.
;
;
; Named ACLs can use ipv6 addresses just like normal ACLs.
;[ipv6_example_1]
;deny = ::
;permit = ::1/128
;
;[ipv6_example_2]
;permit = fe80::21d:bad:fad:2323

View File

@@ -0,0 +1,14 @@
;
; Mappings for custom config file
;
; To get your CSV output in a format tailored to your liking, uncomment the
; following lines and look for the output in the cdr-custom directory (usually
; in /var/log/asterisk). Depending on which mapping you uncomment, you may see
; Master.csv, Simple.csv, or both.
;
;[mappings]
;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration)})},${CSV_QUOTE(${CDR(billsec)})},${CSV_QUOTE(${CDR(disposition)})},${CSV_QUOTE(${CDR(amaflags)})},${CSV_QUOTE(${CDR(accountcode)})},${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})},${CDR(sequence)}
;
; High Resolution Time for billsec and duration fields
;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration,f)})},${CSV_QUOTE(${CDR(billsec,f)})},${CSV_QUOTE(${CDR(disposition)})},${CSV_QUOTE(${CDR(amaflags)})},${CSV_QUOTE(${CDR(accountcode)})},${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})},${CDR(sequence)}
;Simple.csv => ${CSV_QUOTE(${EPOCH})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})}

View File

@@ -0,0 +1,116 @@
;
; Asterisk Channel Event Logging (CEL)
;
; Channel Event Logging is a mechanism to provide fine-grained event information
; that can be used to generate billing information. Such event information can
; be recorded to various backend modules.
;
[general]
; CEL Activation
;
; Use the 'enable' keyword to turn CEL on or off.
;
; Accepted values: yes and no
; Default value: no
;enable=yes
; Application Tracking
;
; Use the 'apps' keyword to specify the list of applications for which you want
; to receive CEL events. This is a comma separated list of Asterisk dialplan
; applications, such as Dial, Queue, and Park.
;
; Accepted values: A comma separated list of Asterisk dialplan applications
; Default value: none
;
; Note: You may also use 'all' which will result in CEL events being reported
; for all Asterisk applications. This may affect Asterisk's performance
; significantly.
apps=dial,park
; Event Tracking
;
; Use the 'events' keyword to specify the list of events which you want to be
; raised when they occur. This is a comma separated list of the values in the
; table below.
;
; Accepted values: A comma separated list of one or more of the following:
; ALL -- Generate entries on all events
; CHAN_START -- The time a channel was created
; CHAN_END -- The time a channel was terminated
; ANSWER -- The time a channel was answered (ie, phone taken off-hook)
; HANGUP -- The time at which a hangup occurred
; BRIDGE_ENTER -- The time a channel was connected into a conference room
; BRIDGE_EXIT -- The time a channel was removed from a conference room
; APP_START -- The time a tracked application was started
; APP_END -- the time a tracked application ended
; PARK_START -- The time a call was parked
; PARK_END -- Unpark event
; BLINDTRANSFER -- When a blind transfer is initiated
; ATTENDEDTRANSFER -- When an attended transfer is initiated
; PICKUP -- This channel picked up the specified channel
; FORWARD -- This channel is being forwarded somewhere else
; LINKEDID_END -- The last channel with the given linkedid is retired
; USER_DEFINED -- Triggered from the dialplan, and has a name given by the
; user
; LOCAL_OPTIMIZE -- A local channel pair is optimizing away.
;
; Default value: none
; (Track no events)
events=APP_START,CHAN_START,CHAN_END,ANSWER,HANGUP,BRIDGE_ENTER,BRIDGE_EXIT
; Date Format
;
; Use the 'dateformat' keyword to specify the date format used when CEL events
; are raised.
;
; Accepted values: A strftime format string (see man strftime)
;
; Example: "%F %T"
; -> This gives the date and time in the format "2009-06-23 17:02:35"
;
; If this option is not specified, the default format is "<seconds>.<microseconds>"
; since epoch. The microseconds field will always be 6 digits in length, meaning it
; may have leading zeros.
;
;dateformat = %F %T
;
; Asterisk Manager Interface (AMI) CEL Backend
;
[manager]
; AMI Backend Activation
;
; Use the 'enable' keyword to turn CEL logging to the Asterisk Manager Interface
; on or off.
;
; Accepted values: yes and no
; Default value: no
;enabled=yes
; Use 'show_user_defined' to put "USER_DEFINED" in the EventName header,
; instead of (by default) just putting the user defined event name there.
; When enabled the UserDefType header is added for user defined events to
; provide the user defined event name.
;
;show_user_defined=yes
;
; RADIUS CEL Backend
;
[radius]
;
; Log date/time in GMT
;usegmtime=yes
;
; Set this to the location of the radiusclient-ng configuration file
; The default is /etc/radiusclient-ng/radiusclient.conf
;radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf
;

View File

@@ -0,0 +1,383 @@
[general]
; The general section of this config
; is not currently used, but reserved
; for future use.
;
; --- Default Information ---
; The default_user and default_bridge sections are applied
; automatically to all ConfBridge instances invoked without
; a user, or bridge argument. No menu is applied by default.
;
; Note that while properties of the default_user or default_bridge
; profile can be overridden, if removed, they will be automatically
; added and made available to the dialplan upon module load.
;
; --- ConfBridge User Profile Options ---
[default_user]
type=user
;admin=yes ; Sets if the user is an admin or not. Off by default.
;marked=yes ; Sets if this is a marked user or not. Off by default.
;startmuted=yes; Sets if all users should start out muted. Off by default
;music_on_hold_when_empty=yes ; Sets whether MOH should be played when only
; one person is in the conference or when the
; the user is waiting on a marked user to enter
; the conference. Off by default.
;music_on_hold_class=default ; The MOH class to use for this user.
;quiet=yes ; When enabled enter/leave prompts and user intros are not played.
; There are some prompts, such as the prompt to enter a PIN number,
; that must be played regardless of what this option is set to.
; Off by default
;announce_user_count=yes ; Sets if the number of users should be announced to the
; caller. Off by default.
;announce_user_count_all=yes ; Sets if the number of users should be announced to
; all the other users in the conference when someone joins.
; This option can be either set to 'yes' or a number.
; When set to a number, the announcement will only occur
; once the user count is above the specified number.
;announce_only_user=yes ; Sets if the only user announcement should be played
; when a channel enters a empty conference. On by default.
;wait_marked=yes ; Sets if the user must wait for a marked user to enter before
; joining the conference. Off by default.
;end_marked=yes ; This option will kick every user with this option set in their
; user profile after the last Marked user exists the conference.
;dsp_drop_silence=yes ; This option drops what Asterisk detects as silence from
; entering into the bridge. Enabling this option will drastically
; improve performance and help remove the buildup of background
; noise from the conference. Highly recommended for large conferences
; due to its performance enhancements.
;dsp_talking_threshold=128 ; The time in milliseconds of sound above what the dsp has
; established as base line silence for a user before a user
; is considered to be talking. This value affects several
; operations and should not be changed unless the impact on
; call quality is fully understood.
;
; What this value affects internally:
;
; 1. Audio is only mixed out of a user's incoming audio stream
; if talking is detected. If this value is set too
; loose the user will hear themselves briefly each
; time they begin talking until the dsp has time to
; establish that they are in fact talking.
; 2. When talk detection AMI events are enabled, this value
; determines when talking has begun which results in
; an AMI event to fire. If this value is set too tight
; AMI events may be falsely triggered by variants in
; room noise.
; 3. The drop_silence option depends on this value to determine
; when the user's audio should be mixed into the bridge
; after periods of silence. If this value is too loose
; the beginning of a user's speech will get cut off as they
; transition from silence to talking.
;
; By default this value is 160 ms. Valid values are 1 through 2^31
;dsp_silence_threshold=2000 ; The time in milliseconds of sound falling within the what
; the dsp has established as baseline silence before a user
; is considered be silent. This value affects several
; operations and should not be changed unless the impact
; on call quality is fully understood.
;
; What this value affects internally:
;
; 1. When talk detection AMI events are enabled, this value
; determines when the user has stopped talking after a
; period of talking. If this value is set too low
; AMI events indicating the user has stopped talking
; may get falsely sent out when the user briefly pauses
; during mid sentence.
; 2. The drop_silence option depends on this value to
; determine when the user's audio should begin to be
; dropped from the conference bridge after the user
; stops talking. If this value is set too low the user's
; audio stream may sound choppy to the other participants.
; This is caused by the user transitioning constantly from
; silence to talking during mid sentence.
;
; The best way to approach this option is to set it slightly above
; the maximum amount of ms of silence a user may generate during
; natural speech.
;
; By default this value is 2500ms. Valid values are 1 through 2^31
;talk_detection_events=yes ; This option sets whether or not notifications of when a user
; begins and ends talking should be sent out as events over AMI.
; By default this option is off.
;denoise=yes ; Sets whether or not a denoise filter should be applied
; to the audio before mixing or not. Off by default. Requires
; func_speex to be built and installed. Do not confuse this option
; with drop_silence. Denoise is useful if there is a lot of background
; noise for a user as it attempts to remove the noise while preserving
; the speech. This option does NOT remove silence from being mixed into
; the conference and does come at the cost of a slight performance hit.
;jitterbuffer=yes ; Enabling this option places a jitterbuffer on the user's audio stream
; before audio mixing is performed. This is highly recommended but will
; add a slight delay to the audio. This option is using the JITTERBUFFER
; dialplan function's default adaptive jitterbuffer. For a more fine tuned
; jitterbuffer, disable this option and use the JITTERBUFFER dialplan function
; on the user before entering the ConfBridge application.
;pin=1234 ; Sets if this user must enter a PIN number before entering
; the conference. The PIN will be prompted for.
;announce_join_leave=yes ; When enabled, this option will prompt the user for a
; name when entering the conference. After the name is
; recorded, it will be played as the user enters and exists
; the conference. This option is off by default.
;announce_join_leave_review=yes ; When enabled, implies announce_join_leave, but the user
; will be prompted to review their recording before
; entering the conference. During this phase, the recording
; may be listened to, re-recorded, or accepted as is. This
; option is off by default.
;dtmf_passthrough=yes ; Sets whether or not DTMF should pass through the conference.
; This option is off by default.
;announcement=</path/to/file> ; Play a sound file to the user when they join the conference.
;timeout=3600 ; When set non-zero, this specifies the number of seconds that the participant
; may stay in the conference before being automatically ejected. When the user
; is ejected from the conference, the user's channel will have the CONFBRIDGE_RESULT
; variable set to "TIMEOUT". A value of 0 indicates that there is no timeout.
; Default: 0
; --- ConfBridge Bridge Profile Options ---
[default_bridge]
type=bridge
;max_members=50 ; This option limits the number of participants for a single
; conference to a specific number. By default conferences
; have no participant limit. After the limit is reached, the
; conference will be locked until someone leaves. Note however
; that an Admin user will always be alowed to join the conference
; regardless if this limit is reached or not.
;record_conference=yes ; Records the conference call starting when the first user
; enters the room, and ending when the last user exits the room.
; The default recorded filename is
; 'confbridge-<name of conference bridge>-<start time>.wav
; and the default format is 8khz slinear. This file will be
; located in the configured monitoring directory in asterisk.conf.
;record_file=</path/to/file> ; When record_conference is set to yes, the specific name of the
; record file can be set using this option. Note that since multiple
; conferences may use the same bridge profile, this may cause issues
; depending on the configuration. It is recommended to only use this
; option dynamically with the CONFBRIDGE() dialplan function. This
; allows the record name to be specified and a unique name to be chosen.
; By default, the record_file is stored in Asterisk's spool/monitor directory
; with a unique filename starting with the 'confbridge' prefix.
;internal_sample_rate=auto ; Sets the internal native sample rate the
; conference is mixed at. This is set to automatically
; adjust the sample rate to the best quality by default.
; Other values can be anything from 8000-192000. If a
; sample rate is set that Asterisk does not support, the
; closest sample rate Asterisk does support to the one requested
; will be used.
;mixing_interval=40 ; Sets the internal mixing interval in milliseconds for the bridge. This
; number reflects how tight or loose the mixing will be for the conference.
; In order to improve performance a larger mixing interval such as 40ms may
; be chosen. Using a larger mixing interval comes at the cost of introducing
; larger amounts of delay into the bridge. Valid values here are 10, 20, 40,
; or 80. By default 20ms is used.
;video_mode = follow_talker; Sets how confbridge handles video distribution to the conference participants.
; Note that participants wanting to view and be the source of a video feed
; _MUST_ be sharing the same video codec. Also, using video in conjunction with
; with the jitterbuffer currently results in the audio being slightly out of sync
; with the video. This is a result of the jitterbuffer only working on the audio
; stream. It is recommended to disable the jitterbuffer when video is used.
;
; --- MODES ---
; none: No video sources are set by default in the conference. It is still
; possible for a user to be set as a video source via AMI or DTMF action
; at any time.
;
; follow_talker: The video feed will follow whoever is talking and providing video.
;
; last_marked: The last marked user to join the conference with video capabilities
; will be the single source of video distributed to all participants.
; If multiple marked users are capable of video, the last one to join
; is always the source, when that user leaves it goes to the one who
; joined before them.
;
; first_marked: The first marked user to join the conference with video capabilities
; is the single source of video distribution among all participants. If
; that user leaves, the marked user to join after them becomes the source.
;language=en ; Set the language used for announcements to the conference.
; Default is en (English).
;regcontext=conferences ; The name of the context into which to register conference names as extensions.
; All sounds in the conference are customizable using the bridge profile options below.
; Simply state the option followed by the filename or full path of the filename after
; the option. Example: sound_had_joined=conf-hasjoin This will play the conf-hasjoin
; sound file found in the sounds directory when announcing someone's name is joining the
; conference.
;sound_join ; The sound played to everyone when someone enters the conference.
;sound_leave ; The sound played to everyone when someone leaves the conference.
;sound_has_joined ; The sound played before announcing someone's name has
; joined the conference. This is used for user intros.
; Example "_____ has joined the conference"
;sound_has_left ; The sound played when announcing someone's name has
; left the conference. This is used for user intros.
; Example "_____ has left the conference"
;sound_kicked ; The sound played to a user who has been kicked from the conference.
;sound_muted ; The sound played when the mute option it toggled on.
;sound_unmuted ; The sound played when the mute option it toggled off.
;sound_only_person ; The sound played when the user is the only person in the conference.
;sound_only_one ; The sound played to a user when there is only one other
; person is in the conference.
;sound_there_are ; The sound played when announcing how many users there
; are in a conference.
;sound_other_in_party; ; This file is used in conjunction with 'sound_there_are"
; when announcing how many users there are in the conference.
; The sounds are stringed together like this.
; "sound_there_are" <number of participants> "sound_other_in_party"
;sound_place_into_conference ; The sound played when someone is placed into the conference
; after waiting for a marked user. This sound is now deprecated
; since it was only ever used improperly and correcting that bug
; made it completely unused.
;sound_wait_for_leader ; The sound played when a user is placed into a conference that
; can not start until a marked user enters.
;sound_leader_has_left ; The sound played when the last marked user leaves the conference.
;sound_get_pin ; The sound played when prompting for a conference pin number.
;sound_invalid_pin ; The sound played when an invalid pin is entered too many times.
;sound_locked ; The sound played to a user trying to join a locked conference.
;sound_locked_now ; The sound played to an admin after toggling the conference to locked mode.
;sound_unlocked_now; The sound played to an admin after toggling the conference to unlocked mode.
;sound_error_menu ; The sound played when an invalid menu option is entered.
;sound_begin ; The sound played to the conference when the first marked user enters the conference.
; --- ConfBridge Menu Options ---
; The ConfBridge application also has the ability to
; apply custom DTMF menus to each channel using the
; application. Like the User and Bridge profiles
; a menu is passed in to ConfBridge as an argument in
; the dialplan.
;
; Below is a list of menu actions that can be assigned
; to a DTMF sequence.
;
; To have the first DTMF digit in a sequence be the '#' character, you need to
; escape it. If it is not escaped then normal config file processing will
; think it is a directive like #include. For example:
; \#1=toggle_mute ; Pressing #1 will toggle the mute setting.
;
; A single DTMF sequence can have multiple actions associated with it. This is
; accomplished by stringing the actions together and using a ',' as the delimiter.
; Example: Both listening and talking volume is reset when '5' is pressed.
; 5=reset_talking_volume, reset_listening_volume
;
; playback(<name of audio file>&<name of audio file>)
; Playback will play back an audio file to a channel
; and then immediately return to the conference.
; This file can not be interupted by DTMF.
; Mutliple files can be chained together using the
; '&' character.
; playback_and_continue(<name of playback prompt>&<name of playback prompt>)
; playback_and_continue will
; play back a prompt while continuing to
; collect the dtmf sequence. This is useful
; when using a menu prompt that describes all
; the menu options. Note however that any DTMF
; during this action will terminate the prompts
; playback. Prompt files can be chained together
; using the '&' character as a delimiter.
; toggle_mute ; Toggle turning on and off mute. Mute will make the user silent
; to everyone else, but the user will still be able to listen in.
; no_op ; This action does nothing (No Operation). Its only real purpose exists for
; being able to reserve a sequence in the config as a menu exit sequence.
; decrease_listening_volume ; Decreases the channel's listening volume.
; increase_listening_volume ; Increases the channel's listening volume.
; reset_listening_volume ; Reset channel's listening volume to default level.
; decrease_talking_volume ; Decreases the channel's talking volume.
; increase_talking_volume ; Icreases the channel's talking volume.
; reset_talking_volume ; Reset channel's talking volume to default level.
;
; dialplan_exec(context,exten,priority) ; The dialplan_exec action allows a user
; to escape from the conference and execute
; commands in the dialplan. Once the dialplan
; exits the user will be put back into the
; conference. The possibilities are endless!
; leave_conference ; This action allows a user to exit the conference and continue
; execution in the dialplan.
;
; admin_kick_last ; This action allows an Admin to kick the last participant from the
; conference. This action will only work for admins which allows
; a single menu to be used for both users and admins.
;
; admin_toggle_conference_lock ; This action allows an Admin to toggle locking and
; unlocking the conference. Non admins can not use
; this action even if it is in their menu.
; set_as_single_video_src ; This action allows any user to set themselves as the
; single video source distributed to all participants.
; This will make the video feed stick to them regardless
; of what the video_mode is set to.
; release_as_single_video_src ; This action allows a user to release themselves as
; the video source. If video_mode is not set to "none"
; this action will result in the conference returning to
; whatever video mode the bridge profile is using.
;
; Note that this action will have no effect if the user
; is not currently the video source. Also, the user is
; not guaranteed by using this action that they will not
; become the video source again. The bridge will return
; to whatever operation the video_mode option is set to
; upon release of the video src.
; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
; state for all non-admins within a conference.
; Subsequent non-admins joining a muted conference will
; start muted. All admin users are unaffected by this
; option. Note that all users, regardless of their admin
; status, are notified that the conference is muted when
; the state is toggled.
; participant_count ; This action plays back the number of participants currently
; in a conference
[sample_user_menu]
type=menu
*=playback_and_continue(conf-usermenu)
*1=toggle_mute
1=toggle_mute
*4=decrease_listening_volume
4=decrease_listening_volume
*6=increase_listening_volume
6=increase_listening_volume
*7=decrease_talking_volume
7=decrease_talking_volume
*8=leave_conference
8=leave_conference
*9=increase_talking_volume
9=increase_talking_volume
[sample_admin_menu]
type=menu
*=playback_and_continue(conf-adminmenu)
*1=toggle_mute
1=toggle_mute
*2=admin_toggle_conference_lock ; only applied to admin users
2=admin_toggle_conference_lock ; only applied to admin users
*3=admin_kick_last ; only applied to admin users
3=admin_kick_last ; only applied to admin users
*4=decrease_listening_volume
4=decrease_listening_volume
*6=increase_listening_volume
6=increase_listening_volume
*7=decrease_talking_volume
7=decrease_talking_volume
*8=no_op
8=no_op
*9=increase_talking_volume
9=increase_talking_volume

View File

@@ -155,7 +155,7 @@ ring = 425/1000,0/3000
congestion = 425/167,0/167
callwaiting = 1400/175,0/175,1400/175,0/3500
; DIALRECALL - not specified
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440"
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
; RECORDTONE - not specified
record = 1400/500,0/15000
info = 900/330,1400/330,1800/330,0/1000

View File

@@ -17,7 +17,7 @@ rtpholdtimeout=1800
localnet=192.168.0.0/16
localnet=10.0.0.0/8
localnet=172.16.0.0/12
nat=yes
nat=force_rport,comedia
directmedia=no
sipdebug=no
session-timers=refuse
@@ -49,7 +49,6 @@ tos_video=|TOS_VIDEO| ; Sets TOS for RTP video packets. Recommended = af41
tos_text=|TOS_TEXT| ; Sets TOS for RTP text packets. Recommended = af41
tcpenable=|TCPENABLE|
tlsbindaddr=0.0.0.0
tlsenable=|TLSENABLE|
tlsbindaddr=0.0.0.0

View File

@@ -9,7 +9,7 @@ insecure = port,invite
canreinvite = no
insecure = invite
;qualify = yes
nat = yes
nat = force_rport,comedia
context = incoming_calls
port=|PORT|
transport = |TRANSPORT|

View File

@@ -9,7 +9,7 @@ insecure = port,invite
canreinvite = no
insecure = invite
;qualify = yes
nat = yes
nat = force_rport,comedia
context = incoming_calls
port=|PORT|
transport = |TRANSPORT|

View File

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

View File

@@ -0,0 +1,26 @@
;
; UDPTL Configuration (UDPTL is one of the transports for T.38)
;
[general]
;
; UDPTL start and UDPTL end configure start and end addresses
;
udptlstart=4000
udptlend=4999
;
; Whether to enable or disable UDP checksums on UDPTL traffic
;
;udptlchecksums=no
;
; The number of error correction entries in a UDPTL packet
;
udptlfecentries = 3
;
; The span over which parity is calculated for FEC in a UDPTL packet
;
udptlfecspan = 3
;
; Some VoIP providers will only accept an offer with an even-numbered
; UDPTL port. Set this option so that Asterisk will only attempt to use
; even-numbered ports when negotiating T.38. Default is no.
use_even_ports = no

View File

@@ -1,4 +1,4 @@
config 'brcm_line' 'brcm0'
config 'tel_line' 'brcm0'
option 'extension' '0000'
option 'sip_account' 'sip0'
option 'noise' '0'
@@ -9,7 +9,7 @@ config 'brcm_line' 'brcm0'
option 'callwaiting' '0'
option 'clir' '0'
config 'brcm_line' 'brcm1'
config 'tel_line' 'brcm1'
option 'extension' '1111'
option 'sip_account' 'sip0'
option 'noise' '0'
@@ -20,7 +20,7 @@ config 'brcm_line' 'brcm1'
option 'callwaiting' '0'
option 'clir' '0'
config 'brcm_line' 'brcm2'
config 'tel_line' 'brcm2'
option 'extension' '2222'
option 'sip_account' 'sip0'
option 'noise' '0'
@@ -31,7 +31,7 @@ config 'brcm_line' 'brcm2'
option 'callwaiting' '0'
option 'clir' '0'
config 'brcm_line' 'brcm3'
config 'tel_line' 'brcm3'
option 'extension' '3333'
option 'sip_account' 'sip0'
option 'noise' '0'
@@ -42,7 +42,7 @@ config 'brcm_line' 'brcm3'
option 'callwaiting' '0'
option 'clir' '0'
config 'brcm_line' 'brcm4'
config 'tel_line' 'brcm4'
option 'extension' '4444'
option 'sip_account' 'sip0'
option 'noise' '0'
@@ -53,7 +53,7 @@ config 'brcm_line' 'brcm4'
option 'callwaiting' '0'
option 'clir' '0'
config 'brcm_line' 'brcm5'
config 'tel_line' 'brcm5'
option 'extension' '5555'
option 'sip_account' 'sip0'
option 'noise' '0'
@@ -64,7 +64,7 @@ config 'brcm_line' 'brcm5'
option 'callwaiting' '0'
option 'clir' '0'
config 'brcm_line' 'brcm6'
config 'tel_line' 'brcm6'
option 'extension' '6666'
option 'sip_account' 'sip0'
option 'noise' '0'
@@ -75,7 +75,7 @@ config 'brcm_line' 'brcm6'
option 'callwaiting' '0'
option 'clir' '0'
config 'brcm_line' 'brcm7'
config 'tel_line' 'brcm7'
option 'extension' '7777'
option 'sip_account' 'sip0'
option 'noise' '0'
@@ -116,7 +116,7 @@ config 'sip_advanced' 'SIP'
option 'dnsmgr_refresh_interval' '300'
option 'srvlookup' 'yes'
config 'brcm_advanced' 'BRCM'
config 'tel_advanced' 'TEL'
option 'country' 'SWE'
option 'jbenable' 'yes'
option 'jbforce' 'no'

View File

@@ -0,0 +1,19 @@
#!/bin/sh
[ "$ACTION" = "ifup" -a "$(uci -q get network.$INTERFACE.is_lan)" != "1" ] || exit 0
config_load voice_client
config_get bindintf SIP bindintf
[ -n "$bindintf" -a "$INTERFACE" != "$bindintf" ] && exit 0
. /lib/functions/network.sh
if [ -n "$bindintf" ]; then
network_get_ipaddr bindaddr "$bindintf"
[ -z "$bindaddr" ] && network_get_ipaddr6 bindaddr "$bindintf"
fi
bindaddr="${bindaddr:-::}"
sed -i "s/bindaddr=.*/bindaddr=$bindaddr/g" /etc/asterisk/sip.conf
[ -e /var/run/asterisk/asterisk.ctl ] && asterisk -rx "sip reload"

View File

@@ -6,6 +6,8 @@
#
. /lib/functions.sh
. /lib/functions/network.sh
. /lib/voice/voicelib.sh
HOOKS=/usr/lib/inithooks/voice_client
if [ -f "$HOOKS" ] ; then
. $HOOKS
@@ -15,8 +17,8 @@ START=60
USE_PROCD=1
# Some global variables
SERIAL=$(cat /proc/nvram/SerialNumber)
BASEMAC=$(cat /proc/nvram/BaseMacAddr | sed 's/ //g')
SERIAL=$(getSerial)
BASEMAC=$(getBaseMAC)
MODULENAME=voice
USERAGENT="Inteno_${SERIAL}_${BASEMAC}"
@@ -30,8 +32,8 @@ ASTERISKDIR=/etc/asterisk
WORKDIR=/tmp/$MODULENAME.$$
MD5SUMSFILE=/tmp/$MODULENAME-sums.$$
# Whitespace separated list of BRCM feature access codes
BRCM_FAC=
# Whitespace separated list of $(getChannelName) feature access codes
CHANNEL_FAC=
#TODO: go through templates, check usage
@@ -67,6 +69,7 @@ TMPL_QUEUE=$TEMPLATEDIR/queue.TEMPLATE
TMPL_ASTERISK=$TEMPLATEDIR/asterisk.conf.TEMPLATE
TMPL_CDR=$TEMPLATEDIR/cdr.conf.TEMPLATE
TMPL_CDR_SYSLOG=$TEMPLATEDIR/cdr_syslog.conf.TEMPLATE
TMPL_CDR_CUSTOM=$TEMPLATEDIR/cdr_custom.conf.TEMPLATE
TMPL_INDICATIONS=$TEMPLATEDIR/indications.conf.TEMPLATE
TMPL_CEL=$TEMPLATEDIR/cel.conf.TEMPLATE
TMPL_LOGGER=$TEMPLATEDIR/logger.conf.TEMPLATE
@@ -75,9 +78,12 @@ TMPL_MODULES=$TEMPLATEDIR/modules.conf.TEMPLATE
TMPL_FEATURES=$TEMPLATEDIR/features.conf.TEMPLATE
TMPL_CODECS=$TEMPLATEDIR/codecs.conf.TEMPLATE
TMPL_MUSICONHOLD=$TEMPLATEDIR/musiconhold.conf.TEMPLATE
TMPL_ACL=$TEMPLATEDIR/acl.conf.TEMPLATE
TMPL_CONFBRIDGE=$TEMPLATEDIR/confbridge.conf.TEMPLATE
TMPL_UDPTL=$TEMPLATEDIR/udptl.conf.TEMPLATE
TMPL_BRCM=$TEMPLATEDIR/brcm.conf.TEMPLATE
TMPL_BRCM_LINE=$TEMPLATEDIR/brcm_line.TEMPLATE
TMPL_CHANNEL=$TEMPLATEDIR/$(getLineName).conf.TEMPLATE
TMPL_CHANNEL_LINE=$TEMPLATEDIR/tel_line.TEMPLATE
TMPL_MEETME=$TEMPLATEDIR/meetme.conf.TEMPLATE
@@ -150,6 +156,11 @@ assemble_and_copy_config()
[ -f $TMPL_MODULES ] && cp $TMPL_MODULES $WORKDIR/modules.conf
[ -f $TMPL_EXTENSIONS_MACRO ] && cp $TMPL_EXTENSIONS_MACRO $WORKDIR/extensions_macro.conf
[ -f $TMPL_MUSICONHOLD ] && cp $TMPL_MUSICONHOLD $WORKDIR/musiconhold.conf
[ -f $TMPL_ACL ] && cp $TMPL_ACL $WORKDIR/acl.conf
[ -f $TMPL_CDR_CUSTOM ] && cp $TMPL_CDR_CUSTOM $WORKDIR/cdr_custom.conf
[ -f $TMPL_CDR_SYSLOG ] && cp $TMPL_CDR_SYSLOG $WORKDIR/cdr_syslog.conf
[ -f $TMPL_CONFBRIDGE ] && cp $TMPL_CONFBRIDGE $WORKDIR/confbridge.conf
[ -f $TMPL_UDPTL ] && cp $TMPL_UDPTL $WORKDIR/udptl.conf
[ -f $SPECRATECFG ] && cp $SPECRATECFG $WORKDIR/special_rate_nr.cfg
test -e $TMPL_MEETME && cp $TMPL_MEETME $WORKDIR/meetme.conf
@@ -171,7 +182,7 @@ assemble_and_copy_config()
mv $WORKDIR/sip_registrations.tmp $WORKDIR/sip_registrations.conf
mv $WORKDIR/sip_providers.tmp $WORKDIR/sip_providers.conf
mv $WORKDIR/sip_users.tmp $WORKDIR/sip_users.conf
mv $WORKDIR/brcm.tmp $WORKDIR/brcm.conf
mv $WORKDIR/$(getLineName).tmp $WORKDIR/$(getLineName).conf
mv $WORKDIR/extensions.tmp $WORKDIR/extensions.conf
mv $WORKDIR/codecs.tmp $WORKDIR/codecs.conf
mv $WORKDIR/rtp.tmp $WORKDIR/rtp.conf
@@ -242,13 +253,13 @@ read_codecs_ptime()
# in a Dial() command
#
# For backwards compatibility, if i is only a number (not prefixed by
# "SIP/" or "BRCM/") then add "BRCM/"
# "SIP/" or "CHANNEL/") then add "CHANNEL/"
#
read_lines()
{
local lines=""
local call_lines
local fsxIdx fsxEpt dectIdx dectEpt
local fxsIdx fxsEpt dectIdx dectEpt
# Are lines already set by user conf?
config_get call_lines $1 call_lines
@@ -267,19 +278,19 @@ read_lines()
if test $(db get hw.board.hasVoice) = "1"; then
# Get the first FSX voice endpoint index by
# searching for the name usually used.
fsxIdx=$(echo $voiceNames | \
fxsIdx=$(echo $voiceNames | \
awk -e '{
i = 1;
while(i <= NF && tolower($i) !~ /^tel.*$/) {
i++;
}
print i;
}
')
}'
)
# Convert index to endpoint ID
if test $fsxIdx -gt 0; then
fsxEpt=$(echo $voicePorts | awk '{ print $'$fsxIdx' }')
if test $fxsIdx -gt 0; then
fxsEpt=$(echo $voicePorts | awk '{ print $'$fxsIdx' }')
fi
hasVoice=1
@@ -306,7 +317,9 @@ read_lines()
fi
if test $hasVoice -eq 1; then
call_lines="$dectEpt $fsxEpt"
call_lines="$dectEpt $fxsEpt"
# Remove leading/trailing spaces
call_lines=$(echo $call_lines | xargs echo -n)
# If we didn't find any endpoint ID we
# fallback to activate them all.
@@ -324,7 +337,7 @@ read_lines()
for i in $call_lines ; do
case $i in
''|*[!0-9]*) lines=$lines"$i&" ;;
*) lines=$lines"BRCM/$i&" ;;
*) lines=$lines"$(getChannelName)/$i&" ;;
esac
done
@@ -1019,9 +1032,9 @@ configure_queue()
do
local out=""
re='^[0-9]+$'
num=${member#brcm}
num=${member#$(getLineName)}
if [ -z "${num##[0-9]*}" ] ; then
out="BRCM/$num"
out="$(getChannelName)/$num"
else
local sip_user
config_get sip_user $member user
@@ -1148,7 +1161,7 @@ configure_cdr()
configure_call_filters()
{
local country
config_get country BRCM country
config_get country TEL country
# Read the International Dialing Code and the Country Code from config
echo "Looking up IDC and CC for country $country"
@@ -1426,7 +1439,7 @@ configure_extensions()
fi
if [ -n "$extension_all_ports" ] ; then
local all_lines="BRCM/0&BRCM/1&BRCM/2&BRCM/3&BRCM/4&BRCM/5&BRCM/6"
local all_lines=$(getAllLines)
echo "exten => $extension_all_ports,1,Dial($all_lines,,t)" >> $WORKDIR/extensions_local.tmp
echo "exten => $extension_all_ports,n,Hangup()" >> $WORKDIR/extensions_local.tmp
fi
@@ -1440,7 +1453,6 @@ configure_extensions()
echo "exten => $test_echo_extension,1,Echo()" >> $WORKDIR/extensions_local.tmp
echo "exten => $test_echo_extension,n,Hangup()" >> $WORKDIR/extensions_local.tmp
fi
if [ -n "$record_message_extension" ] ; then
echo "exten => $record_message_extension,1,Playback(beep)" >> $WORKDIR/extensions_local.tmp
@@ -1454,7 +1466,7 @@ configure_extensions()
sed -i "s/|CLIR_FAC_SET|//" $WORKDIR/extensions.tmp
sed -i "s/|CLIR|/$clir/" $WORKDIR/extensions.tmp
sed -i "s/|CLIR_FAC_LEN|/${#clir}/" $WORKDIR/extensions.tmp
BRCM_FAC="$BRCM_FAC $clir."
CHANNEL_FAC="$CHANNEL_FAC $clir."
else
sed -i "s/|CLIR_FAC_SET|/;/" $WORKDIR/extensions.tmp
fi
@@ -1713,9 +1725,9 @@ configure_extensions_provider()
}
#
# Create a local extension for a BRCM Line
# Create a local extension for a CHANNEL Line
#
configure_brcm_line_extension()
configure_tel_line_extension()
{
local line
local extension
@@ -1725,8 +1737,9 @@ configure_brcm_line_extension()
local cbbs_retrytime
local cbbs_waittime
local mailbox
local line_name=$(getLineName)
line=${1:4}
line=${1:${#line_name}}
config_get extension $1 extension
if [ -z "$line" ] ; then
@@ -1751,7 +1764,7 @@ configure_brcm_line_extension()
cp $TMPL_EXTENSIONS_LOCAL_LINE $WORKDIR/extensions_local_line.tmp
sed -i "s/|EXTEN|/$extension/g" $WORKDIR/extensions_local_line.tmp
sed -i "s/|LINE|/$line/g" $WORKDIR/extensions_local_line.tmp
sed -i "s/|LINE|/$(getLineIdx $line)/g" $WORKDIR/extensions_local_line.tmp
sed -i "s/|TIMEOUT|/$(get_voicemail_timeout)/g" $WORKDIR/extensions_local_line.tmp
#cbbs settings
@@ -1824,16 +1837,16 @@ configure_codecs()
{
echo "Configuring codecs"
local genericplc
config_get genericplc BRCM genericplc
config_get genericplc TEL genericplc
sed -i "s/|PLC|/$genericplc/" $WORKDIR/codecs.tmp
}
#
# Configure default settings for brcm.conf
# Configure default settings for $(getLineName).conf
#
configure_brcm()
configure_tel()
{
echo "Configuring BRCM"
echo "Configuring $(getChannelName)"
local jbenable
local jbforce
local jbmaxsize
@@ -1841,44 +1854,48 @@ configure_brcm()
local dtmfcompatibility
local dialoutmsec
local fac
local echocancel
config_get jbenable BRCM jbenable
config_get jbforce BRCM jbforce
config_get jbmaxsize BRCM jbmaxsize
config_get jbimpl BRCM jbimpl
config_get jbenable TEL jbenable
config_get jbforce TEL jbforce
config_get jbmaxsize TEL jbmaxsize
config_get jbimpl TEL jbimpl
config_get dtmfmode SIP dtmfmode
config_get dialoutmsec BRCM dialoutmsec
config_get fac BRCM fac
config_get dialoutmsec TEL dialoutmsec
config_get fac TEL fac
config_get echocancel TEL echo_cancel
BRCM_FAC="$BRCM_FAC $fac"
CHANNEL_FAC="$CHANNEL_FAC $fac"
# Convert whitespace to commas
BRCM_FAC=$(echo $BRCM_FAC | sed -e 's/^ *//' -e 's/ *$//' | tr -s ' ' | tr ' ' ',')
CHANNEL_FAC=$(echo $CHANNEL_FAC | sed -e 's/^ *//' -e 's/ *$//' | tr -s ' ' | tr ' ' ',')
if [ -z "$dialoutmsec" ] ; then
dialoutmsec=4000
fi
sed -i "s/|JBENABLE|/$jbenable/" $WORKDIR/brcm.tmp
sed -i "s/|JBFORCE|/$jbforce/" $WORKDIR/brcm.tmp
sed -i "s/|JBMAXSIZE|/$jbmaxsize/" $WORKDIR/brcm.tmp
sed -i "s/|JBIMPL|/$jbimpl/" $WORKDIR/brcm.tmp
sed -i "s/|DIALOUTMSEC|/$dialoutmsec/" $WORKDIR/brcm.tmp
sed -i "s/|FAC|/$BRCM_FAC/" $WORKDIR/brcm.tmp
sed -i "s/|JBENABLE|/$jbenable/" $WORKDIR/$(getLineName).tmp
sed -i "s/|JBFORCE|/$jbforce/" $WORKDIR/$(getLineName).tmp
sed -i "s/|JBMAXSIZE|/$jbmaxsize/" $WORKDIR/$(getLineName).tmp
sed -i "s/|JBIMPL|/$jbimpl/" $WORKDIR/$(getLineName).tmp
sed -i "s/|DIALOUTMSEC|/$dialoutmsec/" $WORKDIR/$(getLineName).tmp
sed -i "s/|FAC|/$CHANNEL_FAC/" $WORKDIR/$(getLineName).tmp
sed -i "s/|CHANNELS|/$(db get hw.board.VoicePorts)/" $WORKDIR/$(getLineName).tmp
sed -i "s/|ECHOCANCEL|/$(getEchoCancellingValue $echocancel)/" $WORKDIR/$(getLineName).tmp
if [ "$dtmfmode" == "compatibility" ] ; then
dtmfcompatibility="1"
else
dtmfcompatibility="0"
fi
sed -i "s/|DTMFCOMPATIBILITY|/$dtmfcompatibility/" $WORKDIR/brcm.tmp
sed -i "s/|DTMFCOMPATIBILITY|/$dtmfcompatibility/" $WORKDIR/$(getLineName).tmp
}
#
# Configure settings for individual line in brcm.conf
# Configure settings for individual line in $(getLineName).conf
#
configure_brcm_line()
configure_tel_line()
{
echo "Configuring BRCM line $1"
echo "Configuring $(getChannelName) line $1"
local extension
local sip_provider
local codecs
@@ -1924,30 +1941,30 @@ configure_brcm_line()
clir=0
fi
cp $TMPL_BRCM_LINE $WORKDIR/brcm_line.tmp
sed -i "s/|SECTION|/$1/" $WORKDIR/brcm_line.tmp
sed -i "s/|CALLERID|/$extension/g" $WORKDIR/brcm_line.tmp
sed -i "s/|CONTEXT|/$sip_provider/g" $WORKDIR/brcm_line.tmp
sed -i "s/|DIALTONE_EXTENSION_HINT|/$1/" $WORKDIR/brcm_line.tmp
sed -i "s/|AUTODIAL|/$autodial/" $WORKDIR/brcm_line.tmp
sed -i "s/|AUTODIAL_TIMEOUT|/$autodial_timeout/" $WORKDIR/brcm_line.tmp
sed -i "s/|DIALTONE_TIMEOUT|/$dialtone_timeout/" $WORKDIR/brcm_line.tmp
sed -i "s/|DTMFRELAY|/$dtmfmode/" $WORKDIR/brcm_line.tmp
sed -i "s/|CALLWAITING|/$callwaiting/" $WORKDIR/brcm_line.tmp
sed -i "s/|CLIR|/$clir/" $WORKDIR/brcm_line.tmp
cp $TMPL_CHANNEL_LINE $WORKDIR/tel_line.tmp
sed -i "s/|SECTION|/$1/" $WORKDIR/tel_line.tmp
sed -i "s/|CALLERID|/$extension/g" $WORKDIR/tel_line.tmp
sed -i "s/|CONTEXT|/$sip_provider/g" $WORKDIR/tel_line.tmp
sed -i "s/|DIALTONE_EXTENSION_HINT|/$1/" $WORKDIR/tel_line.tmp
sed -i "s/|AUTODIAL|/$autodial/" $WORKDIR/tel_line.tmp
sed -i "s/|AUTODIAL_TIMEOUT|/$autodial_timeout/" $WORKDIR/tel_line.tmp
sed -i "s/|DIALTONE_TIMEOUT|/$dialtone_timeout/" $WORKDIR/tel_line.tmp
sed -i "s/|DTMFRELAY|/$dtmfmode/" $WORKDIR/tel_line.tmp
sed -i "s/|CALLWAITING|/$callwaiting/" $WORKDIR/tel_line.tmp
sed -i "s/|CLIR|/$clir/" $WORKDIR/tel_line.tmp
sed -i "s/|LINE_NAME|/$(getLineName)/" $WORKDIR/tel_line.tmp
#Configure BRCM line with codecs according to the SIP line settings
#Configure CHANNEL line with codecs according to the SIP line settings
# local is_fax
# config_get is_fax $sip_provider is_fax
# if [ -z "$is_fax" -o "$is_fax" = "1" ] ; then
# sed -i "s/|ALLOW|/allow = ulaw\nallow = alaw/" $WORKDIR/brcm_line.tmp
# sed -i "s/|ALLOW|/allow = ulaw\nallow = alaw/" $WORKDIR/tel_line.tmp
# else
# sed -i "s/|ALLOW|/$(read_codecs $sip_provider)/" $WORKDIR/brcm_line.tmp
# sed -i "s/|ALLOW|/$(read_codecs $sip_provider)/" $WORKDIR/tel_line.tmp
# fi
cat $WORKDIR/brcm_line.tmp >> $WORKDIR/brcm.tmp
rm -f $WORKDIR/brcm_line.tmp
cat $WORKDIR/tel_line.tmp >> $WORKDIR/$(getLineName).tmp
rm -f $WORKDIR/tel_line.tmp
}
#
@@ -2046,30 +2063,35 @@ pbx_fix_ownership()
}
#
# Calculate a name for each brcm line, depending on port type
# Calculate a name for each $(getLineName) line, depending on port type
# and number. The name is used to make UI look better.
#
set_line_name()
{
local maxlinenum=$2
local curname name_ix ix item lnum
local line_name=$(getLineName)
local line_name_len=${#line_name}
local tel_line=$1
line=${tel_line:${line_name_len}}
# delete non-existing lines from config #
case $1 in
brcm[0-9])
lnum=${1:4:1}
[ $((lnum+1)) -gt $maxlinenum ] && uci -q delete voice_client.$1
case $tel_line in
${line_name}[0-9])
lnum=${tel_line:${line_name_len}:1}
[ $((lnum+1)) -gt $maxlinenum ] && uci -q delete voice_client.$tel_line
;;
esac
#########################################
config_get curname $1 name
config_get curname $tel_line name
[ -n "$curname" ] && return
name_ix=""
ix=0
for item in $(db get hw.board.VoicePortOrder); do
if [ "$item" == "$1" ]; then
if [ "$item" == "$tel_line" ]; then
name_ix=$ix
break
fi
@@ -2080,15 +2102,14 @@ set_line_name()
if [ -n "$name_ix" ]; then
for item in $(db get hw.board.VoicePortNames); do
if [ $ix -eq $name_ix ]; then
uci_set voice_client $1 name \
"$(echo "$item" |tr "[_]" "[ ]")"
uci_set voice_client $tel_line name "$(echo $item | tr '[_]' '[ ]')"
return
fi
ix=$((ix+1))
done
fi
uci_set voice_client $1 name $1
uci_set voice_client $tel_line name $tel_line
}
#
@@ -2138,11 +2159,11 @@ start_service() {
config_load voice_client
########################################################
# Set line names according to whats reported by brcminfo
# Set line names according to board parameters
# and delete non-existing lines from voice_client config
########################################################
local maxlinenum=$(db get hw.board.VoicePorts)
config_foreach set_line_name brcm_line $maxlinenum
config_foreach set_line_name tel_line $maxlinenum
uci_commit voice_client
#######################################
@@ -2155,7 +2176,7 @@ start_service() {
cp $TMPL_SIP $WORKDIR/sip.tmp
cp $TMPL_RTP $WORKDIR/rtp.tmp
cp $TMPL_STUN $WORKDIR/res_stun_monitor.tmp
cp $TMPL_BRCM $WORKDIR/brcm.tmp
cp $TMPL_CHANNEL $WORKDIR/$(getLineName).tmp
cp $TMPL_CODECS $WORKDIR/codecs.tmp
cp $TMPL_VOICEMAIL $WORKDIR/voicemail.tmp
cp $TMPL_DNSMGR $WORKDIR/dnsmgr.tmp
@@ -2199,12 +2220,12 @@ start_service() {
config_foreach configure_sip_user_extension sip_user
#####################
# BRCM configuration
# CHANNEL configuration
#####################
configure_brcm
config_foreach configure_brcm_line brcm_line
config_foreach configure_brcm_line_extension brcm_line
config_foreach create_extensions_dialtone brcm_line
configure_tel
config_foreach configure_tel_line tel_line
config_foreach configure_tel_line_extension tel_line
config_foreach create_extensions_dialtone tel_line
configure_codecs
###########################
@@ -2269,14 +2290,19 @@ stop_service() {
}
reload_service() {
#stop
start
#stop
# turn off voice led; asterisk will turn it on
# if there is a registered account
ubus call led.voice1 set '{"state":"off"}'
asterisk -rx "config reload $ASTERISKDIR/sip.conf"
sleep 1
asterisk -rx "core reload"
asterisk -rx "dialplan reload"
asterisk -rx "brcm reload"
[ -f /var/run/asterisk/asterisk.pid ] && /etc/init.d/asterisk restart
# asterisk -rx "config reload $ASTERISKDIR/sip.conf"
# sleep 1
# asterisk -rx "core reload"
# asterisk -rx "dialplan reload"
# asterisk -rx "$(getChipVendor) reload"
}
service_triggers() {

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