summaryrefslogtreecommitdiff
diff options
authorKai-Chuan Hsieh <kaichuan.hsieh@canonical.com>2021-07-14 17:07:14 +0800
committerKai-Chuan Hsieh <kaichuan.hsieh@canonical.com>2021-07-14 19:32:56 +0800
commitdb7032cc33cc6ef5e696ebac08847dfa5d524508 (patch)
treecfe23f3cbf75b7990f7a0644551489d120575068
parent46d262b97d47c9d4f5186f950c5c3ab1b79265e7 (diff)
Add: iwlwifi microcode crash check
LP: #1932548
-rwxr-xr-xbin/check-iwlwifi-microcode-sw-error.sh12
-rw-r--r--units/wireless/jobs.pxu12
-rw-r--r--units/wireless/test-plan.pxu4
3 files changed, 28 insertions, 0 deletions
diff --git a/bin/check-iwlwifi-microcode-sw-error.sh b/bin/check-iwlwifi-microcode-sw-error.sh
new file mode 100755
index 0000000..e1b47fc
--- /dev/null
+++ b/bin/check-iwlwifi-microcode-sw-error.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+while read -r line
+do
+ bootidx=$(echo "$line" | cut -d " " -f1)
+ if journalctl -k -b "$bootidx" | grep -q "Microcode SW error detected"; then
+ echo "Boot $line, Microcode SW error detected"
+ exit 1
+ fi
+done < <(journalctl --list-boots)
+
+echo "No Microcode SW error detected"
diff --git a/units/wireless/jobs.pxu b/units/wireless/jobs.pxu
index 4827af1..95ddf31 100644
--- a/units/wireless/jobs.pxu
+++ b/units/wireless/jobs.pxu
@@ -551,3 +551,15 @@ command:
estimated_duration: 2.0
depends: wireless/nm_connection_save_{interface}
flags: preserve-locale also-after-suspend also-after-suspend-manual
+
+unit: template
+template-resource: device
+template-filter: device.driver == 'iwlwifi'
+id: wireless/check_iwlwifi_microcode_crash_{interface}
+_summary: Check there have been no iwlwifi crashes
+plugin: shell
+command: check-iwlwifi-microcode-sw-error.sh
+category_id: com.canonical.plainbox::wireless
+estimated_duration: 30.0
+flags: preserve-locale also-after-suspend
+requires: package.name == 'systemd'
diff --git a/units/wireless/test-plan.pxu b/units/wireless/test-plan.pxu
index b7448cb..51d6c0e 100644
--- a/units/wireless/test-plan.pxu
+++ b/units/wireless/test-plan.pxu
@@ -44,6 +44,7 @@ include:
wireless/wireless_connection_wpa_ax_nm_.* certification-status=blocker
wireless/wireless_connection_open_ax_nm_.* certification-status=blocker
wireless/nm_connection_restore_.*
+ wireless/check_iwlwifi_microcode_crash_.*
id: after-suspend-wireless-cert-automated
unit: test plan
@@ -62,6 +63,7 @@ include:
after-suspend-wireless/wireless_connection_wpa_ax_nm_.* certification-status=blocker
after-suspend-wireless/wireless_connection_open_ax_nm_.* certification-status=blocker
after-suspend-wireless/nm_connection_restore_.*
+ after-suspend-wireless/check_iwlwifi_microcode_crash_.*
id: after-suspend-manual-wireless-cert-automated
unit: test plan
@@ -160,6 +162,7 @@ include:
wireless/wireless_connection_wpa_ac_np_.*
wireless/wireless_connection_wpa_bg_np_.*
wireless/wireless_connection_wpa_n_np_.*
+ wireless/check_iwlwifi_microcode_crash_.*
bootstrap_include:
device
@@ -357,6 +360,7 @@ include:
after-suspend-wireless/wireless_connection_wpa_ac_np_.*
after-suspend-wireless/wireless_connection_wpa_bg_np_.*
after-suspend-wireless/wireless_connection_wpa_n_np_.*
+ after-suspend-wireless/check_iwlwifi_microcode_crash_.*
bootstrap_include:
device