Добавление модели Blade
Для каждой модели Blade нужны собственные данные об оборудовании и проверки безопасности.
Поддерживаемые модели
Проверенные и экспериментальные модели и данные об их прошивках приведены в разделе Справочник протокола.
Два уровня доказательств
Пять текущих экспериментальных профилей реализуют управление конкретными моделями на основе кода исходных проектов. Их проверяют отдельно от каталога команд, испытанных на оборудовании. Они включаются автоматически после распознавания модели. Для нового экспериментального профиля нужны закреплённый источник, типизированные операции с чёткими границами, независимое считывание результата, приостановка записи и восстановление. Необходимо перечислить всё, что ещё не проверено.
Ниже описан переход к проверенной поддержке. Совпадение с upstream-кодом не заменяет проверку применения, восстановления и жизненного цикла на устройстве.
- Запишите название и номер модели, VID/PID, прошивку, назначение HID, длины отчётов и надёжный способ проверки компьютера. Серийный номер ноутбука не включайте.
- Найдите ровно один подходящий интерфейс, используя только чтение. Не допускайте устройство, если оно отсутствует, заблокировано, не соответствует требованиям или его нельзя определить однозначно.
- Перед проверкой записи реализуйте безопасные запросы идентификации, охлаждения, вентиляторов, батареи, подсветки и прошивки. Отклоняйте неверные и неизвестные ответы.
- Соберите доказательства о модели с помощью Synapse Observer. Следуйте руководству по безопасному тестированию для каждого значения и режима питания. Сохраняйте и восстанавливайте исходное значение. Собирайте доказательства именно на этой модели.
- Добавляйте только типизированные проверенные операции. Без доказательств управление остаётся недоступным. Общие названия можно использовать повторно, но различия байтов должны оставаться в протоколе модели. Не предоставляйте API сырых команд.
- Проверьте переподключение, сон и пробуждение, перезапуск службы, смену питания, неверные ответы, другие контроллеры, восстановление и длительную работу. Затем добавьте таблицу протокола модели, точный охват прошивок и проверенную ревизию ядра.
Карта интеграции
| Уровень | Задачи участника | Поведение при сбое |
|---|---|---|
| Идентификация | Определите номер модели, VID/PID, наблюдаемые версии BIOS, EC и MCU, проверенный диапазон прошивок, кортежи назначения и точные длины отчётов. | Отклоняйте устройство при отсутствии, несовпадении или неоднозначности обязательных данных. Справочные версии, которые нельзя безопасно прочитать, отмечайте как недоступные. |
| Оболочка отчёта | Общий кодек допустим только после подтверждения одинакового поведения статуса, транзакции, класса, ID, длины данных, контрольной суммы, ID отчёта, заполнения и завершающего байта. | Отклоняйте неверные и неизвестные ответы, не подменяя их значениями по умолчанию. |
| Запросы | Реализуйте типизированные запросы и декодеры ответов каждой команды до того, как состояние станет использоваться логикой или интерфейсом. | Если запрос недоступен или результат неизвестен, оставьте соответствующую функцию недоступной и не принимайте на его основе решения о питании. |
| Команды записи | Для каждого очищенного образца добавьте именованное действие. Предусмотрите независимое считывание результата либо задокументируйте одноразовый контракт ответа и доказательства восстановления. | Не добавляйте API для сырых классов, ID или данных. Команда без доказательств остаётся недоступной. |
| Возможности | Предоставляйте только команды, разрешённые точной идентификацией, допущенными образцами, читаемым состоянием, ограничениями питания и владением контроллером. | У новой модели может быть меньше доступных настроек, чем у старой. |
| Документация | Добавьте таблицу модели и проверенную ревизию ядра. Описывайте ответы символически, кроме случаев, когда точные байты поясняют контракт. | Документация не может разрешить команду, не допущенную ядром. |
Перед открытием pull request
- Приложите очищенные образцы, тесты декодера и интеграции, доказательства восстановления и результаты интерактивной проверки.
- Докажите, что OpenBlade не пишет при несовпадении PID, идентификации, кортежа назначения, длины отчёта или неоднозначности интерфейса.
- Описывайте чтение и запись отдельно: допустимые длины ответов, границы значений и ограничения считывания результата.
- Укажите способ подтверждения: точное считывание результата, общее состояние, визуальное наблюдение или одноразовый ответ.
- Проверьте перезапуск, переподключение, сон и пробуждение, смену питания и внешние контроллеры без циклов записи.
- Убедитесь, что интерфейс и служба соблюдают ограничения питания, а экспорт диагностики очищен от личных данных.
- Дайте ссылки на изменение документации и проверенную
openblade-coreревизию. - Перечислите неподдерживаемые возможности и операции только для записи.
- Не публикуйте сырые захваты и локальные журналы.