13 linux serial-port
在 CrunchBang linux(Debian 变体)上,我有一个 COM 端口ttyS0,我正尝试将其与 NFC 设备一起使用。libnfc回应说看不到任何NFC设备,所以我尝试直接打开COM端口。为此,我使用了:
sudo cu -l /dev/ttyS0 -s 9600
Run Code Online (Sandbox Code Playgroud)
但是,此命令返回:
cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use
Run Code Online (Sandbox Code Playgroud)
我不知道可能使用此连接的原因是什么。为了找出答案,我尝试阅读所有打开的进程并过滤使用ttyS0:
ps -ef | grep tty
Run Code Online (Sandbox Code Playgroud)
但是对于这个命令,没有显示使用ttyS0. 我还尝试抓取所有打开的文件并过滤锁定ttyS0:
lsof | grep tty
Run Code Online (Sandbox Code Playgroud)
但这使用ttyS0.
怎么可能在cu说的线路在使用中,但两者ps并lsof用任何回报这条线?
小智 12
该行可能没有实际用途,但存在权限问题。为我测试的快速而肮脏的方法是执行:
ls -la /dev/ttyUSB0
sudo chmod 666 /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)
并重试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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28145 次 |
| 最近记录: |