Raspberry Pi 3B + 的发行说明

© 2018 Microsoft Corporation. 保留所有权利。

注意

Raspberry Pi 3B+ 的此版本是不受支持的技术预览版。 已完成有限的验证和启用。 在此处可找到当前版本。 若要获得更好的评估体验,或者要将产品商用化,请使用 Raspberry Pi 3B 或者其他带有受支持的 Intel、Qualcomm 或 NXP SoC 的设备。 若要排查 Raspberry Pi 3B+ 的问题,请参阅此处的故障排除指南。

此版本中的新增功能

  • 常规 Bug 修复

此版本中的已知问题

  • 此映像仅适用于 RPi3B +,并且不会在 RPi2 上启动。
  • 不能在 IoT 核心版上通过 Visual Studio 进行 F5 驱动程序部署。
  • 板载 WIFI 和蓝牙不适用于 RPI3B +。
  • Ft5406 触摸屏驱动程序在 RPi3B + 上禁用。
  • SD 卡活动 LED 禁用。

显示器分辨率(在显示器断开连接的情况下)

在监视器断开连接的情况下,Raspberry Pi 3B+ 可能无法保持显示器分辨率。 在连接的情况下,监视器的 EDID 用于设置系统的分辨率。 断开连接时,固件默认设置为 SD 卡根目录的 config.txt 中的值。

视频性能

平台上的视频播放性能未进行优化。 动态用户元素(包括基于 XAML 的下拉菜单)可能表现不出最佳性能。

相机支持

对相机外围设备的支持受限。 直接连接到板载相机总线的 PiCam 设备不受支持,因为平台支持 D3D 现代 USB 摄像头在 USB 主控制器上生成要求极度严苛的数据流的能力有限。 即使摄像头结合使用低分辨率设置,还将需要其他 USB 微调和专用控件逻辑。

调试时鼠标指针消失

在某些情况下,在使用 Visual Studio 部署或调试应用后,鼠标指针会变得不可见,此时如果使用键盘 (Tab) 更改焦点,鼠标指针就会重新显示 (8038595)。

服务器应用程序与 SoftAP

使用 SoftAP 时,客户端将无法访问 UAP 应用公开的内容。 若要通过 SoftAP 公开 UAP 应用程序,必须通过设备上的控制台进行以下更改 (8111807):

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>  
For example:  checknetisolation loopbackexempt -a -n=IoTOnboardingTask-uwp_1w720vyc4ccym 

重新启动。

在预先构建的 FFU 中出现传感器驱动程序冲突

在提供的 FFU 中存在传感器驱动程序冲突。 Remote Sensor Framework 可为指南针、磁力计、加速计和陀螺仪安装驱动程序。 从应用程序访问这些项目的 UWP API 会假定只安装了其中一项。 如果你为通过物理方式连接的设备开发驱动程序,则 Microsoft 提供的 FFU 上的远程驱动程序会产生冲突。

若要解决此问题,可以删除发生冲突的驱动程序,方法是通过 SSH 或 Powershell 连接到设备,然后键入以下命令,使用 devcon.exe 工具删除远程传感器驱动程序:

"devcon.exe remove @"ROOT\REMOTESENSORDRIVER*"

远程传感器驱动程序不影响 OEM 创建的 FFU。

默认管理员用户名和密码

默认的管理员用户名和密码已硬编码在 Windows 10 IoT 核心版映像中。 这使设备具有安全风险,因此在更改密码之前,请不要向开放的 Internet 连接公开此信息。

音量控件

依赖于 Windows 系统更改系统音量的 USB 麦克风和扬声器的硬件音量控件当前在 Windows 10 IoT 核心版上不受支持。

USB 键盘

某些 USB 键盘和鼠标可能无法在 IoT 核心版上工作。 使用其他键盘或鼠标。 有关已验证的外围设备列表,可参阅此处的文档。

屏幕方向

将方向设置为“纵向”在通用应用中可能不受支持。

使用 AllJoyn 模板引用适配器

尝试向 AllJoyn 适配器项目添加引用可能会在使用特定 SDK 版本时导致错误。 若要解决这些错误,请更改 Visual Studio 的目标平台,以匹配当前的 SDK 版本,然后重新加载项目。

Windows 10 IoT 核心版上的 WiFi Direct 限制

  1. Windows 10 IoT 核心版设备必须是连接设备,因为在其他设备初始化连接时,该设备无法作为广告设备运行。
  2. 必须使用高级配对。 示例应用演示了如何在连接前使用高级配对 API 对设备进行配对。
  3. 并非所有无线适配器都支持 WLAN Direct。 我们已测试并验证“Realtek RTL8188EU 无线 LAN 802.11n USB 2.0 网络适配器”有效,但其他适配器可能不受支持。

非默认驱动器模式 (3890679)

在 Raspberry Pi 和 Dragonboard 上,从非默认驱动器模式切换到其他非默认驱动器模式可能会在 GPIO 引脚上产生故障。 若要解决此问题,请在应用程序启动时设置一次驱动器模式。

已处于运行状态的应用程序 (1244550)

如果默认启动应用也从 Visual Studio 部署,则该应用可能会跟自身发生冲突。 解决方法:将默认启动应用更改为不希望部署的应用程序。

BackgroundMediaPlayer.MessageReceivedFromForeground 可能会崩溃 (2199869)

以下代码行可能崩溃:

BackgroundMediaPlayer.MessageReceivedFromForeground += OnMessageReceivedFromForeground

若要防止崩溃,请添加此代码,以便首先执行它:

var player = BackgroundMediaPlayer.Current;

Azure Active Directory 身份验证支持 (4266261)

Azure Active Directory 身份验证库在 Windows 10 IoT 核心版上不可用。

应用程序崩溃的 Shell 管理

IoT 核心版的 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 
When app crash is detected: 
    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)) 

等待延迟并重新启动应用。

Dragonboard SPI 以 4.8Mhz 的速度运行

Dragonboard 上的 SPI 将会忽略所请求的速度,并始终以 4.8 Mhz 的速度运行。

Dragonboard 连接待机

默认情况下,连接待机在 Qualcomm Dragonboard 上未启用。 若要在 DragonBoard 上启用连接待机,需将以下注册表项设置为“1”。

时间同步

如果时间同步失败或超时,可能是因为时间服务器无法访问或该服务器是远程的,可以通过以下操作添加其他时间服务器或本地时间服务器。

  1. 从设备的命令行(例如 SSH、PowerShell)。

    w32tm /config /syncfromflags:manual /manualpeerlist:"0.windows.time.com 1.pool.ntp.org 2.something else, ..."
    
  2. 也可根据需要通过启动脚本或自定义运行时配置包(在创建映像过程中包括进来)将其添加到注册表中。

启动 FTP 服务器

  • 若要运行一次 - 请使用 SSH\PS 登录,然后运行以下命令来启动 FTP:
start ftpd.exe 
  • 若要在每次启动时运行,用户应创建计划程序任务 - 使用 SSH\PS 登录并创建计划程序任务:
schtasks /create /tn "IoTFTPD" /tr ftpd.exe /ru system /sc onstart 
Schtasks /run /tn “IoTFTPD” 

更新的分区大小要求

确保数据分区保持足够的空间来更新功能。    我们建议保留 1GB 的可用空间来进行完整的功能更新。   如果数据分区没有足够的空间,则在安装阶段中更新将会失败。

IoT 核心版上的 PowerShell 日志生成

默认情况下,Iot 核心版上的 PowerShell 可能会生成日志文件,从而占用文件系统上的空间。 虽然日志文件大小有限,但可能会占用空间,从而导致磁盘空间不足,此外还可能会导致更新失败。 每个 .evtx 事件日志文件的预定义大小上限为 20 MB。 你可以通过注册表分别限制文件的不同大小上限。 例如,若要将 security.evtx 的最大上限设置为 10 MB,请输入以下命令:

regd add HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Security /v MaxSize /t REG_DWORD /d 0xa00000 /f 

Schtasks 限制

Schtasks 不支持使用 /xml 开关。 例如:

schtasks /create /xml <xmlfile> /TN <taskname>

这会在 IoT 核心版上失败。 运行命令将生成以下错误:错误:找不到指定的过程。