Score:2

CH340 อุปกรณ์ซีเรียลไม่ปรากฏใน /dev/ (WSL)

ธง cn

ฉันมี arduino nano clone พร้อมชิปซีเรียล CH340 ปรากฏใน lsusb เป็น QinHeng Electronics HL-340 อะแดปเตอร์ USB-Serial และเมื่อมันเชื่อมต่อฉันสามารถเห็นได้ใน dmesg ด้วยการบันทึกต่อไปนี้:

[ 31.251098] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
[ 31.251544] vhci_hcd vhci_hcd.0: devid(65541) speed(2) speed_str(ความเร็วเต็ม)
[ 31.252004] vhci_hcd vhci_hcd.0: ติดอุปกรณ์แล้ว
[ 31.538489] vhci_hcd: ไม่ได้ตั้งค่าความเร็ว vhci_device
[ 31.608492] usb 1-1: อุปกรณ์ USB ความเร็วสูงใหม่หมายเลข 2 โดยใช้ vhci_hcd
[ 31.698522] vhci_hcd: ไม่ได้ตั้งค่าความเร็ว vhci_device
[31.768510] usb 1-1: คำขอ SetAddress (2) ไปยังพอร์ต 0
[ 31.812328] usb 1-1: พบอุปกรณ์ USB ใหม่, idVendor=1a86, idProduct=7523, bcdDevice= 2.63
[ 31.812734] usb 1-1: สตริงอุปกรณ์ USB ใหม่: Mfr=0, Product=2, SerialNumber=0
[31.813059] usb 1-1: สินค้า: USB2.0-Serial

แต่ไม่มี /dev/ttyUSB*

ขอบคุณ.

NotTheDr01ds avatar
vn flag
คุณใช้ USB/IP หรือพยายามเข้าถึงโดยตรงจาก WSL หรือไม่ AFAIK เฉพาะ USB/IP เท่านั้นที่จะใช้งานได้ (และเฉพาะในเคอร์เนลล่าสุด ซึ่งคุณเห็นได้ชัดว่ามี)
Leo Bound avatar
cn flag
USB/IP (พร้อม usbipd) ใน WSL2 บน Win11 ปรากฏพร้อมกับ lsusb เป็น "Bus 001 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter" และ uname -r คือ "5.10.60.1-microsoft-standard-WSL2"
Score:5
ธง cn

ในขณะที่เขียนสิ่งนี้ สาเหตุของการขาดการสนับสนุนสำหรับอุปกรณ์ซีเรียล USB นั้นเกิดจากการที่โมดูลไม่รวมอยู่ในเคอร์เนล WSL

คุณสามารถคอมไพล์เคอร์เนล WSL ของคุณเองด้วยโมดูลโดยทำดังต่อไปนี้:

  1. คุณอาจต้องการการพึ่งพาเหล่านี้: sudo apt ติดตั้ง build-essential flex bison libssl-dev libelf-dev คนแคระ libncurses-dev

  2. โคลน repo WSL2 ด้วย: คอมไพล์โคลน https://github.com/microsoft/WSL2-Linux-Kernel.git

  3. เปลี่ยนไดเรกทอรีเป็นโฟลเดอร์ WSL2-Linux-Kernel: cd WSL2-Linux-เคอร์เนล

  4. แก้ไขการกำหนดค่าเคอร์เนลโดยเรียกใช้ ทำให้ menuconfig KCONFIG_CONFIG=Microsoft/config-wsl.

  5. ไปที่ ไดรเวอร์อุปกรณ์ -> รองรับ USB -> รองรับ USB Serial Converter จากนั้นเปิดใช้งานไดรเวอร์ของคุณที่นี่

    • ตระกูล CP210x นั้นพบได้ทั่วไปในบอร์ดพัฒนาไมโครคอนโทรลเลอร์
    • คุณอาจต้องการให้สิ่งเหล่านี้ถูกอบเข้าไปในเคอร์เนลเพื่อกด หรือ ช่องว่าง สองครั้งเพื่อให้แน่ใจว่าเปิดใช้งานด้วย <*> ค่อนข้างมากกว่า <M>.

    จากนั้นบันทึกและออกจาก menuconfig และเขียนทับ config-wsl

- คุณไม่ควรใช้จุดขีดทับต่อไปนี้ แต่เป็นทางเลือกแทนสองจุดก่อนหน้า -

3. แก้ไขไฟล์ config-wsl: นาโน Microsoft/config-wsl (หรือใช้ตัวแก้ไขที่คุณเลือก)

âไปที่บรรทัด 2409 (shift+_ ตามด้วย 2409 ใน nano) และแทนที่ # CONFIG_USB_SERIAL_CH341 ไม่ได้ตั้งค่า กับ CONFIG_USB_SERIAL_CH341=y â- คุณอาจต้องการทำเช่นเดียวกันสำหรับ CONFIG_USB_SERIAL_CP210X - อะแดปเตอร์ USB แบบอนุกรมทั่วไปอีกตัว

  1. ปิดโปรแกรมแก้ไขข้อความและบันทึก (ctrl + x แล้ว แล้ว เข้าสู่ ด้วยนาโน)

  2. สร้างเคอร์เนลโดยใช้การกำหนดค่าเคอร์เนล WSL2: ทำให้ KCONFIG_CONFIG=Microsoft/config-wsl â- อาจใช้เวลาสักครู่ â- คุณสามารถเร่งความเร็วได้ด้วยอาร์กิวเมนต์ -j แต่อย่าลืมระบุค่าเช่น -j4

  3. คัดลอกเคอร์เนลที่คอมไพล์แล้วไปยังไดเร็กทอรีผู้ใช้ Windows ของคุณ: cp arch/x86/boot/bzImage /mnt/c/Users/<ชื่อผู้ใช้ของคุณที่นี่>/wsl_kernel

  4. สร้างไฟล์ในไดเร็กทอรีผู้ใช้ Windows ของคุณชื่อ .wslconfig และวางสิ่งนี้ลงใน:

[wsl2]
เคอร์เนล = C:\Users\<ชื่อผู้ใช้ของคุณที่นี่>\wsl_kernel
  1. ปิด WSL ด้วย wsl -- ปิดเครื่อง ในพรอมต์คำสั่งของ Windows

  2. เปิดเทอร์มินัล WSL ของคุณ และตอนนี้คุณควรจะสามารถเชื่อมต่ออุปกรณ์ซีเรียล USB ตามที่ระบุไว้ ที่นี่.

และหวังว่าทุกอย่างจะได้ผล! (ทดสอบบน Win10 และ Win11 กับ Ubuntu WSL2 distro)

Biswapriyo avatar
ng flag
ใช้ menuconfig แทนการแก้ไขไฟล์ปรับแต่งด้วยตนเอง
Leo Bound avatar
cn flag
@Biswapriyo ขอบคุณ ฉันไม่เคยยุ่งกับการกำหนดค่าเคอร์เนลมาก่อนเลยไม่ทราบวิธีที่ดีที่สุดที่จะทำ ฉันได้อัปเดตข้างต้นแล้วและขอขอบคุณสำหรับความคิดเห็นอื่น ๆ ที่ทุกคนมี
ro flag
ฉันสามารถยืนยันได้ว่าทั้งโฟลว์ manual และ menuconfig ใช้งานได้! ฉันต้องติดตั้ง libncurses แต่ก็ทำงานได้อย่างสมบูรณ์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา