PuTTY может получить доступ к последовательному порту как / dev / ttyUSB0, но не как именованное устройство udev

У меня есть несколько преобразователей USB-to-serial. Мне нужно получить доступ к одному из них, в частности. Я использую правило udev, чтобы дать ему специальное имя. Я перезагрузился с момента последнего изменения.

SUBSYSTEM=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", NAME="serial", MODE="0666" 

Эта комбинация поставщиков / продуктов уникальна среди всех моих USB-устройств.

 $ ls -l /dev/serial crw-rw-rw-. 1 root root 189, 133 Feb 8 23:57 /dev/serial $ ls -l /dev/ttyUSB0 crw-rw----. 1 root dialout 188, 0 Feb 8 23:58 /dev/ttyUSB0 

Я использую PuTTY для их чтения, и он работает на /dev/ttyUSB0 , но не на /dev/serial . Ошибка появляется, когда я запускаю PuTTY как root.

Сообщение об ошибке, которое я получаю

 Unable to open connection to : Unable to configure serial port 

В случае, если это имеет значение, я запускаю CentOS 6.

 uname -a Linux xxxxxx 2.6.32-279.22.1.el6.x86_64 #1 SMP Wed Feb 6 03:10:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 

РЕДАКТИРОВАТЬ: РАБОТА

Следующим правилом udev было то, что окончательно сработало:

 SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="COM1", MODE="0666" 

Обратите внимание, что SUBSYSTEM – это tty, а не usb, NAME был изменен на SYMLINK+ , и серийный номер был изменен на COM1 (чтобы не мешать / dev / serial, как отметил комментатор).

Спасибо за помощь ребята!

5 Solutions collect form web for “PuTTY может получить доступ к последовательному порту как / dev / ttyUSB0, но не как именованное устройство udev”

Вы хотите, чтобы ваше правило обращало внимание на подсистему tty , а не на usb .

 SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="serial" 

USB-устройство генерирует несколько событий udev, когда вы подключаете его, когда ядро ​​узнает больше об этом. Поскольку это USB-устройство, оно сначала подключает подсистему usb , которая, как я думаю, создаст необработанное USB-устройство, которое PuTTY не может использовать. Через несколько шагов он загрузит конкретный драйвер устройства, и поскольку это последовательное устройство, он будет задействовать подсистему tty , которая создает файл устройства, который может использовать PuTTY.

Это правило создаст символическую ссылку на то, что /dev/ttyUSB* будет назначено вашему устройству. Протестировано с PuTTY на моем собственном серийном ключе.

Кстати, для диагностики я иногда запускаю следующее правило, чтобы понять, что видят скрипты udev:

 RUN+="/home/me/bin/udev-diag .$kernel .$number .$devpath .$id .$parent .$root .$tempnode" 

где udev-diag по существу:

 env >>/tmp/udev-events echo "$@" >>/tmp/udev-events 

Для более общего использования программа udevmonitor также удобна.

Используя правило Jander, я смог получить доступ к своему USB-последовательному адаптеру … но только при запуске PuTTY с правами root.

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

IE

 SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="0666", SYMLINK+="serial" 

Следующим правилом udev было то, что окончательно сработало:

 SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="COM1", MODE="0666" 

Обратите внимание, что SUBSYSTEM – это tty, а не usb, NAME был изменен на SYMLINK+ , и серийный номер был изменен на COM1 (чтобы не мешать / dev / serial, как отметил комментатор).

По какой-то причине я никогда не отвечал на этот вопрос, даже после того, как получил эту работу.

Следующим правилом udev было то, что окончательно сработало:

 SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="COM1", MODE="0666" 

Обратите внимание, что SUBSYSTEM – это tty, а не usb, NAME был изменен на SYMLINK+ , и серийный номер был изменен на COM1 (чтобы не мешать / dev / serial, как отметил комментатор).

Спасибо за помощь ребята!

Обратите внимание на то, что устройство является групповым.

 $ ls -l /dev/ttyUSB0 **crw-rw----** 1 root **dialout** 188, 0 Feb 8 23:58 /dev/ttyUSB0 

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

 $ sudo adduser <username> dialout 

Затем перезапустите сеанс

  • Игнорировать имя интерфейса?
  • Обнаружение состояния power_supply для другого устройства в правиле udev
  • Правило udev для пользователей, не являющихся пользователями root, отменяющих драйверы pci?
  • Как создать / dev / null на archlinux
  • lshw перечисляет мой диск, но у него нет файла / dev
  • Разрешить пользователям без полномочий root читать / писать / dev файлы
  • Измените значение «max_sectors» USB для всего семейства устройств
  • ALSA - Traktor Audio 2 - Как разделить передние и задние стереоканалы / Как отладить dmix
  • Жесткий диск динамический / dev / sd * ошибка имен
  • Как определить вставку флоппи-диска в RHEL 7 и выполнить скрипт?
  • Правило Udev для соответствия USB-устройству нескольких узлов
  • Interesting Posts

    При установке пакета я могу предоставить разрешение на запись для определенных файлов?

    губка из moreutils – в чем разница с перенаправлением оболочки? полезные примеры?

    / etc / hosts. Можно ли установить один IP-адрес для зоны?

    Удалите определенную команду латекса из текста и закрывающей скобки за ней

    Двухфакторная аутентификация SFTP

    Слияние двух файлов и создание нового. файл 1 получил более 100 столбцов, а файл 2 получил 2

    Есть ли инструмент для генерации исторически ориентированной на процесс статистики использования ресурсов, такой как верхний вывод?

    Поддерживают ли оболочки рекурсию?

    Проблемы при выполнении slimerjs на linux (Centos 6.5 32bit)

    Завершение zsh: получение имен файлов из определенного каталога

    castnow – EADDRINUSE ::: 4100

    Как поговорить с geoclue через его интерфейс dbus?

    Как предотвратить шлоот от переопределения файла passwd и других файлов, уже присутствующих в chrooted системе?

    Как мне избежать имени подкаталога с амперсандом в нем?

    gzip, bzip2 и zip: очень низкая степень сжатия

    Linux и Unix - лучшая ОС в мире.