Vấn đề về cổng nối tiếp Arduino COM1


18

Tôi đã mua một Arduino Uno và cài đặt Arduino IDE 1.6.5 Nhưng khi tôi muốn tải một skarou lên bo mạch Arduino thì tôi gặp lỗi này:

avrdude: ser_open(): can't open device "COM1": No such file or directory

ioctl ("TIOCMGET"): ioctl không phù hợp cho thiết bị

Tôi đang sử dụng Ubuntu 14.04LTS

    hakan@hakan-pc:~$ ls -l /dev/ttyUSB0
ls: /dev/ttyUSB0'e erişilemedi: Böyle bir dosya ya da dizin yok(In English: No such a file like this)




 hakan@hakan-pc:~$ ls -l /dev/ttyS0
crw-rw-rw- 1 root dialout 4, 64 Tem  8 22:40 /dev/ttyS0

Trong khi Arduino cắm vào máy tính dmesg | đuôi :

    hakan@hakan-pc:~$ dmesg | tail
[   21.784795] sound hdaudioC1D3: hda-codec: out of range cmd 3:5:707:ffffffff
[   21.784969] sound hdaudioC1D3: hda-codec: out of range cmd 3:5:707:ffffffbf
[   21.786110] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffff
[   21.792705] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffff
[   26.849759] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffbf
[   27.515096] init: Failed to spawn nvidia-persistenced main process: unable to execute: No such file or directory
[   43.647261] audit: type=1400 audit(1436384452.263:72): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=2246 comm="apparmor_parser"
[   43.647270] audit: type=1400 audit(1436384452.263:73): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2246 comm="apparmor_parser"
[   43.647654] audit: type=1400 audit(1436384452.267:74): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2246 comm="apparmor_parser"
[   87.513268] systemd-hostnamed[2572]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!

Làm thế nào tôi có thể giải quyết vấn đề này?


Các dmesgmã không chứa các thông tin về cắm bảng Arduino ... hãy thay đổi nó với mục thích hợp. Nhân tiện, LANG=Cviệc chuẩn bị một lệnh sẽ cung cấp cho bạn các thông báo lỗi bằng tiếng Anh.
Rmano

Làm thế nào bạn nhận được COM1 trên Linux. Đó là cách Windows đặt tên
ps95

prakharsingh95 vâng tôi biết nhưng tôi không hiểu tại sao được xem là COM1. Dù sao trong thư mục / dev không có gì giống như COMx hoặc ttyACMx. Chỉ có tty (x) và ttyS (x).
Hakan Ormancı

Câu trả lời:


21
  1. Kết nối phần cứng Arduino của bạn. Mở Arduino IDE.
  2. Chuyển đến "Công cụ".
  3. Chuyển đến "Cổng".
  4. Chọn cổng mà Arduino được kết nối. (Nếu không có ổ đĩa ngoài nào khác được kết nối ngoại trừ Arduino, sẽ chỉ có một cổng)

    Điều này sẽ cho Arduino IDE biết cổng mà phần cứng của bạn được kết nối. Sau đó, bạn sẽ có thể tải lên bản phác thảo của mình thành công


2
Đó là (menu port) màu xám nhạt ..
Hakan Ormancı

2
@hakan thử chạy arduino với quyền root. trong thiết bị đầu cuối viết "sudo arduino"
kashish

@kasquer tôi đã thử nhưng không được
Hakan Ormancı

Không chọn cổng, woohoo hiện đang làm việc nhờ
RegarBoy

1
Thật là một giải pháp đơn giản và hoàn hảo !!!! Cứu lấy ngày của tôi. Tôi đã thử nhiều lệnh khác trong terminal mà không làm thay đổi tiến trình của tôi. Cảm ơn rất nhiều.
Shanki Bansal

8

Nếu bạn chạy Arduino IDE trên Ubuntu (Arduino 1.5.7 và Ubuntu 14.04 trong trường hợp của tôi), rất có thể bạn không thể tải lên bảng Arduino, do lỗi:

avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied
ioctl("TIOCMGET"): Inappropriate ioctl for device

Để sửa nó, hãy nhập lệnh:

$ sudo usermod -a -G dialout <username>
$ sudo chmod a+rw /dev/ttyUSB0

Tên người dùng của bạn ở đâu trong Ubuntu, / dev / ttyUSB0 là thiết bị được phát hiện của bo mạch Arduino của bạn.


2

Tôi đã gặp lỗi tương tự trên Ubuntu 14.04 với Arduino Uno. Điều làm việc cho tôi trước tiên là chọn cổng thích hợp trong Công cụ> Cổng và sau đó thay đổi quyền của cổng bằng lệnh như:

sudo chmod a+rw /dev/ttyUSB0

Sau đó, lỗi biến mất và tôi có thể tải lên tốt.


Tôi đã có lỗi này Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Permission denied. Vì vậy đã phải sử dụng sudo chmod a+rw /dev/ttyACM0 phép thuật của bạn , nhưng nó KHÔNG GIÚP ĐƯỢC. Vì vậy, tôi đã phải sử dụng lệnh này sudo adduser <username> dialoutvà sau đó đăng xuất / đăng nhập để làm cho mọi thứ hoạt động
Dimitry K

1

Tôi đã nhận được thông báo tương tự trong Ubuntu 14.04 và phiên bản 1.0.5 của IDE.

Tải chip FXI D2XX Trình điều khiển đã giải quyết vấn đề (chỉ cần tải xuống và làm theo cài đặt readme). Cổng nối tiếp đã có sẵn và cũng có thể tải lên UNO thành công.


1

Thay đổi chuỗi tệp lib / Preferences.txt từ serial.port = COM1 thành serial.port = / dev / ttyUSB0


0
  1. Quyền trên cổng USB
    Như Linux người dùng mà bạn sẽ cần phải là thành viên của nhóm dialout để có thể đọc và ghi vào bất kỳ /dev/tty*kết nối.
    Do đó, làm cho kết nối có thể ghi được trên thế giới HOẶC chạy Arduino IDE với quyền root không phải là cách tốt.
    Nó sẽ đủ để thêm người dùng vào nhóm dialout và đăng nhập lại sau đó:

    sudo adduser *username* dialout
  2. Kết nối USB COM1
    Arduino IDE được viết bằng Java, nhưng có lẽ vẫn phụ thuộc vào hệ điều hành. Có khả năng là bạn đã sử dụng gói zip Windows của IDE trên Hệ thống Linux không?

  3. Kết nối USB nói chung
    Rõ ràng máy tính của bạn không nhận ra kết nối USB với Arduino. Cố gắng tránh USB-Hub hoặc ổ cắm USB mà một số màn hình cung cấp, sử dụng kết nối trực tiếp.


0

Trên Kubfox 18.04, gói arduino cho vấn đề tương tự. Cách giải quyết của tôi là lấy một cái từ trang web arduino. Chỉ cần giải nén nó và thực hiện ./arduino để khởi chạy nó. Nó hoạt động tốt. Tạm biệt thế giới

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.