Linux каже мені, що використовується послідовний порт, але це не так


12

У Linux Linux CrunchBang (варіант Debian) увімкнено COM-порт ttyS0, який я намагаюся використовувати з пристроєм NFC. libnfc відповів, що він не бачить жодних пристроїв NFC, тому я спробував безпосередньо відкрити COM-порт. Для цього я використав:

sudo cu -l /dev/ttyS0 -s 9600

Однак ця команда повертає:

cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use

Я не знаю, що могло б використовувати це з'єднання. Щоб дізнатися це, я спробував прочитати всі відкриті процеси та фільтрування для використання ttyS0:

ps -ef | grep tty

але для цієї команди нічого не відображається, що використовується ttyS0. Я також спробував захопити всі відкриті файли та фільтрувати для блокування на ttyS0:

lsof | grep tty

але це не повертає нічого, використовуючи ttyS0.

Як можливо, cuговорить, що лінія використовується, але обидва psі lsofнічого не повертають, використовуючи цей рядок?


Як щодо lsof / dev / ttyS0
Ciclamino

@Ciclamino Це не змінить - tty є підрядком /dev/ttyS0. Це, однак, приховує всі інші тити.

У мене така ж проблема. minicomпрацює добре, але cuі screenвідмовлятися спілкуватися /dev/ttyUSB0. Мені порадили додати мій користувача до uucpі dialoutгруп і вийти , що не допоможе.
Ворак

Відповіді:


12

Напевно, немає реального використання лінії, але проблема з дозволом. швидкий і брудний спосіб перевірки для мене полягав у виконанні:

ls -la /dev/ttyUSB0
sudo chmod 666 /dev/ttyUSB0

і повторіть спробу cu. Якщо воно почне працювати, вам потрібно подбати про відповідний udevфайл та дозволи / групи користувачів. Для мого пристрою це виглядало приблизно так (будучи членом plugdevгрупи):

> cat /etc/udev/rules.d/42-CP210x.rules 
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SUBSYSTEMS=="usb",
ACTION=="add", MODE="0666", GROUP="plugdev"

2

Привілеї послідовних пристроїв надаються членам dialoutгрупи. Для підключення до групи /dev/ttyS0я додав поточного користувача до групи, використовуючи:

sudo adduser <username> dialout


1

Здається, це помилка cu. Я вирішив це, змінивши групу власників, /dev/ttyUSB0використовуючи таку команду:

chown root:root /dev/ttyUSB0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.