
{"id":10577,"date":"2026-02-16T10:53:04","date_gmt":"2026-02-16T10:53:04","guid":{"rendered":"https:\/\/developer.rdkcentral.com\/support\/?page_id=10577"},"modified":"2026-02-16T10:53:36","modified_gmt":"2026-02-16T10:53:36","slug":"adding-a-new-test-component","status":"publish","type":"page","link":"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/","title":{"rendered":"Adding a New Test Component"},"content":{"rendered":"\n<p><strong>This section briefs how to add a new component along with TR-181 data models to RDK-B.<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"IntegrationGuideforthirdpartyapplicationsintoRDKBstack-TestComponentAPIList\">Test Component API List<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>TestComponent_GetParamUlongValue<\/td><td>&nbsp;API is used to retrieve the parameter value of type \u201cunsignedInt\u201d<\/td><\/tr><tr><td>TestComponent_SetParamUlongValue<\/td><td>API is used to set the parameter value of type \u201cunsignedInt\u201d<\/td><\/tr><tr><td>TestComponent_GetParamStringValue&nbsp;<\/td><td>API is used to retrieve the parameter value of type \u201cstring\u201d<\/td><\/tr><tr><td>TestComponent_SetParamStringValue&nbsp; &nbsp;<\/td><td>API is used to set the parameter value of type \u201cstring\u201d<\/td><\/tr><tr><td>TestComponent_Commit&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<\/td><td>To Commit all the update to the data model<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"IntegrationGuideforthirdpartyapplicationsintoRDKBstack-Buildccsp-testcomponentforRaspberryPidevice\">Build ccsp-testcomponent for Raspberry Pi device<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Put the\u00a0<a href=\"https:\/\/wiki.rdkcentral.com\/spaces\/RDK\/pages\/123896069\/Integration+Guide+for+third-party+applications+into+RDK-B+stack#\">ccsp-testcomponent.bb<\/a>\u00a0recipe file inside meta-rdk-broadband\/recipes-ccsp\/ccsp\u00a0 location.<\/li>\n\n\n\n<li>\u00a0Create folder names &#8220;files&#8221; under\u00a0 &#8220;meta-rdk-broadband\/recipes-ccsp\/ccsp&#8221; path<\/li>\n\n\n\n<li>Put\u00a0<a href=\"https:\/\/wiki.rdkcentral.com\/spaces\/RDK\/pages\/123896069\/Integration+Guide+for+third-party+applications+into+RDK-B+stack#\">CcspTestComponent.tar.gz<\/a>\u00a0(source code of TestComponent)\u00a0file inside meta-rdk-broadband\/recipes-ccsp\/ccsp\/files\u00a0 \u00a0location.<\/li>\n\n\n\n<li>Build the test component inside build directory i.e. build-raspberrypi-rdk-broadband directory.<br><em>bitbake ccsp-testcomponent<\/em><\/li>\n\n\n\n<li>Binary file of test component will be present inside build-raspberrypi-rdk-broadband\/tmp\/work\/cortexa7hf-neon-vfpv4-rdk-linux-gnueabi\/ccsp-testcomponent\/1.0-r0\/image\/usr\/bin\/ location<\/li>\n\n\n\n<li>XML file of test component will be present inside\u00a0<br>build-raspberrypi-rdk-broadband\/tmp\/work\/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi\/ccsp-testcomponent\/1.0-r0\/image\/usr\/ccsp\/testcomponent\/ location.<\/li>\n<\/ol>\n\n\n\n<p>NOTE : For rpi4 , yocto 3.1 use&nbsp;<a href=\"https:\/\/wiki.rdkcentral.com\/spaces\/RDK\/pages\/123896069\/Integration+Guide+for+third-party+applications+into+RDK-B+stack#\">ccsp_testcomponent.tar.gz<\/a>&nbsp;to avoid build errors due to cfg directory missing<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"IntegrationGuideforthirdpartyapplicationsintoRDKBstack-RuntheTestComponent\">Run the Test Component<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"IntegrationGuideforthirdpartyapplicationsintoRDKBstack-CopythesupportedfilestoRaspberryPidevice\">Copy the supported files to&nbsp;Raspberry Pi device<\/h5>\n\n\n\n<p>Copy test_component (Binary of ccsp-testcomponent, generated in step 4 of Build) and TestComponent.xml (present at location mentioned in step 5 of Build) to \/tmp\/ directory of Raspberry Pi device.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"IntegrationGuideforthirdpartyapplicationsintoRDKBstack-ExecutetheTestComponentintheRaspberryPidevice\">Execute the TestComponent in the&nbsp;Raspberry Pi device<\/h5>\n\n\n\n<p>Go to \/tmp\/ directory of Raspberry Pi 3 and start the ccsp-testcomponent<br><em>.\/test_component -subsys eRT.<\/em><\/p>\n\n\n\n<p>You can check the status of the process by doing&nbsp;<em>&nbsp;ps&nbsp;<\/em>in the RPi device.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"IntegrationGuideforthirdpartyapplicationsintoRDKBstack-ValidateifcomponentisregisteredwithCR\">Validate if component is registered with CR<\/h5>\n\n\n\n<p>DMCLI (Database Manager Command Line Interface) provides interface used to send and receive command\/messages via CLI (Command Line Interface) over Telnet and SSH protocols.<\/p>\n\n\n\n<p>List all the test component parameters using dmcli:<\/p>\n\n\n\n<p><em>dmcli eRT getv Device.TestComponent.<\/em><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Expected Output:\nCR component name is: eRT.com.cisco.spvtg.ccsp.CR\nsubsystem_prefix eRT.\ngetv from\/to component(eRT.com.cisco.spvtg.ccsp.testcomponent): Device.TestComponent.\nExecution succeed.\nParameter    1 name: Device.TestComponent.TestSampleParamUlong\n               type:       uint,    value: 1<\/pre>\n\n\n\n<p>Change the &#8220;TestSampleParamUlong&#8221; parameter value by using below command:<\/p>\n\n\n\n<p><em>dmcli eRT setv Device.TestComponent.TestSampleParamUlong uint 5<\/em><\/p>\n\n\n\n<p>Now verify the value by this command<\/p>\n\n\n\n<p><em>dmcli eRT getv Device.TestComponent.TestSampleParamUlong<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"IntegrationGuideforthirdpartyapplicationsintoRDKBstack-IncludeNewlyAddedComponentinPackageGroup\">Include Newly Added Component in Package Group<\/h4>\n\n\n\n<p>Once the validation is successfully done and we can now include the new component (ccsp-testcomponent) in the package groups.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u00a0Open &#8220;packagegroup-rdk-ccsp-broadband.bb&#8221; file present at &#8220;meta-rdk\/recipes-core\/packagegroups\/packagegroup-rdk-ccsp-broadband.bb&#8221; location.<\/li>\n\n\n\n<li>In the &#8220;RDEPENDS_packagegroup-rdk-ccsp-broadband&#8221; flag add the name of new component.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>This section briefs how to add a new component along with TR-181 data models to [&hellip;]<\/p>\n","protected":false},"author":659,"featured_media":0,"parent":207,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-10577","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Adding a New Test Component - RDK Documentation Portal | Support<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adding a New Test Component - RDK Documentation Portal | Support\" \/>\n<meta property=\"og:description\" content=\"This section briefs how to add a new component along with TR-181 data models to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/\" \/>\n<meta property=\"og:site_name\" content=\"RDK Documentation Portal | Support\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-16T10:53:36+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/\",\"url\":\"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/\",\"name\":\"Adding a New Test Component - RDK Documentation Portal | Support\",\"isPartOf\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/support\/#website\"},\"datePublished\":\"2026-02-16T10:53:04+00:00\",\"dateModified\":\"2026-02-16T10:53:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/developer.rdkcentral.com\/support\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Support\",\"item\":\"https:\/\/developer.rdkcentral.com\/support\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Articles\",\"item\":\"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Adding a New Test Component\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/developer.rdkcentral.com\/support\/#website\",\"url\":\"https:\/\/developer.rdkcentral.com\/support\/\",\"name\":\"RDK Documentation Portal | Support\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/developer.rdkcentral.com\/support\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Adding a New Test Component - RDK Documentation Portal | Support","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/","og_locale":"en_US","og_type":"article","og_title":"Adding a New Test Component - RDK Documentation Portal | Support","og_description":"This section briefs how to add a new component along with TR-181 data models to [&hellip;]","og_url":"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/","og_site_name":"RDK Documentation Portal | Support","article_modified_time":"2026-02-16T10:53:36+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/","url":"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/","name":"Adding a New Test Component - RDK Documentation Portal | Support","isPartOf":{"@id":"https:\/\/developer.rdkcentral.com\/support\/#website"},"datePublished":"2026-02-16T10:53:04+00:00","dateModified":"2026-02-16T10:53:36+00:00","breadcrumb":{"@id":"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/adding-a-new-test-component\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/developer.rdkcentral.com\/support\/"},{"@type":"ListItem","position":2,"name":"Support","item":"https:\/\/developer.rdkcentral.com\/support\/"},{"@type":"ListItem","position":3,"name":"Articles","item":"https:\/\/developer.rdkcentral.com\/support\/support\/articles\/"},{"@type":"ListItem","position":4,"name":"Adding a New Test Component"}]},{"@type":"WebSite","@id":"https:\/\/developer.rdkcentral.com\/support\/#website","url":"https:\/\/developer.rdkcentral.com\/support\/","name":"RDK Documentation Portal | Support","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/developer.rdkcentral.com\/support\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/pages\/10577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/users\/659"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/comments?post=10577"}],"version-history":[{"count":1,"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/pages\/10577\/revisions"}],"predecessor-version":[{"id":10578,"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/pages\/10577\/revisions\/10578"}],"up":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/pages\/207"}],"wp:attachment":[{"href":"https:\/\/developer.rdkcentral.com\/support\/wp-json\/wp\/v2\/media?parent=10577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}