No linux CrunchBang (variante Debian), tenho uma porta COM ativada ttyS0
, que estou tentando usar com um dispositivo NFC. A libnfc respondeu que não podia ver nenhum dispositivo NFC, então tentei abrir diretamente a porta COM. Para isso, usei:
sudo cu -l /dev/ttyS0 -s 9600
No entanto, este comando retorna:
cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use
Não sei o que poderia estar usando essa conexão. Para descobrir, tentei ler todos os processos abertos e filtrar o uso de ttyS0
:
ps -ef | grep tty
mas para este comando, não aparece nada que esteja usando ttyS0
. Eu também tentei pegar todos os arquivos abertos e filtrar para bloquear ttyS0
:
lsof | grep tty
mas isso não retorna nada usando ttyS0
.
Como é possível cu
dizer que a linha está em uso, mas ambas ps
e lsof
não retornam nada usando essa linha?
/dev/ttyS0
. No entanto, isso oculta todos os outros ttys.minicom
funciona bem, mascu
e sescreen
recusa a conversar/dev/ttyUSB0
. Fui aconselhado a adicionar o meu usuário para ouucp
edialout
grupos e log que não ajudou.Respostas:
Provavelmente não há uso real da linha, mas um problema de permissão. Uma maneira rápida e suja de testar para mim era executar:
e tente novamente
cu
. Se começar a funcionar, você precisará cuidar do respectivoudev
arquivo e das permissões / grupos de usuários. Para o meu dispositivo, era assim (sendo membro doplugdev
grupo):fonte
Os privilégios de dispositivos seriais são concedidos aos membros do
dialout
grupo. Para se conectar/dev/ttyS0
, adicionei o usuário atual ao grupo usando:sudo adduser <username> dialout
fonte
Parece que isso é um bug
cu
. Resolvi isso alterando o grupo de proprietários/dev/ttyUSB0
usando o seguinte comando:fonte