疑難排解

本文包含人們常見的疑難排解問題。

提示

若要尋找特定內容,請使用 Ctrl + F 來尋找單字或片語。

識別 SKU

GetProductInfo API 會識別 IoT 核心 SKU/版本資訊。 版本/產品識別碼將會製作到映射中。

PRODUCT_IOTUAP: 0x0000007B = Windows 10 IoT 核心版

您可以 在這裡找到版本識別碼的詳細資訊。

在Windows 10 IoT 核心版上對應硬體 vkey

切換至以 HID 鍵盤的形式報告,並傳送 VK,而不是取用者控制項。

將記憶體配置降至最低

如果您想要將 OS 控制的記憶體和顯示器的處理降到最低,請確定 OS 已清除且未附加任何顯示器。 請確定未附加任何輸出並將任何輸出設定為外部 DisplayPort 時,Intel INF 設定不會偽造顯示器。 這應該會導致 DWM 執行,但就像監視器閒置一樣。

擷取大量並取得損毀傾印

特別針對 UWP 應用程式:

  1. 取得應用程式市集簽署,您將透過開發人員中心上的應用程式入口網站接收遙測。 您將會收到 cal 堆疊,但不會收到完整傾印。
  2. 您可以使用 WerRegisterAppLocalDump 來讓您的應用程式傾印記錄,然後您可以讓應用程式上傳至您想要的位置。
  3. 此外,您也可以使用 VSAppCenter 或 HockeyApp進一步檢測。

針對 NTServices、OS 穩定性或驅動程式) 的系統 (問題:

  1. 我們正致力於合作夥伴遙測深入解析入口網站,讓客戶接收損毀服務、OS 元件和驅動程式的通話堆疊和資訊。
  2. 您可以擁有自訂腳本或 exe,以從裝置收集 dmp 檔案。
  3. 您可以使用 Azure IoT DM,視需要在裝置上設定 ETW 追蹤,並 擷取記錄
  4. 您可以建置自訂 exe 以呼叫 wevtapi.dll,並記錄最後一個關機原因。

執行 SLEEPSTUDY

如果您在嘗試在 Windows 10 IoT 核心版 中執行 SLEEPSTUDY 時遇到錯誤0x080004005,您必須執行下列動作來產生 SLEEPSTUDY 報告:

  1. 從 SSH/PowerShell,在 IoT COre 上執行此命令; powercfg / sleepstudy / xml
  2. 這會產生「sleepstudy-report.xml」。
  3. 將產生的sleepstudy-report.xml報表複製到桌上型電腦,然後執行 「powercfg/sleepstudy/transformxml sleepstudy-report.xml」
  4. 將產生最終sleepstudy-report.html。

服務應用程式和處理 NTServices

您可以使用App Store或使用 Azure Blob 來完成快速應用程式反復專案。 有了 App Store,您就不需要支付 CDN 和 Egrees 的費用。 市集也有免費的全球 CDN 涵蓋範圍。 提供快速應用程式更新時,取得市集識別碼和市集更新準備就緒是很好的經驗法則。

將裝置的藍牙類別設定為「不是電腦」

為了獲得良好的 Interop 和藍牙相容性,藍牙堆疊必須指出適當的裝置類別 (COD) 。 標準會定義各種值。   根據預設,Windows 會從 SmBios 主機殼類型值讀取尺寸資料, (請參閱第 38 頁上的表格 17) ,並從該頁面上衍生 CoD 的主要裝置類別和次要裝置類別欄位。 如果平臺想要覆寫透過主機殼類型指派的預設 COD,可以藉由設定 此處所述的「COD 主要」和「COD 類型」值來執行此動作。

設定電腦名稱稱

IoT 有一個名為 「SetComputerName」 的內建 Win32 工具。  這可以呼叫來變更 computername。  需要重新開機才能變更名稱。  不幸的是,您必須從系統管理員內容呼叫此公用程式,且 UWP 應用程式會在 DefaultAccount 使用者內容中執行。   解決此問題的其中一個方法是從呼叫 SetComputerName 的手動觸發排程工作執行批次檔。  批次檔需要從主 UWP app 將名稱儲存到的文字檔中讀取所需的電腦名稱稱。  例如,UWP app 可以將檔案儲存到公用資料夾,而批次檔會從該處讀取。  UWP app 接著需要使用進程啟動器 (觸發排程工作來執行 (例如 schtasks /run /TN 「SetMyComputerNameTask」) 在這裡閱讀 processlauncher 檔閱讀此處的 schTasks 檔

ASUS Tinkerboard 和 Rockchip 支援

雖然我們並未正式支援 ASUS Tinkerboard 和 Rockchip,但有些情況下,Rockchip已與其他第三方合作,使 SoC 可在 Windows 10 IoT 核心版上運作。

漫遊時連接 MBM 裝置時發生的問題

啟用漫遊時,有兩件您需要考慮的事:

  1. profile.xml 設定漫遊,並將行為設為自動建立與行動電話通訊網路的連線。 若要設定用於漫遊的設定檔,請參閱這篇文章

      <!-- applicability to any combination of home carrier, partner MOs and non-partner MOs, except for HomeAndNonPartner -->
      <xs:simpleType name="roamApplicabilityType">
        <xs:restriction base="xs:token">
           <xs:enumeration value="NonPartnerOnly"/>
           <xs:enumeration value="PartnerOnly"/>
           <xs:enumeration value="HomeOnly"/>
           <xs:enumeration value="HomeAndPartner"/>
           <xs:enumeration value="PartnerAndNonpartner"/>
           <xs:enumeration value="AllRoaming"/>
        </xs:restriction>
      </xs:simpleType>
    
      <xs:simpleType name="roamControlType">
        <xs:restriction base="xs:token">
           <xs:enumeration value="AllRoamAllowed"/>
           <xs:enumeration value="PartnerRoamAllowed"/>
           <xs:enumeration value="NoRoamAllowed"/>
        </xs:restriction>
      </xs:simpleType>
    

    若要設定用於自動連線的設定檔,請選取 "auto":

    <!-- Connection Mode, default is "manual" -->
        <xs:element name="ConnectionMode" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <!-- manual connect always -->
              <xs:enumeration value="manual" />
              <!-- auto connect always -->
              <xs:enumeration value="auto" />
              <!-- auto connect when not roaming -->
              <xs:enumeration value="auto-home"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
    
  2. 另一個因素是必須符合每個介面漫遊原則。 根據預設,該原則會設為 FALSE (「僅限本網電訊廠商」)。 這可以在命令列中透過 netsh mbn get/set dataroamcontrol. 進行查詢和變更

    範例:

        netsh mbn show dataroamcontrol int=*
        netsh mbn set dataroamcontrol interface=Cellular profileset=all state=all
        netsh mbn set dataroamcontrol help
    

    如果裝置漫遊,但漫遊原則不允許資料漫遊,則您可能會收到錯誤 0x139f (ERROR_INVALID_STATE) - 此錯誤與傳送至 wwansvc 的連線要求有關。

Raspberry Pi 3B+ 開機問題

注意

Raspberry Pi 3B+ 的這個版本是不支援的技術預覽版。 已完成有限驗證和啟用。 如需更好的評估體驗,以及針對任何商業產品,請使用 Raspberry Pi 3B 或其他裝置與支援的 Intel、Qualcomm 或 NXP Soc 搭配。 如需疑難排解 Raspberry Pi 3B+ 的問題,請在這裡參閱我們的疑難排解指南。

Raspberry Pi 3 Model B + 是 Raspberry Pi 3 系列中的最新產品,擁有執行頻率為 1.4GHz 的 64 位元四核處理器、雙頻 2.4GHz 和 5GHz 無線 LAN、藍牙4.2/BLE、更快的乙太網路,以及透過個別 PoE HA 提供的 PoE 功能。

最近,許多對 Windows 10 IoT 核心版有興趣的客戶發現在刷新 Windows 10 IoT 核心版之後,裝置無法正常開機的問題,但 Raspbian 可在其上正常運作。 以下是一些如何疑難排解開機問題的建議。

此 Insider Preview 映像中有一些已知問題。 請注意:

  • 此映像只適用於 Raspberry Pi 3B+,因此將不會在 Raspbierry Pi 2 上開機。
  • 來自 Visual Studio 的 F5 驅動程式部署無法在 Windows 10 IoT 核心版上運作。
  • 機載 Wi-fi 和藍牙無法在 Raspberry Pi 3B+ 上運作。
  • Raspberry Pi 3B+ 上會停用 Ft5406 觸控螢幕驅動程式。
  • SD 記憶卡活動 LED 已停用。

當您選擇要與 Windows 10 IoT 核心版搭配使用的 SD 記憶卡時,只有兩個需求。 您需要使用類別 10 SD 記憶卡,並確定記憶卡有足夠的空間 - 至少 8 GB 空間。 有幾個 Microsoft 已驗證可與 Windows 10 IoT 核心版相容的 SD 記憶卡:

  • Samsung EVO 32 GB 類別 10 Micros SDHC 記憶卡
  • SanDisk Ultra Micro SDHC,16 GB 記憶卡

通常,您需要檢查 SD 記憶卡是否為仿冒品,或是否已壞掉或損毀。 Sd 記憶卡同樣容易由於許多不同因素而發生損毀,例如停電或不當卸除。 請務必保護您的記憶卡免於損壞。

若要將您的映像刷新至 SD 記憶卡,您可以使用 Windows 10 IoT 核心版儀表板。 您將需要在 [作業系統組建] 欄位中選擇 [自訂],然後選取要刷新的 FFU 檔案。

請查看裝置是否有任何硬體故障。 Raspberry Pi 3B+ 面板上有兩個 LED,與 3B 相同。 一個用於 PWR,另一個則用於 ACT。 ACT 燈所發出的閃爍次數決定您的面板是否正在開機。 在 Raspberry Pi 3B+ 的開機過程中,某些時候 SD 記憶卡活動 LED 將不會閃爍。

當裝置開機,且裝置顯示等待中頁面時,請耐心等候。 通常,最多持續一分鐘。 但有時候,由於 SD 記憶卡讀寫速度,可能需要更久的時間。

如果裝置與 Windows 10 IoT 核心版無法正常開機,您可以嘗試將 Linux 作業系統 (例如,Raspbian) 刷新至 SD 記憶卡,將範圍縮小至問題是否由硬體造成。

如果您發現出現「虹彩畫面」,請檢查並確定您已刷新 3B+ 發行版本,可在這裡取得此版本。 您可以使用社群提交的 3B+ 刷新教學課程來確認您的程序,而此教學課程位於這裡

在適用於 Raspberry Pi 的 Windows 10 IoT 核心版上進行序列埠通訊

在 Raspberry Pi 上,硬體 UART 和 USB UART 介面卡兩者都可供您的應用程式進行序列通訊。 根據預設,UART 傳輸和接收 Pin 是 GPIO 標頭上的 Pin 8 和 10。

UART 和 USB UART 介面卡

您可以閱讀這篇文章,深入了解如何初始化 UART0,以及執行寫入,接著讀取。

此外,射頻通訊 (RFCOMM) 是傳統藍牙的基礎序列通訊。 請參閱此 GitHub 範例,了解如何在 Windows 10 IoT 核心版上執行 UWP 應用程式,以透過具有藍牙序列的 IoT 裝置進行連線。

如果您發現裝置無法透過序列埠讀取/寫入資料,請遵循下列疑難排解步驟:

  1. 使用跳接器將 TX 連接至 RX (如下所示),然後執行範例程式碼,來檢查應用程式是否可以讀取/寫入資料。 如果這樣做仍無法解決問題,則面板上的 IC 可能損壞。

    Raspberry Pi 上的 TX 至 RX

  2. 請確定已正確設定 BaudRate、Handshaking 和 StopBits。 如果要測試的序列埠具有完整的 RS232 介面 (例如 DB9),請使用 DB 插頭與 RxTx 交叉線搭配,而這些交叉線已與一般交握交叉線連接。 某些 RS232 連接埠 (或 USB 介面卡) 需要載波偵測 (DCD) 和 DCE 就緒 (DSR) 這類訊號在其正常運作之前變為作用中。

  3. 如果想要在 Windows 10 IoT 核心版上使用 USB UART 介面卡,則會支援下列項目:

  • CP2102 USB 2.0
  • TTL 模組序列轉換器
  • FTDI
  • 泛型 usbser.sys

您也可以使用devcon.exe堆疊和devcon.exe狀態Cmdlet 來檢查Windows 10 IoT 核心版上預期的驅動程式堆疊和驅動程式狀態。

USB\VID_10C4&PID_EA60\0001
    Name: Silicon Labs CP210x USB to UART Bridge
    Setup Class: {4d36e978-e325-11ce-bfc1-08002be10318} Ports
    Controlling service:
        silabser

Mincomm 是另一個有用工具,用來疑難排解序列埠問題。 此工具可以列舉連接埠、為您提供其易記名稱和裝置識別碼、開啟連接埠、進行設定 (亦即傳輸速率、停止位元等),以及傳送和接收資料。

Sirep Test 服務

即使根據預設不會在零售映像中啟用 Sirep Test 服務,若您仍想要在啟動時停用 Sirep 服務,則您可以登入,並停用 Sirep 不得自動啟動。

您可以使用下列 PowerShell 命令來這樣做,如下所示:

administrator@MINWINPC C:\Data\Users\administrator>sc stop TestSirepSvc

SERVICE_NAME: TestSirepSvc
       TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 3  STOP_PENDING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x4
        WAIT_HINT          : 0x1770

administrator@MINWINPC C:\Data\Users\administrator>sc query TestSirepSvc

SERVICE_NAME: TestSirepSvc
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

administrator@MINWINPC C:\Data\Users\administrator>sc config TestSirepSvc start=disabled
[SC] ChangeServiceConfig SUCCESS

平板電腦模式

「平板電腦模式」是只存在於 Desktop 殼層的概念,不適用於 IoT 核心版。

如果裝置有支援的硬體 (透過 I2C 或 USB HID 觸控),則觸控應該使用 Inbox 類別驅動程式來自動運作。 您可以在這裡閱讀更多相關資訊。

Yubikey 支援

Windows 10 IoT 核心版並不支援智慧卡。 不過,智慧卡通常是用於識別使用者身分而不是裝置身分的裝置,因為會使用 PIN 保護其安全,若為 Yubikey,有一個要按下的按鈕。 這與 IoT 裝置不一致。 如果您想要尋求替代方法,裝置上的 TPM 2.0 可能提供優於 Yubikey 或智慧卡的服務。 我們有 TPM 的完整憑證支援,而且它們注定用來儲存裝置,以及使用者憑證和 Azure IoT 存取認證 (Limpets)。