Проблема с последовательным портом Arduino COM1


18

Я купил Arduino Uno и установил Arduino IDE 1.6.5 Но когда я хочу загрузить скетч на плату Arduino, я получаю эту ошибку:

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

ioctl ("TIOCMGET"): неподходящий ioctl для устройства

Я использую 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

Пока Arduino подключен к компьютеру dmesg | хвост :

    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!

Как я могу решить эту проблему?


dmesgКод не содержит информацию о подключении к Arduino плата ... пожалуйста , измените его с соответствующим одним. Кстати, добавление LANG=Cк команде должно давать вам сообщения об ошибках на английском языке.
Rmano

Как вы получаете COM1 на Linux. Вот как называет Windows
PS95

prakharsingh95 да, я знаю, но я не понимаю, почему рассматривается как COM1.В любом случае в каталоге / dev нет ничего подобного COMx или ttyACMx. Есть только tty (x) и ttyS (x).
Хакан Орманчи

Ответы:


21
  1. Подключите ваше оборудование Arduino. Откройте Arduino IDE.
  2. Перейти к «Инструменту».
  3. Перейти в «Порт».
  4. Выберите порт, к которому подключен Arduino. (Если не подключен другой внешний диск, кроме Arduino, будет только один порт)

    Это сообщит Arduino IDE порт, к которому подключено ваше оборудование. После этого вы сможете успешно загрузить свой эскиз


2
Это (меню порта) серое.
Hakan Ormancı

2
@hakan попробуйте запустить Arduino от имени пользователя root. в терминале напишите "sudo arduino"
кашиш

@kasnish ​​Я пытался, но это не сработало
Hakan Ormancı

Не выбрал порт, woohoo теперь работает, спасибо
RegarBoy

1
какое простое и идеальное решение !!!! Спаси мой день. Я испытал много других команд в терминале, который не меняет моего прогресса. Большое спасибо.
Шанки Бансал

8

Если вы запускаете Arduino IDE в Ubuntu (Arduino 1.5.7 и Ubuntu 14.04 в моем случае), вы, скорее всего, не сможете загрузить его на плату Arduino из-за ошибки:

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

Чтобы это исправить, введите команду:

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

Где ваше имя пользователя в Ubuntu, / dev / ttyUSB0 - это обнаруженное устройство вашей платы Arduino.


2

Я получал ту же ошибку на Ubuntu 14.04 с Arduino Uno. Для меня сначала сработал выбор соответствующего порта в меню «Инструменты»> «Порт», а затем изменение разрешения порта с помощью команды, например:

sudo chmod a+rw /dev/ttyUSB0

Тогда ошибка исчезла, и я мог загрузить нормально.


У меня была эта ошибка, Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Permission denied. поэтому пришлось использовать вашу sudo chmod a+rw /dev/ttyACM0 магию, но она не помогла. Поэтому мне пришлось использовать эту команду, sudo adduser <username> dialoutа затем выйти / войти, чтобы все заработало
Dimitry K

1

Я получил такое же сообщение в Ubuntu 14.04 и версии IDE 1.0.5.

Загрузка микросхемы FTDI Драйверы D2XX решили проблему (только что скачали и следили за установкой readme). Последовательный порт был доступен и был также в состоянии успешно загрузить в ООН.



0
  1. Права доступа к USB-порту.
    Как пользователь Linux, вы должны быть участником группового набора, чтобы иметь возможность читать и записывать любые /dev/tty*подключения.
    Таким образом, сделать соединение доступным для записи всем ИЛИ, запустив IDE Arduino в качестве пользователя root, - не то, что нужно.
    Этого будет достаточно, чтобы добавить вашего пользователя в групповой набор и затем повторно войти в систему:

    sudo adduser *username* dialout
  2. USB-соединение COM1
    Arduino IDE написана на Java, но, вероятно, все еще зависит от ОС. Возможно ли, что вы использовали zip-пакет Windows IDE в системе Linux?

  3. Общее USB-соединение
    Очевидно, что ваш компьютер не распознал USB-соединение с Arduino. Старайтесь избегать USB-концентраторов или USB-разъемов, которые есть на некоторых дисплеях, используйте прямое подключение.


0

На Kubuntu 18.04 пакет arduino дает похожую проблему. Мой обходной путь состоял в том, чтобы получить тот с веб-сайта arduino. Просто распакуйте его и сделайте ./arduino для его запуска. Работает нормально. Пока мир

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.