====================================================================== DUNE HD STB -- SDK OVERVIEW ====================================================================== STB models ========== The following STB models are currently supported and recommended for operator projects: - STB models based on Android platforms. - Dune HD TV-175L, also known as "Dune HD SmartBox 4K" (sold under this name in retail): - http://dune-hd.com/eng/products/full_hd_media_players/64 - http://shop.dune-hd.com/products/dune-hd-smartbox-4k - Dune HD TV-175a and other TV-175* models (availale on request). - The following STB models are currently discontinued (support is available only via special support contracts): - STB models based on Sigma Designs SMP86xx platforms. - TV-101, TV-102p, TV-301, TV-102, TV-102 v2, Connect, TV-303D, TV-303D v2, Base3D, Base3D v2. - STB models based on Sigma Designs SMP87xx platforms. - TV-203, TV-204, TV-205, TV-206, Solo 4K, Solo Lite, Duo 4K. - The following newest STB model (world's first STB with the support for the latest AV1 video codec, based on the newest Realtek media processor RTD1319, with the support various other the latest standards such as HDMI 2.1, HDR10+, USB 3.1) is recommended for new long-term/large projects which want to be future-proof and use the cutting edge technologies: - Dune HD AV1 4K: - http://dune-hd.com/av1 JS STB SDK ========== Overview: - SDK for creating fullscreen application using HTML, JavaScript, and Dune HD STB JS API. Features: - Dune HD STB JS API provides operations for controlling video/audio playback (start/stop/pause/seek/set video window/etc) and accessing and controlling various STB functions. For more information, see here: http://files.dune-hd.com/partners/sdk/html_apps.txt For Dune HD STB JS API documentation and usage examples, please download the SDK package (js_stb_sdk-*.zip) from the below sections and use the following files: - Documentation: - js_stb_sdk-*/doc/dune_js_stb_api.txt - Usage examples: - js_stb_sdk-*/test/*.html - Or access the latest version of the documentation here: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/doc/dune_js_stb_api.txt - http://files.dune-hd.com/partners/sdk/js_stb_sdk/doc/README.txt Supported Dune HD models: - SMP8670 chipset: - TV-101, TV-102p, TV-301. - SMP8674 chipset: - TV-102, Connect. - TV-102 v2. - SMP8672 chipset: - TV-303D, Base 3D. - TV-303D v2, Base3D v2. - SMP8756 chipset: - TV-203, TV-204. - SMP8758 chipset: - TV-205, TV-206, Solo 4K, Solo Lite, Duo 4K. - Android platforms: - TV-175, TV-175a, TV-175L, other TV-175* models. JS STB SDK -- Android platforms =============================== Firmware: - Use the latest available standard STB firmware version. No special firmare version is needed. Documentation and examples (same as for Sigma platforms): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-150729_0139_r10.zip NOTE: On Android platforms, only subset of JS STB API is available; the supported functions include functions from System, Playback, Audio, Video, Browser, Storage API sections. JS STB SDK -- WebKit-based versions =================================== NOTE: This information is relevant to STBs based on Sigma platforms. - "r11" (recommended for new projects) (for SMP875x platforms): - Documentation and examples (same as in r10): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-150729_0139_r10.zip - Dune HD TV-203, TV-204, TV-205, TV-206, Solo 4K, Solo Lite, Duo 4K (SMP8756, SMP8758): - Use the standard firmware. - "r10" (recommended for new projects) (for SMP867x platforms): - Documentation and examples: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-150729_0139_r10.zip - Firmware based on QtWebkit 4.7: - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_150729_0139_r10_js_stb_webkit.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102v2_150729_0139_r10_js_stb_webkit.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_150729_0139_r10_js_stb_webkit.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d2_150729_0139_r10_js_stb_webkit.dff.zip - Firmware based on QtWebkit 4.8: - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_150729_0139_r10_js_stb_webkit48.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102v2_150729_0139_r10_js_stb_webkit48.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_150729_0139_r10_js_stb_webkit48.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d2_150729_0139_r10_js_stb_webkit48.dff.zip - "b9": - Documentation and examples: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-140401_0133_b9.zip - Firmware: - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_hdtv_101_140401_0133_b9_js_stb_webkit.dff.zip - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_140401_0133_b9_js_stb_webkit.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_140401_0133_b9_js_stb_webkit.dff.zip - "b8": - Documentation and examples: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-140314_0133_b8.zip - Firmware: - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_hdtv_101_140314_0133_b8_js_stb_webkit.dff.zip - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_140314_0133_b8_js_stb_webkit.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_140314_0133_b8_js_stb_webkit.dff.zip - "b6": - Documentation and examples: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-140223_0132_b6.zip - Firmware: - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_hdtv_101_140223_0132_b6_js_stb_webkit.dff.zip - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_140223_0132_b6_js_stb_webkit.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_140223_0132_b6_js_stb_webkit.dff.zip For more information on Local PVR and Local PLTV support, see here: http://files.dune-hd.com/partners/sdk/pvr.txt For more information on PIP support, see here: http://files.dune-hd.com/partners/sdk/pip.txt JS STB SDK -- Opera-based versions ================================== NOTE: This information is relevant to STBs based on Sigma platforms. - "r10" (recommended for new projects) (for SMP867x platforms): - Documentation and examples: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-150729_0139_r10.zip - Firmware based on Opera Devices SDK 3.3: - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_150729_0139_r10_js_stb_opera33.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102v2_150729_0139_r10_js_stb_opera33.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_150729_0139_r10_js_stb_opera33.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d2_150729_0139_r10_js_stb_opera33.dff.zip - Firmware based on Opera Devices SDK 3.5: - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_150729_0139_r10_js_stb_opera35.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102v2_150729_0139_r10_js_stb_opera35.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_150729_0139_r10_js_stb_opera35.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d2_150729_0139_r10_js_stb_opera35.dff.zip - Firmware based on Opera Devices SDK 3.5 with HbbTV support: - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_150729_0139_r10_js_stb_opera35_hbbtv.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102v2_150729_0139_r10_js_stb_opera35_hbbtv.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_150729_0139_r10_js_stb_opera35_hbbtv.dff.zip - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d2_150729_0139_r10_js_stb_opera35_hbbtv.dff.zip - "b9": - Documentation and examples: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-140401_0133_b9.zip - Firmware: - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_140401_0133_b9_js_stb_opera.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_140401_0133_b9_js_stb_opera.dff.zip - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_hdtv_101_140401_0133_b9_js_stb_opera.dff.zip - "b8": - Documentation and examples: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-140314_0133_b8.zip - Firmware: - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_140314_0133_b8_js_stb_opera.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_140314_0133_b8_js_stb_opera.dff.zip - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_hdtv_101_140314_0133_b8_js_stb_opera.dff.zip - "b6": - Documentation and examples: - http://files.dune-hd.com/partners/sdk/js_stb_sdk/js_stb_sdk-140223_0132_b6.zip - Firmware: - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_hdtv_101_140223_0132_b6_js_stb_opera.dff.zip - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv102_140223_0132_b6_js_stb_opera.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - http://files.dune-hd.com/partners/sdk/js_stb_sdk/dune_firmware_tv303d_140223_0132_b6_js_stb_opera.dff.zip Native GUI STB SDK ================== NOTE: This information is relevant to STBs based on Sigma platforms. Overview: - SDK for creating fullscreen applications using C/C++, DirectFB API (and optionally Qt API for WebKit-based versions), and Dune HD STB C API. Features: - DirectFB is hardware accelerated. - Dune HD STB C API provides the same possibilities as Dune HD STB JS API (see above). - NOTE: Applications created using this approach can only be used with the "Native GUI SDK" firmare versions, and are not supported for standard firmware versions. Supported Dune HD models: - The same as for JS STB SDK, except SMP875x and Android based platforms. Versions: - "r10" (recommended for new projects): - Firmware for DirectFB applications w/o QtWebkit: - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv102.150729_0139_r10.dfb.tgz - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv102v2.150729_0139_r10.dfb.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv102_150729_0139_r10_native_stb_dfb.dff.zip - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv102v2_150729_0139_r10_native_stb_dfb.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv303d.150729_0139_r10.dfb.tgz - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv303d2.150729_0139_r10.dfb.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv303d_150729_0139_r10_native_stb_dfb.dff.zip - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv303d2_150729_0139_r10_native_stb_dfb.dff.zip - Firmware for DirectFB + QtWebkit applications (includes QtWebkit 4.7): - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv102.150729_0139_r10.webkit.tgz - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv102v2.150729_0139_r10.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv102_150729_0139_r10_native_stb_webkit.dff.zip - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv102v2_150729_0139_r10_native_stb_webkit.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv303d.150729_0139_r10.webkit.tgz - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv303d2.150729_0139_r10.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv303d_150729_0139_r10_native_stb_webkit.dff.zip - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv303d2_150729_0139_r10_native_stb_webkit.dff.zip - "b9": - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv102.140401_0133_b9.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv102_140401_0133_b9_native_stb_webkit.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv303d.140401_0133_b9.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv303d_140401_0133_b9_native_stb_webkit.dff.zip - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.hdtv_101.140401_0133_b9.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_hdtv_101_140401_0133_b9_native_stb_webkit.dff.zip - "b8": - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv102.140314_0133_b8.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv102_140314_0133_b8_native_stb_webkit.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv303d.140314_0133_b8.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv303d_140314_0133_b8_native_stb_webkit.dff.zip - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.hdtv_101.140314_0133_b8.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_hdtv_101_140314_0133_b8_native_stb_webkit.dff.zip - "b6": - Dune HD TV-102, TV-202, Dune HD Connect (SMP8674): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv102.140223_0132_b6.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv102_140223_0132_b6_native_stb_webkit.dff.zip - Dune HD TV-303D, Dune HD Base 3D (SMP8672): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.tv303d.140223_0132_b6.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_tv303d_140223_0132_b6_native_stb_webkit.dff.zip - Dune HD TV-101, TV-102p, TV-201, TV-301 (SMP8670): - SDK, documentation and examples: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_native_gui_sdk.hdtv_101.140223_0132_b6.webkit.tgz - Firmware: - http://files.dune-hd.com/partners/sdk/native_gui_sdk/dune_firmware_hdtv_101_140223_0132_b6_native_stb_webkit.dff.zip For more information on Local PVR and Local PLTV support, see here: http://files.dune-hd.com/partners/sdk/pvr.txt For more information on PIP support, see here: http://files.dune-hd.com/partners/sdk/pip.txt Plugins mechanism ================= The mechanism of plugins provides the following possibilities: - Integration of applications into the standard Dune HD GUI. - Implementation of GUI applications in PHP language using GUI framework and PHP API provided by Dune HD STB (especially helpful for quick integration of simple IPTV/VOD services, which do not require a lot of custom GUI). For more information, see here: http://files.dune-hd.com/partners/sdk/plugins.txt Supported Dune HD models: - All current Dune HD models and most discontinued models (starting with SMP8642 chipset). Firmware: - The latest standard public firmware version is recommended for new developments. - The oldest supported firmware version is 111122_0159_beta. Documentation: - http://files.dune-hd.com/partners/sdk/plugins.txt Linux Kernel SDK ================ Overview: - SDK for compiling custom Linux kernel modules. - Typical usage: compiling DRM modules or drivers for specific USB devices. Supported Dune HD models: - All current models and several discontinued models. Firmware: - Any latest public firmware. - NOTE: Firmware from JS STB SDK and Native GUI SDK are supported too. SDK: - Available on request. Simple IPTV channels zapper =========================== If you need to configure STB to just switch through a set of IPTV channels, please see here: http://files.dune-hd.com/partners/sdk/dune_simple_iptv.txt Ekioh SVG browser and Beesmart ============================== For the information about Ekioh SVG browser and Beesmart middleware usage, see here: http://files.dune-hd.com/partners/sdk/ekioh/dune_beesmart_howto.txt Supported media streaming protocols and formats =============================================== The following media streaming protocols are supported: - Multicast UDP/TS (raw-UDP or RTP-over-UDP). - HTTP/TS. - HLS. - DASH (only STBs based on SMP87xx and Android platforms.) - HTTP/MP4. - HTTP with other container formats (WMV, AVI, MKV, MP3, etc). - RTSP/TS (RTSP+RTP or RTSP-over-TCP). (Limited support.) - MMS (MMS-over-TCP or MMS-over-HTTP). - SMB (any files). - NFS (any files). For more information, see here: http://files.dune-hd.com/partners/sdk/media_url.txt For the information on how to test media playback, see here: http://files.dune-hd.com/partners/sdk/dune_media_playback_howto.txt NOTE: For certain media streaming protocols (HTTP/TS and HTTP/MP4), a special way of launching media playback should be typically used to ensure good performance: HTTP URLs pointing to the media content should be formed using a special syntax ("http://ts://" and "http://mp4://" instead of just "http://", see "media_url" documentation for the details). NOTE: To get good channel zapping time, special care should be typically taken, especially, when the playback is controlled by a 3-party UI application. There are two typical recommendations: 1) ensure appropriate "media_url" syntax and parameters; 2) ensure that the UI application does not perform "stop playback" command when switching TV channels, and only perform "start playback" command. If you encounter any problems with playback performance or channel zapping performance, please send a consultation request to your Dune HD contacts, you can get useful hints how to solve the problem. Supported DRMs ============== Supported: - Verimatrix IPTV client (only STBs based on SMP86xx and SMP87xx platforms). Supported with: - Multicast UDP/TS. - HTTP/TS. - RTSP/TS. - Verimatrix Web client. Supported with: - HLS. - AES (generic). Supported with: - HLS. - Widevine (only STBs based on Android platforms). Supported with: - DASH. For more information about Verimatrix support, see here: - http://files.dune-hd.com/partners/sdk/dune_verimatrix_info.txt Basic Dune HD information ========================= All models of Dune HD media players / set-top-boxes and their features: - http://dune-hd.com/products/set_top_boxes - http://dune-hd.com/products/full_hd_media_players Accessories: - http://dune-hd.com/accessories/ Additional potentially helpful information: - http://dune-hd.com/firmware/ Firmware update instructions ============================ Installing public firmware update using online firmware update mechanism: - The STB periodically automatically detects and proposes to update the firmware (typically this happens on STB boot or when exiting from playback mode to the main menu mode). - To manually check for available firmware versions (this also allows to check for beta-status firmware updates), use: - Setup / Misc / Firmware Upgrade Manually installing firmware from a .DFF file via USB: - Get the .DFF file with the needed firmware image. - Put the .DFF file to a USB flash file. - Attach USB flash drive to the STB. - Go to "Sources" menu in the STB native menu, choose the USB flash drive, choose the .DFF file, and "launch" it by pressing ENTER RC button. Firmware upgrade error codes: - See http://files.dune-hd.com/partners/sdk/firmware_upgrade_error_codes.txt Emergency firmware recovery (when STB does not boot): - See "Emergency firmware recovery" section below. Automated firmware installation via USB: - See "Automated firmware installation via USB" section below. Triggering firmware update via STB API: - See STB API documentation. Important notes on upgrading TV-102, TV-303D, Base 3D from old "_b3" firmware versions: - See "Upgrading TV-102 / TV-303D / Base 3D from old b3 firmware versions" section below. Retail firmware versions ======================== If you want to restore the STB from an SDK firmware version back to a regular retail firmware version, you can typically do it via online firmware update mechanism (see "Firmware update instructions" section). If online firmware update mechanism can not be used for some reason and firmware installation via USB is needed, you can obtain the firmware file on the following web page (please use the latest stable or the latest beta version, depending on your needs): http://dune-hd.com/firmware/ If native Dune UI can not be reached, see "Emergency firmware recovery" section. Upgrading TV-102 / TV-303D / Base 3D from old b3 firmware versions ================================================================== If your TV-102 / TV-303D / Base 3D box as a firmware version ending with "_b3", you can not directly upgrade it to any newer firmware version, because firmware file format for these models was changed starting with "_b4" firmware versions. You should first upgrade to intermediate "_b4" firmware version, and after that you will be able to upgrade to any newer firmware version ("_b5" and later). To upgrade from "_b3" firmware version to "_b4" firmware version, you can do it via online firmware update mechanism, or you can download the "_b4" firmware image and upgrade via USB flash drive. See "Firmware update instructions" section for more details. Links to download "_b4" firmware versions: - Dune HD TV-102: - http://files.dune-hd.com/firmware/tv102/dune_firmware_tv102_130221_1050_b4.dff.zip - Dune HD TV-303D: - http://files.dune-hd.com/firmware/tv303d/dune_firmware_tv303d_130221_1050_b4.dff.zip - Dune HD Base 3D: - http://files.dune-hd.com/firmware/base3d/dune_firmware_base3d_130221_1050_b4.dff.zip Emergency firmware recovery =========================== The following emergency firmware recovery procedure can be used to (re)install firmware when the STB does not boot, or when STB native menu can not be reached, or when non-GUI way for firmware installing is needed for some other reason: - Get the .DFF file with the needed firmware image. - Put the .DFF file to the root of a USB flash drive. - Rename the .DFF file to "dune_firmware.dff". - Attach USB flash drive to the STB. - Power on the STB. - The STB will detect "dune_firmware.dff" file on the USB flash drive and will automatically start reflashing itself to this file. During reflashing process, the LED on the front panel of the STB will blink, it should take about 1 minute. - After the LED blinking stops, disconnect the USB flash drive from the STB, and do power-off/power-on of the STB. - If the procedure fails, the "dune_firmware_recovery.log" file is created in the root directory of the USB flash drive. For information about error codes, see here: http://files.dune-hd.com/partners/sdk/emergency_firmware_recovery_error_codes.txt NOTE: emergency firmware recovery does not reset STB settings, it only installs the firmware. If settings reset is also needed, see "Emergency settings reset" section below. Emergency settings reset ======================== The following emergency settings reset procedure can be used to reset all STB settings to default values when the STB does not boot, or when STB native menu can not be reached, or when non-GUI way for settings reset is needed for some other reason: - Create an empty "dune_boot_reset_settings.flag" file in the root of a USB flash drive. - Attach USB flash drive to the STB. - Power on the STB. - The STB will detect "dune_boot_reset_settings.flag" file on the USB flash drive and will automatically perform settings reset. - After that, the STB will continue normal boot automatically. - After the STB is booted ok, disconnect the USB flash drive from the STB. Automated firmware installation via USB ======================================= NOTE: this functionality is currently available only on Dune HD models based on SMP8674 and SMP8672 chipsets. The following procedure can be used to install firmware: - Download the following dune_firmware_upgrader archive: http://files.dune-hd.com/partners/sdk/misc/dune_firmware_upgrader_8672_8674.zip - Unzip the dune_firmware_upgrader archive to the root of a USB flash drive. - Get the .DFF file with the needed firmware image. - Put the .DFF file to the root of the same USB flash drive. - Rename the .DFF file to "dune_firmware_upgrader.dff". - As a result, root directory of the USB flash drive should contain the following 3 files: - dune_firmware_upgrader.dff - dune_firmware_upgrader.sh - dune_firmware_upgrader.sign - Attach the USB flash drive to the STB. - Power on the STB. - The STB will detect dune_firmware_upgrader files on the USB flash drive and will automatically start firmware installation. During firmware installation, the LED on the front panel of the STB will blink, it should take about 1 minute. - After the LED blinking stops, disconnect the USB flash drive from the STB, and do power-off/power-on of the STB. - If the procedure fails, the "dune_firmware_upgrader.log" file is created in the root directory of the USB flash drive. NOTE: this procedure can be used regardless of the firmware version installed on the STB. Using TV-101 firmware on TV-201, TV-301, TV-102p models ======================================================= Dune HD TV-101, TV-201, TV-301, TV-102p models have compatible hardware, and, for testing purposes, the firmware for TV-101 can be installed on these models using the following "cross-upgrade" procedure: - Get the .DFF file with the needed TV-101 firmware image and put it to a USB flash drive (NOTE: do not rename the .DFF file to "dune_firmware.dff"). - Additionally, download the following .DSF service file and put it to the USB flash drive: - http://files.dune-hd.com/tmp/dune_service_allow_cross_upgrade_tv.dsf - Boot the STB and launch the native Dune's UI. - Attach USB flash drive to the STB, go to "Sources" menu in the STB native menu, choose the USB flash drive. - Choose the .DSF file and "launch" it by pressing ENTER RC button. - Immediately after that (w/o doing full reboot of the STB), choose the .DFF file and launch it by pressing ENTER RC button. Restoring back the original TV-201/TV-301/TV-102p firmware can be done in the same way, with the following additional step: - If the firmware upgrade shows an error in the end (may take place when reinstalling TV-201 or TV-102p firmware over TV-101 firmware), please reinstall the TV-201 or TV-102p firmware once again using "Emergency firmware recovery" procedure. For production use, TV-201/TV-301/TV-102p should be used with the firmware specially built for these models. NOTE: The "emergency firmware recovery" procedure can not be used to cross-upgrade the firmware between different Dune HD models. Exchanging firmware between TV-102 and Connect models ===================================================== Similarly to installing Dune HD TV-101 firmware on other models with compatible hardware, it is possible to use the same firmware for any of the following models (all based on SMP8674 chipset and the same hardware): - Dune HD TV-102 (Setup / Information / Product ID: tv102) - Dune HD Connect (Setup / Information Product ID: connect) NOTE: do not mix TV-102 based on SMP8674 (product ID: tv102) and TV-102p based on SMP8670 (product ID: hdtv_102p). NOTE: do not mix Connect based on SMP8674 (product ID: connect) and Connect 3D based on SMP8672 (product ID: connect3d). Procedure for cross-upgrading firmware between these models: - Get the .DFF file with the needed TV-102 or Connect firmware image and put it to a USB flash drive. (NOTE: do not rename the .DFF file to "dune_firmware.dff") - Additionally, download the following .DSF service file and put it to the USB flash drive: - http://files.dune-hd.com/service/dune_service_allow_cross_upgrade_tv102_connect.dsf - Boot the STB and launch the native Dune's UI. - Attach USB flash drive to the STB, go to "Sources" menu in the STB native menu, choose the USB flash drive. - Choose the .DSF file and "launch" it by pressing ENTER RC button. - Immediately after that (w/o doing full reboot of the STB), choose the .DFF file and launch it by pressing ENTER RC button. NOTE: The "emergency firmware recovery" procedure can not be used to cross-upgrade the firmware from different Dune HD models. Differences between TV-102 (tv102) and TV-102p (hdtv_102p) models ================================================================= Dune HD TV-102p model (internal identifier hdtv_102p) is an early version of Dune HD TV-102 model (internal identifier tv102). It is discontinued and was completely replaced by Dune HD TV-102 model. Dune HD TV-102p and Dune HD TV-102 models, although are both positioned as revisions of the same "Dune HD TV-102" model, are based on different chips (SMP8670 in TV-102p and SMP8674 in TV-102) and have completely incompatible firmwares. To check if you have TV-102p (hdtv_102p), go to "Setup / Information" menu and check "Product ID", it should report "hdtv_102p" for TV-102p, and "tv102" for "TV-102. Differences between TV-102 (tv102) and TV-102-N (tv102v2) models ================================================================ Dune HD TV-102-N model (aka TV-102 v2, internal identifier "tv102v2") is a new revision of the older Dune HD TV-102 model (internal identifier "tv102"), which has the same hardware, but which uses a newer revision of SMP8674 chip. NOTE: Depending on the exact project / distribution approach, the model TV-102-N may have or not have "N" part in the model name. To check if you have TV-102-N (tv102v2), go to "Setup / Information" menu and check "Product ID", it should report "tv102v2" for TV-102-N, and "tv102" for "TV-102. The firmware files for TV-102 and TV-102-N (tv102v2), are not compatible and can not be interchanged, because different firmware signing keys are used. The reason is that this new revision of SMP8674 chip uses the new keys for signing/verification of firmware components during STB boot. To migrate a custom firmware from TV-102 to TV-102-N (tv102v2) it is enough to repack the custom firmware using base firmware for TV-102-N (tv102v2). Any custom software which is part of custom firmware for TV-102 does not require any changes when migrating to TV-102-N (tv102v2) and will work absolutely the same way on both TV-102 and TV-102-N (tv102v2). Differences between TV-303D (tv303d) and TV-303D v2 (tv303d2) models ==================================================================== The idea is the same as the difference between TV-102 and TV-102 v2. Differences between Base 3D (base3d) and Base 3D v2 (base3d2) models ==================================================================== The idea is the same as the difference between TV-102 and TV-102 v2. Getting into native Dune UI from the middleware =============================================== If an HTML or SVG middleware is configured to automatically run on the STB, and the middleware does not provide its own way (e.g. special menu item) of entering native Dune UI, the following procedure can be used to temporarily enter native Dune UI: - Go to standby mode by pressing "POWER" RC button. - Press "D" RC button. Native Dune UI should launch. Basic development information ============================= The following document provides various information needed for development: - Telnet access to the box. - Toolchain for compiling C/C++ code. - Overview of STB internal filesystem structure. - Overview of STB boot process. - Some hints useful for development. http://files.dune-hd.com/partners/sdk/dune_devel_info.txt DHCP options supported by Dune HD units ======================================= See here: - http://files.dune-hd.com/partners/sdk/dune_dhcp_settings.txt Creating custom firmware builds =============================== See here: - http://files.dune-hd.com/partners/sdk/dune_custom_firmware.txt Working with built-in DVB-T/T2/S/S2/C tuners ============================================ See here: - http://files.dune-hd.com/partners/sdk/dvb.txt