Заметки о выпуске Raspberry Pi 3B+

© Корпорация Microsoft (Microsoft Corporation), 2018. Все права защищены.

Примечание

Этот выпуск для Raspberry Pi 3B+ считается технической версией без официальной поддержки. Срок ограниченной проверки и реализации завершен. Текущий выпуск вы можете получить здесь. Чтобы более качественно оценить работу платформы, а также для работы с любыми коммерческими продуктами используйте Raspberry Pi 3B или другие устройства с поддерживаемыми платами SoC производства Intel, Qualcomm или NXP. Для устранения неполадок с устройствами Raspberry Pi 3B+ воспользуйтесь этим руководством.

Новые возможности этой сборки

  • Исправлены общие ошибки.

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

  • Этот образ предназначен только для RPi3B+ и не будет загружаться на устройствах RPi2.
  • В Windows IoT Базовая не работает развертывание драйвера из Visual Studio с помощью клавиши F5.
  • Возможности Wi-Fi и Bluetooth на устройстве RPi3B+ не поддерживаются.
  • Драйвер сенсорного экрана Ft5406 на RPi3B+ отключен.
  • Индикатор активности SD-карты отключен.

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

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

Производительность видеосистемы

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

Поддержка камеры

Поддержка модуля камеры у платформы ограничена. Модуль камеры нельзя напрямую подключить к встроенной шине камеры из-за ограниченной поддержки платформой современных веб-камер USB Direct3D, которые крайне требовательны к производительности USB-контроллера. Даже если для камеры настроено низкое разрешение, необходима отладка USB и специальная логика управления.

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

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

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

При использовании SoftAP клиенты не могут получить доступ к содержимому, предоставляемому приложениями UAP. Чтобы обеспечить доступ к приложениям UAP через SoftAP, необходимо внести следующие изменения с помощью консоли на устройстве (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 в системе возникает конфликт драйвера датчика. При этом устанавливаются драйверы для компаса, магнитометра, акселерометра и гироскопа. В API UWP, доступ к которым осуществляется из приложения, предполагается наличие только одного установленного приложения. Если вы разрабатываете драйвер для физически подключаемого устройства, удаленно выполняемый драйвер из средств Майкрософт для пакетного применения образов будет вызывать конфликт.

Чтобы решить эту проблему, удалите драйвер, который вызывает конфликт. Для этого подключитесь к устройству с использованием SSH или PowerShell и с помощью средства devcon.exe удалите драйвер датчика, выполнив следующую команду:

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

Эта проблема не касается средств для пакетного применения образов, поставляемых изготовителями оборудования.

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

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

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

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

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

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

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

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

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

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

Ограничения Wi-Fi Direct в Windows 10 IoT Базовая

  1. Устройство под управлением Windows 10 IoT Базовая должно быть подключаемым. Оно не будет работать в роли подключающего устройства.
  2. При этом необходимо расширенное связывание устройств. В примере приложения показано, как использовать API расширенного связывания для связывания устройств перед подключением.
  3. Не все беспроводные адаптеры поддерживают Wi-Fi Direct. Мы проверили работоспособность устройства Realtek RTL8188EU Wireless Lan 802.11n USB 2.0 Network adapter, но не можем гарантировать, что будут поддерживаться другие адаптеры.

Режим диска не по умолчанию (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 Базовая.

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

Оболочка инфраструктуры Windows 10 IoT Базовая отслеживает сбои в работе приложений типа APPX, выполняющихся на устройстве, и перезапускает их в случае сбоя. Если сбои в работе перезапущенного приложения продолжаются, оболочка запустит критический системный процесс __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,8 МГц

На DragonBoard тактовая частота работы шины SPI не регулируется и составляет 4,8 МГц.

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

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

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

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

  1. В командной строке на устройстве (с помощью SSH, Powershell).

    w32tm /config /syncfromflags:manual /manualpeerlist:"0.windows.time.com 1.pool.ntp.org 2.something else, ..."
    
  2. Такие дополнения можно также сделать в реестре с помощью скрипта загрузки или пользовательского пакета конфигурации запуска, добавляемого при создании образа.

Запуск FTP-сервера

  • Для однократного запуска FTP-сервера войдите в SSH или PowerShell и запустите эту команду:
start ftpd.exe 
  • Чтобы запускать его при каждой загрузке, необходимо создать задачу планировщика. Для этого войдите в SSH или PowerShell и создайте задачу планировщика:
schtasks /create /tn "IoTFTPD" /tr ftpd.exe /ru system /sc onstart 
Schtasks /run /tn “IoTFTPD” 

Требования к размеру раздела для обновления

Убедитесь, что раздел данных имеет достаточно места для функций обновления.    Мы рекомендуем обеспечить не менее 1 ГБ свободного места для полнофункционального обновления.   Если в разделе данных недостаточно места, обновления будут завершаться сбоем на этапе установки.

Создание журнала PowerShell в IoT Базовая

PowerShell в IoT Базовая может по умолчанию создавать файлы журналов, занимая место в файловой системе. Хотя размеры файлов журналов ограничены, используемое ими место может сократить свободное место на диске, что, помимо прочего, может приводить к сбою обновлений. Для EVTX-файлов журнала событий установлен стандартный максимальный размер 20 МБ (для каждого файла). Изменяя значения в реестре, вы можете указать другой максимальный размер для любых файлов по отдельности. Например, следующий параметр задает для security.evtx максимальный размер 10 МБ:

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 Базовая. При выполнении такой команды будет выдаваться ошибка: ОШИБКА: Не удалось найти указанную процедуру.