Firmware release notes 4.6.x
Release 4.6.4 build 2
- HMP400, HMP400W, third-party players: 4.6.4-2.0.0-5b7b83ec
Fixes
- The default content contained a time-limited license expiring on 2021-07-31; the player would thus display a black screen when booted in factory defaults after this date.
Release 4.6.4
Fixes
- A problem with garbage collection of JavaScript objects could sometimes crash the player, this was more likely to occur with content that uses JavaScript heavily and the QR code generator.
- MPEG-2, MPEG-4 ASP and VC1 videos at 60 fps could freeze while playing.
Applies to HMP400 and HMP400W.
- Revocation of a Feature Set resulted in the revoked license being reinstalled from the copy in the persistent data store, this created no functional issue as the license is anyhow invalid and thus ignored but was confusing.
Applies to HMP400, HMP400W, and third-party players.
- Some content combinations (video plus an animated widget on a solid background plus a fade transition on the entire layout) caused rendering errors.
Release 4.6.3
Improvements
- In Control Center > Advanced Applications, the "Webstorage API" and "RPC Security" sections have been merged into a single section named "APIs Security" to better convey their current use. Also, the "Enable RPC request using AJAX (CORS)" option has been renamed to "Enable CORS requests".
Applies to HMP400 and HMP400W.
- Feature Sets now persist across a reset to factory default settings or firmware installation from the Recovery Console. Also, they can now be bound to the TPM and can be revoked before their expiration date.
Fixes
- The firmware updater would not retry downloading update packages when the source server indicates a temporary failure (e.g., an HTTP 503 service unavailable status), erroring out the firmware update request, it now retries several times after a delay.
- The firmware updater incorrectly included the device serial number in the user agent header of its HTTP requests, it now uses the same dedicated header as other firmware components.
- In some cases an HTTP request that received a redirect response could fail to follow the redirect
- Synthetized italic / oblique text was not slanted, regression introduced 4.5.0.
Applies to HMP400, HMP400W, and third-party players.
- The player snapshot could sometime fail to be shown in Control Center.
- Changes to the "Use external USB drive to store content" setting did not trigger a player restart, although it is required for the change to take effect.
- The CEC engine could send an "on" command instead of "off" after the first two attempts for "off" failed.
Applies to HMP350, HMP300, and DiVA.
- The Certificate Signing Request (CSR) sent by the player to enroll to the SpinetiX cloud had an incorrect DER encoding for the version number, which beginning December 2020 is no longer accepted by the cloud infrastructure (an "Invalid CSR format" error is returned); as a result new HMP350, HMP300 and DiVA players could not be registered in ARYA. The correct encoding is now used and new players of these models can be registered in ARYA again.
Security
- The embedded web server did not protect against abuse of the Proxy header in requests (i.e., httpoxy vulnerabilities), although no vector of exploit is known.
Developer
- The jSignage
applyFormatDateNumberfunction would crash if called withnull.
Release 4.6.2
Improvements
Applies to HMP400 and HMP400W.
- Added support for analog audio output (using the SpinetiX USB-C analog audio cable SX-HW-UCAUD). This appears as "Built-in Audio Analog Output" in Control Center.
Applies to HMP400, HMP400W, and third-party players.
- Known audio output options (e.g., audio over HDMI) are listed in Control Center even if the output is not currently available, to ease the player configuration.
- The installation of the firmware from the Recovery Console can now automatically recover from corruption in the environment blocks used to store boot parameters.
Fixes
- Players could enter a reboot loop in some rare cases with very unstable networks due to timeouts on the ntp daemon handling logic.
- In some rare cases the QR code generation in jSignage could fail with an exception.
Applies to HMP400 and HMP400W.
- HDMI 2.0 displays could show no image if the HMP was rebooted while the display had no power.
- Communication errors with eMMC could generate I/O errors on the internal storage marking some filesystems as corrupted and cause unexpected reboots; the problem has been fixed and devices with filesystems marked as corrupted are automatically repaired after a firmware update.
- Removed the bogus error message about missing /usr/share/raperca/recipes.json.
- Removed the focus frame rendered around HTML layers.
- Use of images in HTML could result in inconsistent image caching.
Applies to HMP400, HMP400W, and third-party players.
- Power failures could leave uninitialized or old data in some files in the internal storage due to mishandling of the eMMC write cache.
- When installing the firmware from the Recovery Console, the installation did not clear existing boot settings (although none are set by any previous firmware version).
Release 4.6.1
Improvements
- Display power saving can now be configured independently per day of the week.
- Animated playlist widgets are now compatible with multiscreen projects.
- The HTML engine has been updated to Chromium 84.3.10.
Applies to HMP400 and HMP400W.
- Added support for audio output from HTML layers.
Applies to third-party players.
- Added support for Intel NUC Austin Beach with NUC 8 Element (Chandler Bay).
Fixes
- Players could fail to be enrolled in the SpinetiX cloud in some regions of the world due to an incompatibility with TLS 1.3 in the enrollment process. The incompatibility has been fixed in the firmware and the enrollment endpoints in the cloud have been limited to TLS 1.2 until incompatible firmware versions are phased out.
- The firmware updater failed to pull new packages into install set when the dependency was a file path, which prevented new firmware updates from being applied.
- The player would crash when the audio output is enabled, along with "Enable display power management" and "Disable audio when screen is turned off" options.
- Some types of streaming would log errors when audio was on mute.
- The Pull Mode agent (uploader) could crash with servers that incorrectly returned a 206 HTTP status code for non-range requests.
- Control Center would show an incorrect serial number in the certificate list due to a wrong decoding procedure, the correct serial number was shown in the certificate details.
- Some name length validations done by Control Center were ineffective.
- The player.log could incorrectly report usage peaks of 100%.
- Calendar widgets may not show data from Google Calendar.
- Column stacked graphs could fail to render correctly due to an incorrect automatic min / max calculation.
- Parsing of udp and rtp pseudo-urls for unicast streams was broken.
- The meaning of spx:audioDelay and spx:buffering attributes were inverted, setting one was actually setting the other. Regression introduced in 4.5.0 release.
Applies to HMP400, HMP400W, and third-party players.
- Rendering latency changes due to interactivity could cause distorted audio.
- The periodical logging of CPU package temperature was not enabled.
- A crash could occur with some types of content due to a shader compilation failure.
Applies to HMP400 and HMP400W.
- Secure Shared Variable Network API was not working.
- The Web Storage REST API was not returning the value of variables.
- User added trusted certificates were not taken into account in Web page layers as the HTML engine did not use the same list of trusted root certificates.
- The option to ignore certificate validation errors did not apply to HTML content.
- Rendering of web content could freeze after several days.
- Some types of HTML content caused an important memory leak.
- Scan and maintenance operations on the internal storage (eMMC) was not enabled.
Applies to HMP400W and third-party players.
- During Wi-Fi setup, the configuration QR code and AP information would be shown twice when the power/blue button was pressed.
Developer
The following JavaScript libraries have been updated:
- jSignage updated to version 1.6.0
- jSignage Graph plugin updated to version 1.0.4
- jSignage Custom Effects plugin updated to version 1.1.0
Added PURGE method to Web Storage REST API.
Added new parameters on the display-power-schedule tag of the Configuration API for the days of the week.
Release 4.6.0
New
Applies to HMP400 and HMP400W.
- Support for HDMI CEC.
- This can be used on the HDMI output or on the DisplayPort Alt-mode output with a DP to HDMI adapter cable supporting the DP 1.3 "CEC tunneling over AUX" protocol.
- HMP Control Center will show a warning message when the selected video output does not support CEC
- The display power management can be enabled from Control Center > Display & Audio page.
- Note that some players from the first production batches, could lack the hardware support for CEC - this information can be found in Control Center.
- Support for rendering PDF files.
Applies to HMP400W and third-party players.
- Wi-Fi connections can now be easily configured from a smartphone, tablet or computer without any other network connection, nor USB stick, by connecting directly to the player over the air. See Wi-Fi setup page for more details.
Improvements
Applies to HMP400 and HMP400W.
- HTML rendering engine:
- Performance got improved by adding texture sharing.
- Added support for using the proxy configuration.
- Updated to Chromium 79.
- The Feature Set status (license type, missing license, or expired license) is shown on Control Center home page and on the OSD that appears when the blue button is pressed.
- The configuration backup file now includes an indication of the Feature Set active at the time the backup file is generated. This allows displaying a clean error to the user if he tries to restore a configuration backup containing features not supported by the Feature Set currently activated on the player.
Applies to HMP400, HMP400W, and third-party players.
- The audio connectors' names shown in Control Center are hardware-dependent.
- The embedded web server now supports TLS 1.3.
- The IP addresses and other information are shown only for the active interface on the OSD that appears when the blue button is pressed.
- The welcome splash screen shows a specific error message when the device is not enrolled in SpinetiX cloud services, aiding in diagnosis.
- Support for new image codecs (webp, dng).
- Support for hardware motion-adaptive deinterlacing with past and/or future references.
- Updated timezone database from version 2018i to 2019a; it affects Palestine and Metlakatla.
Fixed
- Daily power saving schedule feature.
- Players would stop communicating with ARYA until next reboot when reconfigured.
- Interlaced videos could show green frames.
- URLs with empty components in path (i.e., doubled slash) were not interpreted correctly.
- Minor changes within the player report.
Applies to HMP400, HMP400W, and third-party players.
- The dropdown listing the time zones in Control Center is empty. This is a regression introduced in 4.5.3 release.
Applies to third-party players.
- Incorrect serial number shown on the OSD that appears when the power button is pressed.
Security
Applies to HMP400, HMP400W, and third-party players.
Updated Linux kernel from 4.19.80 to 4.19.127 to fix security issues.
- These could potentially affect the firmware: CVE-2019-17133, CVE-2019-19532, CVE-2019-18282, CVE-2019-0155, CVE-2019-0154, CVE-2019-19922, CVE-2019-11135, CVE-2019-19767, CVE-2019-19252, CVE-2019-19447, CVE-2019-20812, CVE-2020-0305, CVE-2019-20636, CVE-2019-14615, CVE-2019-19059, CVE-2019-19058, CVE-2019-5108, CVE-2020-8428, CVE-2019-16234, CVE-2020-8647, CVE-2020-8649, CVE-2020-8648, CVE-2020-11565, CVE-2020-12826, CVE-2019-19768, CVE-2020-12464, CVE-2020-10732, CVE-2019-19462
- These do not affect the firmware: CVE-2019-19075, CVE-2019-17075, CVE-2019-19060, CVE-2019-19065, CVE-2019-17666, CVE-2019-15098, CVE-2019-19048, CVE-2020-10773, CVE-2019-19526, CVE-2019-16233, CVE-2019-19049, CVE-2019-19045, CVE-2019-19052, CVE-2019-18813, CVE-2019-19529, CVE-2018-12207, CVE-2019-16231, CVE-2019-19534, CVE-2019-19524, CVE-2019-18660, CVE-2019-15291, CVE-2019-18683, CVE-2019-12614, CVE-2019-19062, CVE-2019-19227, CVE-2019-19071, CVE-2019-19079, CVE-2019-19332, CVE-2019-18786, CVE-2019-19057, CVE-2019-19063, CVE-2019-19947, CVE-2019-16230, CVE-2019-16232, CVE-2019-16229, CVE-2020-10690, CVE-2019-18809, CVE-2019-19965, CVE-2019-14901, CVE-2019-14895, CVE-2019-19066, CVE-2019-19068, CVE-2019-19056, CVE-2019-9445, CVE-2019-20096, CVE-2019-15217, CVE-2019-19077, CVE-2020-12652, CVE-2019-19046, CVE-2019-20806, CVE-2019-14896, CVE-2019-14897, CVE-2020-14416, CVE-2020-12769, CVE-2019-3016, CVE-2020-12653, CVE-2020-12654, CVE-2020-9383, CVE-2020-2732, CVE-2020-0009, CVE-2020-10942, CVE-2020-12465, CVE-2020-11608, CVE-2020-11609, CVE-2020-11668, CVE-2020-11494, CVE-2020-12657, CVE-2020-11669, CVE-2020-12659, CVE-2020-1749, CVE-2020-0067, CVE-2020-11884, CVE-2020-10751, CVE-2020-13143, CVE-2020-10711, CVE-2020-12770, CVE-2020-12768, CVE-2019-18814, CVE-2020-10757
More security fixes:
- openssl: CVE-2019-1543
- bluez5: CVE-2018-10910
- libsndfile1: changed fix for CVE-2017-14245 and CVE-2017-14246, fixed CVE-2017-12562, CVE-2018-19758, CVE-2019-3832
- glibc: CVE-2019-9169, CVE-2016-10739, CVE-2018-19591, CVE-2019-6488, CVE-2019-7309; fix for incomplete CVE-2016-10739
- elfutils: CVE-2019-7146, CVE-2019-7149, CVE-2019-7150, CVE-2019-7664, CVE-2019-7665
- busybox: CVE-2018-20679, CVE-2019-5747
- sqlite3: CVE-2018-20505, CVE-2018-20506, CVE-2019-8457
- cairo: CVE-2018-19876, CVE-2019-6461, CVE-2019-6462
- tar: CVE-2019-0023, CVE-2018-20482
- glib2: CVE-2019-12450, CVE-2019-9633, CVE-2019-13012
- curl: CVE-2019-5435, CVE-2019-5436, CVE-2018-16890, CVE-2019-3822, CVE-2019-3823, CVE-2019-5482
- bzip2: CVE-2019-12900
- expat: CVE-2018-20843
- dbus: CVE-2019-12749
- gcc: CVE-2019-14250
- bind libraries: updated from 9.11.4 to 9.11.5-P4, CVE-2018-5738, CVE-2018-5744, CVE-2018-5745, CVE-2019-6465
- pango: CVE-2019-1010238
- gnutls: CVE-2019-3829 and CVE-2019-3836
- libgcrypt: CVE-2019-12904
- apache httpd: update from 2.4.34 to 2.4.41, fixes CVE-2018-17189, CVE-2018-17199, CVE-2019-0190, CVE-2019-0220, CVE-2019-0196, CVE-2019-0197, CVE-2019-0215, CVE-2019-0217, CVE-2019-0211, CVE-2019-10081, CVE-2019-9517, CVE-2019-10098, CVE-2019-10092, CVE-2019-10097, CVE-2019-10082
Applies to HMP350, HMP300, and DiVA.
- The fix for CVE-2020-15809 in 4.5.3 was incomplete, URI validation in the rssProxy.php missed a few possible cases.
Developer
Applies to HMP400, HMP400W, and third-party players.
- RPC API - new commands for Wi-Fi:
wifi_scan,wifi_connect,wifi_disconnect, andwifi_get_info. - JavaScript - extended the
deviceInfoglobal object with two new methods, mostly relevant for Wi-Fi:.getMainNetworkInterface()and.getActiveNetworkInterface().
Unresolved
- Calendar widgets do not show data from Google.
- HMP400 serial number doesn't work as Multiscreen ID
- When associating players to screens from Elementi, the player' serial number is used as Multiscreen ID - this doesn't work for HMP400/HMP400W, so you need to manually configure the multiscreen ID (for instance screen-1-1) on the player.