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 

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

  • настройка устройств ввода Xorg без udev
  • Несоответствие модуля ядра
  • Automount в Xfce4 просто перестала работать
  • Управление устройством мыши и клавиатуры USB в udev
  • Как отпечатать систему Unix
  • Почему мой USB-модем создает несколько файлов / dev / ttyUSB *?
  • Как отключить звуковое устройство usb с udev
  • Как я могу изменить разрешения в / sys, чтобы изменить состояние светодиода / света с помощью `udev`?
  • Udev (197) last_rule не работает
  • Разрешить любому пользователю в группе предохранителей размонтировать
  • Mount / umount cdrom на основе события udev
  • Interesting Posts

    Подмножество содержимого файла на основе значения в столбце

    Команда в переменной 1 влияет на вывод другой переменной при отображении вместе в UNIX

    Настроить цвет сепаратора терминала Yakuake?

    Как отключить однопользовательский режим на удаленной машине?

    Установленный sqlite3 v3.8, но Mac-терминал по-прежнему запускает старую версию 3.6 по умолчанию

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

    Как найти жесткие диски по размеру или модели?

    Как установить bash для запуска * .exe с моно?

    Установка Linux на планшет

    Вставить вкладку вкладок в Emacs

    SSH-сервер, прослушивающий несколько портов с беспроблемным доступом, не позволяющий подключать второй порт

    Преобразование IP-адреса в координаты с использованием базы данных

    Как я могу добраться до удаленного ssh-сервера через свой http-прокси (80-й порт)?

    Прерывание цикла for-loop в bash, но только после завершения итерации?

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

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