Deci, în momentul în care scriu acest lucru, motivul lipsei de suport pentru dispozitivele seriale USB se datorează faptului că modulele acestora nu sunt incluse în nucleul WSL.
Puteți compila propriul kernel WSL cu modulele făcând următoarele:
Este posibil să aveți nevoie de aceste dependențe: sudo apt install build-essential flex bison libssl-dev libelf-dev dwarves libncurses-dev
Clonează depozitul WSL2 cu: clona git https://github.com/microsoft/WSL2-Linux-Kernel.git
Schimbați directorul în folderul WSL2-Linux-Kernel: cd WSL2-Linux-Kernel
Modificați configurația kernelului rulând face menuconfig KCONFIG_CONFIG=Microsoft/config-wsl
.
Mergi la Drivere de dispozitiv -> Suport USB -> Suport USB Serial Converter
apoi activați driverele aici.
- Familia CP210x este, de asemenea, comună pe plăcile de dezvoltare pentru microcontrolere.
- Probabil vrei ca acestea să fie coapte în miez, așa că apasă
y
sau spaţiu
de două ori pentru a vă asigura că sunt activate cu <*>
Decat <M>
.
Apoi salvați și părăsiți menuconfig și suprascrieți config-wsl.
- Probabil că nu ar trebui să utilizați următoarele puncte barate, dar acestea sunt o alternativă la cele două anterioare -
3. Modificați fișierul config-wsl: nano Microsoft/config-wsl
(Sau utilizați editorul dorit).
âAccesați linia 2409 (shift+_ apoi 2409 în nano) și înlocuiți # CONFIG_USB_SERIAL_CH341 nu este setat
cu CONFIG_USB_SERIAL_CH341=a
â- Poate doriți să faceți același lucru pentru CONFIG_USB_SERIAL_CP210X
- un alt adaptor serial-usb comun.
Închideți editorul de text și salvați (ctrl + x
atunci y
atunci introduce
cu nano).
Construiți nucleul utilizând configurația nucleului WSL2: face KCONFIG_CONFIG=Microsoft/config-wsl
â- Acest lucru poate dura ceva timp
â- Puteți accelera acest lucru cu argumentul -j, dar asigurați-vă că specificați o valoare, de ex. -j4
Copiați nucleul compilat în directorul de utilizator Windows: cp arch/x86/boot/bzImage /mnt/c/Users/<numele-de-utilizator-aici>/wsl_kernel
Creați un fișier în directorul de utilizator Windows numit .wslconfig și inserați acesta în el:
[wsl2]
kernel = C:\Utilizatori\<numele-utilizator-aici>\wsl_kernel
Închideți WSL cu wsl --oprire
într-un prompt de comandă Windows.
Deschideți terminalul WSL și acum ar trebui să puteți conecta dispozitive seriale USB așa cum este descris Aici.
Și sperăm că totul ar trebui să funcționeze!
(Testat pe Win10 și Win11 cu distribuția Ubuntu WSL2)