Linux cho tôi biết một cổng nối tiếp đang được sử dụng, nhưng nó không phải là


11

Trên CrunchBang linux (biến thể Debian), tôi có cổng COM ttyS0, tôi đang cố gắng sử dụng với thiết bị NFC. libnfc trả lời rằng nó không thể thấy bất kỳ thiết bị NFC nào, vì vậy tôi đã thử trực tiếp mở cổng COM. Đối với điều này, tôi đã sử dụng:

sudo cu -l /dev/ttyS0 -s 9600

Tuy nhiên, lệnh này trả về:

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

Tôi không biết những gì có thể có thể được sử dụng kết nối này. Để tìm hiểu, tôi đã thử đọc tất cả các quy trình mở và lọc để sử dụng ttyS0:

ps -ef | grep tty

nhưng đối với lệnh này, không có gì hiển thị đang sử dụng ttyS0. Tôi cũng đã thử lấy tất cả các tệp đang mở và lọc để khóa ttyS0:

lsof | grep tty

nhưng điều này trả về không có gì bằng cách sử dụng ttyS0.

Làm thế nào có thể dòng cunói đang được sử dụng, nhưng cả hai pslsofkhông trả lại gì khi sử dụng dòng đó?


Điều gì về lsof / dev / ttyS0
Ciclamino

@Ciclamino Điều đó không thay đổi - tty là một chuỗi con của /dev/ttyS0. Điều đó, tuy nhiên, ẩn tất cả các ttys khác.

Tôi có cùng một vấn đề. minicomhoạt động tốt, nhưng cuscreentừ chối nói chuyện với /dev/ttyUSB0. Tôi được khuyên nên thêm người dùng của mình vào uucpdialoutcác nhóm và đăng xuất mà không giúp được gì.
Vorac

Câu trả lời:


12

Có lẽ không có cách sử dụng thực sự của dòng, nhưng một vấn đề cho phép. Cách nhanh chóng và bẩn thỉu để kiểm tra đối với tôi là thực thi:

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

và thử lại cu. Nếu nó bắt đầu hoạt động, bạn cần chăm sóc udevtệp tương ứng và các quyền / nhóm người dùng. Đối với thiết bị của tôi, nó trông như thế này (là thành viên trong plugdevnhóm):

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

2

Đặc quyền thiết bị nối tiếp được cấp cho các thành viên của dialoutnhóm. Để được kết nối với /dev/ttyS0tôi đã thêm người dùng hiện tại vào nhóm bằng cách sử dụng:

sudo adduser <username> dialout


1

Có vẻ như đây là một lỗi trong cu. Tôi đã giải quyết điều này bằng cách thay đổi nhóm chủ sở hữu /dev/ttyUSB0bằng cách sử dụng lệnh sau:

chown root:root /dev/ttyUSB0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.