第三部 · 第 20 章

USB 與序列介面故障排解

以去識別資料整理裝置缺失、路徑變動與驅動失敗的排查順序。

已撰寫

本章概覽

先說結論:你只用不含現場值的三類症狀卡,離線判斷證據是「缺少候選項目」「候選路徑類別改變」或「driver 類別線索」。你不會查看裝置清單、抄錄路徑或序號,也不會試 driver、重啟或碰觸 bus。

目的
用三類匿名症狀完成 USB/序列介面的離線決策樹。
準備
一張空白三分支工作表與固定來源;不需要 USB 裝置、日誌或執行環境。
時間
約 20 分鐘。
系統變更
不存取或重啟 USB/序列介面;只整理去識別的離線故障分類。
預期結果
能區分裝置缺失、路徑變動與 driver 失敗證據,不宣稱介面或硬體可用。
停止條件
  • 不得抄錄真實裝置路徑、USB 序號或主機資料。
  • 步驟要求插拔硬體、載入 driver、重啟服務或連接 bus。

範圍與安全界線

本章只整理匿名症狀卡。safe 安全只限離線唯讀固定來源,或完全不存取執行環境的占位分類。任何 live/running 環境的唯讀查看都是 approval-required 需核准,本章不提供查看方式。

  • safe 安全:閱讀鎖定來源,建立「缺少候選項目」「候選路徑類別改變」「driver 類別線索」三種空白卡。
  • isolated-test 隔離測試:另案必須先有明確書面核准、非正式測試環境、管理員在場、有限網路暴露與已驗證停損還原計畫;本章不進入。
  • approval-required 需核准:查看或變更任何執行中環境都屬此類;核准唯讀不等於核准嘗試或修正。
  • never-automate 永不自動化:不得群組讀寫,不得傳送 KNX telegram,不得執行 ETS programming/download,不得連接 KNX 介面或 bus,也不得實體控制。測試 bus 也不例外。

加入 repository、安裝或啟動還必須先有完整隔離閘門、書面核准、核准的 immutable artifact/image digest 與 source-to-build attestation。缺少任何一項就停止。

核心概念

先分籃,再決定誰接手。症狀卡只決定文件去向,不決定現場根因。

三個不透明收件籃

先這樣想:辦公室收到三張沒有姓名與地址的通知:預期包裹沒有成為候選、包裹的存放位置類別與原紀錄不同、承運方式類別出現問題。櫃檯只把通知分籃,不會拆包、追車或說包裹已可使用。

正式名稱:missing candidate、path-change 與 driver-category 的匿名症狀分類。

本章用法:「候選」只是來源所描述、可供設定準備判斷的抽象項目;「路徑改變」只表示類別關係不同;「driver 類別」只表示文件責任範圍。三者都不證明 USB、序列介面或硬體狀態。

Add-on 0.6.1 的初始化來源可說明需要裝置的介面、USB 值轉換與設定準備責任;upstream 0.14.72 文件可說明 driver 家族與文件化診斷概念。兩份來源都不能提供某台主機的候選項目、路徑、序號或結果。

準備與前置條件

先畫決策樹,不要先找裝置。根節點只問「現有的去識別敘述屬於哪種症狀」,三個分支之外一律標為「資訊不足」。

  • 缺少候選項目卡:只寫「預期類別未形成候選」;不寫候選內容、枚舉結果或出現位置。
  • 候選路徑類別改變卡:只寫「參照類別與原紀錄不同」;不寫舊值、新值或裝置關係。
  • driver 類別線索卡:只寫固定文件中的責任類別;不列試用順序、相容型號或載入方法。
  • 未知卡:資訊混合、來源不明或需要現場值時,停止分類並保留未知。

工作表不得包含裝置路徑、USB 序號、主機、端點、位址、帳號、秘密、環境名稱或可關聯現場的時間。若手邊材料含這些內容,不要複製;交回受控隱私流程處理。

分段步驟

每一步都只處理離線文字。你不需要讓系統回答任何問題。

  1. 確認來源邊界。只接受鎖定版本所描述的初始化責任與 driver 文件概念。沒有來源就標成資訊不足。
  2. 移除現場成分。只保留「缺少」「參照類別不同」或「driver 責任類別」等抽象敘述;材料仍可識別環境就停止。
  3. 走第一個分支。若敘述只說預期類別未成為候選,放入缺少候選項目卡;不要補猜硬體、權限或原因。
  4. 走第二個分支。若敘述只說參照類別前後不同,放入候選路徑類別改變卡;不要記任何舊值、新值或列舉方式。
  5. 走第三個分支。若敘述只能對應文件中的 driver 責任或失敗概念,放入 driver 類別線索卡;不要產生試用建議。
  6. 限制結論。每張卡都寫「只支持文件分類;所有現場可用性均未證實」。
  7. 獨立覆核。由另一位讀者確認分支單一、來源固定、沒有識別值,也沒有命令、枚舉、試換、重啟或 bus 動作。

驗證與證據

完成品是一張匿名離線決策樹。它不是診斷結果,也不表示任何裝置曾被查看、偵測或驗證。

  • 根節點只接受固定來源支持的去識別症狀敘述。
  • 三個分支恰為缺少候選項目、候選路徑類別改變與 driver 類別線索。
  • 每張卡都有來源類別、症狀類別、證據上限、未知事項與負責角色。
  • 沒有裝置路徑、USB 序號、主機、端點、位址、環境名稱或可關聯時間。
  • 沒有命令、裝置枚舉、driver 試用、硬體插拔、服務重啟或 bus 動作。
  • USB、序列介面、driver、KNX bus、ETS、整合、群組與實體控制結果都維持未證實。

下一步:前往第 21 章,把離線來源審閱、核准界線與證據註記排成受控維運節奏。

故障排除

  • 敘述同時像缺少與改變:標為資訊不足,不替它選根因。
  • 只有「USB 壞了」:這是結論,不是可分類症狀;退回要求匿名症狀類別。
  • 有人提供真實路徑或序號:停止複製與分享,交回受控隱私流程。
  • 有人要求列出裝置:拒絕。本章沒有 enumeration 或現場查看程序。
  • 有人建議輪流試 driver:拒絕。driver 家族名稱不是試用清單。
  • 有人建議插拔或重啟:拒絕。本章不觸發硬體或服務動作。
  • 有人想用 bus 證明分類:拒絕。本章不得連接、讀寫或傳送任何 bus 資料。

常見問題

進階補充:初始化轉換不是裝置發現證據

固定來源顯示初始化腳本具有處理 USB 值與需要裝置之介面設定的責任。這是 source code responsibility;執行環境是否曾找到候選項目未證實,轉換值、driver 與介面可用性也未證實。

缺少候選項目能證明裝置不存在嗎?

不能。它只是一個匿名症狀類別,不能判定硬體、連接、權限或環境原因。

路徑類別改變時可以記舊值與新值嗎?

不可以。只記抽象的關係改變;不保留任何實際值或可回推裝置的差異。

driver 類別線索能用來選 driver 嗎?

不能。文件責任分類不是相容清單,也不是載入或試換建議。

可以查看執行中的裝置清單再回來填表嗎?

本章不提供這種做法。任何 live/running 唯讀查看都需要另行核准,而且不能因此擴大本章範圍。

決策樹完成代表 USB 問題已解決嗎?

不代表。它只完成文件分類,沒有裝置、driver、介面或 bus 成果。

證據與來源

證據類別:source-bounded

功能對照:addon-init-configuration-lifecycle、upstream-driver-families、documented-driver-diagnostic-states

固定來源只支持文件所述範圍;本頁不代表任何本機、硬體、網路或 KNX 匯流排驗證結果。