ฉันใช้ Ubuntu 20.04.3 LTS
เมื่อฉันพยายามอัปโหลดจาก arduino ฉันได้รับ
avrdude: ser_open(): ไม่สามารถเปิดอุปกรณ์ "/dev/ttyUSB0": อินพุต/เอาต์พุตผิดพลาด
เมื่อฉันพยายามเปิดจอภาพแบบอนุกรม
เกิดข้อผิดพลาดในการเปิดพอร์ตอนุกรม '/dev/ttyUSB0' (ไม่พบพอร์ต)
ถ้าฉันใช้ชนิดอื่นของ usb to serial (pl2303) มอนิเตอร์แบบอนุกรมก็ใช้งานได้ดี
ฮาร์ดแวร์ทำงานได้ดีฉันทดสอบบนเครื่อง windows และไม่มีปัญหา
$ lsmod | grep usbซีเรียล
usbserial 53248 2 pl2303,ch341
dmesg ให้:
[451.329190] usb 10-2: อุปกรณ์ USB ความเร็วสูงใหม่หมายเลข 2 โดยใช้ xhci_hcd
[451.505205] usb 10-2: พบอุปกรณ์ USB ใหม่, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
[ 451.505219] usb 10-2: สตริงอุปกรณ์ USB ใหม่: Mfr=0, Product=2, SerialNumber=0
[451.505223] usb 10-2: สินค้า: USB2.0-Serial
[451.556668] usbcore: ไดรเวอร์อินเทอร์เฟซใหม่ที่ลงทะเบียน usbserial_generic
[451.556686] usbserial: รองรับ USB Serial ที่ลงทะเบียนสำหรับทั่วไป
[451.558302] usbcore: ไดรเวอร์อินเทอร์เฟซใหม่ที่ลงทะเบียน ch341
[451.559378] usbserial: รองรับ USB Serial ที่ลงทะเบียนสำหรับ ch341-uart
[451.559976] ch341 10-2:1.0: ตรวจพบตัวแปลง ch341-uart
[451.573480] usb 10-2: ตัวแปลง ch341-uart เชื่อมต่อกับ ttyUSB0 แล้ว
[463.937493] usb 10-2: ล้มเหลวในการรับข้อความควบคุม: -110
[463.937504] ch341-uart ttyUSB0: ไม่สามารถอ่านสถานะโมเด็ม: -110
[482.625628] usb 10-2: ล้มเหลวในการรับข้อความควบคุม: -110
[482.625701] ch341-uart ttyUSB0: ไม่สามารถอ่านสถานะโมเด็ม: -110
[501.281699] usb 10-2: ล้มเหลวในการรับข้อความควบคุม: -110
[501.281710] ch341-uart ttyUSB0: ไม่สามารถอ่านสถานะโมเด็ม: -110
และด้วย pl2303:
[1751.189867] usb 10-2: ตัดการเชื่อมต่อ USB หมายเลขอุปกรณ์ 2
[1751.190187] ch341-uart ttyUSB0: ตัวแปลง ch341-uart ถูกตัดการเชื่อมต่อจาก ttyUSB0 แล้ว
[1751.190220] ch341 10-2:1.0: อุปกรณ์หลุด
[1786.822056] usb 10-2: อุปกรณ์ USB ความเร็วสูงใหม่หมายเลข 3 โดยใช้ xhci_hcd
[1786.996937] usb 10-2: พบอุปกรณ์ USB ใหม่, idVendor=067b, idProduct=2303, bcdDevice= 3.00
[1786.996946] usb 10-2: สตริงอุปกรณ์ USB ใหม่: Mfr=1, Product=2, SerialNumber=0
[1786.996951] usb 10-2: สินค้า: USB-Serial Controller
[1786.996954] usb 10-2: ผู้ผลิต: Prolific Technology Inc.
[1787.046337] usbcore: ไดรเวอร์อินเทอร์เฟซใหม่ที่ลงทะเบียน pl2303
[1787.046367] usbserial: รองรับ USB Serial ที่ลงทะเบียนสำหรับ pl2303
[ 1787.046410] pl2303 10-2:1.0: ตรวจพบตัวแปลง pl2303
[1787.076108] usb 10-2: ตัวแปลง pl2303 เชื่อมต่อกับ ttyUSB0 แล้ว
ฉันลองทำหลายสิ่งหลายอย่าง เช่น การเพิ่มผู้ใช้ในการโทรออกและการอนุญาตไฟล์
ทำอะไรได้บ้าง?
แก้ไข:
ls -al /dev/ | grep ttyUSB*
crw-rw---- 1 ss โทรออก 188, 0 ธ.ค. 62 16:58 น. ttyUSB0
เหมือนกันสำหรับทั้งสองอุปกรณ์
แก้ไข:
หลังจาก
sudo usermod -a -G ชื่อผู้ใช้โทรออก && sudo chmod a+rw /dev/ttyUSB0 && sudo chown root:dialout -R /dev/
ls -al /dev/ttyUSB*
crw-rw-rw- 1 โทรออกรูท 188, 0 ธันวาคม 19 20:40 /dev/ttyUSB0
ข้อผิดพลาดเดียวกันในการตรวจสอบอนุกรม arduino และ dmesg เหมือนกับด้านบน
อัปเดต:
ติดตั้ง arduino บนเครื่องอื่น (แล็ปท็อปเครื่องเดียวกันที่มี windows7 คนละ hdd) เรียกใช้เฉพาะการเพิ่มผู้ใช้ไปยังกลุ่มการโทรออกและทำงานได้ดีในการอัปโหลดร่างทดสอบจาก arduino รุ่นเดียวกัน "Ubuntu 20.04.3 LTS"
แล็ปท็อปเป็นรุ่นเก่าเท่านั้น usb2.0 พีซี "ใหม่กว่า" (อายุ 5-6 ปี) และใช้พอร์ต usb3.0 เปลี่ยนเป็นพอร์ต 2.0 และตอนนี้ดีขึ้น แต่ปัญหาอื่น:
จอภาพแบบอนุกรมกำลังรับอักขระแบบสุ่มในช่วงเวลาสุ่ม:
MCbK19:kEPUqPJv0Zyq71dlX19QDFDFR
2K19:m4GjpRJ7cNnR9AxB
X19K19:M4yD0kmEvONihR79X19
DFUDK19:OVyzqIbEKK4VAUCcX19DF
?????
ฉันสามารถอัปโหลดภาพร่างได้หากฉันสามารถส่งระหว่างตัวอักษรแบบสุ่มได้
แก้ไขปัญหาได้โดยใช้พอร์ต USB2.0