Valve выпустила скрипт для диагностики проблем с беспроводным адаптером Steam Frame в Linux. Файл frame-dongle-troubleshoot.sh доступен в официальном репозитории SteamVR-for-Linux. Инструмент обновляют по мере обнаружения новых неполадок. На момент публикации актуальна версия 0.3.
Адаптер обеспечивает беспроводное соединение гарнитуры с компьютером, но для его работы нужны подходящие драйверы и настройки системы. Причин сбоя может быть несколько, а результат обычно один: устройство не работает, и непонятно почему. Скрипт последовательно проверяет известные проблемы и сообщает, что мешает подключению.
Такой инструмент особенно полезен в Linux, где дистрибутивы отличаются версиями ядра, набором драйверов и сетевыми настройками. Вместо того чтобы предлагать одну инструкцию на все случаи, Valve помогает пользователю найти причину сбоя в его системе.

Что проверяет скрипт
Проверки разделены на четыре группы: от обязательных условий для работы адаптера до настроек, на которые стоит обратить внимание при неполадках.
- Драйвер и версия ядра. Адаптеру нужен драйвер rtw89. Сначала скрипт ищет его среди загруженных модулей и лишь затем проверяет версию ядра. Это важно, поскольку в SteamOS драйвер устанавливается отдельно и может работать с более ранними ядрами. Если драйвера нет, а версия ядра ниже 7.2, скрипт пояснит, что штатная поддержка появилась с этой версии. Если ядро достаточно новое, отсутствие драйвера может означать, что его не включили в сборку дистрибутива.
- Состояние Wi-Fi. Если беспроводная связь отключена программно, адаптер тоже не сможет работать. Скрипт проверяет, нет ли такой блокировки.
- Регуляторный домен. Это одна из основных причин проблем с подключением. Подробнее о ней – ниже.
- Брандмауэр. Скрипт запускается без прав администратора и не может проверить его правила, поэтому выводит список портов, необходимых для подключения.
Результаты оформлены так, чтобы их можно было обрабатывать автоматически. Строки с префиксом PROBLEM: указывают на проблемы, которые мешают работе адаптера, а с INFO: – на настройки, которые стоит проверить. После префикса указан тип проблемы. Последняя строка содержит итог: SUCCESS или FAILURE. Судя по комментарию в коде, Valve планирует использовать этот формат и в дальнейшем.
Почему важен регуляторный домен
Адаптер использует диапазон 6 ГГц, доступность которого зависит от страны. Регуляторный домен сообщает беспроводному модулю, какие частоты разрешены в текущем регионе. Если он не задан, система использует значение 00 и набор правил DFS-UNSET с жёсткими ограничениями. Диапазон 6 ГГц в таком случае недоступен, и адаптер не сможет работать как положено.
Скрипт выявляет две ситуации: регуляторный домен не указан либо указан, но его правила не разрешают работу в диапазоне 6 ГГц. Во втором случае Valve предупреждает: если выбранный регион соответствует вашему местоположению, не стоит менять его на произвольный. Использование частот должно соответствовать местным требованиям.
Из-за этой настройки адаптер может казаться исправным: сетевой менеджер видит устройство и доступные сети, а гарнитура и клиент Steam обнаруживают друг друга. При этом передача изображения не начинается, поскольку нужный диапазон остаётся недоступным.
Для случая, когда правила региона действительно не разрешают диапазон 6 ГГц, Valve предлагает в тексте скрипта обходное решение и отдельно просит не подменять домен на американский. Вместо беспроводного соединения рекомендуется перевести гарнитуру в режим разработчика через раздел настроек «Система» и подключить её к компьютеру кабелем USB.
Какие порты должны быть открыты
Поскольку скрипт не проверяет правила брандмауэра, он предлагает сверить их вручную. Для обнаружения гарнитуры и клиента Steam нужны следующие порты:
TCP: 27036, 27037 UDP: 27031, 27036
Для передачи изображения в гарнитуру дополнительно требуются:
UDP: 10400, 10401
Как запустить скрипт
Скачайте файл из репозитория, разрешите его выполнение и запустите в терминале. Права администратора не нужны:
curl -O https://raw.githubusercontent.com/ValveSoftware/SteamVR-for-Linux/master/frame-dongle-troubleshoot.sh chmod +x frame-dongle-troubleshoot.sh ./frame-dongle-troubleshoot.sh
На системе с неполадками результат может выглядеть так:
-- Steam Frame Wireless Dongle Troubleshooting script v0.3 -- -- Lines beginning with PROBLEM are issues which will prevent the dongle from working. -- Lines beginning with INFO may not prevent the dongle from working, but are worth looking into. PROBLEM:DRIVER: While you're on a recent enough kernel, the rtw89 driver appears to be missing and may not have been compiled for your distro. PROBLEM:REGDOMAIN: Your regulatory domain is set to 00 and using the DFS-UNSET rules set. Set an appropriate regulatory domain for your location.
В этом примере скрипт обнаружил сразу две проблемы: драйвер отсутствует, хотя версия ядра подходит, а регуляторный домен не настроен.
Мы запустили скрипт на собственной машине со стабильной SteamOS 3.8.28. Самого адаптера у нас нет, но проверка всё равно оказалась показательной:
PROBLEM:KERNEL: You are on kernel 6.18.50, and must be on kernel 7.2 or later for the driver to be available by default. PROBLEM:REGDOMAIN: Your regulatory domain is set to RU and using the DFS-UNSET rules set. Set an appropriate regulatory domain for your location. FAILURE: The problems above will need to be addressed before the dongle will work.
Первая строка ожидаема: в стабильной ветке SteamOS используется ядро 6.18, а адаптеру нужно 7.2 или новее. Такое ядро есть только в ветке 3.9, которая пока распространяется через предварительный канал обновлений, так что владельцам стабильной версии придётся переключать канал.
Вторая строка интереснее. Регуляторный домен на машине задан, это RU, но набор правил при этом DFS-UNSET, и скрипт считает такое сочетание проблемой. Проверка в коде срабатывает либо на незаданном домене, либо на наборе правил DFS-UNSET, независимо от страны. Поэтому совет «задайте подходящий домен» в этой ситуации сбивает с толку: домен указан, а дело в наборе правил, который не включает нужный диапазон.
Что нужно для работы адаптера
Среди текущих минимальных требований указаны SteamOS 3.9 или новее, ядро Linux 7.2 и актуальные графические драйверы. При этом поддержка адаптера появилась в SteamOS ещё в бета-версии 3.8.25. В других дистрибутивах важно проверить не только версию ядра, но и наличие нужного драйвера в его сборке.
Valve продолжает дорабатывать скрипт и добавлять проверки по мере обнаружения новых причин сбоев.