Minicom невозможно открыть dev modem нет такого файла или каталога

Обновлено: 04.07.2024

  1. У Вас винмодем, а подходящий для него драйвер не установлен. Или модем неисправен. Или находится в режиме передачи данных ("online data mode"), если не отвечает. См. Винмодем
  2. Ваш модем не работает (disabled), поскольку ни BIOS, ни Linux не смогли подключить (enable) его. У него нет адреса I/O (тут подразумевается последовательный порт, к которому подключен модем -- замеч. перев.).
  3. Ваш модем подключен (enabled) и у него есть адрес I/O, но для данного адреса не назначен номер порта ttyS (например, ttyS14).
  4. Вашему модему (порту -- см. замеч. перев. выше) присвоен номер ttyS (ttyS4, к примеру), но Вы по ошибке используете неправильный номер (ttyS2 вместо ttyS4, например). См. неправильный_ttySx и/или wvdial и/или minicom (проверка модема)

Случай 1: Винмодем

Случаи 2-3

Случаи 2 и 3 означают, что для Вашего модема нет последовательного порта. См. Отсутствует последовательный порт.

Случай 4: Неправильный номер ttySx

Если Ваш случай -- четвертый, то Вам повезло. Вам просто надо найти, какой ttyS соответствует Вашему модему.

wvdial

В комплекте с wvdial идет программа wvdialconf, которая сама находит модемы, проверяя стандартные последовательные порты. Наберите "wvdialconf <название-нового-файла>". Это создаст новый файл настроек wvdial, в котором будет указан порт модема (если Вы не будете использовать wvdial, то этот файл Вам не пригодится). См. wvdialconf. Если модем находится в режиме передачи данных (online), то в таком случае wvdialconf сообщит "No modem detected" ("Модем не обнаружен"). См. minicom (проверка модема)

minicom (проверка модема)

Выяснить, присутствует ли на определенном порте модем, можно, запустив minicom (только перед этим в minicom надо сделать настройки для этого порта. Сделав настройки, сохраните их, выйдите из minicom и запустите его снова). Если, введя "AT", Вы не увидите в ответ "OK", то попробуйте ввести ATQ0 V1 E1. Если и после этого Вы не получаете в ответ OK (а, может, и вовсе не видите вводимые команды), то модема на данном порте, судя по всему, нет. Но может быть, что он не виден по одной из указанных выше причин -- случай 1, 2 или 3.

Помимо отсутствия ответа на AT-команды могут быть еще такие проблемы в minicom:

  • Много секунд занимает ожидание реакции на производимые действия (в том числе на перемещение курсора всего лишь на одну строчку вниз). См. Чрезвычайно медленно: текст появляется на экране медленно, после долгих задержек
  • Появляются непонятные символы, которых не должно быть в ответе на AT-команды. Такое может быть из-за того, что модем все еще может оставаться на связи, и с другого конца телефонной линии могут приходить какие-то пакеты или что-то еще.

18.2 "Modem is busy" ("Модем занят")

Если у Вас pci-модем, то узнать правильный адрес и irq модема поможет одна из команд: lspci -v, cat /proc/pci, dmesg. После этого посмотрите, показывает ли то же самое setserial. Если нет, то Вам надо, чтобы стартовый скрипт содержал команду setserial, которая сообщит драйверу правильные адрес и irq.

18.3 "You are already online! Hang up first." ("Вы уже на линии! Сперва отсоединитесь.") (от minicom)

18.4 На коробке модема написано 56k, а скорость к 56k не приближается :(

Чтобы скорость модема была близка к 56k, надо иметь линию с очень малым уровнем шумов. Но телефонные линии бывают настолько плохи, что на них максимум можно получить 28.8k или даже меньше. Иногда проблемы могут вызывать дополнительный(ые) телефон(ы), подключенный(ые) параллельно к этой же линии. Чтобы проверить это, можно отсоединить (если это возможно) от линии все, кроме модема, а сам модем подсоединить как можно ближе к месту, где телефонная линия входит в помещение. Скорость увеличилась? :)

18.5 Загрузка файлов либо прерывается, либо медленная

Данная проблема может быть вызвана тем, что отсутствует управление потоком ПК-модем и/или модем-модем). Случай отправки (uploading): При высокой скорости DTE (115.2k) исходящий поток (от ПК к модему и далее) из-за низкой пропускной способности телефонной линии не будет проходить весь. Это приведет к возникновению большого числа ошибок и повторной отправке пакетов. Таким образом, передача файла займет много времени. Файлы, вообще, могут "застрять" и никуда не уйти :) В обратном направлении (от модема к ПК) при высокой скорости DTE никаких проблем вроде бы быть не должно :)

Случай приема (downloading): Если задана низкая скорость DTE и отсутствует управление потоком, то в таком случае для принимаемого файла "пробка" может возникнуть на участке от модема к ПК (думаю, скорость порта должна быть очень низкой -- перев.). Также при отсутствии управления потоком передача может не получиться при загрузке больших несжатых файлов и веб-страниц, если модем использует сжатие данных (?).

Проверьте, что Вы используете правильный синтаксис init , соответствующий Вашей версии . Различным версиям init соответствуют различные синтаксисы файла /etc/inittab . Проверьте, что Вы используете правильный синтаксис getty , соответствующий Вашей версии .

Если Вы используете uugetty, проверьте правильность синтаксиса файла /etc/gettydefs , выполнив:

Рассматриваемая проблема также может возникать при неудачном запуске uugetty . См. uugetty по-прежнему не работает.

18.8 Прием звонков: getty не перезапускается после завершения соединения удаленным пользователем

Причиной этого может быть то, что модем не перезагружается правильно, когда происходит падение DTR при завершении соединения пользователем. У большинства Hayes-совместимых модемов все проходит нормально, если в их настройках стоит &D3 . Но в случае модемов USR Courier, SupraFax и некоторых других Вам надо задать &D2 (и еще S13=1 в некоторых случаях). Посмотрите в руководстве к своему модему (если, конечно, оно имеется :)), что должно быть. См. также Завершение входящего соединения

18.9 NO DIALTONE (нет гудка в линии)

Если по какой-либо причине модем не распознает гудок в линии, то Вы можете заставить его набирать номер и устанавливать соединение, не дожидаясь гудка в линии. Для этого в строку инициализации надо добавить команду X3.

18.10 NO CARRIER (нет несущей)

18.11 uugetty по-прежнему не работает

В getty_ps для поиска ошибок есть опция DEBUG (отладка). Добавьте в файл /etc/conf.getty.ttyS N строчку DEBUG= NNN. Здесь NNN -- один из следующих кодов, определяющих область поиска:

При запущенном syslogd вся отладочная информация будет сохраняться в Ваши log-файлы. Если syslogd не запущен, то информация будет сохраняться: в /tmp/getty:ttyS N -- для getty , в /tmp/uugetty:ttyS N -- для uugetty , и в /var/adm/getty.log . Это информация поможет узнать, в чем может быть причина проблемы. Весьма вероятно, Вам потребуется подрегулировать некоторые параметры в файле настроек uugetty и изменить какие-нибудь настройки у модема.

Можно также попробовать использовать mgetty . Возможно с нею Вам повезет больше :)

18.12 (Оставшаяся часть данного раздела одинакова для Serial HOWTO и для Модем HOWTO)

18.13 Последовательный порт отсутствует

Возможны 3 варианта:

  1. Ваш порт отключен, поскольку ни у BIOS, ни у Linux не получилось его подключить. У порта нет адреса IO.
  2. Ваш порт подключен и у него есть адрес IO, но он у него нет номера ttyS (например, ttyS14), соответствующего этому адресу, поэтому порт не может использоваться. Назначить номер ttyS порту можно с помощью setserial.
  3. У порта есть номер ttyS (например, ttyS14), но Вы не знаете, какому разъему (сзади корпуса Вашего ПК или внутри него) он соответствует. См. Serial-HOWTO: "Which Connector on the Back of my PC is ttyS1, etc.?" ("Какой разъем сзади моего ПК называется ttyS1, ttyS2 и т.д.?") Если перед Вами стоит обратная задача: узнать какое название у порта, к которому подключен модем, то см. Я подключил модем, но система его не видит

Сканирование/проверка стандартных (legacy) портов

В основном, данная информация касается портов, не подключенных к шине PCI и не поддерживающих Plug-and-Play, к коим можно отнести и ISA-порты.

Просканировать все подключенные к шине порты позволяет утилита scanport (входит в состав только Debian ??), в результате выполнения которой можно найти неизвестный порт, в том числе последовательный (но проверку портов scanport не производит). Предупреждение: Во время сканирования Ваш ПК может подвиснуть :) Можно и вручную попытаться проверить определенный адрес, по которому - как Вы предполагаете - может находиться последовательный порт, но когда таких адресов несколько, то это превращается в долгое и утомительное занятие. См. Проверка.

18.14 Конфликт прерываний (в Вашем ПК есть слоты ISA)

Если в Вашем ПК присутствует шина ISA, то возникновение конфликта прерываний (IRQ) может быть связано с нехваткой свободных IRQ. Обычно BIOS содержит список зарезервированных IRQ, зарезервированных для существующих (legacy) ISA-карт. Если зарезервированных IRQ слишком много, то BIOS может не найти свободное и назначить последовательному порту неправильное значение, что приведет к конфликту. Поэтому посмотрите, все ли зарезервированные IRQ действительно необходимы, нельзя ли освободить какое-нибудь одно, чтобы его мог использовать последовательный порт. См. также Plug-and-Play-HOWTO.

18.15 Чрезвычайно медленно: текст появляется на экране медленно, после долгих задержек

Более подробно примеры и причины описаны в разделе Serial-HOWTO, который называется "Interrupt Problem Details" ("Проблемы, связанные с прерываниями").

Если это касается устройств Plug-and-Play, то посмотрите также Plug-and-Play-HOWTO.

Быстрым способом проверить, действительно ли проблема связана с прерыванием, является установка с помощью setserial значения IRQ на 0. Этим Вы укажете драйверу использовать опрос (polling) вместо конкретного номера прерывания. Если проблема "медлительности" после этого исчезает, то причина кроется в прерывании. Конечно, можно оставить использование опроса, но это приведет к излишнему расходу ресурсов компьютера (которых и так всегда мало -- примеч. перев.), так что лучше разобраться с прерыванием :)

Внутренние настройки порта устанавливаются либо перемычками (посмотрите, как они стоят), либо "программным обеспечением PnP". В случае PnP для получения информации о настройках выполните команду "pnpdump --dumpregs" (если шина ISA) или "lspci" (если шина PCI). Затем сравните полученные данные с настройками setserial. Они должны совпадать.

18.16 Что-то медленно. Я ожидал(а), что будет быстрее

Скорее всего, установлено очень низкое значение бодовой скорости. Но утверждалось также, что похожее было и в случае задания слишком большой бодовой скорости, не поддерживаемой последовательным портом (такой как 230400).

Другой причиной может быть то, что Ваше подключенное к последовательному порту устройство (модем, терминал, принтер) на самом деле работает не так быстро, как Вы думали. Модем 56k редко работает на скорости 56k, а в самом Интернете не так уж редки свои заторы и пробки, которые, само собой, приводят к замедлению передачи данных. Если на противоположном конце соединения отсутствует цифровая линия и не используется специальный "цифровой модем" (который не продается в любом компьютерном магазине), то скорости выше 33,6 кбит/с не будет.

Еще одной причиной может быть устаревший последовательный порт: UART 8250, 16450 или один из первых 16550 (или драйвер последовательного порта думает, что у Вас устаревший последовательный порт). См. раздел "What are UARTS" в Serial-HOWTO.

Чтобы узнать о своих последовательных портах, а точнее о том, что о них думает драйвер, выполните команду "setserial -g /dev/ttyS*". Если в выводе этой команды тип UART отличается от 16550A, то проблема может заключаться в этом. Но если Вы считаете, что setserial (и, следовательно, драйвер) ошибается, то задайте ей нужные значения. См. раздел Setserial. Только учтите, что если у Вас действительно устаревший порт, то, обманув setserial, Вы сделаете только хуже.

18.17 Во время загрузки показываются неправильные значения IRQ для последовательных портов

Для не-PnP портов Linux вообще не выполняет никакой проверки при загрузке. Поиск последовательных устройств производится при загрузке модуля драйвера последовательного порта. Но не стоит обращать внимание на показываемые при этом значения IRQ, поскольку предполагается, что они являются стандартными. Считается, что процедура определения IRQ является ненадежной, поэтому проще показать стандартные значения :) (?) Но затем из одного из стартовых скриптов запускается setserial, который изменяет значение IRQ и отображает это новое (будем надеяться, что правильное :)) значение на экране. Если значение IRQ не изменилось и осталось неправильным, то порт работать не будет.

Так, хотя у моего ttyS2 IRQ равно 5, в начале загрузки Linux мне показывается

(У более старых ядер "ttyS02" может обозначаться как "tty02"). Используемое значение IRQ указывается Linux (драйверу) с помощью все той же setserial .

18.18 "Cannot open /dev/ttyS?: Device or resource busy" ("Не могу открыть /dev/ttyS?: Устройство или ресурсы заняты")

18.19 "Cannot open /dev/ttyS?: Permission denied" ("Не могу открыть /dev/ttyS?: Доступ запрещен")

18.20 "Cannot open /dev/ttyS?" ("Не могу открыть /dev/ttyS?")

Но даже если к последовательному порту подключено устройство и на него подано питание, последовательный порт все равно может не открываться. Так может быть из-за того, что у самого устройства оказывается сброшенным сигнал CD, на одноименном выводе (CD) последовательного порта напряжение отрицательно, сигнал CD отсутствует.

18.21 "Operation not supported by device" ("Операция не поддерживается устройством") (относится к ttyS?)

18.22 "Cannot create lockfile. Sorry" ("Не могу создать lock-файл. Извините")

18.23 "Device /dev/ttyS? is locked." ("Устройство /dev/ttyS? заблокировано.")

18.24 "/dev/tty? Device or resource busy" ("/dev/tty? Устройство или ресурсы заняты")

Рассматриваемая ошибка также может возникать из-за наличия в системе одновременно двух драйверов последовательного порта: одного в виде модуля и другого, встроенного в ядро. Оба драйвера пытаются использовать одни и те же ресурсы, и для одного из них они оказываются "занятыми".

  1. В системе (в самих устройствах) действительно имеется конфликт ресурсов (скрытый?).
  2. setserial имеет неправильные настройки, из-за которых возникает конфликт, которого на самом деле нет, тем не менее порт нельзя использовать (сам до конца не понимаю -- прим. перев. :)).

Вам надо узнать, какое прерывание по мнению setserial используется ttyS2 (на месте ttyS2 может быть любой другой последовательный порт -- напом. перев.). Для этого загляните по адресу /proc/tty/driver/serial. Также это можно выяснить, выполнив саму команду "setserial" для ttyS2 .

18.25 "Input/output error" ("Ошибка ввода/вывода"), получаемая от setserial, stty, pppd и т.д.

18.26 "LSR safety check engaged"

18.27 Ошибки переполнения (overrun) последовательного порта

18.28 Модем не принимает входящие звонки

Это касается только случая, когда модем используется и для совершения звонков, и для их приема. Если модем будет выдавать сигнал DCD (=CD), то некоторые программы (но не mgetty) будут думать, что он занят. Это приведет к возникновению проблемы при установке связи. Модем должен выставлять сигнал DCD только во время соединения, а не тогда, когда getty прослушивает порт. Проверьте, что Ваш модем выдает DCD только при наличии соединения (&C1). Также и сигнал DTR должен устанавливаться программами, такими как getty , kermit и др., только на время, когда модем ими используется или когда прослушивается линия.

18.29 Данные на порт приходят нерегулярно, спорадически

Порт может использоваться другой программой. Выполните команду "top" (предварительно задав, чтобы она отображала номер порта) или команду "ps -alxw". Из результатов их выполнения можно узнать, какая еще программа может использовать порт. Последовательный порт часто бывает занят программой gpm (терминальная программа для мышки).

18.30 Полезные программы

Здесь представлен список некоторых из программ, которые могут пригодиться при поиске и устранении проблем:

Добрый день. Имеется компьютер с Сom-портом. На компьютере установлена ubuntu 10.04, а также виндоус(ХР). В виндоусе ком-порт работает (посылались команды и приходили верные ответы от устройства),в диспетчере устройств com-порт ассоциируется с LPC Interface Controller.
Что происходит в ubuntu - ком-порты определяются,но операции записи-чтения не дают результата. Проверял : 1) утилитой minicom - не происходит ничего при инициализации 2) serial port terminal (gtkterm) из центра приложений Ubuntu - тоже черный экран и всё.
Важный момент - рядом стоит другой компьютер, с той же ubuntu, но совершенно другой конфигурацией самого компьютера - там все операции с com-портом проходили успешно (нуль-модемный кабель в слот одним концом, на другом соединить 2 и 3 контакт - как minicom, так и serial port terminal записывают и читают правильные байты. И с тем устройством ,к-ое в виндоус работало, здесь тоже проблем не возникло).
Результаты команд :

все права на чтение-запись на порты стоят, да и работа вся идет под рутом..
Интересный момент, рез-т dmidecode , COM-порта в списке нет, а на втором компьютере с линуксом есть!

это навело на мысль, что возможно нет драйвера для интеловского LPC Controller (см. lspci).

Длительным поиском в гугле драйвера под линукс для данного устройства не нашел.
в linux kernel driver database данное устройство (8086:2815) упоминается лишь раз (модуль iTCO_wdt - но он исп. только для таймера, на всякий случай modprobe-ом подключил его - изменений не принесло в работу com-порта)
ВОзможно не там и не так искал..или действительно нет драйвера для данного устройства . или проблема не в нём все-таки.


Заранее спасибо, надеюсь на помощь

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Нет ни одного драйвера для ноутбука, не работает интернет и USB
Доброго времени суток. У меня стояла виндовс 10 пиратка,при входе всегда спрашивался пароль.

Нужны драйвера SATA-контроллера для ASUS K40IJ?
Помогите пожалуйста найти драйвера SATA-контроллера для ASUS K40IJ?

Где найти код драйвера для контроллера PL 2303?
очень нужен код драйвера для контроллера PL 2303. просто посмотреть.

Ищу драйвера для мультимедиа контроллера мат платы ASUS P5K-VM, и SM контроллер шины
переустановила ОС. не могу поставить драйвера с дисков - не читаются. Ищу драйвера для мультимедиа.

Ubuntu 11.10, установленный на виртуальной машине, намеревается использовать программное обеспечение гипертерминала непосредственно на виртуальной машине для подключения к плате разработки.Под Windows - это HyperTerminal, а под Linux - minicom.

1. Установка minicom

Установить minicom очень просто, sudo apt-get install minicom может автоматически загружаться и устанавливаться с помощью одной команды или искать и устанавливать в Центре программного обеспечения Ubuntu.

clip_image002

2. Установите последовательный порт.

Мой ноутбук использует USB для последовательного порта. Самый простой способ - установить его под Windows, а затем настроить виртуальную машину на использование физического последовательного порта. Однако, когда виртуальная машина была включена, ее необходимо выключить, чтобы установить последовательный порт. Можно ли использовать USB для последовательного порта на виртуальной машине?

Отключите порт USB-to-serial от хоста. Ubuntu напрямую включает драйвер PL2303 (микросхему USB-to-Serial, которую я использую). Прежде всего, давайте посмотрим на ситуацию с USB. Команда выглядит следующим образом:

Вы можете увидеть, что PL2303 был идентифицирован, а затем посмотрите на последовательный порт:

Вы можете проверить, что USB подключен

Введите minicom –s, чтобы настроить minicom


Выберите, чтобы войти в настройку последовательного порта, и настройте в соответствии с ранее просмотренной информацией.

image

Обязательно отключите аппаратный поток, иначе вы не сможете подключиться.Это то же самое, что и в Windows, но его легко игнорировать.

Введите для запуска, выберите Сохранить настройку как dfl, чтобы сохранить как конфигурацию по умолчанию, обратите внимание, что требуются права root.

Однако мой появится

minicom: невозможно открыть / dev / ttyUSB0: нет такого файла или каталога

Однако на самом деле в этой папке находится этот файл, и его нельзя открыть с правами root.На данный момент причина этой проблемы не найдена.Проверил в Интернете и похоже, что это не виртуальная машина. Кажется, что это должно быть решено добавлением оборудования последовательного порта. Физический последовательный порт обычно ttyS0, просто проверьте конфигурацию и измените ее так же, как указано выше.

Minicom - это консольная программа операционной системы linux для установки сеанса связи с устройствами через последовательный com-порт. Для подключения к com-порту программу можно запускать с заданными аргументами и использовать псевдо-графический оконный интерфейс для изменения и сохранения настроек подключения. Рассмотрим настройку программы на примере популярной операционной системы семейства linux - Ubuntu.

Установка программы в Debian/Ubuntu:

Подключение будет осуществляться к последовательному порту устройства со следующими настройками:
Скорость/Четность/Биты (Bps/Parity/Bits) = 38400 8N1.

Настройка подключения к com-порту

Запуск программы лучше выполнять в привилегированном режиме sudo, т.к. программе могут понадобиться повышенные права для доступа к порту или для сохранения настроек.

Для доступа к меню конфигурации программу minicom нужно запустить с параметром -s:


Выбираем пункт "Настройка последовательного порта".

При использовании нуль-модемного кабеля, адресом последовательного порта в linux будет /dev/ttyS0 для COM1, /dev/ttyS1 для COM2 и т.д. В случаях, когда используется адаптер USB-to-COM, в качестве порта ввода-вывода будет использоваться /dev/ttyUSB0 или /dev/ttyUSB1.

Список доступных портов можно посмотреть командой:

Настройки для подключения к последовательному порту USB-to-COM с заданными параметрами будут выглядеть примерно так:


Для выбора последовательного порта нужно нажать клавишу [A] и отредактировать значение.

Для изменения скорости нажать клавишу [E] и затем [D], чтобы выбрать скорость 38400.


Нажимаем два раза клавишу [Enter], чтобы принять изменения и вернуться в начало меню "Конфигурация".
Сохраняем настройки, выбрав пункт "Сохранить настройки как dfl". Это изменит настройки запуска программы, используемые по умолчанию.


Если выбрать пункт "Сохранить настройки как.." и указать имя файла настроек, например "cisco", то это не изменит настройки по умолчанию и в дальнейшем можно будет запускать программу с конкретными параметрами, указав имя файла с настройками.

В завершении настройки переходим к пункту "Выход" и если все настроено правильно, то будет установлен сеанс подключения по последовательному порту.

Запуск minicom с аргументами

Minicom можно запускать без выполнения настроек в оконном режиме. Для этого достаточно выполнить запуск программы с заданными аргументами.

Для подключения к устройству с помощью адаптера USB-to-COM со скоростью 38400:

Отдельного внимания заслуживает вопрос работы с отладочными комплектами из-под ОС Linux. Для корректной работы загрузчика необходимо прямой доступ к USB-устройству. При подключении отладочного комплекта через FTDI-USB, система подгрузит соответствующий ядерный модуль, который "займёт" оба интерфейса — как UART, так и загрузчика. Просто выгрузив модуль ftdi_sio мы получим работающий загрузчик mc-ploader, но лишимся UART. Это грустно. Работа с UART напрямую через FTD2xx не такая-то простая задача. Готовых средств нет. Для решения данной проблемы был составлен скрипт для корректной подгрузки модуля ftdi_sio, чтобы "занять" только интерфейс UART, оставив нетронутым интерфейс загрузчика. Для этой цели была привлечена питоновская библиотека ftd2xx . С её помощью осуществляется блокировка интерфейса загрузчика и параллельно с этим подгружается модуль ftdi_sio, которому достаётся только интерфейс UART. В приложении архив-копия репозитория mcp-sdk-ftdi .

Для сборки и установки биндингов для питона необходимо выполнить команду:

Команда требует root-привилегий. Из-под обычного пользователя будет выполнен sudo.

Для правильной инициализации FTDI-интерфейсов необходимо выполнить команду:

Точно так же, эта команда требует root-привилегий. После успешной загрузки, в системе появится одно ttyUSBx-устройство, отвечающее за интерфейс UART. В свою очередь, для загрузчика останется прямой интерфейс.

В виде бонуса, в архиве имеется скрипт на питоне для эмуляции последовательного терминала на базе библиотеки ftd2xx. Категорически рекомендую использовать системный ttyUSBx.

Ответы (31)

Ещё стоит отметить особенность при работе с LDM-MCp. После загрузки программы в eeprom вроде как и происходит сброс, но плата "подвисает" и где-то через минуту срабатывает watchdog. Для ускорения, достаточно сразу после заливки просто выполнить:

Под Linux(Fedora 19) на отладочном комплекте НW1-MCp04 загрузчик через PicoTAP работает. но я не смог получить доступ к UART через PicoTAP.
ftdi_sio автоматически не стартует. для загрузчика он, похоже, не нужен.

Для того чтобы дать права обычному пользователю на запись с помощью загрузчика прописал в файле
/etc/udev/rules.d/96-PicoTAP.rules
SUBSYSTEMS=="usb", ATTRS=="096c", ATTRS=="1449", \
MODE:="0666", SYMLINK+="ttyUSB0"

где номер вендора и продукта выясняется с помощью команды lsusb:
Bus 001 Device 003: ID 096c:1449

SYMLINK+="ttyUSB0" создает устройство /dev/ttyUSB0, но я не вижу на нем на тестовых UART программах никакого вывода ни в minicom ни в cutecom. Настройки порта 38400,8n1

Что делать? посоветуйте

SYMLINK+="ttyUSB0" создает устройство /dev/ttyUSB0

это симлинк на что? "readlink -f /dev/ttyUSB0" куда указывает? После modprobe ftdi_sio без udev-правила должно создасться character-устройство. Что в dmesg после modprobe?

ftdi_sio у меня автоматически не запускается. ls -al /dev/ttyUSB0 указывает на что-то из ftdi или на /dev/bus/usb/001/003, сейчас не помню точно. поздно вечером посмотрю.
ftdi_sio запускается только после insmod ../kernel/. /ftdi_sio.ko, кроме нее есть usbserial, но она встроена в ядро и скорее всего от нее
в dmesg сразу после обнаружения веб камеры идет PicoTAP c номером вендора и продукта.

В udev-правила я полез исключительно из-за MODE:="0666". Без него обычному пользователю не было прав на запись.

Без udev-правила при попытке залить программу на контроллер:

libusb couldn't open USB device /dev/bus/usb/001/003: Permission denied.
libusb requires write access to USB device nodes.
Ошибка сегментирования (core dumped)

Про HW-MCp не скажу, но на LDM одновременно работа модуля ftdi_sio и прошивальщика возможна только с хаком, описанным вначале.
Если без udev-правила потом просто сделать chmod 666 /dev/ttyUSB0, то работает так же, как с симлинком на /dev/bus/usb/. ? Какие major/minor у этого /dev/bus/usb/. Отличаются ли они от /dev/ttyUSB0, созданного без правил udev? Я так подозреваю, что libusb кушает raw-устроства тогда, когда ttyUSB0 предоставляет tty-интерфейс посредством модуля ftdi_sio.

без правил udev никакого /dev/ttyUSB0 не создается. я делал chmod 666 на /dev/bus/usb/.. Меня major/minor интересовал для /dev/ttyUSB0, но я не догадался посмотреть туда, куда указывает симлинк.

хак я пробовал, но он умирал у меня после 10 таймаутов.

втыкаю PicoTAP после загрузки

в рантайме /dev/ttyUSB0 не появляется

После рестарта с включенным контроллером /dev/ttyUSB0 появился

[ 1.112919] usb 2-1: new high-speed USB device number 2 using ehci-pci
[ 1.118176] [drm] ring test on 0 succeeded in 1 usecs
[ 1.118234] [drm] ring test on 3 succeeded in 1 usecs
[ 1.227179] usb 2-1: New USB device found, idVendor=8087, idProduct=0020
[ 1.227185] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.227460] hub 2-1:1.0: USB hub found
[ 1.227551] hub 2-1:1.0: 8 ports detected
[ 1.302913] usb 1-1.1: new high-speed USB device number 3 using ehci-pci
[ 1.305302] [drm] ring test on 5 succeeded in 1 usecs
[ 1.305306] [drm] UVD initialized successfully.
[ 1.305451] [drm] ib test on ring 0 succeeded in 0 usecs
[ 1.305476] [drm] ib test on ring 3 succeeded in 0 usecs
[ 1.393109] usb 1-1.1: New USB device found, idVendor=096c, idProduct=1449
[ 1.393113] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1.393115] usb 1-1.1: Product: PicoTAP
[ 1.393117] usb 1-1.1: Manufacturer: GOEPEL electronic GmbH
[ 1.393118] usb 1-1.1: SerialNumber: PicoTAP-0416
[ 1.456783] [drm] ib test on ring 5 succeeded

[@localhost uart0_inv]$ mc-ploader uart0_inv.bin
info: selected device: "PicoTAP A"
info: erasing device: 100%
info: image loading: 100%

Хм. похоже, что они используют обычный ком порт. через pl2303

]$ ls al /dev/ttyUSB0
crw-rw--- . 1 root dialout 188, 0 Oct 11 18:34 /dev/ttyUSB0

]$ lsmod | grep ftdi
нет драйвера ftdi

судя по dmesg, модуль ftdi_sio ничего не знает про это устройство.
предлагаю сделать:

modprobe ftdi_sio vendor=0x096c product=0x1449

симлинк должен быть точно не на raw-usb устройство

pl2303 — вполне возможно. теперь-то работает?

после modprobe ftdi_sio vendor=0x096c product=0x1449

[ 94.203157] ftdi_sio 2-1.1:1.0: FTDI USB Serial Device converter detected
[ 94.203196] usb 2-1.1: Detected FT2232H
[ 94.203198] usb 2-1.1: Number of endpoints 2
[ 94.203200] usb 2-1.1: Endpoint 1 MaxPacketSize 512
[ 94.203201] usb 2-1.1: Endpoint 2 MaxPacketSize 512
[ 94.203203] usb 2-1.1: Setting MaxPacketSize 512
[ 94.204674] usb 2-1.1: FTDI USB Serial Device converter now attached to ttyUSB0
[ 94.204760] ftdi_sio 2-1.1:1.1: FTDI USB Serial Device converter detected
[ 94.204811] usb 2-1.1: Detected FT2232H
[ 94.204813] usb 2-1.1: Number of endpoints 2
[ 94.204815] usb 2-1.1: Endpoint 1 MaxPacketSize 512
[ 94.204817] usb 2-1.1: Endpoint 2 MaxPacketSize 512
[ 94.204820] usb 2-1.1: Setting MaxPacketSize 512
[ 94.205277] usb 2-1.1: FTDI USB Serial Device converter now attached to ttyUSB1

и minicom -s отвечает
minicom: невозможно открыть /dev/ttyUSB0: Время ожидания соединения истекло
minicom: невозможно открыть /dev/ttyUSB1: Время ожидания соединения истекло

На плате HW1 UART выведен отдельно, через PicoTap он не выведен! К UART необходимо подключаться отдельным проводом. Колодка чёрная по виду как COM порт - это и есть UART0!

понятно. и если подключаться, то нужно искать ком порт на компьютере или покупать переходник от USB, тот который определится как pl2302. Хм.. а на плате LDM-MCp UART выведен через PicoTap?

Да на плате LDM всё включено в один вывод. На LDM плате всё выведено через FTDI.

1. Есть ли способ получить данные из памяти МП теми средствами, что идут в отладочном комплекте HW1-MCp04?

2. Какой кабель подойдет для UART0 из списка USB->COM и что ещё потребуется, чтобы заработал UART0? (драйвер?)

он на чипе PL-2303. Судя по dmesg на удаленной машине в Екатеринбурге используют кабель на таком же чипе.
драйвер в Линуксе должен подгрузится автоматически

Здравствуйте.

1. Есть ли способ получить данные из памяти МП теми средствами, что идут в отладочном комплекте HW1-MCp04?

2. Какой кабель подойдет для UART0 из списка USB->COM и что ещё потребуется, чтобы заработал UART0? (драйвер?)

1) Да есть такой способ, но надо найти время и расписать подробно как это сделать
2) Кабель переходник USB-COM можно взять любой, однако всё равно придётся перекрестить RX и TX . Немного позже нарисую картинку.

Нарисуйте, пожалуйста картинку.
я пробовал 2 варианта

Оба варианта не сработали для меня. USB-COM у меня на микросхеме pl2302

USB-COM сами спаяли или купили? Картинку через часика 2-3 нарисую.

USB-COM купил. проверил его работу с внешним модемом. на команду at модем ответил ok

Подключение должно выглядеть вот так. Если не получается что-то принять по uart попробуйте поменять местами 2 и 3 выводы на разъёме COM.

подключение COM

Нарисуйте, пожалуйста картинку.
я пробовал 2 варианта
[. ]

и

[. ]

Оба варианта не сработали для меня. USB-COM у меня на микросхеме pl2302

Я поменял местами RX-TX. Попробуйте файл из примеров: "HW1-MCp04"->"c"->"uart", там используется UART0 (сначала я попробовал пример где был UART3, но ничего не получилось, думал неправильно перепаял, но тот файл из примеров заработал нормально)

Читайте также: