Управление радио в режиме «в самолете»
Начиная с Windows 8 операционная система Windows обеспечивает поддержку с помощью HID для управления радиоуправием в режиме «в самолете».
Архитектура и обзор
Цель режима «в самолете» — предоставить изготовителю компьютера кнопку или переключатель (и, возможно, светодиодный индикатор для указания состояния), который позволяет конечному пользователю включать или выключать все беспроводные элементы управления за один снимок. Это в первую очередь позволяет пользователю, которому необходимо включить или отключить режим «в самолете», чтобы сделать это программным способом, позволяя операционной системе (а) определять состояние коммутатора и (б) управлять различными беспроводными радиомодулями с помощью программного обеспечения.
Windows обеспечивает поддержку следующих сведений об использовании HID на странице Универсальное использование рабочего стола.
Идентификатор использования | Имя использования | Тип потребления |
---|---|---|
0x000C | Беспроводные радиоуправляемые элементы управления | CollectionApplication (ЦС) |
0x00C6 | Беспроводной переключатель | Управление включением и выключением (OOC) |
0x00C7 | Беспроводной радио светодиодный индикатор | Управление включением и выключением (OOC) |
0x00C8 | Переключатель беспроводного радиополунка | Управление включением и выключением (OOC) |
Ниже приведена схема архитектуры клиента HID, который обеспечивает поддержку управления радиосвязями и режима «в самолете».
Служба обнаружения ShellHW (SHSVCD.dll) — это драйвер или служба клиента HID, которая работает в пользовательском режиме и обеспечивает поддержку устройства управления радиосвязью. Он отслеживает наличие коллекции верхнего уровня HID типа
- USAGE_PAGE (универсальный рабочий стол) 05 01
- USAGE (элементы управления беспроводным радио) 09 0C
Пример дескриптора отчета
В следующем разделе приведены примеры дескрипторов отчетов, которые должны использовать производители компьютеров. Обратите внимание, что если коллекция верхнего уровня является частью дескриптора отчета, который уже содержит другую коллекцию верхнего уровня, необходимо включить идентификатор отчета (не показан в примерах ниже).
В следующем разделе приводятся дополнительные сведения для изготовителей компьютеров и определяется, какой пример дескриптора отчета наиболее подходит для архитектуры их системы.
- Кнопка без отслеживания состояния часто используется для кнопок управления потребителем клавиатуры (автономно или в сочетании с кнопкой «Функция» во многих мобильных системах (например, Fn+F5)).
- Ползунок часто используется в мобильных системах с физическим переключателем включения и выключения ползунка (например, на ноутбуках с переключателем в режиме «в самолете»).
- Светодиодный индикатор часто используется в качестве отдельного индикатора самолета или в сочетании с кнопкой без отслеживания состояния или переключателем ползунка. Пользователям окон не требуется использовать этот светодиодный индикатор в мобильных системах форм-фактора, так как в пользовательском интерфейсе есть визуальное указание в режиме «в самолете».
Кнопка без отслеживания состояния без светодиодного индикатора
USAGE_PAGE (Generic Desktop) 05 01 USAGE (Wireless Radio Controls) 09 0C COLLECTION (Application) A1 01 LOGICAL_MINIMUM (0) 15 00 LOGICAL_MAXIMUM (1) 25 01 USAGE (Wireless Radio Button) 09 C6 REPORT_COUNT (1) 95 01 REPORT_SIZE (1) 75 01 INPUT (Data,Var,Rel) 81 06 REPORT_SIZE (7) 75 07 INPUT (Cnst,Var,Abs) 81 03 END_COLLECTION C0
Кнопка без отслеживания состояния со светодиодным индикатором
USAGE_PAGE (Generic Desktop) 05 01 USAGE (Wireless Radio Controls) 09 0C COLLECTION (Application) A1 01 LOGICAL_MINIMUM (0) 15 00 LOGICAL_MAXIMUM (1) 25 01 USAGE (Wireless Radio Button) 09 C6 REPORT_COUNT (1) 95 01 REPORT_SIZE (1) 75 01 INPUT (Data,Var,Rel) 81 06 REPORT_SIZE (7) 75 07 INPUT (Cnst,Var,Abs) 81 03 USAGE (Wireless Radio LED) 09 C7 REPORT_SIZE (1) 75 01 OUTPUT (Data,Var,Rel) 91 02 REPORT_SIZE (7) 75 07 OUTPUT (Cnst,Var,Abs) 91 03 END_COLLECTION C0
Ползунок (без светодиода)
USAGE_PAGE (Generic Desktop) 05 01 USAGE (Wireless Radio Controls) 09 0C COLLECTION (Application) A1 01 LOGICAL_MINIMUM (0) 15 00 LOGICAL_MAXIMUM (1) 25 01 USAGE (Wireless Radio Slider Switch) 09 C8 REPORT_COUNT (1) 95 01 REPORT_SIZE (1) 75 01 INPUT (Data,Var,Abs) 81 02 REPORT_SIZE (7) 75 07 INPUT (Cnst,Var,Abs) 81 03 END_COLLECTION C0
Ползунок со светодиодным индикатором
USAGE_PAGE (Generic Desktop) 05 01 USAGE (Wireless Radio Controls) 09 0C COLLECTION (Application) A1 01 LOGICAL_MINIMUM (0) 15 00 LOGICAL_MAXIMUM (1) 25 01 USAGE (Wireless Radio Slider Switch) 09 C8 REPORT_COUNT (1) 95 01 REPORT_SIZE (1) 75 01 INPUT (Data,Var,Abs) 81 02 REPORT_SIZE (7) 75 07 INPUT (Cnst,Var,Abs) 81 03 USAGE (Wireless Radio LED) 09 C7 REPORT_SIZE (1) 75 01 OUTPUT (Data,Var,Rel) 91 02 REPORT_SIZE (7) 75 07 OUTPUT (Cnst,Var,Abs) 91 03 END_COLLECTION C0
Только светодиодный индикатор (без кнопки или ползунка)
USAGE_PAGE (Generic Desktop) 05 01 USAGE (Wireless Radio Controls) 09 0C COLLECTION (Application) A1 01 LOGICAL_MINIMUM (0) 15 00 LOGICAL_MAXIMUM (1) 25 01 USAGE (Wireless Radio LED) 09 C7 REPORT_COUNT (1) 95 01 REPORT_SIZE (1) 75 01 OUTPUT (Data,Var,Rel) 91 02 REPORT_SIZE (7) 75 07 OUTPUT (Cnst,Var,Abs) 91 03 END_COLLECTION C0
Устранение распространенных ошибок
Совет 1. При использовании диспетчера переключателей BUTTON изготовитель компьютера должен отправить один отчет HID при снятии кнопки, а не при нажатии кнопки. Это связано с тем, что переключатель обычно является относительным входным, а не абсолютным.
Совет 2. Использование HID для управления радио в режиме «в самолете» работает только в мобильных системах (питание от батареи) и требуется Windows 8 или более поздних версий Windows.
Совет 3. Дополнительные сведения о переключателе «Режим в самолете» см. в техническом документе Улучшения клавиатуры для Windows 8.
Совет 4. Дополнительные сведения о кнопках и о том, что вы реализуете правильное оборудование, см. в Windows 8 требования к логотипу системы.
Обратная связь
Были ли сведения на этой странице полезными?
MB Radio State
В этом разделе описываются операции, используемые для задания и считывания состояний питания радиоустройства в МБ. Этими состояниями можно управлять с помощью программного обеспечения (в режиме «в самолете») или оборудования (при наличии соответствующего коммутатора). В этом разделе объясняется, как контролируются состояния питания радио, как проверить функциональные возможности состояния радиоперейсти и как исследовать проблемы с состоянием радиоперемычки.
Терминология
Состояние системного радиосвязи — состояние системного радиосвязи является состоянием всей системы. Это наиболее очевидный индикатор состояния режима самолета. Состоянием радиосвязи системы управляет служба управления радиосвязями (RmSvc).
Radio Manager — RmSvc выполняет итерацию нескольких RadioManager (MediaManager) в системе, таких как WlanRadioManager, BlueTooth и WwanRadioManager. WwanRadioManager(.lib) размещается в RmSvc.dll и управляет стороной wwan радиологического элемента. WwanRadioManager использует RPC службы WWAN (WwanSvc), чтобы:
- Запрос и настройка сотового радиосвязи.
- Управление потоком до и после режима в самолете.
Экземпляр радиосвязи — каждый RadioManager может включать несколько экземпляров радиосвязи. Например, WwanRadioManager может иметь два экземпляра радиосвязи, если в системе есть два сотовых модема. Каждый экземпляр радио является абстрактным объектом и должен сопоставляться с одним аппаратным радиомодулем. В большинстве случаев каждый экземпляр радио сопоставляется с одним сотовым модемом.
Соответствующие службы и драйверы
RmSvc.dll — управляет системными событиями радио, такими как режим «в самолете». В нем также размещаются все радиоменеджеры, включая WwanRadioManager.
WwanSvc.dll — сотовые модемы управляются WwanSvc. Поэтому команды (OID/CID) выполняются через WwanSvc. Внешние запросы от RmSvc или других компонентов (UI) проходят через RPC WwanSvc для запроса или настройки состояния сотовой связи.
MbbCx.sys — драйвер режима ядра, который управляет состоянием питания устройства, особенно между переходом D0 и Dx. В некоторых настройках системы устройство может переходить в состояние Dx и восстанавливаться до D0 только при необходимости. MbbCx.sys управляет логикой и управлением восстановлением состояния радиосвязи до D0 и Dx.
Архитектура и потоки
Управление радио от WwanSvc до модема
SET Radio via WwanSvc API
Начальное состояние радиосвязи по прибытии устройства
MBIM_CID_RADIO_STATE
Как показано на приведенных выше схемах, CID, используемый в операциях в режиме «в самолете», MBIM_CID_RADIO_STATE. Этот идентификатор CID задает или возвращает сведения о состоянии радиосвязи устройства в МБ.
Запрос
InformationBuffer на MBIM_COMMAND_MSG не используется. MBIM_RADIO_STATE_INFO возвращается в DataBuffer MBIM_COMMAND_DONE.
Присвойте параметру
InformationBuffer на MBIM_COMMAND_MSG содержит MBIM_SET_RADIO_STATE. MBIM_RADIO_STATE_INFO возвращается в DataBuffer MBIM_COMMAND_DONE.
Незапрашиваемое событие
Event InformationBuffer содержит структуру MBIM_RADIO_STATE_INFO.
Параметры
Присвойте параметру | Запрос | Уведомление | |
---|---|---|---|
Command | MBIM_SET_RADIO_STATE | Empty | Н/Д |
Ответ | MBIM_RADIO_STATE_INFO | MBIM_RADIO_STATE_INFO | MBIM_RADIO_STATE_INFO |
Структуры данных
Присвойте параметру
Offset | Размер | Поле | Тип | Описание |
---|---|---|---|---|
0 | 4 | RadioState | MBIM_RADIO_SWITCH_STATE | Задает управляемое программным обеспечением состояние радиосвязи. См. таблицу ниже. |
MBIM_RADIO_SWITCH_STATE
Типы | Значение |
---|---|
MBIMRadioOff | 0 |
MBIMRadioOn | 1 |
Запрос
Параметр InformationBuffer будет иметь значение NULL , а Значение InformationBufferLength — нулевое значение.
Ответ
MBIM_RADIO_STATE_INFO
Offset | Размер | Поле | Тип | Описание |
---|---|---|---|---|
0 | 4 | HwRadioState | MBIM_RADIO_SWITCH_STATE | Состояние коммутатора W_DISABLE. Если на устройстве нет переключателя W_DISABLE, функция должна возвращать MBIMRadioOn в этом поле. |
4 | 4 | SwRadioState | MBIM_RADIO_SWITCH_STATE | Состояние радиосвязи, настроенное программным обеспечением. |
Уведомление
См. таблицу MBIM_RADIO_STATE_INFO выше.
Коды состояний
Этот идентификатор CID использует только универсальные коды состояния.
Тестирование
Тесты сотового радиосвязи
Имя функции | Описание |
---|---|
CellularRadioWinrtTest::VerifyCellularModemExistence | Api Assert winrt может запрашивать состояние модема и радиосвязи |
CellularRadioWinrtTest::VerifyCellularRadioToggle | Api Assert winrt может переключать состояние радиосвязи на каждом адаптере wwan |
CellularRadioRecoveryTest::VerifyCellularRadioRecoveryToOnAfterAPM | Подтверждение состояния сотовой радиосвязи при выходе из режима «в самолете» восстанавливаются в состояние «Включено» |
CellularRadioRecoveryTest::VerifyCellularRadioRecoveryToOffAfterAPM | Подтверждение состояния сотового радио не выключено при выходе из режима «в самолете» |
CellularRadioRecoveryTest::VerifyCellularRadioAcrossSvcRestart | Утверждение состояний сотового радио остается согласованным при перезапуске WwanSvc |
CellularRadioRecoveryTest::VerifyCellularRadioAcrossDevNodePnp | Утверждение состояния передачи радиосвязи оставаться согласованными при поступлении или удалении устройства |
CellularRadioTest.dll содержит эти тесты.
Тесты аппаратного лабораторного комплекта (HLK)
В HLK Studio подключитесь к драйверу сотового модема устройства и выполните следующие тесты:
Кроме того, можно запустить тестовый список TestRadioStateHardware и TestRadioStateSoftware HLK с помощью netsh-mbn и netsh-mbn-test-installation.
netsh mbn test feature=radio testpath="C:\data\test\bin" taefpath="C:\data\test\bin" param="AccessString=internet"
Два файла с результатами теста HLK должны были быть созданы в каталоге, из которой была выполнена команда netsh mbn test: TestRadioStateSoftware.htm и TestRadioStateHardware.htm .
Журналы можно собирать и декодировать с помощью следующих инструкций: СБОР журналов в МБ.
Анализ журналов
Полезные ключевые слова и regexp для фильтрации трассировок
- OID_WWAN_RADIO_STATE
- CWwanRadioInstance::OnSysRadioChange
- Ввод CUIRadioManager::_SetSysRadio
- Выход из CUIRadioManager::_SetSysRadio
- CWwanRadioInstance::_SetSoftwareRadioState
- [WwanRadioManager]
- PostD0Entry: previousPowerState
- CWwanRadioManager::OnSystemRadioStateChange(.) +sysradiostate
- RMAPI(.) +OnSystemRadioStateChange
- RMAPI(.) +OnSystemRadioStateChange
- Wwan-svc(.) +радио
- mbbcx(.) +радио
Советы по исследованию
- Определите, является ли это глобальной (общесистемной) или локальной (только для сотовой сети) проблемой радиосвязи.
- Отличать состояние питания устройства (D0–Dx) от состояния радиосвязи. Это разные понятия, но с высокой степенью корреляции.
- Убедитесь, что в журнал включены необходимые поставщики трассировки событий Windows.
- Сужает область с помощью сценария. Пример:
- Если это связано с режимом «в самолете», сосредоточьтесь на RmSvc и WwanRadioManager.
- Если это связано с D0-Dx>, гибернацией < или переходами в спящий режим, сосредоточьтесь на MBBCx.
- Если это связано с отображением пользовательского интерфейса или состоянием, не синхронизированным, начните с WwanSvc.
API-интерфейс WinRT
Windows.Devices.Radios
Windows.Devices.Radios принадлежит службе управления радиосвязями, которая управляет всеми диспетчерами и экземплярами радиосвязи. На стороне WWAN RadioKind имеет значение RadioKind::MobileBroadband.
- GetRadiosAsync( )
- SetStateAsync( )
Windows.Networking.NetworkOperators
Единственная полезная служебная программа в этом пространстве имен для управления радио — MobileBroadbandDeviceInformation.CurrentRadioState.
Режим полёта. Какие службы отключает при включенном состоянии
Добрый день! У меня два вопроса, на который я не могу найти ответы:
1) Как отключить режим полёта на windows 10? Может можно как-то через консольку?
2) За какие службы отвечает режим полёта или точнее, какие отключает?Очень надеюсь, что вы знаете, как это сделать и подскажете.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:Ротер TL-WR941ND постоянно отключает соединение по Wi-fi при включенном ПК
К роутеру подсоединен ПК кабелем и другие устройства через вай-фай. Когда на ПК что-то качается, он.Сабвуфер гудит, при включенном состоянии
Здравствуйте:senor:. Столкнулся с такой проблемой. слушал музыку на обеденном перерыве на.Windows 10 устанавливает режим контроллера sata на IDE при включенном в биосе AHCI
SSD диск WDS500G2B0A; Материнская плата Asus P8H77V — LE. Устанавливаю Win 10 на SSD, заранее.Вирус отключает службы..
Всем привет! Ситуация такая — есть кучка компов в сетке, есть сетевой принтер, началось с того.Какие службы Windows 10 можно отключить, чтобы ускорить систему
Разрабатывая Windows 10, Microsoft учитывала те пожелания пользователей, которые касались требований системы к ресурсам устройства. Тем не менее по умолчанию одновременно с Windows запускается большое количество служб, оказывающих существенную нагрузку на компьютеры, которые имеют слабое, устаревшее «железо». Результат – очень медленная работа, что просто не может не раздражать.
Если отключить запускаемые по умолчанию службы, то система будет ускорена. Однако необходимо знать, какие именно службы могут быть отключены без ущерба для стабильной работы.
Как увидеть перечень служб Windows 10?
Чтобы отключить какую-либо службу, нужно прежде всего открыть инструмент «Службы». Это можно сделать одним из двух способов.
- Первый способ – одновременное нажатие клавиш Win и R и последующий ввод сочетаний символов «services.msc».
- Второй способ – переход по разделам в Панели управления. Сначала – «Администрирование», а затем – «Службы». Узнать, как открыть панель управления в Windows 8 и 10.
В обоих случаях на экране появится окно с названиями служб.
Теперь можно выбирать двойным кликом и отключать. Причём можно как вообще отключить, так и выбрать «вручную» – тип запуска, при котором служба будет включаться только в необходимый момент.
Список служб в Windows 10, которые можно отключить
Итак, поняв, где следует искать службы и что делать для их отключения, остаётся только разобраться, какие нужны, а какие бесполезны и лишь захламляют собою оперативную память. Перечислим их по алфавиту и скажем, в каком случае каждая из них должна быть отключена.
-Branch Cache–не нужна, если нет домашней сети.
-Diagnostic Execution Service – ненужный шпионский модуль.
-Print Workflow –требуется, только если есть принтер.
-Shared PC Account Manager – не нужна.
-Windows Search – нужна только тем, кто пользуется встроенным поиском операционной системы.
-Windows Update Medic Service– подлежит отключению.
-Xbox Accessory Management (а также все остальные службы, в названии которых присутствует слово «Xbox») – совершенно не нужна, если нет этой консоли.
-Автономные файлы – не нужна.
-Адаптер производительности – бесполезна.
-Антивирусная программа – не нужна, если установлен другой антивирус.
-Биометрическая служба – требуется только тем, кто входит в систему по FaceID (то есть никому не требуется).
-Браузер компьютеров – нужна только при использовании локальной сети.
-Вспомогательная служба – можно выключить и проверить работу Интернета: если всё в порядке, включать уже не нужно.
-Вторичный вход – не нужна, если устройством больше никто не пользуется.
-Диспетчер печати – требуется только при использовании принтера.
-Диспетчер платежей – бесполезна.
-Диспетчер карт – нужна только при установленном и использующемся приложении «Карты».
-Журнал событий – оказывает большую нагрузку на процессор, и лучше её отключить.
-Интерфейс гостевой службы Hyper-V(а также все остальные службы, в названии которых упоминается Hyper-V) – бесполезна если не применятся одноимённая система аппаратной виртуализации.
-Клиент отслеживания – можно просто, не боясь, отключать.
-Обнаружение SSDP– совсем не требуется.
-Политика удаления смарт-карт – нужна только тем, кто применяет смарт-карты.
-Посредник подключений – не требуется.
-Рабочие папки – тоже можно смело выбирать параметр «отключена».
-Родительский контроль – нет необходимости включать, если компьютером пользуется только взрослый.
-Сборщик событий – бесполезна, можно отключить.
-Сервер кадров – не требуется.
-Сетевой вход – нет смысла включать.
-Служба «Безопасность…» – тоже подлежит отключению.
-Служба восприятия – не нужна.
-Служба загрузки – нужна, только если используется сканер.
-Служба кошелька – можно отключить.
-Служба перечисления – тоже лишняя.
-Служба управления радио – нет необходимости включать.
-Служба шифрования – тоже лучше выключить.
-Телефонная связь – бесполезная.
-Удалённый реестр – не требуется.
Поделиться.