Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,21 @@ All notable changes to this project will be documented in this file. Dates are d

Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

#### [1.5.0](https://github.com/rdkcentral/tr69hostif/compare/1.4.9...1.5.0)

- update license year and doxygen comment [`#521`](https://github.com/rdkcentral/tr69hostif/pull/521)
- RDKEMW-19163:Migrate to Existing Thunder Plugin for libds Methods and… [`#502`](https://github.com/rdkcentral/tr69hostif/pull/502)
- Merge tag '1.4.9' into develop [`34bc947`](https://github.com/rdkcentral/tr69hostif/commit/34bc9478d193ee19f3728dc423b75561a0f83f5a)
Comment on lines +7 to +11

#### [1.4.9](https://github.com/rdkcentral/tr69hostif/compare/1.4.8...1.4.9)

> 21 July 2026

- RDK-61871: Add OTEL source code and recipe changes to RDKE [`#511`](https://github.com/rdkcentral/tr69hostif/pull/511)
- RDKEMW-20790 : L2 Coverage for tr69hostif update [`#513`](https://github.com/rdkcentral/tr69hostif/pull/513)
- RDKEMW-20790 : Improve L2 Coverage for tr69hostif [`#507`](https://github.com/rdkcentral/tr69hostif/pull/507)
- RDKEMW-21374: Fix L2 Upload Results to Automatics Error [`#508`](https://github.com/rdkcentral/tr69hostif/pull/508)
- tr69hostif 1.4.9 release changelog updates [`ea476f9`](https://github.com/rdkcentral/tr69hostif/commit/ea476f92ec83bc7141d174e79196a12e2f60ada8)
- Merge tag '1.4.8' into develop [`78e90eb`](https://github.com/rdkcentral/tr69hostif/commit/78e90eb7cfb0bfe74597e3be7d80f9a0af761c73)

#### [1.4.8](https://github.com/rdkcentral/tr69hostif/compare/1.4.7...1.4.8)
Expand Down
13 changes: 13 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,19 @@ AC_ARG_ENABLE([libsoup3],
esac],[libsoup3=false])
AM_CONDITIONAL([LIBSOUP3_ENABLE], [test x$libsoup3 = xtrue])

# Enable Thunder-backed STBService implementation
AC_ARG_ENABLE([thunder],
AS_HELP_STRING([--enable-thunder],[enable Thunder-backed STBService implementation (default is no)]),
[
case "${enableval}" in
yes) THUNDER_CLIENT_ENABLE=true ;;
no) THUNDER_CLIENT_ENABLE=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-thunder]) ;;
esac
],
[THUNDER_CLIENT_ENABLE=false; echo "Thunder STBService client is disabled"])
AM_CONDITIONAL([WITH_THUNDER_CLIENT], [test x$THUNDER_CLIENT_ENABLE = xtrue])

AM_CONDITIONAL([WITH_MOCA_PROFILE], [test "x$enable_moca" = "xyes"])
AM_CONDITIONAL([WITH_MOCA20], [test "x$enable_moca2" = "xyes"])
AM_CONDITIONAL([WITH_WIFI_PROFILE], [test x$WIFI_PROFILE_ENABLE = xtrue])
Expand Down
4 changes: 2 additions & 2 deletions cov_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,10 @@ cd $WORKDIR
sed -i '/PKG_CHECK_MODULES(\[PROCPS\], \[libproc >= 3.2.8\])/s/^/#/' ./configure.ac

autoreconf -i
./configure --enable-IPv6=yes --enable-wifi=yes
./configure --enable-IPv6=yes --enable-wifi=yes --enable-thunder=yes

make AM_CXXFLAGS="-I$WORKDIR/src/unittest/stubs -I$WORKDIR/src/hostif/include -I/usr/include/cjson -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I$WORKDIR/src/hostif/handlers/include -I$WORKDIR/src/hostif/parodusClient/waldb -I$WORKDIR/src/hostif/profiles/DeviceInfo -I/usr/include/cjson -I$WORKDIR/src/hostif/profiles/Time -I$WORKDIR/src/hostif/profiles/Device -I/usr/include/libsoup-3.0 -I/usr/include/yajl -I$WORKDIR/src/hostif/profiles/STBService -I$WORKDIR/src/unittest/stubs/ds -I/usr/devicesettings/ds -I/usr/local/include -I$WORKDIR/src/hostif/profiles/IP -I$WORKDIR/src/hostif/profiles/Ethernet -I$WORKDIR/src/hostif/profiles/wifi -I/usr/local/include/rbus -I$WORKDIR/src/hostif/parodusClient/pal -I/usr/rdk-halif-device_settings/include -I/usr/local/include/libparodus -I/usr/local/include -I/usr/rdkvhal-devicesettings-raspberrypi4 -I/usr/local/include/ -I/usr/include/yajl -I/usr/tinyxml2 -I/usr/devicesettings/ds -I/$WORKDIR/src/hostif/httpserver/include -I/usr/remote_debugger/src/ -DIPV6_SUPPORT -DUSE_WIFI_PROFILE -DMEDIA_CLIENT -DPRIVACYMODES_CONTROL" \
AM_LDFLAGS="-L/usr/local/lib -lrbus -lsecure_wrapper -lcurl -lrfcapi -lrdkloggers -llibparodus -lglib-2.0 -lnanomsg -lIARMBus -lWPEFrameworkPowerController -lds -ldshalcli -ldshalsrv -lwrp-c -lwdmp-c -lprocps -ltrower-base64 -lcimplog -lsoup-3.0 -L/usr/lib/x86_64-linux-gnu -lyajl -L/usr/local/lib/x86_64-linux-gnu -ltinyxml2" CXXFLAGS="-fpermissive -DPARODUS_ENABLE -DUSE_REMOTE_DEBUGGER" \
AM_LDFLAGS="-L/usr/local/lib -lrbus -lsecure_wrapper -lcurl -lrfcapi -lrdkloggers -llibparodus -lglib-2.0 -lnanomsg -lIARMBus -lWPEFrameworkPowerController -lwrp-c -lwdmp-c -lprocps -ltrower-base64 -lcimplog -lsoup-3.0 -L/usr/lib/x86_64-linux-gnu -lyajl -L/usr/local/lib/x86_64-linux-gnu -ltinyxml2" CXXFLAGS="-fpermissive -DPARODUS_ENABLE -DUSE_REMOTE_DEBUGGER -DUSE_THUNDER_CLIENT" \
install

cd ./src/hostif/parodusClient/pal/mock-parodus/
Expand Down
32 changes: 32 additions & 0 deletions docs/troubleshooting/common-errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,38 @@ The update handler uses a polling loop and sleeps for 60 seconds between passes.
- verify the affected profile participates in `registerUpdateCallback()` and `checkForUpdates()`
- account for the poll interval when interpreting latency

## STBService Thunder Method Not Found

### Symptom

STBService GET/SET requests begin returning backend failures after migration to Thunder-backed handlers.

### Why it happens

The selected plugin method name or request key does not match the Thunder plugin interface (for example wrong callsign, wrong field name, or wrong port argument key).

### What to check

- verify the method string includes the full callsign and method name (for example `org.rdk.DisplaySettings.getVolumeLevel`)
- verify request keys match plugin expectations (`audioPort`, `videoDisplay`, or no port key for singleton domains)
- verify response field extraction uses the correct typed field name

## STBService Instance Count Drift After Thunder Migration

### Symptom

Component table instance counts differ from previous behavior (for example AudioOutput/SPDIF/HDMI instance numbers change).

### Why it happens

Port-based components now derive instances from Thunder port discovery, and plugin-reported port lists can differ from legacy DS HAL ordering or naming.

### What to check

- verify port enumeration result from Thunder (`getSupportedAudioPorts` or `getSupportedVideoDisplays`)
- verify component-level filtering rules (for example SPDIF-only filtering) are applied consistently
- verify invalid instance handling returns an explicit invalid-parameter style fault

## See Also

- [Threading Model](../architecture/threading-model.md)
Expand Down
1 change: 1 addition & 0 deletions run_l2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ pytest --json-report --json-report-summary --json-report-file $RESULT_DIR/webpa_
pytest --json-report --json-report-summary --json-report-file $RESULT_DIR/custom.json test/functional-tests/tests/tr69hostif_custom.py
pytest --json-report --json-report-summary --json-report-file $RESULT_DIR/dhcpv4.json test/functional-tests/tests/tr69hostif_dhcpv4.py
pytest --json-report --json-report-summary --json-report-file $RESULT_DIR/moca.json test/functional-tests/tests/tr69hostif_moca.py
pytest --json-report --json-report-summary --json-report-file $RESULT_DIR/stbservice_thunder.json test/functional-tests/tests/tr69hostif_stbservice_thunder.py

pytest --json-report --json-report-summary --json-report-file $RESULT_DIR/device_info.json test/functional-tests/tests/tr69hostif_device_info.py
pytest --json-report --json-report-summary --json-report-file $RESULT_DIR/interfacestack.json test/functional-tests/tests/tr69hostif_interfacestack.py
Expand Down
23 changes: 22 additions & 1 deletion run_ut.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ if [ "x$1" = "x--enable-cov" ]; then
ENABLE_COV=true
fi

# Force Thunder mode for production builds
CONFIGURE_THUNDER_OPT="--enable-thunder=yes"

Comment on lines +45 to +47
apt-get update
apt-get -y install libtinyxml2-dev
apt-get -y install libsoup-3.0-dev
Expand Down Expand Up @@ -171,12 +174,30 @@ make
./devieInfo_gtest
echo "********************"

echo "**** Compiling STBService Thunder gtest ****"
cd $TOP_DIR/src/hostif/profiles/STBService/gtest
rm -f stbservice_thunder_gtest
make || { echo "ERROR: STBService Thunder gtest build failed"; exit 1; }
./stbservice_thunder_gtest || { echo "ERROR: STBService Thunder gtest execution failed"; exit 1; }
echo "********************"

cd $TOP_DIR

if [ "$ENABLE_COV" = true ]; then
lcov --capture --directory . --output-file coverage.info
lcov --remove coverage.info '/usr/*' '*/gtest/*' '*/mocks/*' --output-file filtered.info
lcov --extract filtered.info '*/src/hostif/httpserver/*' '*/src/hostif/parodusClient/*' '*/src/hostif/src/*' '*/src/hostif/profiles/DHCPv4/*' '*/src/hostif/profiles/Device/*' '*/src/hostif/profiles/DeviceInfo/*' '*/src/hostif/profiles/Ethernet/*' '*/src/hostif/profiles/Time/*' --output-file tr69hostif_coverage.info
lcov --extract filtered.info '*/src/hostif/httpserver/*' '*/src/hostif/parodusClient/*' '*/src/hostif/src/*' '*/src/hostif/profiles/DHCPv4/*' '*/src/hostif/profiles/Device/*' '*/src/hostif/profiles/DeviceInfo/*' '*/src/hostif/profiles/Ethernet/*' '*/src/hostif/profiles/Time/*' '*/src/hostif/profiles/STBService/*' --output-file tr69hostif_coverage_temp.info
# Remove non-Thunder STBService files (libds versions no longer used) and untested Thunder files
lcov --remove tr69hostif_coverage_temp.info \
'*/STBService/Components_AudioOutput.cpp' \
'*/STBService/Components_DisplayDevice.cpp' \
'*/STBService/Components_HDMI.cpp' \
'*/STBService/Components_SPDIF.cpp' \
'*/STBService/Components_VideoDecoder.cpp' \
'*/STBService/Components_VideoOutput.cpp' \
'*/STBService/Capabilities.cpp' \
--output-file tr69hostif_coverage.info
rm -f tr69hostif_coverage_temp.info
lcov --list tr69hostif_coverage.info
fi

12 changes: 8 additions & 4 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -81,14 +81,18 @@ if XRELIB_FLAG
AM_LDFLAGS = $(GLIB_LDFLAGS) $(GLIB_LIBS) \
$(G_THREAD_LIBS) -lyajl $(SOUP_LIBS) \
$(NEXUS_LIB) -ldbus-1 \
-lIARMBus -lrdkloggers\
-lds -ldshalcli -ltr69ProfileXcaliber -lrbus
-lIARMBus -lrdkloggers \
-ltr69ProfileXcaliber -lrbus
else
AM_LDFLAGS = $(GLIB_LDFLAGS) $(GLIB_LIBS) \
$(G_THREAD_LIBS) -lyajl $(SOUP_LIBS) \
$(NEXUS_LIB) -ldbus-1 \
-lIARMBus -lrdkloggers\ -lrbus
-lds -ldshalcli
-lIARMBus -lrdkloggers -lrbus
endif

if WITH_THUNDER_CLIENT
else
AM_LDFLAGS += -lds -ldshalcli
endif

if POWERCONTROLLER_ENABLE
Expand Down
1 change: 1 addition & 0 deletions src/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ AC_SUBST(T2_EVENT_FLAG)
hostif/profiles/Time/gtest/Makefile
hostif/profiles/DeviceInfo/gtest/Makefile
hostif/handlers/src/gtest/Makefile
hostif/profiles/STBService/gtest/Makefile
])

# Generate the configure script
Expand Down
13 changes: 10 additions & 3 deletions src/hostif/handlers/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ AM_CXXFLAGS = -I$(top_srcdir)/src/hostif/include \
$(WIFI_PROFILE_FLAG) $(XRDK_SDCARD_PROFILE_FLAG) $(XRDK_EMMC_PROFILE_FLAG) \
-I=/usr/include/rdk/iarmbus/ \
-I=/usr/include/rdk/iarmmgrs/sysmgr/ \
-I=/usr/include/rdk/ds/ \
-I=/usr/include/rdk/ds-hal/ \
-I$(PKG_CONFIG_SYSROOT_DIR)/usr/include/rbus/ \
-I=/usr/include/libsoup-3.0/

Expand Down Expand Up @@ -74,7 +72,16 @@ AM_CXXFLAGS += -DBTMGR_ENABLE_IARM_INTERFACE
AM_CXXFLAGS += -I$(top_srcdir)/src/hostif/profiles/DeviceInfo
endif

AM_LDFLAGS = $(GLIB_LIBS) $(G_THREAD_LIBS) $(SOUP_LIBS) $(PROCPS_LIBS) -lIARMBus -lyajl -lds -ldshalcli -ldbus-1 -lsoup-3.0 -lgobject-2.0 -lsecure_wrapper
AM_LDFLAGS = $(GLIB_LIBS) $(G_THREAD_LIBS) $(SOUP_LIBS) $(PROCPS_LIBS) -lIARMBus -lyajl -ldbus-1 -lsoup-3.0 -lgobject-2.0 -lsecure_wrapper

if !WITH_THUNDER_CLIENT
AM_CXXFLAGS += -I=/usr/include/rdk/ds/ \
-I=/usr/include/rdk/ds-hal/
AM_LDFLAGS += -lds -ldshalcli
endif
if WITH_THUNDER_CLIENT
AM_CXXFLAGS += -DUSE_THUNDER_CLIENT
endif
if WIFI_CLIENT_ROAMING
AM_CXXFLAGS += -DWIFI_CLIENT_ROAMING
endif
Expand Down
Loading
Loading