Заметки о выпуске обновления Creators Update для Windows 10 IoT Базовая

Сборка 15063. Апрель 2017 г.

Windows 10 IoT Базовая поддерживает разработку встраиваемых или специализированных устройств. Этот продукт по достоинству оценило сообщество производителей небольших устройств и разработчиков решений для них на основе Windows.

Этот документ содержит информацию, которая дополняет другие сведения и документацию по этому выпуску Windows 10 IoT Базовая.

Этот выпуск содержит все необходимые инструменты и компоненты для установки Windows 10 IoT Базовая на платформе MinnowBoard Max c процессорами линейки Intel Atom, Raspberry Pi 2 на основе ARM Cortex A7 и Dragonboard 410c на основе серии Qualcomm Snapdragon 400.

Наши партнеры могут предоставлять другие платформы и процессоры.

Заявление о конфиденциальности

С заявлением о конфиденциальности для этой версии операционной системы Windows можно ознакомиться здесь.

Новые возможности

  • Общедоступный выпуск Windows 10 IoT Базовая
    • Поддержка управления устройствами Azure. Изготовители оборудования могут использовать клиентскую библиотеку Windows IoT Azure DM, чтобы добавить возможности управления устройствами для устройств, подключенных к центру Интернета вещей Azure.
    • Дополнительная поддержка силиконовой системы
      • Проверенная поддержка Windows 10 IoT Базовая на Intel Joule, Intel Pentium N4200, Intel Celeron N3350, ожидаемых процессорах Atom x5-E39xx (ранее Apollo Lake) и Raspberry Pi 3 SOM.
      • Компания Allwinner добавила поддержку своих устройств Pine 64 и Banana Pi с использованием Allwinner A64 SoC.
    • Обнаружение удаленных устройств. Теперь не требуется специальное программное обеспечение для обнаружения устройств, с которых выполнен вход в учетную запись Майкрософт.
    • Новые API и элементы управления на платформе UWP для настройки вибрации, яркости, современных режимов ожидания, управления питанием, зарядки аккумулятора и NFC (без HCE).
    • Новые шины и возможности для ARM PCIe, режима работы USB, интерфейса Wi-Fi Direct и API подсчета прерываний GPIO.
    • Новые внедренные функции для сброса и восстановления, модуляции PWM на кристалле и автоматической подготовки USB.
    • Улучшенные средства — VS Code, новый портал устройств Windows и функции панели мониторинга Интернета вещей, поддержка VS 2017.
    • Кортана в Windows 10 IoT Базовая. Теперь в Windows 10 IoT Базовая реализована поддержка Кортаны. Задайте вопрос Кортане.
    • Улучшения панели мониторинга Интернета вещей — исправление новых функций и ошибок стабильности
      • Сборки предварительной версии Windows Insider для Raspberry Pi и Minnowboard
      • Подключение устройств с помощью удаленного клиента Windows IoT
      • Адреса IPv6 при обнаружении устройств
      • Отправка журналов с устройства при предоставлении обратной связи
    • Новые API GPIO высокой точности. Предоставлены новые API (Windows.Devices.GPIO.GpioInterruptBuffer) для точного и эффективного измерения ширины импульсов с использованием прерываний GPIO.  Поставщики GPIO получили новый интерфейс буфера прерываний, поддерживающий высокую точность определения времени прерываний для таких применений, как дисковые кодировщики и устройства для измерения расстояний.
    • Device Guard для Интернета вещей. Производители устройств теперь могут полностью блокировать устройства Интернета вещей и применять расширенную защиту от вредоносных программ с обнаружением новых и неизвестных вариантов вредоносных программ.  Для этого вы можете указать центры регистрации для разрешенных приложений и драйверов, которые выполняются на устройстве, полностью запретив выполнение неизвестного или ненадежного кода.  Это значительно повышает степень защиты от вредоносных программ, в том числе атак нулевого дня.
    • К другим обновлениям относятся:
      • Улучшение поддержки обновлений.
      • Поддержка пакета SDK для шлюза Azure.
      • Автоматическая подготовка на основе USB-накопителей.
      • Новое оформление портала устройств.
      • 64-разрядные образы теперь поддерживают до 16 384 МБ памяти.
      • API вибрации для WinRT.
      • Улучшенная поддержка языков.
    • Разное
      • В параметры BCD по умолчанию внесено изменение, которое запрещает устройствам пытаться выполнить загрузку в режиме восстановления, если режим восстановления не существует.
      • Функция IOT_POWER_SETTINGS теперь включает powercfg.exe. Это доступно для всех архитектур (ARM32, x86 и x64).
      • Внесены изменения в Applyupdate.exe, добавляющие флаги blockrebooton/blockrebootoff (включение и выключение блокировки перезагрузки).
      • Расширения класса для уведомления об оборудовании (hwnclx) и функции USB (usbfnclx) добавлены в образы IoT Core по умолчанию.

Известные проблемы

Raspberry Pi

Значение разрешения экрана сбрасывается при отключении монитора

На платформе Raspberry Pi значение разрешения экрана сбрасывается при отключении монитора. При подключении монитора системное разрешение экрана устанавливается на основе EDID этого монитора.   При отключении монитора этот параметр сбрасывается до значения по умолчанию, указанного в файле config.txt, который находится в корневом каталоге SD-карты.

Воспроизведение видео

Для платформы Raspberry Pi не оптимизировано воспроизведение видео.  Анимированные элементы пользовательского интерфейса, включая раскрывающиеся списки меню на основе XAML, могут плохо отображаться.

Поддержка камеры на Raspberry Pi

В Windows 10 IoT Базовая ограничена поддержка периферийных модулей камеры, использующих платформу Raspberry PI. Пока не поддерживается подключение устройства PiCam непосредственно к шине встроенной камеры, так как для этого требуются службы GPU, которые в настоящее время недоступны в Raspberry Pi из-за отсутствия реализации драйвера DirectX. Современные USB-камеры создают потоки данных, создающие высокую нагрузку на USB-контроллеры.  Даже если для камеры настроено низкое разрешение, необходима дополнительная настройка USB и специальная логика управления.  

Поддержка Bluetooth для Raspberry Pi 3

Встроенный драйвер Bluetooth Raspberry Pi3 поддерживает только устройства с низкой пропускной способностью

Использование последовательного порта и получение доступа к нему на Raspberry Pi 2

Raspberry Pi 2 поддерживает последовательную передачу данных через UART PL011.  Этот параметр задается по умолчанию в сценариях отладки ядра.  Приложение или драйвер устройства могут использовать UART PL011 для отправки и получения данных с помощью драйвера устройства PL011, который отключает отладчик с помощью команды bcedit /set debug off.

DragonBoard

Завершение работы DragonBoard 410c

На DragonBoard при выполнении команды завершения работы не выключается питание платы. Система перезагружается. Чтобы отключить питание платы, нужно физически разомкнуть цепь питания.

Гарнитура Dragon Board и микрофон джек

На платформе DragonBoard есть драйверы для подключения наушников и микрофона, но разъемов для них на плате нет.  

Dragonboard SPI работает на скорости блокировки

Шина SPI на плате DragonBoard игнорирует запрошенную скорость и всегда работает с предварительно настроенной частотой.  

Режим ожидания с подключением на DragonBoard

Режим ожидания с подключением отключен по умолчанию.  Чтобы включить этот режим на DragonBoard, необходимо задать значение 1 следующему разделу реестра:

HKLM\System\Controlset001\Control\Power\CsEnabled=DWORD:1

Обратите внимание, что не все платформы поддерживают CS, а значит на других платформах эта функция может не работать.

API вибрации может не работать на некоторых платформах Qualcomm

В качестве обходного пути мы предлагаем добавить следующий раздел реестра:

[HKEY_LOCAL_MACHINE\SYSTEM\controlset001\services\hwnhaptics]
"EnableOemSecurity"=dword:00000001`

Для подтверждения или проверки существующего образа подключитесь через SSH или PowerShell и выполните следующую команду:

reg add HKEY_LOCAL_MACHINE\SYSTEM\controlset001\services\hwnhaptics /t REG_DWORD /v EnableOemSecurity /d 1

MinnowBoard

Обновление встроенного ПО для Minnowboard Max

MinnowBoard Max не сможет загрузиться, если встроенное ПО не обновлено до версии 0.92 или более поздней.   Возможны сбои сетевого подключения при использовании встроенного ПО MinnowBoard Max (MBM) версии 0.93.   Эта проблема исправлена в версии встроенного ПО 0.94.) Минимальная рекомендуемая версия встроенного ПО для MinnowBoard MAX: 0.94 (32-разрядная). Обновления встроенного ПО можно скачать по этой ссылке.

Все платформы

При отладке исчезает указатель мыши

В некоторых случаях указатель мыши не отображается после развертывания или отладки приложений с помощью Visual Studio, указатель мыши должен снова появиться при изменении фокуса с помощью клавиатуры (tab)

Серверные приложения с SoftAP

При использовании SoftAP клиенты не смогут получить доступ к содержимому, предоставляемому приложениями UAP.   Чтобы предоставить приложения UAP через SoftAP, необходимо вносить следующие изменения из консоли на устройстве:

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
Reboot

Конфликт драйвера датчика в готовых средствах FFU

При установке из доступных средств FFU в системе возникает конфликт драйвера датчика. Платформа удаленных датчиков устанавливает драйверы для компаса, магнитометра, акселерометра и гироскопа. При осуществлении доступа к ним API-интерфейсами UWP из приложения, предполагается, что установлено только одно устройство. Если вы разрабатываете драйвер для физически подключаемого устройства, удаленно выполняемый драйвер из средств Майкрософт для пакетного применения образов будет вызывать конфликт.   Разрешение. Конфликтующий драйвер можно удалить, подключив устройство через SSH или PowerShell и используя средство devcon.exe для удаления драйвера удаленного датчика, введя "devcon.exe удалить @"ROOT\REMOTESENSORDRIVER*". Эта проблема не касается средств для пакетного применения образов, поставляемых изготовителями оборудования.

Имя и пароль администратора, заданные по умолчанию

Имя и пароль администратора по умолчанию жестко закодированы в образе Windows 10 IoT Базовая. Это представляет угрозу безопасности устройства, которое не следует подключать к Интернету до смены пароля.

Регуляторы громкости

Аппаратные регуляторы громкости для USB-микрофонов и USB-динамиков, которыми можно управлять в системе Windows, сейчас не поддерживаются в Windows 10 IoT Базовая.

USB-клавиатуры

Некоторые USB-клавиатуры и USB-мыши могут не работать в Windows 10 IoT Базовая. В таком случае используйте другие клавиатуры или мыши. Список проверенных периферийных устройств приводится здесь.  

Ориентация экрана

Универсальное приложение может не поддерживать книжную ориентацию экрана.

Добавление ссылок на адаптеры с помощью шаблонов AllJoyn

Попытка добавить ссылку на проекты адаптеров AllJoyn может вызывать ошибки при использовании определенных версий пакета SDK.  Чтобы устранить эти ошибки, измените целевую платформу Visual Studio в соответствии с текущей версией пакета SDK и перезагрузите проект.

Режим диска, отличный от по умолчанию

На Raspberry Pi и DragonBoard переключение из одного режима диска не по умолчанию в другой может вызывать помехи на контактах GPIO. ОБХОДНОЕ РЕШЕНИЕ. Установите режим диска один раз в начале приложения.

Приложение уже запущено

Запускаемое при начальной загрузке приложение по умолчанию может конфликтовать с самим собой при его одновременном развертывании из Visual Studio. РЕШЕНИЕ. Измените приложение запуска по умолчанию на приложение, отличное от приложения, которое вы хотите развернуть.

BackgroundMediaPlayer.MessageReceivedFromForeground может завершиться сбоем

Следующая строка кода может вызвать аварийное завершение работы: BackgroundMediaPlayer.MessageReceivedFromForeground += OnMessageReceivedFromForeground;.

Чтобы избежать этого, добавьте следующий код для выполнения перед этой строкой: var player = BackgroundMediaPlayer.Current;.

Поддержка проверки подлинности Azure Active Directory

Библиотека аутентификации Azure Active Directory не работает в Windows 10 IoT Базовая.  

Управление сбоями приложений в оболочке

Оболочка инфраструктуры Windows 10 IoT Базовая отслеживает сбои в работе приложений типа APPX, выполняющихся на устройстве, и перезапускает их в случае сбоя.  Если сбои в работе перезапущенного приложения продолжаются, оболочка запустит критический системный процесс __failfast, который выполняет проверку ошибок и перезагрузку для восстановления работоспособности.  Для фоновых задач и приложений переднего плана используется логика и обработка на основе сопоставления.

Обработка сбоев и логика перезапуска показаны ниже:

Software\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\CBTConfig  (или ForegroundAppConfig для устройств с мониторами)

  • Qword:"FailureResetIntervalMs" — время выполнения приложения без ошибок, после которого счетчик ошибок сбрасывается на 0. — по умолчанию используется значение 0x00000000000493E0, то есть 5 минут.
  • Qword:"BaseRetryDelayMs"  — коэффициент времени ожидания.  По умолчанию имеет значение 0xa.
  • Dword:"MaxFailureCount". Значение по умолчанию — 10.
  • DWord:"FallbackExponentNumerator", по умолчанию имеет значение 31.
  • DWord:"FallbackExponentDenominator", по умолчанию имеет значение 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))
// wait for delay and relaunch app

Синхронизация времени

Если удаленный сервер времени недоступен, это может вызывать сбой синхронизации времени или превышение времени ожидания. В таком случае можно добавить дополнительные или локальные серверы времени.

Запуск 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”

© Корпорация Майкрософт. Все права защищены.

Данный документ предоставляется "как есть".  Сведения, содержащиеся в данном документе, включая URL-адреса и другие ссылки на веб-сайты в Интернете, могут быть изменены без уведомления.

Некоторые из примеров приведены для иллюстрации и являются вымышленными.  Любое совпадение или связь с каким-либо реальным лицом являются случайными.  

Настоящий документ не предоставляет никаких законных прав на интеллектуальную собственность в любом продукте Майкрософт.  Этот документ может предназначен для внутреннего использования.

Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых.  

Список зарегистрированных продуктов см. на странице, посвященной товарным знакам корпорации Майкрософт.

Прочие товарные знаки принадлежат их владельцам.  

UPnP ™ является сертификационным знаком корпорации UPnP ™ Implementers Corporation.

Bluetooth® является товарным знаком, принадлежащим Bluetooth SIG, Inc. США и лицензирован корпорации Майкрософт.

Intel является зарегистрированным товарным знаком Intel Corporation.

Itanium является зарегистрированным товарным знаком Intel Corporation.

Некоторые сегменты этого программного обеспечения основаны на NCSA Mosaic, — разработке Национального центра суперкомпьютерных технологий (National Center for Supercomputing Applications) Иллинойcского университета (University of Illinois) в Урбане-Шампейне (Urbana-Champaign). Они распространяются в рамках лицензионного соглашения с компанией Spyglass, Inc.

Этот продукт содержит программные средства для обеспечения безопасности, лицензия на которые предоставляется компанией RSA Data Security, Inc.