Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OTA] Set MRP Active Retry interval for ota-provider-app on Linux #20570

Merged
merged 46 commits into from
Jul 12, 2022

Conversation

selissia
Copy link
Contributor

@selissia selissia commented Jul 11, 2022

Problem

Currently the ota-provider-app uses the default value of 300ms for MRP Active Retry interval. This value is too low for Thread networks where a packet/ACK round-trip time routinely exceeds 300ms. This results in hundreds of re-transmissions during OTA downloads.

Change overview

Set MRP Active Retry interval for ota-provider-app on Linux to 2000ms

Testing

Tested OTA Software update with an EFR32 BRD4161 in the following network configuration:
ota-provider-app(Linux)---ethernet---OTBR---thread---EndDevice
The number of re-transmissions went from an average of 1050 to 8.

kowsisoundhar12 and others added 30 commits March 8, 2022 22:28
* Added new manual scripts

* Added Auto generated File
* [ota] Store Default OTA Providers in flash

Store Default OTA Providers in flash each time the attribute
is modified and load it back on the application startup.

* Restyled by clang-format

* Fix build and reduce flash usage

Co-authored-by: Restyled.io <[email protected]>
@github-actions
Copy link

github-actions bot commented Jul 11, 2022

PR #20570: Size comparison from 19f2d7d to e67d0e2

Increases (1 build for nrfconnect)
platform target config section 19f2d7d e67d0e2 change % change
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 811448 811452 4 0.0
Decreases (1 build for cyw30739)
platform target config section 19f2d7d e67d0e2 change % change
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 582790 582782 -8 -0.0
.app_xip_area 462392 462384 -8 -0.0
Full report (41 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 19f2d7d e67d0e2 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 666243 666243 0 0.0
(read/write) 184980 184980 0 0.0
.bss 74116 74116 0 0.0
.data 3356 3356 0 0.0
.rodata 88139 88139 0 0.0
.text 577788 577788 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 632051 632051 0 0.0
(read/write) 157684 157684 0 0.0
.bss 73412 73412 0 0.0
.data 3356 3356 0 0.0
.rodata 77379 77379 0 0.0
.text 554348 554348 0 0.0
lock-ftd LP_CC2652R7 (read only) 669151 669151 0 0.0
(read/write) 172216 172216 0 0.0
.bss 71148 71148 0 0.0
.data 3280 3280 0 0.0
.rodata 76279 76279 0 0.0
.text 592392 592392 0 0.0
lock-mtd LP_CC2652R7 (read only) 618559 618559 0 0.0
(read/write) 144264 144264 0 0.0
.bss 66868 66868 0 0.0
.data 3280 3280 0 0.0
.rodata 76159 76159 0 0.0
.text 541912 541912 0 0.0
pump-app LP_CC2652R7 (read only) 678183 678183 0 0.0
(read/write) 164032 164032 0 0.0
.bss 71228 71228 0 0.0
.data 3280 3280 0 0.0
.rodata 88503 88503 0 0.0
.text 589196 589196 0 0.0
pump-controller-app LP_CC2652R7 (read only) 664007 664007 0 0.0
(read/write) 178328 178328 0 0.0
.bss 71348 71348 0 0.0
.data 3276 3276 0 0.0
.rodata 84367 84367 0 0.0
.text 579160 579160 0 0.0
shell LP_CC2652R7 (read only) 658742 658742 0 0.0
(read/write) 187984 187984 0 0.0
.bss 76420 76420 0 0.0
.data 3360 3360 0 0.0
.rodata 84918 84918 0 0.0
.text 573508 573508 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 579622 579622 0 0.0
.app_xip_area 458376 458376 0 0.0
.bss 64184 64184 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 585550 585550 0 0.0
.app_xip_area 459576 459576 0 0.0
.bss 68912 68912 0 0.0
.data 720 720 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 582790 582782 -8 -0.0
.app_xip_area 462392 462384 -8 -0.0
.bss 63392 63392 0 0.0
.data 660 660 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1081452 1081452 0 0.0
.bss 132996 132996 0 0.0
.data 2048 2048 0 0.0
.text 946388 946388 0 0.0
BRD4161A+rpc (read/write) 1135780 1135780 0 0.0
.bss 149676 149676 0 0.0
.data 2260 2260 0 0.0
.text 983824 983824 0 0.0
BRD4161A+rs911x (read/write) 947940 947940 0 0.0
.bss 140768 140768 0 0.0
.data 2048 2048 0 0.0
.text 805104 805104 0 0.0
lock-app BRD4161A+wf200 (read/write) 1128816 1128816 0 0.0
.bss 144184 144184 0 0.0
.data 2060 2060 0 0.0
.text 982548 982548 0 0.0
window-app BRD4161A (read/write) 1075244 1075244 0 0.0
.bss 134468 134468 0 0.0
.data 2076 2076 0 0.0
.text 938676 938676 0 0.0
esp32 all-clusters-app c3devkit (read only) 1020102 1020102 0 0.0
(read/write) 1485642 1485642 0 0.0
.dram0.bss 70080 70080 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 215528 215528 0 0.0
.flash.text 1020102 1020102 0 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1073987 1073987 0 0.0
(read/write) 487712 487712 0 0.0
.dram0.bss 75600 75600 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 245972 245972 0 0.0
.flash.text 1068603 1068603 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 658832 658832 0 0.0
.bss 69516 69516 0 0.0
.data 1992 1992 0 0.0
.text 581524 581524 0 0.0
lock k32w061+release (read/write) 685652 685652 0 0.0
.bss 69980 69980 0 0.0
.data 2004 2004 0 0.0
.text 607868 607868 0 0.0
linux all-clusters-app debug (read only) 2960705 2960705 0 0.0
(read/write) 154744 154744 0 0.0
.bss 61536 61536 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 84968 84968 0 0.0
.dynamic 608 608 0 0.0
.got 4536 4536 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 263613 263613 0 0.0
.text 2519906 2519906 0 0.0
all-clusters-minimal-app debug (read only) 2813281 2813281 0 0.0
(read/write) 146680 146680 0 0.0
.bss 60864 60864 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 77608 77608 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 265341 265341 0 0.0
.text 2372930 2372930 0 0.0
bridge-app debug+rpc (read only) 2315449 2315449 0 0.0
(read/write) 125504 125504 0 0.0
.bss 48928 48928 0 0.0
.data 3824 3824 0 0.0
.data.rel.ro 66984 66984 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 198016 198016 0 0.0
.text 1955698 1955698 0 0.0
chip-tool debug (read only) 10345025 10345025 0 0.0
(read/write) 622240 622240 0 0.0
.bss 24728 24728 0 0.0
.data 3234 3234 0 0.0
.data.rel.ro 587888 587888 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 515861 515861 0 0.0
.text 8397476 8397476 0 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 10031716 10031716 0 0.0
(read/write) 684529 684529 0 0.0
.bss 42609 42609 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 623432 623432 0 0.0
.dynamic 528 528 0 0.0
.got 13520 13520 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 478260 478260 0 0.0
.text 7992788 7992788 0 0.0
lighting-app debug+rpc (read only) 2551193 2551193 0 0.0
(read/write) 129528 129528 0 0.0
.bss 49440 49440 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72136 72136 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 213704 213704 0 0.0
.text 2167522 2167522 0 0.0
lock-app debug (read only) 2515793 2515793 0 0.0
(read/write) 124504 124504 0 0.0
.bss 47840 47840 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69096 69096 0 0.0
.dynamic 608 608 0 0.0
.got 4424 4424 0 0.0
.init 27 27 0 0.0
.init_array 784 784 0 0.0
.rodata 228744 228744 0 0.0
.text 2121906 2121906 0 0.0
ota-provider-app debug (read only) 2322305 2322305 0 0.0
(read/write) 118312 118312 0 0.0
.bss 47488 47488 0 0.0
.data 1944 1944 0 0.0
.data.rel.ro 63096 63096 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 203512 203512 0 0.0
.text 1956018 1956018 0 0.0
ota-requestor-app debug (read only) 2439425 2439425 0 0.0
(read/write) 125216 125216 0 0.0
.bss 49856 49856 0 0.0
.data 2232 2232 0 0.0
.data.rel.ro 67288 67288 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 207296 207296 0 0.0
.text 2060978 2060978 0 0.0
shell debug (read only) 2551049 2551049 0 0.0
(read/write) 141096 141096 0 0.0
.bss 57448 57448 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 76688 76688 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 227762 227762 0 0.0
.text 2166210 2166210 0 0.0
thermostat-no-ble arm64 (read only) 2595316 2595316 0 0.0
(read/write) 158289 158289 0 0.0
.bss 65249 65249 0 0.0
.data 1704 1704 0 0.0
.data.rel.ro 83240 83240 0 0.0
.dynamic 528 528 0 0.0
.got 5072 5072 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 165476 165476 0 0.0
.text 2190064 2190064 0 0.0
tv-app debug (read only) 3102225 3102225 0 0.0
(read/write) 257704 257704 0 0.0
.bss 167016 167016 0 0.0
.data 4848 4848 0 0.0
.data.rel.ro 79392 79392 0 0.0
.dynamic 608 608 0 0.0
.got 4848 4848 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 249024 249024 0 0.0
.text 2665298 2665298 0 0.0
tv-casting-app debug (read only) 5577785 5577785 0 0.0
(read/write) 161968 161968 0 0.0
.bss 50248 50248 0 0.0
.data 2416 2416 0 0.0
.data.rel.ro 103048 103048 0 0.0
.dynamic 608 608 0 0.0
.got 4744 4744 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 343209 343209 0 0.0
.text 4956626 4956626 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2448112 2448112 0 0.0
.bss 213940 213940 0 0.0
.data 5872 5872 0 0.0
.text 1410756 1410756 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1175119 1175119 0 0.0
bss 142900 142900 0 0.0
rodata 141880 141880 0 0.0
text 811448 811452 4 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1155315 1155315 0 0.0
bss 142136 142136 0 0.0
rodata 133412 133412 0 0.0
text 800896 800896 0 0.0
p6 all-clusters-app default (read/write) 2565392 2565392 0 0.0
.bss 149120 149120 0 0.0
.data 2776 2776 0 0.0
.text 1523656 1523656 0 0.0
all-clusters-minimal-app default (read/write) 2510440 2510440 0 0.0
.bss 148400 148400 0 0.0
.data 2776 2776 0 0.0
.text 1468704 1468704 0 0.0
light-app default (read/write) 2440736 2440736 0 0.0
.bss 140456 140456 0 0.0
.data 2592 2592 0 0.0
.text 1399000 1399000 0 0.0
lock-app default (read/write) 2467992 2467992 0 0.0
.bss 140304 140304 0 0.0
.data 2600 2600 0 0.0
.text 1426256 1426256 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 797268 797268 0 0.0
bss 70576 70576 0 0.0
noinit 40416 40416 0 0.0
text 565666 565666 0 0.0
lighting-app tlsr9518adk80d (read/write) 817092 817092 0 0.0
bss 71420 71420 0 0.0
noinit 40416 40416 0 0.0
text 581992 581992 0 0.0

@jmartinez-silabs jmartinez-silabs merged commit f68f7e5 into project-chip:master Jul 12, 2022
github-actions bot pushed a commit that referenced this pull request Jul 12, 2022
…0570)

* Test added march 8 (#15957)

* Added new manual scripts

* Added Auto generated File

* [OTA] Fix OTARequestorDriverImpl inclusion (#15981)

* Regen to fix CI failures (#15990)

* [ota] Store Default OTA Providers in flash (#15970)

* [ota] Store Default OTA Providers in flash

Store Default OTA Providers in flash each time the attribute
is modified and load it back on the application startup.

* Restyled by clang-format

* Fix build and reduce flash usage

Co-authored-by: Restyled.io <[email protected]>

* Set MRP Active Retry interval in the Linux ota-provider-app config

* Remove merge artifacts

* Restyled by whitespace

Co-authored-by: kowsisoundhar12 <[email protected]>
Co-authored-by: Carol Yang <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Damian Królik <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
andy31415 pushed a commit that referenced this pull request Jul 12, 2022
…0570) (#20613)

* Test added march 8 (#15957)

* Added new manual scripts

* Added Auto generated File

* [OTA] Fix OTARequestorDriverImpl inclusion (#15981)

* Regen to fix CI failures (#15990)

* [ota] Store Default OTA Providers in flash (#15970)

* [ota] Store Default OTA Providers in flash

Store Default OTA Providers in flash each time the attribute
is modified and load it back on the application startup.

* Restyled by clang-format

* Fix build and reduce flash usage

Co-authored-by: Restyled.io <[email protected]>

* Set MRP Active Retry interval in the Linux ota-provider-app config

* Remove merge artifacts

* Restyled by whitespace

Co-authored-by: kowsisoundhar12 <[email protected]>
Co-authored-by: Carol Yang <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Damian Królik <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

Co-authored-by: Sergei Lissianoi <[email protected]>
Co-authored-by: kowsisoundhar12 <[email protected]>
Co-authored-by: Carol Yang <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Damian Królik <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
@selissia selissia deleted the provider-retry-interval branch July 13, 2022 14:30
ajwak pushed a commit to ajwak/connectedhomeip that referenced this pull request Jul 13, 2022
…oject-chip#20570)

* Test added march 8 (project-chip#15957)

* Added new manual scripts

* Added Auto generated File

* [OTA] Fix OTARequestorDriverImpl inclusion (project-chip#15981)

* Regen to fix CI failures (project-chip#15990)

* [ota] Store Default OTA Providers in flash (project-chip#15970)

* [ota] Store Default OTA Providers in flash

Store Default OTA Providers in flash each time the attribute
is modified and load it back on the application startup.

* Restyled by clang-format

* Fix build and reduce flash usage

Co-authored-by: Restyled.io <[email protected]>

* Set MRP Active Retry interval in the Linux ota-provider-app config

* Remove merge artifacts

* Restyled by whitespace

Co-authored-by: kowsisoundhar12 <[email protected]>
Co-authored-by: Carol Yang <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Damian Królik <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants