bcm53xx: extend firmware validation
authorRafał Miłecki <rafal@milecki.pl>
Fri, 6 Sep 2019 10:44:49 +0000 (12:44 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Fri, 6 Sep 2019 10:52:59 +0000 (12:52 +0200)
This provides TRX validation result to the validation JSON. It also
prevents users from installing broken firmware files.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
target/linux/bcm53xx/base-files/lib/upgrade/platform.sh

index 1d829c65194e5fb40fe29ca59e6ba43fc22f5325..a3378898336bd879c77b3f104c1e64e4cbe5e44a 100644 (file)
@@ -88,7 +88,10 @@ platform_check_image() {
 
                        if ! otrx check "$1" -o "$header_len"; then
                                echo "No valid TRX firmware in the CHK image"
+                               notify_firmware_test_result "trx_valid" 0
                                error=1
+                       else
+                               notify_firmware_test_result "trx_valid" 1
                        fi
                ;;
                "cybertan")
@@ -103,7 +106,10 @@ platform_check_image() {
 
                        if ! otrx check "$1" -o 32; then
                                echo "No valid TRX firmware in the CyberTAN image"
+                               notify_firmware_test_result "trx_valid" 0
                                error=1
+                       else
+                               notify_firmware_test_result "trx_valid" 1
                        fi
                ;;
                "safeloader")
@@ -133,11 +139,15 @@ platform_check_image() {
 
                        if ! otrx check "$1"; then
                                echo "Invalid (corrupted?) TRX firmware"
+                               notify_firmware_test_result "trx_valid" 0
                                error=1
+                       else
+                               notify_firmware_test_result "trx_valid" 1
                        fi
                ;;
                *)
-                       echo "Invalid image type. Please use only .trx files"
+                       echo "Invalid image type. Please use firmware specific for this device."
+                       notify_firmware_broken
                        error=1
                ;;
        esac