wsl

Обзор

Это руководство проведёт вас через процесс запуска meshtasticd в WSL, Подсистеме Windows для Linux.

Требования

Чтобы запустить meshtasticd на Windows через Подсистему Windows для Linux (WSL), ваш компьютер должен удовлетворять следующим требованиям:

:::tip

Это руководство написано с учётом Ubuntu в WSL. Могут потребоваться небольшие корректировки команд, выполняемых в Linux, в зависимости от вашего дистрибутива.

:::

Проверка предварительных требований

  1. Проверьте, что ваше распределение Linux для WSL имеет версию больше 5.10.60.1.
    • Сделайте это, выполнив uname -r в терминале WSL.
    • Возможно, потребуется обновить WSL, запустив wsl --update в повышенном командном приглашении или окне PowerShell.
  2. Проверьте, что ваша установка Linux для WSL является установкой WSL2.
    • Сделайте это, выполнив wsl --list --verbose
  3. Убедитесь, что USBIP-Win установлен и настроен.
    • В командном приглашении или окне PowerShell запустите usbipd list, чтобы перечислить ваши USB-устройства.
    • Если у вас не установлен usbip-win, вы можете установить его через .msi установщик, предоставленный на их GitHub, или запустив winget install usbipd для установки через Диспетчер пакетов Windows. Вам потребуется перезапустить командное приглашение или окно PowerShell, поскольку эта установка обновляет вашу PATH.

Подключение вашего совместимого с Meshtastic LoRA USB-модема к WSL

...через командную строку / PowerShell

  1. Пока оставьте ваш LoRA USB-модем отключённым. В повышенном командном приглашении или терминале PowerShell перечислите текущие видимые устройства с помощью usbipd list.
  2. Подключите ваш USB-модем, затем выполните ту же команду. Отметьте новое устройство, появившееся в списке, bus ID, связанный с ним, и device ID, принадлежащий ему.
  3. Выполните usbipd bind --busid=<BUSID>, где <BUSID> — это bus ID, выявленный на шаге 2, чтобы привязать устройство.
  4. Выполните usbipd attach --wsl --busid=<BUSID>, где <BUSID> — это bus ID, выявленный на шаге 2, чтобы подключить устройство к WSL2.
  5. В терминале WSL выполните lsusb, чтобы увидеть ваше устройство с device ID, который вы выявили на шаге 2. Если вы видите ваше устройство в этом списке, то вы правильно настроили usbipd для вашего LoRA-модема.

:::note

Привязка сохраняется после перезагрузок, но подключение устройства — нет. Вам придётся переподключать модем через usbipd каждый раз, когда вы отключаете устройство от компьютера или перезагружаете хост.

:::

...через wsl-usb-manager

Приложение wsl-usb-manager упрощает привязку и совместное использование USB-устройств по IP для тех, кто неудобно себя чувствует (или считает неудобным) с использованием командной строки. Шаги по привязке и подключению USB-устройства по IP такие же, как в варианте с CLI выше, но с графическим интерфейсом.

Установка meshtasticd в вашем экземпляре WSL

:::info

Обратитесь к инструкциям по установке для Linux для вашего дистрибутива. В этом примере мы будем использовать Ubuntu.

:::

После установки meshtasticd выполните sudo meshtastic. Проверьте, что оно запускается, затем завершите процесс на время.

Настройка вашего узла meshtastic

Вы можете настроить ваш узел Meshtastic через командную строку или веб-клиент демона.

Доступ к узлу Meshtastic через CLI

  1. Выполните ip a в терминале WSL, чтобы определить IP-адрес интерфейса eth0 вашего экземпляра WSL.
  2. Выполните meshtastic --host <WSL_IP_ADDRESS>, чтобы протестировать подключение к вашему контейнеру WSL.
  3. Выдавайте команды конфигурации с помощью CLI так же, как для любого другого устройства Meshtastic.

Включение и доступ к веб-клиенту Meshtastic

  1. Отредактируйте config.yaml, чтобы включить веб-сервер, раскомментировав записи Port и RootPath.
  2. Выполните ip a (или эквивалент) в терминале WSL, чтобы определить IP-адрес интерфейса eth0 вашего экземпляра WSL.
  3. Подключитесь к https://<WSL_IP_ADDRESS>:9443/ в вашем веб-браузере. (Вам может потребоваться принять самоподписанные сертификаты.)
  4. Продолжите настройку вашего узла так же, как для любого другого узла Meshtastic, например, установка региона, имени узла и т. д.

Некоторые замечания

Приложение

Преобразование WSL1 в WSL2

В случае, если у вас уже установлена WSL1, вам нужно будет обновить её до WSL2.

Выполнение wsl --set-version <distro> 2, где <distro> — имя установки WSL из wsl --list --verbose, может преобразовать вашу установку WSL1 в WSL2.

Однако, если вы не можете это сделать, это может означать, что ваша установка WSL на Windows сильно устарела и требует обновления. Следуйте этому руководству от Microsoft, чтобы выполнить обновление.

Ссылки