wsl
Обзор
Это руководство проведёт вас через процесс запуска meshtasticd в WSL, Подсистеме Windows для Linux.
Требования
Чтобы запустить meshtasticd на Windows через Подсистему Windows для Linux (WSL), ваш компьютер должен удовлетворять следующим требованиям:
- Windows 10 (64-разрядная), версия 1809 или новее
- Распределение Linux для WSL с версией ядра больше 5.10.60.1.
- Распределение Linux для WSL под WSL 2
- Установленный USBIP Device Host usbipd-win версии 4.0.0 или новее
- (опционально) Скачанный wsl-usb-manager
:::tip
Это руководство написано с учётом Ubuntu в WSL. Могут потребоваться небольшие корректировки команд, выполняемых в Linux, в зависимости от вашего дистрибутива.
:::
Проверка предварительных требований
- Проверьте, что ваше распределение Linux для WSL имеет версию больше 5.10.60.1.
- Сделайте это, выполнив
uname -rв терминале WSL. - Возможно, потребуется обновить WSL, запустив
wsl --updateв повышенном командном приглашении или окне PowerShell.
- Сделайте это, выполнив
- Проверьте, что ваша установка Linux для WSL является установкой WSL2.
- Сделайте это, выполнив
wsl --list --verbose
- Сделайте это, выполнив
- Убедитесь, что USBIP-Win установлен и настроен.
- В командном приглашении или окне PowerShell запустите
usbipd list, чтобы перечислить ваши USB-устройства. - Если у вас не установлен
usbip-win, вы можете установить его через .msi установщик, предоставленный на их GitHub, или запустивwinget install usbipdдля установки через Диспетчер пакетов Windows. Вам потребуется перезапустить командное приглашение или окно PowerShell, поскольку эта установка обновляет вашу PATH.
- В командном приглашении или окне PowerShell запустите
Подключение вашего совместимого с Meshtastic LoRA USB-модема к WSL
...через командную строку / PowerShell
- Пока оставьте ваш LoRA USB-модем отключённым. В повышенном командном приглашении или терминале PowerShell перечислите текущие видимые устройства с помощью
usbipd list. - Подключите ваш USB-модем, затем выполните ту же команду. Отметьте новое устройство, появившееся в списке, bus ID, связанный с ним, и device ID, принадлежащий ему.
- Выполните
usbipd bind --busid=<BUSID>, где<BUSID>— это bus ID, выявленный на шаге 2, чтобы привязать устройство. - Выполните
usbipd attach --wsl --busid=<BUSID>, где<BUSID>— это bus ID, выявленный на шаге 2, чтобы подключить устройство к WSL2. - В терминале 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
- Выполните
ip aв терминале WSL, чтобы определить IP-адрес интерфейса eth0 вашего экземпляра WSL. - Выполните
meshtastic --host <WSL_IP_ADDRESS>, чтобы протестировать подключение к вашему контейнеру WSL. - Выдавайте команды конфигурации с помощью CLI так же, как для любого другого устройства Meshtastic.
Включение и доступ к веб-клиенту Meshtastic
- Отредактируйте
config.yaml, чтобы включить веб-сервер, раскомментировав записи Port и RootPath. - Выполните
ip a(или эквивалент) в терминале WSL, чтобы определить IP-адрес интерфейса eth0 вашего экземпляра WSL. - Подключитесь к
https://<WSL_IP_ADDRESS>:9443/в вашем веб-браузере. (Вам может потребоваться принять самоподписанные сертификаты.) - Продолжите настройку вашего узла так же, как для любого другого узла Meshtastic, например, установка региона, имени узла и т. д.
Некоторые замечания
- Поскольку WSL не имеет демона
system, когда вы сохраняете настройки через CLI Meshtastic или веб-клиент, вам придётся перезапуститьmeshtasticdв вашем экземпляре WSL.
Приложение
Преобразование WSL1 в WSL2
В случае, если у вас уже установлена WSL1, вам нужно будет обновить её до WSL2.
Выполнение wsl --set-version <distro> 2, где <distro> — имя установки WSL из wsl --list --verbose, может преобразовать вашу установку WSL1 в WSL2.
Однако, если вы не можете это сделать, это может означать, что ваша установка WSL на Windows сильно устарела и требует обновления. Следуйте этому руководству от Microsoft, чтобы выполнить обновление.
Ссылки
- Microsoft - https://learn.microsoft.com/en-us/windows/wsl/connect-usb