RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
root@RaspberryPi-Gateway:/dac#$ cat /rpi3_reference-dac-image-helloworld-test-raspberrypi-rdk-broadband-20230403072115.rootfs-oci-latest-arm-linux.oci-image/config.json { "ociVersion": "1.0.2-dobby", "process": { "terminal": true, "user": { "uid": 0, "gid": 0 }, "args": [ "/usr/libexec/DobbyInit", "/usr/bin/helloworld-test" ], "env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "cwd": "/", "capabilities": { "bounding": [ ], "effective": [ ], "inheritable": [ ], "permitted": [ ], "ambient": [ ] }, "rlimits": [ ], "noNewPrivileges": true }, "root": { "path": "rootfs" }, "hostname": "umoci-default", "mounts": [ { "destination": "/proc", "type": "proc", "source": "proc" }, { "destination": "/dev", "type": "tmpfs", "source": "tmpfs", "options": [ "nosuid", "strictatime", "mode=755", "size=65536k" ] }, { "destination": "/dev/pts", "type": "devpts", "source": "devpts", "options": [ "nosuid", "noexec", "newinstance", "ptmxmode=0666", "mode=0620" ] }, { "destination": "/dev/shm", "type": "tmpfs", "source": "shm", "options": [ "nosuid", "noexec", "nodev", "mode=1777", "size=65536k" ] }, { "destination": "/sys", "type": "bind", "source": "/sys", "options": [ "rbind", "nosuid", "noexec", "nodev", "ro" ] }, { "destination": "/etc/resolv.conf", "type": "bind", "source": "/etc/resolv.conf", "options": [ "noexec", "nosuid", "nodev", "rbind", "ro" ] }, { "source": "/usr/libexec/DobbyInit", "destination": "/usr/libexec/DobbyInit", "type": "bind", "options": [ "rbind", "nosuid", "nodev", "ro" ] }, { "source": "/usr/share/", "destination": "/usr/share/", "type": "bind", "options": [ "rbind", "nosuid", "nodev", "ro", "X-mount.mkdir" ] } ], "annotations": { "org.opencontainers.image.architecture": "arm", "org.opencontainers.image.author": "info@lgi.com", "org.opencontainers.image.created": "2023-03-24T08:33:59Z", "org.opencontainers.image.exposedPorts": "", "org.opencontainers.image.os": "linux", "org.opencontainers.image.stopSignal": "", "run.oci.hooks.stderr": "/dev/stderr", "run.oci.hooks.stdout": "/dev/stdout" }, "linux": { "namespaces": [ { "type": "pid" }, { "type": "ipc" }, { "type": "uts" }, { "type": "mount" } ], "maskedPaths": [ ], "readonlyPaths": [ ], "resources": { "devices": [ ] }, "devices": [ ] }, "rdkPlugins": { "networking": { "required": true, "data": { "type": "open" } }, "logging": { "required": true, "data": { "sink": "file", "fileOptions": { "path": "/var/log/rpi3_reference-dac-image-helloworld-test-raspberrypi-rdk-broadband-20230324083330.rootfs-oci-latest-arm-linux.oci-image.log" } } } } } |
...
We have developed jst code for Sample DAC . For that, we need to place below jst files in respective directories in running rpi3 target.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?% /* If not stated otherwise in this file or this component's Licenses.txt file the following copyright and licenses apply: Copyright 2018 RDK Management Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ ?> <!-- $Id: nav.dory.jst 3155 2010-01-06 19:36:01Z slemoine $ --> <!--Nav--> <?% include('includes/utility.jst'); ?> <?% /* * set initial value for all pages to true(display) */ $partnerId = ""; $partnerId = getStr("Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.PartnerId"); $modelName = getStr("Device.DeviceInfo.ModelName"); $local_ip_config = true; $firewall = true; $parental_control = true; $dmz = true; $port_forwarding = true; $port_triggering = true; $MoCA = true; $battery = true; $radius_servers = false; $local_users = false; $remote_management = true; //for xb3, all user will have this page, but different content $eMTA = true; //for mso $routing = true; //for mso $hs_port_forwarding = true; //for mso $dynamic_dns = true; //for mso $nat = false; //for mso $wifi_spectrum_analyzer = true; $password_change = false; //for admin only $wifi_spec_analyzer = true; $advanced_tab = true; $wan_network = true; $moca_diagnostics = true; $voice_Dig = false; $device_discovery = true; $hwselftest_enabled = false; $hwselftest = getStr("Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.hwHealthTest.Enable"); $partnersId = getStr("Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.PartnerId"); $voice_dev = getStr('Device.DeviceInfo.SoftwareVersion'); $telco_vm = file_exists("/tmp/RDKB_TELCOVOICEMANAGER_ENABLED"); $voice_debug_global = !$telco_vm; /* * The difference between bridge mode and router mode * In bridge mode, local ip config page, firewall page, parental control pages, * routing page(mso), dmz page, wizard pages, port fowarding and port triggering pages removed */ if (isset($_SESSION['lanMode']) && $_SESSION["lanMode"] == "bridge-static") { $advanced_tab = true; $remote_management = true; $dynamic_dns = false; $device_discovery = false; $local_ip_config = false; $firewall = false; $parental_control = false; $routing = false; $dmz = false; $port_forwarding = false; $port_triggering = false; $hs_port_forwarding = false; $wizard = false; $MoCA = true; $moca_diagnostics = false; $wifi_spec_analyzer = false; } if (isset($_SESSION['loginuser']) && $_SESSION['loginuser'] == 'admin') { $eMTA = false; $routing = false; $nat = false; $dynamic_dns = false; $hs_port_forwarding = false; $password_change = true; } if (strpos($partnerId, "sky-") === false) { /* Grab XBB or other MTA Legacy Battery Install Status */ $batteryInstalled = getStr("Device.X_CISCO_COM_MTA.Battery.Installed"); /* Show Battery Icon based on XBB or other MTA Legacy Battery Install Status */ if (strstr($batteryInstalled, "true")) { $battery = true; } else { $battery = false; } } else { /* Turn off Battery and MoCA based on Partner devices */ $moca_diagnostics = false; $MoCA = false; $battery = false; if(strpos($voice_dev, "_DEV_") !== false){ $voice_Dig = true;} else{$voice_Dig = false;} } /* * Allow navigation to HWSelfTest link only if user is MSO * and Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.hwHealthTest.Enabe is set */ if (isset($_SESSION['loginuser']) && $_SESSION['loginuser'] == 'mso') { if (strstr($hwselftest, "true")) { $hwselftest_enabled = true; } else { $hwselftest_enabled = false; } } /* * generate menu and submenu accroding to above configuration */ $allowEthWan= ""; $allowEthWan= getStr("Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.RDKB_UIBranding.AllowEthernetWAN"); $autoWanEnable= getStr("Device.DeviceInfo.X_RDKCENTRAL-COM_AutowanFeatureSupport"); $RemoteMgt = getStr("Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WebUIRemoteMgtOption.Enable"); $http_mode = getStr("Device.UserInterface.X_CISCO_COM_RemoteAccess.HttpEnable"); $https_mode = getStr("Device.UserInterface.X_CISCO_COM_RemoteAccess.HttpsEnable"); if($http_mode == "true" || $https_mode == "true") { $_SESSION['rm'] = false; } echo( '<div id="nav">'); echo( '<ul>'); echo( '<li class="nav-gateway">'); echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="at_a_glance.jst" id="gatewayloc">Gateway</a>'); echo( '<ul>'); echo( '<li class="nav-at-a-glance"><a role="menuitem" href="at_a_glance.jst" id="ataglanceloc">At a Glance</a></li>'); echo( '<li class="nav-connection"><a role="menuitem" title="click to toggle sub menu" href="javascript:;" id="connloc">Connection</a>'); echo( '<ul>'); echo( '<li class="nav-connection-status"><a role="menuitem" href="connection_status.jst" id="statloc">Status</a></li>'); $Connection_MSOmenu = ""; $Connection_MSOmenu = getStr("Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.RDKB_UIBranding.Connection.MSOmenu"); echo( '<li class="nav-gateway-network"><a role="menuitem" href="network_setup.jst">'+$Connection_MSOmenu+'</a></li>'); if($local_ip_config) echo( '<li class="nav-local-ip-network"><a role="menuitem" href="local_ip_configuration.jst" id="locip">Local IP Network</a></li>'); echo( '<li class="nav-wifi-config"><a role="menuitem" href="wireless_network_configuration.jst" id="wifiloc">Wi-Fi</a></li>'); if ($eMTA) { echo( '<li class="nav-mta"><a role="menuitem" title="click to toggle sub menu" href="javascript:;" id="mtaloc">MTA</a>'); echo( '<ul style="padding-left:10px">'); echo( '<li class="nav-line-status"><a role="menuitem" href="mta_Line_Status.jst" id="line_status">Line Status</a></li>'); echo( '<li class="nav-mta-line-diagnostics"><a role="menuitem" href="mta_Line_Diagnostics.jst" id="lindiagloc">Line Diagnostics</a></li>'); echo( '<li class="nav-service-sip"><a role="menuitem" href="mta_sip_packet_log.jst" id="sippacloc">SIP Packet Log</a></li>'); echo( '</ul>'); echo( '</li>'); echo( '<li class="nav-qos"><a role="menuitem" href="qos.jst">CallP/QoS</a></li>'); echo( '<li class="nav-gateway-voice"><a role="menuitem" href="voice_quality_metrics.jst">VQM</a></li>'); } if ($MoCA) { echo( '<li class="nav-moca"><a role="menuitem" href="moca.jst">MoCA</a></li>'); } if((($autoWanEnable=="true") || ($allowEthWan=="true")) && (($modelName=="CGM4140COM") || ($modelName=="CGM4331COM") || ($modelName=="CGM4981COM") || ($modelName=="TG4482A"))){ if($wan_network) echo( '<li class="nav-wan-network"><a role="menuitem" href="wan_network.jst" id="wannet">WAN Network</a></li>'); } echo( '</ul>'); echo( '</li>'); /*if($firewall) echo( '<li class="nav-firewall"><a role="menuitem" href="firewall_settings.jst">Firewall</a></li>');*/ if($firewall) echo( '<li class="nav-firewall"><a role="menuitem" title="click to toggle sub menu" href="javascript:;" id="firwlloc">Firewall</a>\ <ul> \ <li class="nav-firewall-ipv4"><a role="menuitem" href="firewall_settings_ipv4.jst">IPv4</a></li>\ <li class="nav-firewall-ipv6"><a role="menuitem" href="firewall_settings_ipv6.jst">IPv6</a></li>\ </ul> \ </li>'); echo( '<li class="nav-software"><a role="menuitem" href="software.jst">Software</a></li>'); echo( '<li class="nav-hardware"><a role="menuitem" title="click to toggle sub menu" href="javascript:;" id="hrdloc">Hardware</a>'); echo( '<ul>'); echo( '<li class="nav-system-hardware"><a role="menuitem" href="hardware.jst" id="hardmess1">System Hardware</a></li>'); if($battery) echo( '<li class="nav-battery"><a role="menuitem" href="battery.jst" id="battloc">Battery</a></li>'); echo( '<li class="nav-lan"><a role="menuitem" href="lan.jst">LAN</a></li>'); echo( '<li class="nav-wifi"><a role="menuitem" href="wifi.jst">Wireless</a></li>'); echo( '</ul>'); echo( '</li>'); echo( '</ul>'); echo( '</li>'); echo( '<li class="nav-connected-devices">'); echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="connected_devices_computers.jst" id="conndev">Connected Devices</a>'); echo( '<ul>'); echo( '<li class="nav-cdevices"><a role="menuitem" href="connected_devices_computers.jst" id="devloc">Devices</a></li>'); echo( '</ul>'); echo( '</li>'); if($parental_control){ echo( '<li class="nav-parental-control">'); if($partnerId =="cox"){ echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="managed_services.jst" id="parloc">Parental Control</a>'); } else { echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="managed_sites.jst" id="parloc">Parental Control</a>'); } echo( '<ul>'); if($partnerId !="cox"){ echo( '<li class="nav-sites"><a role="menuitem" href="managed_sites.jst" id="mansitesloc">Managed Sites</a></li>'); } echo( '<li class="nav-services"><a role="menuitem" href="managed_services.jst" id="manserloc">Managed Services</a></li>'); echo( '<li class="nav-devices"><a role="menuitem" href="managed_devices.jst" id="mandevloc">Managed Devices</a></li>'); echo( '<li class="nav-parental-reports"><a role="menuitem" href="parental_reports.jst" id="reploc">Reports</a></li>'); echo( '</ul>'); echo( '</li>'); } if($advanced_tab) { echo( '<li class="nav-advanced">'); if (isset($_SESSION['lanMode']) && $_SESSION["lanMode"] == "bridge-static"){ if ($RemoteMgt == "false" && $http_mode == "false" && $https_mode == "false" && ($_SESSION['rm'] == false || typeof($_SESSION['rm']) == "undefined")) echo(''); else echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="remote_management.jst" id="advloc">Advanced</a>'); } else { echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="port_forwarding.jst" id="advloc">Advanced</a>'); } echo( '<ul>'); if($port_forwarding) echo( '<li class="nav-port-forwarding"><a role="menuitem" href="port_forwarding.jst">Port Forwarding</a></li>'); if($hs_port_forwarding) echo( '<li class="nav-HS-port-forwarding"><a role="menuitem" href="hs_port_forwarding.jst" id="hsportmess2">HS Port Forwarding</a></li>'); if($port_triggering) echo( '<li class="nav-port-triggering"><a role="menuitem" href="port_triggering.jst">Port Triggering</a></li>'); if($remote_management){ if ($RemoteMgt == "false" && $http_mode == "false" && $https_mode == "false"){ if ($_SESSION['rm'] == false || typeof($_SESSION['rm']) == "undefined") echo(''); else echo( '<li class="nav-remote-management"><a role="menuitem" href="remote_management.jst" id="remloc">Remote Management</a></li>'); } else { echo( '<li class="nav-remote-management"><a role="menuitem" href="remote_management.jst" id="remloc">Remote Management</a></li>'); } } echo( '<!--li class="nav-qos1"><a role="menuitem" href="qos1.jst">QoS</a></li-->'); if($dmz) echo( '<li class="nav-dmz"><a role="menuitem" href="dmz.jst">DMZ</a></li>'); if($nat) echo( '<li class="nav-nat"><a role="menuitem" href="nat.jst">NAT</a></li>'); if($routing) echo( '<li class="nav-routing"><a role="menuitem" href="routing.jst">Routing</a></li>'); if($dynamic_dns) echo( '<li class="nav-Dynamic-dns"><a role="menuitem" href="dynamic_dns.jst" id="dyndnshead2">Dynamic DNS</a></li>'); if($device_discovery) echo( '<li class="nav-device-discovery"><a role="menuitem" href="device_discovery.jst" id="devdishead">Device Discovery</a></li>'); if($radius_servers) echo( '<li class="nav-radius-servers"><a role="menuitem" href="radius_servers.jst">Radius Servers</a></li>'); if($local_users) echo( '<li class="nav-local-users"><a role="menuitem" href="local_users.jst" id="localuserloc">Local Users</a></li>'); echo( '</ul>'); echo( '</li>'); } echo( '<li class="nav-troubleshooting">'); echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="troubleshooting_logs.jst" id="troubleloc">Troubleshooting</a>'); echo( '<ul>'); echo( '<li class="nav-logs"><a role="menuitem" href="troubleshooting_logs.jst" id="logsloc">Logs</a></li>'); echo( '<li class="nav-diagnostic-tools"><a role="menuitem" href="network_diagnostic_tools.jst" id="diagloc">Diagnostic Tools</a></li>'); if($wifi_spec_analyzer) echo( '<li class="nav-wifi-spectrum-analyzer"><a role="menuitem" href="wifi_spectrum_analyzer.jst" id="wifispecloc">Wi-Fi Spectrum Analyzer</a></li>'); if($moca_diagnostics) echo( '<li class="nav-moca-diagnostics"><a role="menuitem" href="moca_diagnostics.jst" id="mocdiagloc">MoCA Diagnostics</a></li>'); echo( '<li class="nav-restore-reboot"><a role="menuitem" href="restore_reboot.jst" id="resetloc">Reset/Restore Gateway</a></li>'); if($password_change) echo( '<li class="nav-password"><a role="menuitem" href="password_change.jst" id="chPass">Change Password</a></li>'); if($hwselftest_enabled) echo( '<li class="nav-hwselftest"><a role="menuitem" href="hwselftest.jst">Hardware Health Test</a></li>') echo( '</ul>'); echo( '</li>'); if($voice_Dig){ echo( '<li class="nav-voice">'); echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="Voip_SipBasic_GlobalParamaters.jst" id="voiceloc">Voice Diagnostics</a>'); echo( '<ul>'); echo( '<li class="nav-voice-sip"><a role="menuitem" title="click to toggle sub menu" href="javascript:;" id="siploc">SIP Basic Setup</a>'); echo( '<ul>'); echo( '<li class="nav-voice-sip-global"><a role="menuitem" href="Voip_SipBasic_GlobalParamaters.jst">Global Parameters</a></li>'); echo( '<li class="nav-voice-sip-service"><a role="menuitem" href="Voip_SipBasic_ServiceProvider.jst">SIP Service Provider</a></li>'); echo( '</ul>'); echo( '</li>'); echo( '<li class="nav-voice-advance"><a role="menuitem" title="click to toggle sub menu" href="javascript:;">Advance Setup</a>\ <ul>\ <li class="nav-voice-advance-service"><a role="menuitem" href="Voip_SipAdvanced_ServiceProvider.jst">Adv Service Provider</a></li>\ </ul>\ </li>'); echo( '<li class="nav-voice-debug"><a role="menuitem" title="click to toggle sub menu" href="javascript:;">Debug</a>'); echo( '<ul>'); if($voice_debug_global) echo( '<li class="nav-voice-debug-global"><a role="menuitem" href="Voip_Debug_GlobalParameter.jst">Global Parameters</a></li>'); echo( '<li class="nav-voice-debug-service"><a role="menuitem" href="Voip_Debug_ServiceProvider.jst">Service Provider</a></li>'); echo( '</ul>'); echo( '</li>'); echo( '</ul>'); echo( '</li>'); } echo( '</ul>'); echo( '<li class="nav-Demo-DAC">'); echo( '<a role="menuitem" title="click to toggle sub menu" class="top-level" href="dac.jst" id="ddac">DAC Demo</a>'); echo( '<ul>'); echo( '<li class="nav-sdac"><a role="menuitem" href="dac.jst" id="sdac">Sample DAC</a></li>'); echo( '</ul>'); echo( '</li>'); echo( '</div>'); ?> |
3. create dac_demo directory under /usr/www2
4. Place dac_test.sh under /usr/www2/dac_demo
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
root@RaspberryPi-Gateway:/usr/www2/dac_demo# cat dac_test.sh
#!/bin/sh
cd /dac
FILE="/dac/rpi3_reference-dac-image-helloworld-test-raspberrypi-rdk-broadband-20230403072115.rootfs-oci-latest-arm-linux.oci-image/rootfs/my_file.txt"
DOBBY_PID=`DobbyTool list | grep running | wc -l`
if [ "$DOBBY_PID" == 0 ]; then
rm "$FILE"
chmod -R 777 rpi3_reference-dac-image-helloworld-test-raspberrypi-rdk-broadband-20230403072115.rootfs-oci-latest-arm-linux.oci-image
DobbyTool start helloworld-test rpi3_reference-dac-image-helloworld-test-raspberrypi-rdk-broadband-20230403072115.rootfs-oci-latest-arm-linux.oci-image/ > /tmp/dac_output.txt
DobbyTool list >> /tmp/dac_output.txt
fi
cat "$FILE"
root@RaspberryPi-Gateway:/usr/www2/dac_demo#
|
Note : Replace timestamp with your local OCI image.