Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
197 commits
Select commit Hold shift + click to select a range
7294595
Deploy cla action
rdkcmf-jenkins Jun 24, 2025
7390ece
Merge tag '3.0.5' into develop
naveenkumarhanasi Sep 19, 2025
a0dc884
Update CODEOWNERS
sbarre01 Sep 22, 2025
38206e1
RDKEMW-8560 Remove schedule reboot and move reboot to background exec…
nhanasi Sep 23, 2025
6e2026e
Delete lib/rdk/rebootSTB.sh
nhanasi Sep 23, 2025
f3f5062
Delete systemd_units/scheduled-reboot.service
nhanasi Sep 23, 2025
5ee8ac5
Merge pull request #308 from rdkcentral/sbarre01-patch-1
sbarre01 Sep 24, 2025
7773fe7
Merge branch 'develop' into feature/RDKEMW-8560
nhanasi Sep 24, 2025
2d38ec2
Update rebootNow.sh
nhanasi Sep 24, 2025
42b452a
Update rebootNow.sh
nhanasi Sep 24, 2025
88b4f51
Update rebootNow.sh
nhanasi Sep 24, 2025
a496e69
Update NM_Dispatcher.sh
AravindanNC Sep 25, 2025
fa122a3
RDK-58220 Migrate Functionality In TR-69Hostif Scripts To Core Modules
udaykrishnag Sep 25, 2025
c23e38e
Merge branch 'develop' into feature/action-deploy-for/develop
rdkcmf-jenkins Sep 25, 2025
b5a3865
Deploy cla action
rdkcmf-jenkins Sep 25, 2025
2395480
Merge pull request #203 from rdkcentral/feature/action-deploy-for/dev…
Alan-Ryan Sep 25, 2025
f48867d
Update rebootNow.sh
nhanasi Sep 25, 2025
3c97a58
Merge branch 'develop' into feature/RDKEMW-8560
nhanasi Sep 26, 2025
2a82d90
Merge pull request #311 from rdkcentral/feature/RDKEMW-8560
nhanasi Sep 26, 2025
bc31b95
3.0.6 release changelog updates
naveenkumarhanasi Sep 26, 2025
288fc77
RDKE-900 RDKEMW-4899: Default to MTLS connection on all endpoints
Sep 29, 2025
0c670c5
Deploy fossid_integration_stateless_diffscan_target_repo action
rdkcmf-jenkins Sep 29, 2025
58ebf63
Merge pull request #323 from rdkcentral/feature/actions/develop-fossid
Alan-Ryan Sep 29, 2025
4d797df
Merge pull request #324 from rdkcentral/develop
MonekaLakshmi Sep 29, 2025
3cad662
Merge branch 'develop' into release/3.0.6
nhanasi Sep 29, 2025
597e60a
Merge branch 'release/3.0.6' into main
naveenkumarhanasi Sep 29, 2025
a629329
Merge tag '3.0.6' into develop
naveenkumarhanasi Sep 29, 2025
8fc06fd
Merge pull request #325 from rdkcentral/develop
MonekaLakshmi Sep 30, 2025
d77b8b6
Merge branch 'develop' into topic/RDK-58220_1
Sep 30, 2025
82806f9
Merge branch 'develop' into topic/RDKE-921
AravindanNC Sep 30, 2025
d1cb853
Merge pull request #313 from rdkcentral/topic/RDKE-921
nhanasi Sep 30, 2025
7b5a9b8
Merge pull request #328 from rdkcentral/develop
MonekaLakshmi Oct 1, 2025
8a175d8
Merge branch 'develop' into topic/RDK-58220_1
udaykrishnag Oct 1, 2025
5af2812
Merge pull request #326 from rdkcentral/topic/RDK-58220_1
udaykrishnag Oct 7, 2025
5109310
Merge pull request #329 from rdkcentral/develop
MonekaLakshmi Oct 8, 2025
f3e9d8f
RDKEMW-7549 : Increase in SYST_WARN_WiFiNotConn marker (#310)
nivetha1766 Oct 9, 2025
f1ab3f5
Merge branch 'develop' into topic/RDKE-860
MonekaLakshmi Oct 9, 2025
5a00b13
RDKEMW-8559 : Remove Box reboot counter reset services (#312)
Saranya2421 Oct 10, 2025
73ff4a8
3.0.7 release changelog updates
naveenkumarhanasi Oct 10, 2025
22db63f
Merge branch 'release/3.0.7' into main
naveenkumarhanasi Oct 10, 2025
e3c6a47
Merge tag '3.0.7' into develop
naveenkumarhanasi Oct 10, 2025
d35b0f6
Merge pull request #336 from rdkcentral/develop
MonekaLakshmi Oct 13, 2025
95645ac
Merge pull request #322 from rdkcentral/topic/RDKE-860
MonekaLakshmi Oct 13, 2025
8dd5ab9
RDK-59247:Migrate Functionality In Network scripts To Core Modules
Oct 15, 2025
da072c3
3.0.8 release changelog updates
naveenkumarhanasi Oct 24, 2025
1b77738
Merge branch 'release/3.0.8'
naveenkumarhanasi Oct 24, 2025
417596d
Merge tag '3.0.8' into develop
naveenkumarhanasi Oct 24, 2025
528ddce
RDKEMW-9675 FSR needs to remove NM profile in RDKE also (#346)
madhubabutt Oct 27, 2025
2fafedf
Merge branch 'develop' into topic/RDK-59247
Oct 27, 2025
515a568
RDKEMW-9343: Update boot_FSR as part of OPS_TRIGGERED reasons (#343)
fzahir786 Oct 28, 2025
79609a1
WNCXIONE-530: Synching changes from support/2.2.0 branch. (#350)
bpunnuru Oct 28, 2025
3dd2339
Create NetworkManager_ecfs.conf (#353)
bpunnuru Oct 30, 2025
5b5950b
RDKEMW-10017 : NetworkManager based connectivity check (#355)
sindhu-krishnan Nov 3, 2025
15cd4a1
4.0.0 release changelog updates
tdeva14 Nov 3, 2025
bfff35f
Merge branch 'release/4.0.0'
tdeva14 Nov 3, 2025
3133a34
Merge tag '4.0.0' into develop
tdeva14 Nov 3, 2025
93ce925
Update warehouse-reset.sh for NM cleanup (#359)
AravindanNC Nov 6, 2025
5f91560
Update update_previous_reboot_info.sh (#360)
nhanasi Nov 7, 2025
21529fb
Revert "RDKEMW-10017 : NetworkManager based connectivity check (#355)…
sindhu-krishnan Nov 10, 2025
6ba91e0
4.0.1 release changelog updates
tdeva14 Nov 10, 2025
7c64ecf
Merge branch 'release/4.0.1'
tdeva14 Nov 10, 2025
02213a0
Merge tag '4.0.1' into develop
tdeva14 Nov 10, 2025
e597498
RDKEMW-5622: Removing processPartnerIDChanges.sh for RDK-E (#302)
sergiygladkyy Nov 10, 2025
7ff46a5
Revert "WNCXIONE-530: Synching changes from support/2.2.0 branch." (#…
sindhu-krishnan Nov 10, 2025
e8e5d00
Revert "Revert "RDKEMW-10017 : NetworkManager based connectivity chec…
sindhu-krishnan Nov 10, 2025
ed3a2c9
Revert "Revert "WNCXIONE-530: Synching changes from support/2.2.0 bra…
AravindanNC Nov 14, 2025
8ac42a4
Merge branch 'develop' into topic/RDK-59247
Nov 17, 2025
f9f96b5
RDKEMW-10335 : Cleanup of xre-receiver code (#367)
vrenu2018 Nov 21, 2025
35adb09
Merge branch 'develop' into topic/RDK-59247
Nov 24, 2025
c5764ba
RDKEMW-10930: Include Swap Memory Details Into System Health Period M…
yogeswaransky Nov 27, 2025
44629c7
4.1.0 release changelog updates
tdeva14 Nov 28, 2025
c37e9e9
Merge branch 'release/4.1.0'
tdeva14 Nov 28, 2025
43d79a7
Merge tag '4.1.0' into develop
tdeva14 Nov 28, 2025
d9704e2
RDKEMW-9619 : Remove NTP client restarts (#375)
sindhu-krishnan Dec 3, 2025
67c57aa
4.2.0 release changelog updates
tdeva14 Dec 3, 2025
f54d768
Merge branch 'release/4.2.0'
tdeva14 Dec 3, 2025
7eeb0e9
Merge tag '4.2.0' into develop
tdeva14 Dec 3, 2025
1f69450
Merge branch 'develop' into topic/RDK-59247
Dec 3, 2025
e55763e
RDKEMW-9242, RDKEMW-11094: Network Migration changes for ENTOS (#382)
AravindanNC Dec 11, 2025
818133f
RDKEMW-11602: Name resolution error in Peacock App (#397)
AravindanNC Dec 15, 2025
72776fc
4.2.1 release changelog updates
naveenkumarhanasi Dec 17, 2025
5b56136
Merge branch 'release/4.2.1'
naveenkumarhanasi Dec 17, 2025
1df413f
Merge tag '4.2.1' into develop
naveenkumarhanasi Dec 17, 2025
937d21f
Merge branch 'develop' into topic/RDK-59247
Dec 19, 2025
b86bfe3
RDK-59247: cleaning up network scripts.
udaykrishnag Dec 19, 2025
880d752
RDKEMW-11363: [NM Dispatcher] Reduce repetitive logging (#415)
AravindanNC Jan 14, 2026
1775157
Merge branch 'develop' into topic/RDK-59247
udaykrishnag Jan 14, 2026
38da422
Merge pull request #402 from rdkcentral/topic/RDK-59247
udaykrishnag Jan 15, 2026
fe25fa7
SERXIONE-8331 : Added viper_ipa to exceptions for /media/apps/sky/pa…
sborushevsky Jan 16, 2026
16d826b
SERXIONE-8331 : Added viper_ipa to exceptions for /media/apps/sky/pa…
naveenkumarhanasi Jan 16, 2026
7394e84
Sysint 4.2.1 hotfix release
naveenkumarhanasi Jan 16, 2026
473d99f
Merge branch 'hotfix/4.2.1v1' into support/4.2.1
naveenkumarhanasi Jan 16, 2026
661b82c
RDK-57502 - [RDKE] Migrate Operation Support Log Upload Related Scrip…
Abhinavpv28 Jan 20, 2026
a8ca15d
Sysint 4.2.2 release changelog updates
nhanasi Jan 21, 2026
2aa1f8e
Merge branch 'release/4.2.2'
nhanasi Jan 21, 2026
59b4013
Merge tag '4.2.2' into develop
nhanasi Jan 21, 2026
0b7a028
RDKEVD-5412: ES1 RTK Release 1.5.0
Jan 23, 2026
fbb7a3e
Merge branch 'feature/RDKEVD-5412' into develop
nhanasi Jan 27, 2026
7b085a2
Create readBTAddress-generic.sh
nhanasi Jan 23, 2026
be909e8
Update getDeviceDetails.sh
nhanasi Jan 23, 2026
1bebeb8
Update lib/rdk/getDeviceDetails.sh
nhanasi Jan 23, 2026
668eeca
Update readBTAddress-generic.sh
nhanasi Jan 23, 2026
7e605fd
Update getDeviceDetails.sh
nhanasi Jan 23, 2026
fac7dfc
Update readBTAddress-generic.sh
nhanasi Jan 23, 2026
1be51ef
Update getDeviceDetails.sh
nhanasi Jan 23, 2026
27f8e41
Update getDeviceDetails.sh
nhanasi Jan 23, 2026
f8b2432
Update readBTAddress-generic.sh
nhanasi Jan 23, 2026
73181a5
RDK-59964 : ZeroConfig (IPv4LL) support for EntOS - AirPlay Devices (…
gururaajar Jan 30, 2026
e455a80
Sysint 4.2.3 release changelog updates
naveenkumarhanasi Jan 30, 2026
2a428f5
Sysint 4.2.3 release changelog updates (#437)
nhanasi Jan 30, 2026
138be84
RDK-59964: Sysint 4.2.3 release (#438)
nhanasi Jan 30, 2026
c9c32a2
Merge branch 'release/4.2.3'
naveenkumarhanasi Jan 30, 2026
07c7aab
Merge tag '4.2.3' into develop
naveenkumarhanasi Jan 30, 2026
84339f4
XIONE-18284: Need to add monarch process name for core upload (#441)
nhanasi Feb 3, 2026
d1b176a
RDKEMW-13059: Include utility indepenent of T2 for telemetry upload (…
shibu-kv Feb 3, 2026
a232c32
4.3.0 release changelog updates
tdeva14 Feb 6, 2026
488750c
Merge branch 'release/4.3.0'
tdeva14 Feb 6, 2026
8fcdc31
Merge tag '4.3.0' into develop
tdeva14 Feb 6, 2026
d52473a
Revert "XIONE-18284: Need to add monarch process name for core upload…
nhanasi Feb 9, 2026
4022281
RDKEMW-13687: Increase Timeout for NTP PartnerURL Read (#450)
sindhu-krishnan Feb 11, 2026
76bf8f0
4.3.1 release changelog updates
tdeva14 Feb 11, 2026
4a29ec2
Merge branch 'release/4.3.1'
tdeva14 Feb 11, 2026
354b182
Merge tag '4.3.1' into develop
tdeva14 Feb 11, 2026
999928c
Disable password authentication (#427)
NareshM1702 Feb 25, 2026
2d7ca69
<Sysint 4.3.2 release changelog updates
nhanasi Feb 26, 2026
c21ba73
Sysint 4.3.2 release changelog updates (#463)
nhanasi Feb 26, 2026
d0cbe87
RDKEMW-12868: Sysint 4.3.2 release changelog updates (#464)
nhanasi Feb 26, 2026
db73c8d
Merge branch 'release/4.3.2'
nhanasi Feb 26, 2026
ce34886
Merge tag '4.3.2' into develop
nhanasi Feb 26, 2026
13e79f9
RDK-59974 : Migrate rebootNow script to C - Implementation (#459)
Saranya2421 Feb 27, 2026
f085b1d
4.4.0 release changelog updates
tdeva14 Feb 27, 2026
ebcf851
Merge branch 'release/4.4.0'
tdeva14 Feb 27, 2026
92173b4
Merge tag '4.4.0' into develop
tdeva14 Feb 27, 2026
7598c95
RDKEMW-14726 - Implement Chrony runtime selection for Time Sync (#469)
sindhu-krishnan Mar 10, 2026
ded2a59
4.5.0 release changelog updates
tdeva14 Mar 10, 2026
f9bec1c
Merge branch 'release/4.5.0'
tdeva14 Mar 10, 2026
aebdac3
Merge tag '4.5.0' into develop
tdeva14 Mar 10, 2026
2dc0d67
RDKEMW-9393 : Dropbear is using prod Key to connect to devices runnin…
KTirumalaSrihari Mar 11, 2026
6596c78
4.5.1 release changelog updates
tdeva14 Mar 11, 2026
8668de9
Merge branch 'release/4.5.1'
tdeva14 Mar 11, 2026
b94cde6
Merge tag '4.5.1' into develop
tdeva14 Mar 11, 2026
6a71c71
SERXIONE-8445:PREVIOUS_LOG event observed false reporting telemetry i…
dharshini555 Mar 11, 2026
ad07789
Update 10-unmanaged-devices for unmanaging wl0.2
aminaseyyad Mar 13, 2026
5dd81f9
[RDKEMW-14881] Updating wifi reassociation threshould tolerance RFC …
udaykrishnag Mar 13, 2026
94f6e42
Sysint 4.5.2 release changelog updates
naveenkumarhanasi Mar 13, 2026
029809e
Sysint 4.5.2 release changelog updates (#484)
nhanasi Mar 13, 2026
cfc061b
Sysint 4.5.2 release changelog updates (#483)
nhanasi Mar 13, 2026
0af8bee
Merge branch 'release/4.5.2'
naveenkumarhanasi Mar 13, 2026
e34a943
Merge tag '4.5.2' into develop
naveenkumarhanasi Mar 13, 2026
9b8505a
Merge branch 'develop' into topic/RDKMVE-1740
aminaseyyad Mar 14, 2026
06dc579
Merge pull request #482 from rdkcentral/topic/RDKMVE-1740
AravindanNC Mar 18, 2026
4f77233
Update previous-log-backup.service
Abhinavpv28 Mar 18, 2026
7335293
Update device.properties (#472)
KTirumalaSrihari Mar 19, 2026
57b3c12
Sysint 4.5.3 release changelog updates
naveenkumarhanasi Mar 20, 2026
4b963e5
Merge branch 'release/4.5.3'
naveenkumarhanasi Mar 20, 2026
3bd6471
Merge tag '4.5.3' into develop
naveenkumarhanasi Mar 20, 2026
dee962f
Merge pull request #487 from rdkcentral/develop
Abhinavpv28 Mar 23, 2026
2c94e2e
Script cleanup
Mar 25, 2026
9ea66e2
Remove uploadSTBLogs.sh script reference
Mar 25, 2026
f554628
Merge pull request #488 from rdkcentral/feature/backuplog
Abhinavpv28 Mar 26, 2026
3d2215e
Merge pull request #492 from rdkcentral/develop
Abhinavpv28 Mar 26, 2026
925c788
Delete lib/rdk/uploadSTBLogs.sh
Abhinavpv28 Mar 26, 2026
50d0537
Delete lib/rdk/usbLogUpload.sh
Abhinavpv28 Mar 26, 2026
ade8cc2
Delete lib/rdk/UploadLogsNow.sh
Abhinavpv28 Mar 26, 2026
56c3713
Merge pull request #491 from rdkcentral/feature/script_cleanup
Abhinavpv28 Mar 26, 2026
adf5b1b
Sysint 4.5.4 release changelog updates
naveenkumarhanasi Mar 27, 2026
9307d25
Merge branch 'release/4.5.4'
naveenkumarhanasi Mar 27, 2026
d9f48c0
Merge tag '4.5.4' into develop
naveenkumarhanasi Mar 27, 2026
0f3db13
Delete lib/rdk/backup_logs.sh
Abhinavpv28 Mar 31, 2026
ced3966
Merge pull request #493 from rdkcentral/feature/backup_script_remove
Abhinavpv28 Apr 1, 2026
5c9f548
RDKEMW-16414: Replace type exec in NM_Bootstrap (#494)
AravindanNC Apr 1, 2026
631e4af
RDKEMW-15186 : [RDK-E] [TCHXi6] estb mac address is incorrect (#495)
Abhinavpv28 Apr 2, 2026
124d3bf
Sysint 4.5.5 release changelog updates
naveenkumarhanasi Apr 3, 2026
0f44776
Merge branch 'release/4.5.5'
naveenkumarhanasi Apr 3, 2026
654be5f
Merge tag '4.5.5' into develop
naveenkumarhanasi Apr 3, 2026
bc5e8d8
RDKEMW-15490 : Removing reboot script reference from sysint (#500)
Saranya2421 Apr 9, 2026
711601e
5.0.0 release changelog updates
tdeva14 Apr 9, 2026
9facdd3
Merge branch 'release/5.0.0'
tdeva14 Apr 9, 2026
af56fe3
Merge tag '5.0.0' into develop
tdeva14 Apr 9, 2026
be07e4b
RDKEMW-16664: Send integer value for MemAvailable to t2ValNotify (#496)
Copilot Apr 10, 2026
c31fdaf
RDKEMW-16446: No Wifi screen issue (#498)
AravindanNC Apr 13, 2026
f5f229b
RDKEMW-10284: Migrate stunnel to use P12 cert (#364)
Lasya-Prakarsha-D-V Apr 17, 2026
4d4ef7e
Sysint 5.0.1 release changelog updates
naveenkumarhanasi Apr 23, 2026
cd2d601
Merge branch 'release/5.0.1'
naveenkumarhanasi Apr 23, 2026
5d44360
Merge tag '5.0.1' into develop
naveenkumarhanasi Apr 23, 2026
0edbcde
RDKEMW-10725:gstreamer-cleanup conditions when cdl_flashed_file_name …
vrenu2018 Apr 27, 2026
f13d901
RDKEMW-17619 : [develop] OCDM_WVMediaKey and OCDM_SaThread changes in…
madhubabutt Apr 28, 2026
35cff6f
Revert "RDKEMW-10725:gstreamer-cleanup conditions when cdl_flashed_fi…
nhanasi May 1, 2026
d5bffcb
RDKEMW-17800:gst-cleanup conditions when cdl_flashed_file_name is not…
vrenu2018 May 4, 2026
0286694
RDKEMW-16774: [Security] Device partition structure seen in logs (#536)
Saranya2421 May 7, 2026
ddc1cea
RDKEMW-18159 : [develop] Corefile not getting uploaded for mutliqueue…
madhubabutt May 7, 2026
61155b6
RDKEMW-17726, RDKEMW-17727: Fix the Migration of RDKV-to-RDKE (#531)
jincysam87 May 7, 2026
d138055
RDKEMW-17800:gst-cleanup conditions when cdl_flashed_file_name is not…
vrenu2018 May 7, 2026
0e05ed7
Sysint 5.0.2 release changelog updates
naveenkumarhanasi May 7, 2026
c6bd2c5
Merge branch 'release/5.0.2'
naveenkumarhanasi May 7, 2026
1888519
Merge tag '5.0.2' into develop
naveenkumarhanasi May 7, 2026
6974aef
Update getPartnerProperty.sh (#541)
sindhu-krishnan May 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @rdkcentral/rdke_ghec_sysint_maintainer @rdkcentral/rdke_ghec_sysint_admin
* @rdkcentral/rdke_ghec_sysint_maintainer
20 changes: 20 additions & 0 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: "CLA"

permissions:
contents: read
pull-requests: write
actions: write
statuses: write

on:
issue_comment:
types: [created]
pull_request_target:
types: [opened, closed, synchronize]

jobs:
CLA-Lite:
name: "Signature"
uses: rdkcentral/cmf-actions/.github/workflows/cla.yml@v1
secrets:
PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ASSISTANT }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
name: Fossid Stateless Diff Scan

on: pull_request
on:
pull_request:
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: read

jobs:
call-fossid-workflow:
uses: rdkcentral/build_tools_workflows/.github/workflows/fossid_integration_stateless_diffscan.yml@develop
secrets:
if: ${{ ! github.event.pull_request.head.repo.fork }}
uses: rdkcentral/build_tools_workflows/.github/workflows/fossid_integration_stateless_diffscan.yml@1.0.0
Copy link

Copilot AI Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow version has been changed from a branch reference '@develop' to a specific version '@1.0.0'. This is a good practice for stability, but ensure that version 1.0.0 of the referenced workflow exists and contains all necessary functionality. Using a specific version tag is more reliable than a branch reference.

Copilot uses AI. Check for mistakes.
secrets:
FOSSID_CONTAINER_USERNAME: ${{ secrets.FOSSID_CONTAINER_USERNAME }}
FOSSID_CONTAINER_PASSWORD: ${{ secrets.FOSSID_CONTAINER_PASSWORD }}
FOSSID_HOST_USERNAME: ${{ secrets.FOSSID_HOST_USERNAME }}
Expand Down
239 changes: 239 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion etc/10-unmanaged-devices
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[keyfile]
unmanaged-devices=interface-name:ap*;interface-name:dobby*;interface-name:lo;interface-name:p2p*;interface-name:veth*;interface-name:ip*;interface-name:wlan1
unmanaged-devices=interface-name:ap*;interface-name:dobby*;interface-name:lo;interface-name:p2p*;interface-name:veth*;interface-name:ip*;interface-name:wlan1;interface-name:wl0.2
1 change: 1 addition & 0 deletions etc/device.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ NETWORK_ID=192.168.100.0/24
POTOMAC_IDENTITY_FILE=/etc/dropbear/dropbear_rsa_host_key
POTOMAC_USER=root
RDK_EMULATOR=false
LABSIGNED_ENABLED=false
SCHEDULE_REBOOT_INTERVAL=144
UDHCP_INTERFACE=eth0
WAN_INTERFACE=eth0
Expand Down
1 change: 1 addition & 0 deletions etc/dnsmasq-dobby.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
interface=dobby0
105 changes: 98 additions & 7 deletions lib/rdk/NM_Bootstrap.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash

##############################################################################
# If not stated otherwise in this file or this component's LICENSE file the
Expand All @@ -19,11 +19,31 @@
# limitations under the License.
##############################################################################

WIFI_WPA_SUPPLICANT_CONF="/opt/secure/wifi/wpa_supplicant.conf"
BOOT_TYPE=$(grep "BOOT_TYPE" /tmp/bootType | cut -d '=' -f 2)
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The grep command reading BOOT_TYPE from /tmp/bootType should handle the case where the file doesn't exist. If /tmp/bootType doesn't exist, this will cause an error message. Consider adding a check: if [ -f /tmp/bootType ]; then BOOT_TYPE=$(grep "BOOT_TYPE" /tmp/bootType | cut -d '=' -f 2); fi

Suggested change
BOOT_TYPE=$(grep "BOOT_TYPE" /tmp/bootType | cut -d '=' -f 2)
if [ -f /tmp/bootType ]; then
BOOT_TYPE=$(grep "BOOT_TYPE" /tmp/bootType | cut -d '=' -f 2)
else
BOOT_TYPE=""
fi

Copilot uses AI. Check for mistakes.
RDKV_SUPP_CONF="/opt/secure/wifi/wpa_supplicant.conf"
MIGRATION_JSON="/opt/secure/migration/migration_data_store.json"

if [ -f $WIFI_WPA_SUPPLICANT_CONF ]; then
SSID=$(cat $WIFI_WPA_SUPPLICANT_CONF | grep -w ssid= | cut -d '"' -f 2)
PSK_LINE=$(grep psk= "$WIFI_WPA_SUPPLICANT_CONF")
if [ -f $RDKV_SUPP_CONF ]; then

#########################
# SSID Extraction #
#########################
# Efficiently extract the line containing ssid=
SSID_LINE=$(grep -m 1 "^[[:space:]]*ssid=" "$RDKV_SUPP_CONF")

# CASE 1: SSID is a quoted readable string like ssid="Test's iPhone"
if [[ "$SSID_LINE" =~ ssid=\"(.*)\" ]]; then
SSID="${BASH_REMATCH[1]}"
echo "`/bin/timestamp`: Found quoted SSID: $SSID. Do nothing as it's already in the correct format." >> /opt/logs/NMMonitor.log

# CASE 2: SSID is a hex string like ssid=4b61...
elif [[ "$SSID_LINE" =~ ssid=([a-fA-F0-9]+) ]]; then
HEX_SSID="${BASH_REMATCH[1]}"
SSID=$(printf '%b' "$(printf '%s' "$HEX_SSID" | sed 's/../\\x&/g')")
echo "`/bin/timestamp`: Converted Hex to SSID: $SSID" >> /opt/logs/NMMonitor.log
fi

PSK_LINE=$(grep psk= "$RDKV_SUPP_CONF")

# Case 1: Quoted passphrase
if [[ "$PSK_LINE" =~ psk=\"(.+)\" ]]; then
Expand All @@ -37,6 +57,77 @@ if [ -f $WIFI_WPA_SUPPLICANT_CONF ]; then
else
PSK=""
fi
echo "`/bin/timestamp` :$0: Removed nmcli SSID connect" >> /opt/logs/NMMonitor.log
sed -i '/network={/,/}/d' /opt/secure/wifi/wpa_supplicant.conf

#########################
# Key_Mgmt Extraction #
#########################
KEY_MGMT_LINE=$(grep -m 1 '^[[:space:]]*key_mgmt=' "$RDKV_SUPP_CONF")
# Extract value after '=' and remove quotes
KEY_MGMT_VALUE=$(printf '%s\n' "$KEY_MGMT_LINE" | sed 's/.*key_mgmt=//; s/"//g')

if [ "$KEY_MGMT_VALUE" = "SAE" ] || [ "$KEY_MGMT_VALUE" = "SAE FT-SAE" ]; then
KEY_MGMT=sae
else
KEY_MGMT=wpa-psk
fi
echo "`/bin/timestamp`: key_mgmt is $KEY_MGMT" >> /opt/logs/NMMonitor.log

sed -i '/network={/,/}/d' "$RDKV_SUPP_CONF"
fi


if [ "$BOOT_TYPE" == "BOOT_MIGRATION" ]; then
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comparison operators "==" used on lines 46 and 82 are bash-specific. Since the shebang is #!/bin/sh, use the POSIX-compliant "=" operator instead. Change to: if [ "$BOOT_TYPE" = "BOOT_MIGRATION" ]; then

Suggested change
if [ "$BOOT_TYPE" == "BOOT_MIGRATION" ]; then
if [ "$BOOT_TYPE" = "BOOT_MIGRATION" ]; then

Copilot uses AI. Check for mistakes.
if [ -f $MIGRATION_JSON ]; then
echo "`/bin/timestamp` :$0: BOOT_TYPE=$BOOT_TYPE... Waiting for IMMUI connect" >> /opt/logs/NMMonitor.log
echo "`/bin/timestamp` :$0: Disable Ethernet for Migration" >> /opt/logs/NMMonitor.log
nmcli dev set eth0 managed no

if [ -d /opt/NetworkManager ]; then
rm -rf /opt/NetworkManager/
fi
if [ -d /opt/secure/NetworkManager/system-connections ]; then
rm -rf /opt/secure/NetworkManager/system-connections/*
fi
nmcli conn reload
exit 0
else
echo "`/bin/timestamp` :$0: BOOT_TYPE=$BOOT_TYPE... But migration data JSON does not exist" >> /opt/logs/NMMonitor.log
fi
fi

if [ -z "$SSID" ]; then
echo "`/bin/timestamp` :$0: No SSID found in supplicant conf" >> /opt/logs/NMMonitor.log
echo "`/bin/timestamp` :$0: Trying with previously configured settings" >> /opt/logs/NMMonitor.log

if [ ! -d /opt/secure/NetworkManager/system-connections ]; then
mkdir -p /opt/secure/NetworkManager/system-connections
fi
if [ -d /opt/NetworkManager/system-connections ]; then
cp /opt/NetworkManager/system-connections/* /opt/secure/NetworkManager/system-connections/
rm -rf /opt/NetworkManager/system-connections/*
Comment on lines +106 to +107
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cp command will fail if /opt/NetworkManager/system-connections/ is empty (no files to copy). Consider adding a check or using a glob pattern like: if [ -n "$(ls -A /opt/NetworkManager/system-connections/ 2>/dev/null)" ]; then cp /opt/NetworkManager/system-connections/* /opt/secure/NetworkManager/system-connections/; fi

Suggested change
cp /opt/NetworkManager/system-connections/* /opt/secure/NetworkManager/system-connections/
rm -rf /opt/NetworkManager/system-connections/*
if [ -n "$(ls -A /opt/NetworkManager/system-connections 2>/dev/null)" ]; then
cp /opt/NetworkManager/system-connections/* /opt/secure/NetworkManager/system-connections/
rm -rf /opt/NetworkManager/system-connections/*
fi

Copilot uses AI. Check for mistakes.
fi
nmcli conn reload
else
if [ -d /opt/NetworkManager/system-connections ]; then
rm -rf /opt/NetworkManager/system-connections/*
fi
if [ -d /opt/secure/NetworkManager/system-connections ]; then
echo "`/bin/timestamp` :$0: Listing the connection profiles in device: " >> /opt/logs/NMMonitor.log
ls -lh /opt/secure/NetworkManager/system-connections >> /opt/logs/NMMonitor.log
echo "`/bin/timestamp` :$0: Deleting existing wifi profiles if any..." >> /opt/logs/NMMonitor.log
for f in /opt/secure/NetworkManager/system-connections/*; do
if grep -q "type=wifi" "$f"; then
rm -f "$f"
fi
done
fi
if [ -z "$PSK" ]; then
#connect to wifi
nmcli conn add type wifi con-name "$SSID" autoconnect yes ifname wlan0 ssid "$SSID"
nmcli conn reload
else
#connect to wifi
nmcli conn add type wifi con-name "$SSID" autoconnect yes ifname wlan0 ssid "$SSID" wifi-sec.key-mgmt "$KEY_MGMT" wifi-sec.psk "$PSK"
nmcli conn reload
fi
fi
110 changes: 89 additions & 21 deletions lib/rdk/NM_Dispatcher.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,67 @@ NMdispatcherLog()
{
echo "$(/bin/timestamp) : $0: $*" >> $NM_LOG_FILE
}

# Refactored from updateGlobalIPInfo.sh
refresh_devicedetails()
{
#Refresh device cache info
if [ -f /lib/rdk/getDeviceDetails.sh ]; then
sh /lib/rdk/getDeviceDetails.sh refresh $1
else
NMdispatcherLog "DeviceDetails file not present"
fi
}

check_valid_IPaddress()
{
local mode=$1
local addr=$2
# Neglect IPV6 ULA address and autoconfigured IPV4 address
if [ "x$mode" == "xipv6" ]; then
if [[ $addr == fc* || $addr == fd* ]]; then
return 1
fi
elif [ "x$mode" == "xipv4" ]; then
autoIPTrunc=$(echo $addr | cut -d "." -f1-2)
if [ "$autoIPTrunc" == "169.254" ]; then
return 1
Comment on lines +60 to +67
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent comparison operator usage in shell scripts. NM_Dispatcher.sh uses "==" (bash-style) on lines 60-61, 64-67, while NM_preDown.sh uses "=" (POSIX-compliant) on lines 57, 63. For maximum portability, it's recommended to use "=" for string comparison in shell scripts, especially since the shebang is "#!/bin/sh" (not bash).

Copilot uses AI. Check for mistakes.
Comment on lines +60 to +67
Copy link

Copilot AI Jan 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent comparison operators used within the same file. The check_valid_IPaddress function uses == for bash-style comparison (line 60, 66), while POSIX-compliant = would be more portable. Additionally, line 61 uses [[ ]] with pattern matching which is bash-specific, while a case statement (as used in NM_preDown.sh lines 58-62) would be more portable and efficient. Consider standardizing on POSIX-compliant operators throughout the file for better portability.

Copilot uses AI. Check for mistakes.
Comment on lines +66 to +67
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 66-67 use "==" for string comparison which is a bashism. For POSIX shell compliance (script uses #!/bin/sh), use "=" instead of "==" for string comparisons.

Copilot uses AI. Check for mistakes.
Comment on lines +66 to +67
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comparison operators use '==' which is bash-specific. For POSIX shell compatibility (indicated by the #!/bin/sh shebang), use '=' for string comparisons. This is inconsistent with the check_valid_IPaddress function at lines 57-63 which uses '=' correctly.

Copilot uses AI. Check for mistakes.
fi
Comment on lines +60 to +68
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comparison operators use '==' which works in bash but not in POSIX sh (the shebang is '#!/bin/sh'). In POSIX sh, use '=' for string comparison. This inconsistency exists between NM_Dispatcher.sh (uses '==') and NM_preDown.sh (uses '='). For consistency and POSIX compliance, use '=' instead of '==' for all string comparisons in sh scripts.

Suggested change
if [ "x$mode" == "xipv6" ]; then
if [[ $addr == fc* || $addr == fd* ]]; then
return 1
fi
elif [ "x$mode" == "xipv4" ]; then
autoIPTrunc=$(echo $addr | cut -d "." -f1-2)
if [ "$autoIPTrunc" == "169.254" ]; then
return 1
fi
if [ "x$mode" = "xipv6" ]; then
case "$addr" in
fc*|fd*)
return 1
;;
esac
elif [ "x$mode" = "xipv4" ]; then
autoIPTrunc=$(echo "$addr" | cut -d "." -f1-2)
if [ "$autoIPTrunc" = "169.254" ]; then
return 1
fi

Copilot uses AI. Check for mistakes.
fi
return 0
Comment on lines +60 to +70
Copy link

Copilot AI Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The variable comparisons use incorrect syntax. The double equals '==' should be replaced with single equals '=' for POSIX shell compliance. This pattern appears in multiple places in this function (lines 60, 66, 83) and should be consistently using single equals for POSIX compatibility.

Copilot uses AI. Check for mistakes.
}

update_global_ip_info_add()
{
local cmd=$1
local mode=$2
local ifc=$3
local addr=$4
local flags=$5

NMdispatcherLog "update_global_ip_info: cmd:$cmd, mode:$mode, ifc:$ifc, addr:$addr, flags:$flags"

if [ "x$cmd" == "xadd" ] && [ "x$flags" == "xglobal" ]; then
Copy link

Copilot AI Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The variable comparisons use incorrect syntax. The double equals '==' should be replaced with single equals '=' for POSIX shell compliance. This is inconsistent with line 60 which correctly uses '==' for pattern matching within double brackets, but line 83 uses it for a simple string comparison where '=' is more appropriate.

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional instances of '==' operator that should be '=' for POSIX sh compliance. The script uses '#!/bin/sh' but relies on bash-specific operators.

Copilot uses AI. Check for mistakes.
if ! check_valid_IPaddress "$mode" "$addr"; then
return
fi

if [[ "$ifc" == "$ESTB_INTERFACE" || "$ifc" == "$DEFAULT_ESTB_INTERFACE" || "$ifc" == "$ESTB_INTERFACE:0" ]]; then
NMdispatcherLog "Updating Box/ESTB IP"
echo "$addr" > /tmp/.$mode$ESTB_INTERFACE
refresh_devicedetails "estb_ip"
elif [[ "$ifc" == "$MOCA_INTERFACE" || "$ifc" == "$MOCA_INTERFACE:0" ]]; then
NMdispatcherLog "Updating MoCA IP"
echo "$addr" > /tmp/.$mode$MOCA_INTERFACE
refresh_devicedetails "moca_ip"
elif [[ "$ifc" == "$WIFI_INTERFACE" || "$ifc" == "$WIFI_INTERFACE:0" ]]; then
NMdispatcherLog "Updating Wi-Fi IP"
echo "$addr" > /tmp/.$mode$WIFI_INTERFACE
refresh_devicedetails "boxIP"
fi
fi
Comment on lines +83 to +101
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comparison operators use '==' which is bash-specific. For POSIX shell compatibility (indicated by the #!/bin/sh shebang), use '=' for string comparisons.

Copilot uses AI. Check for mistakes.
}

NMdispatcherLog "From NM_Dispatcher.sh $1 $2"

netInfoLog() {
Expand Down Expand Up @@ -106,20 +167,39 @@ checkDefaultRoute_Add() {
interfaceName=$1
interfaceStatus=$2

if [ "$interfaceStatus" = "connectivity-change" ] && [ -z "$interfaceName" ]; then
NMdispatcherLog "Global connectivity-change - checking all interfaces"
for iface in $ETHERNET_INTERFACE $WIFI_INTERFACE; do
# Skip if interface doesn't exist
if [ ! -e "/sys/class/net/$iface" ]; then
continue
fi
# Check carrier state
CARRIER=$(cat /sys/class/net/$iface/carrier 2>/dev/null || echo "0")
Comment on lines +170 to +178
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If $ETHERNET_INTERFACE or $WIFI_INTERFACE is empty/unset, the loop can iterate with an empty $iface. In that case /sys/class/net/ exists and the script may attempt to read /sys/class/net//carrier and to start/kill avahi-autoipd with an empty interface. Add a guard like [ -n \"$iface\" ] || continue before using $iface.

Copilot uses AI. Check for mistakes.
if [ "$CARRIER" = "0" ]; then
NMdispatcherLog "$iface - stopping avahi-autoipd"
/usr/sbin/avahi-autoipd --kill "$iface" 2>/dev/null || true
else
if pgrep -f "avahi-autoipd.*$iface" > /dev/null 2>&1; then
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'pgrep -f' pattern 'avahi-autoipd.*$iface' may match unintended processes if the interface name is generic (e.g., 'eth0' could match 'eth01'). Consider using a more specific pattern or using 'pgrep -x' with the exact process name, or checking the command line arguments more carefully to ensure you're only matching the exact interface.

Suggested change
if pgrep -f "avahi-autoipd.*$iface" > /dev/null 2>&1; then
if pgrep -f "avahi-autoipd .* $iface\$" > /dev/null 2>&1; then

Copilot uses AI. Check for mistakes.
NMdispatcherLog "avahi-autoipd already running for $iface"
else
NMdispatcherLog "Started avahi-autoipd for $iface"
/usr/sbin/avahi-autoipd --daemonize --syslog "$iface"
Comment on lines +186 to +187
Copy link

Copilot AI Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The avahi-autoipd is being started without checking if the interface has a valid IP address first. When an interface gets a DHCP address (connectivity-change), starting avahi-autoipd could conflict with the DHCP-assigned address. The logic should verify that there's no DHCP address before starting link-local addressing. Also note that line 202 properly kills avahi-autoipd on dhcp4-change, but the connectivity-change handler at line 187 may start it prematurely.

Suggested change
NMdispatcherLog "Started avahi-autoipd for $iface"
/usr/sbin/avahi-autoipd --daemonize --syslog "$iface"
# Before starting avahi-autoipd, ensure there is no global IPv4 address
IPV4_ADDR=$(ip -4 addr show dev "$iface" scope global 2>/dev/null | awk '/inet / {print $2}' | head -n 1)
if [ -n "$IPV4_ADDR" ]; then
NMdispatcherLog "$iface already has IPv4 address $IPV4_ADDR - not starting avahi-autoipd"
else
NMdispatcherLog "Started avahi-autoipd for $iface"
/usr/sbin/avahi-autoipd --daemonize --syslog "$iface"
fi

Copilot uses AI. Check for mistakes.
fi
fi
done
exit 0
fi

if [ "$interfaceStatus" = "up" ]; then
/usr/bin/nm-online -q -t 60 # If Network manager is not online wait for 60 sec. TODO: Revisit this during connectivity check enable time

CON_STATE=$(nmcli -t -f GENERAL.STATE device show "$interfaceName" 2>/dev/null | cut -d: -f2)
NMdispatcherLog "Connection state of interface $interfaceName=$CON_STATE"
if [ "$CON_STATE" = "100 (connected)" ] || [ "$CON_STATE" = "120 (connected (site only))" ]; then
NMdispatcherLog "Connection state of $interfaceName is connected."
sh /lib/rdk/connectivitycheck.sh &
else
NMdispatcherLog "Connection state of $interfaceName Up But Not Fully connected."
fi
fi

if [ "x$interfaceName" != "x" ] && [ "$interfaceName" != "lo" ]; then
if [ "$interfaceStatus" == "dhcp4-change" ]; then
/usr/sbin/avahi-autoipd --kill "$interfaceName" 2>/dev/null
Copy link

Copilot AI Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent indentation detected. Line 202 uses spaces for indentation while line 58 and 59 use a tab character. The codebase should maintain consistent indentation style throughout the file.

Suggested change
/usr/sbin/avahi-autoipd --kill "$interfaceName" 2>/dev/null
/usr/sbin/avahi-autoipd --kill "$interfaceName" 2>/dev/null

Copilot uses AI. Check for mistakes.
mode="ipv4"
gwip=$(/sbin/ip -4 route | awk '/default/ { print $3 }' | head -n1 | awk '{print $1;}')
imode=2
Expand All @@ -132,8 +212,8 @@ if [ "x$interfaceName" != "x" ] && [ "$interfaceName" != "lo" ]; then
fi

if [ "$interfaceStatus" == "dhcp6-change" ] || [ "$interfaceStatus" == "dhcp4-change" ]; then
sh -x /lib/rdk/updateGlobalIPInfo.sh "add" $mode $interfaceName $ipaddr "global"
NMdispatcherLog "updateGlobalIPInfo.sh"
update_global_ip_info_add "add" "$mode" "$interfaceName" "$ipaddr" "global"
NMdispatcherLog "update_global_ip_info completed"

sh /lib/rdk/ipv6addressChange.sh "add" $mode $interfaceName $ipaddr "global"
NMdispatcherLog "ipv6addressChange.sh"
Expand All @@ -144,18 +224,6 @@ if [ "x$interfaceName" != "x" ] && [ "$interfaceName" != "lo" ]; then
checkDefaultRoute_Add $imode $interfaceName $ipaddr $gwip $interfaceName "metric" "add"
NMdispatcherLog "checkDefaultRoute_Add"
fi
# Restart dnsmasq if it's running under NetworkManager
DNSMASQ_PID_FILE="/var/run/NetworkManager/dnsmasq.pid"

if [ -f "$DNSMASQ_PID_FILE" ]; then
DNSMASQ_PID=$(cat "$DNSMASQ_PID_FILE")
if [ -n "$DNSMASQ_PID" ]; then
echo "$DT_TIME Killing dnsmasq PID $DNSMASQ_PID" >> /opt/logs/NMMonitor.log
kill -TERM "$DNSMASQ_PID"
else
echo "$DT_TIME dnsmasq PID not running or invalid" >> /opt/logs/NMMonitor.log
fi
fi
if [ "$interfaceName" == "wlan0" ]; then
touch /tmp/wifi-on
fi
Expand Down
Loading
Loading