内部版本 17763.253 发行说明
内部版本号 17763.253。 2019 年 2 月。
© 2019 Microsoft Corporation。 保留所有权利。
重要
如果使用 2018 年 10 月更新,请改用此版本。 我们发现了一些已知问题,这些问题会影响使用 2018 年 10 月更新的用户。
本文档提供对Windows 10 IoT 核心版随附的文档进行补充的后期中断或其他信息。
感谢你下载Windows 10 IoT 核心版。 Windows 10 IoT 核心版是 Windows 10 版本,旨在开发嵌入式或专用设备,以及面向 Maker 社区的选择。 此版本中的程序包包含的工具和内容是在基于 Intel Atom 处理器的 Minnowboard Max 平台上、基于 Broadcom 2836/2837 的 Raspberry Pi 2/3 上以及基于 Qualcomm Snapdragon 400 系列处理器的 Dragonboard 410c 上安装 Windows 10 IoT 核心版所需的。
隐私声明
可在此处查看此 Windows 操作系统版本的隐私声明。
可以通过将转发链接粘贴到浏览器窗口中来查看链接术语。
此版本中的新增功能
- 常规 Bug 修复
其他信息
- 用于 Dragon Board 映像的 BSP 版本为 2120.0.0.0。
此版本中的已知问题
不能在 IoT 核心版上通过 Visual Studio 进行 F5 驱动程序部署。
通过 NOOBS 安装的设备不能运行 bcdedit 工具来启用内核调试程序。 这可以通过以下解决方法实现:
- 在电脑上装载 SD 卡
- 使用磁盘部件或磁盘管理查找 EFIESP 驱动器分区号(例如“M:”)
- 运行命令“bcdedit /store M:\EFI\Microsoft\boot\bcd /set {default} debug yes”
- 卸载 SD 卡。
- 现在应该能够像往常一样连接调试器
有时候,在将命令发送到 IoT 设备时,PSSession 会中断。
RPi3 不会将 BT + BTLE 与板载蓝牙配对。
使用 Up2 的 SoftAp 时,无法通过 WIFI 连接连接到 Internet。
在重写时,亮度控制设置不保留在 IoT 上。
IoT 核心版常规已知问题和变通方法
对于 Raspberry Pi
Raspberry Pi 显示器分辨率(在监视器断开连接的情况下)
在监视器断开连接的情况下,Raspberry Pi 可能无法保持显示器分辨率。 在连接的情况下,监视器的 EDID 用于设置系统的分辨率。 断开连接时,Raspberry Pi 固件默认设置为 SD 卡根目录的 config.txt 中的值。
Raspberry Pi 视频性能
Raspberry Pi 平台上的视频播放性能未进行优化。 动画用户元素(包括基于 XAML 的下拉菜单)可能会表现出低于最佳性能。
Raspberry Pi 相机支持
对相机外围设备的支持受限。 直接连接到板载相机总线的 PiCam 设备不受支持,因为平台支持 D3D 现代 USB 摄像头在 USB 主控制器上生成要求极度严苛的数据流的能力有限。 即使摄像头结合使用低分辨率设置,还将需要其他 USB 微调和专用控件逻辑。
Raspberry Pi3 蓝牙支持
Raspberry Pi3 内置蓝牙驱动程序仅支持低带宽设备。
RPi2 上的串行端口使用情况和访问
Raspberry Pi 2 支持通过 PL011 UART 进行通信的串行传输。 这在内核调试方案中默认设置。 应用程序或设备驱动程序可以使用 PL011 UART 在 PL011 设备驱动程序使用以下命令关闭调试程序的情况下发送和接收数据:
bcedit /set debug off
已在 Raspberry Pi2 上禁用数据断点
目前没有解决方法。
禁用 Raspberry Pi 3 的板载适配器
Raspberry Pi 3 具有板载蓝牙,必须禁用它才能使用其他适配器。 要禁用板载蓝牙,请打开 telnet/ssh 会话并运行:
reg add hklm\system\controlset001\services\BtwSerialH5Bus /v Start /t REG_DWORD /d 4
还可通过以下命令禁用 WiFi:
reg add hklm\system\controlset001\services\bcmsdh43xx /v Start /t REG_DWORD /d 4
对于 Dragon Board
Dragonboard 410c 关闭
在 DragonBoard 上,关闭命令不会关闭开发板。 系统将重启。 请通过断开电源来关闭开发板。
Dragon Board 和 windbg
使用 windbg 连接到 DragonBoard 时,GPIO/I2C/SPI/UART 驱动程序将被禁用。
Dragon Board 耳机和麦克风插孔
Dragonboard BSP 有耳机插孔和麦克风插孔的驱动程序,但它在船上没有任何这些插孔。
Dragonboard SPI 以 4.8Mhz 的速度运行
Dragonboard 上的 SPI 将忽略请求的速度,并且始终以 4.8 Mhz 的速度运行。
Dragonboard 连接待机
默认情况下,连接待机在 Qualcomm Dragonboard 上未启用。 若要在 DragonBoard 上启用连接待机,需要将以下注册表项设置为“1”:
HKLM\System\Controlset001\Control\Power\CsEnabled=DWORD:1
注意
并非所有平台都支持连接待机。 这可能不适用于所有平台。
对于 MinnowBoard
Minnowboard Max Boot 和固件更新
除非固件是 .092 或更高版本,否则 MinnowBoard Max 不会启动。 推荐的最低固件版本是“MinnowBoard MAX 0.92 32 位”。 固件更新可从此处下载。
Minnow 开发板外围支持
此拖放中包含的Windows 10 IoT 核心版映像支持 MinnowBoard MAX 板上公开的外围设备。 随后,Intel® 将对 Baytrail 处理器(包括 Intel Celeron™ 处理器 J1900/N2930/N2807 和 Intel Atom™ 处理器 E38XX)的完整功能集提供支持。
对于所有平台
访问公用文档
对用于文件访问的基础 API 进行了更改,要求应用程序必须指定 broadFileSystem 访问权限才能访问公用文档目录。
.XML 文件代码段应如下所示:
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap mp rescap">
--snip--
<Capabilities>
<uap:Capability Name="removableStorage" />
<uap:Capability Name="picturesLibrary" />
<rescap:Capability Name="broadFileSystemAccess" />
</Capabilities>
</Package>
调试时鼠标指针消失
在某些情况下,在使用 Visual Studio 部署或调试应用后,鼠标指针会变得不可见,此时如果使用键盘 (Tab) 更改焦点,鼠标指针就会重新显示。
服务器应用程序与 SoftAP
使用 SoftAP 时,客户端将无法访问 UAP 应用公开的内容。
若要通过 SoftAP 公开 UAP 应用程序,必须通过设备上的控制台进行以下更改:
reg add hklm\system\currentcontrolset\services\mpssvc\parameters /v IoTInboundLoopbackPolicy /t REG_DWORD /d 1
checknetisolation loopbackexempt -a -n=<AppID for SoftAP App>
checknetisolation loopbackexempt -a -n=<AppID for Additional App>
例如:
checknetisolation loopbackexempt -a -n=IoTOnboardingTask-uwp_1w720vyc4ccym
重新启动
在预先构建的 FFU 中出现传感器驱动程序冲突
在提供的 FFU 中存在传感器驱动程序冲突。 Remote Sensor Framework 可为指南针、磁力计、加速计和陀螺仪安装驱动程序。 从应用程序访问这些项目的 UWP API 会假定只安装了其中 1 项。 如果你为通过物理方式连接的设备开发驱动程序,则 Microsoft 提供的 FFU 上的远程驱动程序会产生冲突。
解决方法:可以通过 SSH 或 PowerShell 连接到设备并使用工具devcon.exe通过键入“devcon.exe删除 @”ROOT\REMOTE标准版NSORDRIVER*“来删除远程传感器驱动程序来删除冲突驱动程序。 远程传感器驱动程序不影响 OEM 创建的 FFU。
默认管理员istrator 用户名和密码
默认的管理员用户名和密码已硬编码在 Windows 10 IoT 核心版映像中。 这是设备的安全风险,在密码发生更改之前,它不应公开到打开的 Internet 连接。
音量控件
依赖于 Windows 系统更改系统音量的 USB 麦克风和扬声器的硬件音量控件当前在 Windows 10 IoT 核心版上不受支持。
USB 键盘
某些 USB 键盘和鼠标可能无法在 IoT Core 上工作。 使用不同的键盘或鼠标。 有关已验证的外围设备列表,可参阅此处的文档。
屏幕方向
将方向设置为“纵向”在通用应用中可能不受支持。
使用 AllJoyn 模板引用适配器
尝试添加对 AllJoyn 适配器项目的引用可能会导致使用特定 SDK 版本时出错。 若要解决这些错误,请更改 Visual Studio 的目标平台以匹配当前 SDK 版本,然后重新加载项目。
IoTCore 上的 WiFi Direct 限制
- IoTCore 设备必须是连接设备 , 它将无法用作播发设备,而其他设备启动连接。
- 必须使用高级配对。 示例应用演示了如何在连接前使用高级配对 API 对设备进行配对。
- 并非所有无线适配器都支持 WiFi 直接。 我们已测试并验证“Realtek RTL8188EU 无线 LAN 802.11n USB 2.0 网络适配器”有效,但其他适配器可能不受支持。
非默认驱动器模式
在 Raspberry Pi 和 Dragonboard 上,从非默认驱动器模式切换到其他非默认驱动器模式可能会在 GPIO 引脚上产生故障。 解决方法:在应用程序开始时设置驱动器模式一次。
已处于运行状态的应用程序
在从 Visual Studio 部署默认启动应用时,默认启动应用可能与自身冲突。 解决方法:将默认启动应用更改为要部署的应用程序以外的应用程序。
BackgroundMediaPlayer.MessageReceivedFromForeground 可能会崩溃
以下代码行可能会崩溃:“BackgroundMediaPlayer.MessageReceivedFromForeground += OnMessageReceivedFromForeground;”。 若要防止崩溃,请添加此代码,以便首先执行它:“var player = BackgroundMediaPlayer.Current;”
Azure Active Directory 身份验证支持
Azure Active Directory 身份验证库不适用于Windows 10 IoT 核心版。
应用程序崩溃的 Shell 管理
IoT Core 的 shell 基础结构监视设备上运行的 APPX 类型应用程序,以便在发生崩溃时重启这些应用程序。 如果重新启动的应用程序继续崩溃,shell 将采用 __failfast 这一系统关键进程,可引起错误检测并重新启动以尝试恢复。 可比较逻辑和处理用于有外设配置中的后台任务和前台应用程序。 下面捕获的是崩溃处理和重试逻辑:
Software\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\CBTConfig (or ForegroundAppConfig for headed)
Qword:"FailureResetIntervalMs" – length of time app has to run successfully to reset failures seen to 0. – default is 0x00000000000493E0 == 5 minutes
Qword:"BaseRetryDelayMs" -- wait time coefficient. Default is 0xa.
Dword:"MaxFailureCount". Default is 10
DWord:"FallbackExponentNumerator", default is 31.
Dword:"FallbackExponentDenominator", default is 20
Fallback_exponent = FallbackExponentNumerator / FallbackExponentDenominator; // default is 1.55
检测到应用崩溃时:
if time_since_last_crash > failureresetinterval then crashes_seen = 1
else ++crashes_seen;
if crashes_seen > MaxFailureCount then __failfast;
else
delay = (dword) ((float)BaseRetryDelayMs * (crashes_seen ** Fallback_exponent))
等待延迟并重新启动应用
时间同步
如果时间同步失败或超时,可能是因为时间服务器无法访问或该服务器是远程的,可以通过以下操作添加其他时间服务器或本地时间服务器。
从设备的命令行(例如 SSH、PowerShell)w32tm /config /syncfromflags:manual /manualpeerlist:"0.windows.time.com 1.pool.ntp.org 2.something else, ..."
也可根据需要通过启动脚本或自定义运行时配置包(在创建映像过程中包括进来)将其添加到注册表中。 有关详细信息,请参阅:
启动 FTP 服务器
FTP 服务器不再在启动时默认运行
若要运行一次:使用 SSH\PS 登录并运行以下命令以启动 FTP:
start ftpd.exe
若要在每次启动时运行,用户应创建计划程序任务:使用 SSH\PS 登录并创建计划程序任务:
schtasks /create /tn "IoTFTPD" /tr ftpd.exe /ru system /sc onstart
Schtasks /run /tn “IoTFTPD”