Vì vậy, khi viết bài này, lý do thiếu hỗ trợ cho các thiết bị nối tiếp USB là do các mô-đun của chúng không được bao gồm trong nhân WSL.
Bạn có thể biên dịch hạt nhân WSL của riêng mình với các mô-đun bằng cách thực hiện như sau:
Bạn có thể cần những phụ thuộc này: sudo apt cài đặt build-essential flex bison libssl-dev libelf-dev người lùn libncurses-dev
Sao chép repo WSL2 bằng: git clone https://github.com/microsoft/WSL2-Linux-Kernel.git
Thay đổi thư mục thành thư mục WSL2-Linux-Kernel: cd WSL2-Linux-Kernel
Sửa đổi cấu hình kernel bằng cách chạy tạo menuconfig KCONFIG_CONFIG=Microsoft/config-wsl
.
Đi đến Trình điều khiển thiết bị -> Hỗ trợ USB -> Hỗ trợ Bộ chuyển đổi nối tiếp USB
sau đó kích hoạt trình điều khiển của bạn ở đây.
- Họ CP210x cũng phổ biến trên các bảng phát triển vi điều khiển.
- Bạn có thể muốn những thứ này được nướng vào nhân, vì vậy hãy nhấn
y
hoặc khoảng trống
hai lần để đảm bảo chúng được bật với <*>
còn hơn là <M>
.
Sau đó lưu và thoát menuconfig và ghi đè lên config-wsl.
- Bạn có thể không nên sử dụng các điểm sau đây nhưng chúng là một sự thay thế cho hai điểm trước -
3. Sửa đổi tệp config-wsl: nanoMicrosoft/config-wsl
(Hoặc sử dụng trình soạn thảo bạn chọn).
âChuyển đến dòng 2409 (shift+_ rồi 2409 trong nano) và thay thế # CONFIG_USB_SERIAL_CH341 chưa được đặt
với CONFIG_USB_SERIAL_CH341=y
– Bạn có thể muốn làm tương tự cho CONFIG_USB_SERIAL_CP210X
- một bộ chuyển đổi usb nối tiếp phổ biến khác.
Đóng trình soạn thảo văn bản của bạn và lưu (ctrl + x
sau đó y
sau đó đi vào
với nano).
Xây dựng kernel bằng cách sử dụng cấu hình kernel WSL2: tạo KCONFIG_CONFIG=Microsoft/config-wsl
- Quá trình này có thể mất một chút thời gian
â- Bạn có thể tăng tốc độ này bằng đối số -j nhưng đảm bảo chỉ định một giá trị, ví dụ:. -j4
Sao chép kernel đã biên dịch vào thư mục người dùng Windows của bạn: cp arch/x86/boot/bzImage /mnt/c/Users/<your-user-name-here>/wsl_kernel
Tạo một tệp trong thư mục người dùng Windows của bạn có tên .wslconfig và dán tệp này vào đó:
[wsl2]
kernel = C:\Users\<your-user-name-here>\wsl_kernel
Tắt WSL với wsl --shutdown
trong dấu nhắc lệnh của Windows.
Mở thiết bị đầu cuối WSL của bạn và bây giờ bạn sẽ có thể kết nối các thiết bị nối tiếp USB như đã nêu đây.
Và hy vọng mọi thứ sẽ hoạt động!
(Đã thử nghiệm trên Win10 và Win11 với bản phân phối Ubuntu WSL2)