On CrunchBang linux (Debian variant), I have a COM port on ttyS0, which I'm trying to use with an NFC device. libnfc responded that it couldn't see any NFC devices, so I tried directly opening the COM port. For this, I used:

sudo cu -l /dev/ttyS0 -s 9600

However, this command returns:

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

I don't know what could possibly be using this connection. To find out, I've tried reading all open processes and filtering for the use of ttyS0:

ps -ef | grep tty

but for this command, nothing shows up that is using ttyS0. I've also tried grabbing all open files and filtering for a lock on ttyS0:

lsof | grep tty

but this returns nothing using ttyS0.

How is it possible the cu says the line is in use, but both ps and lsof return nothing using that line?

  • What about lsof /dev/ttyS0 – Ciclamino Aug 9 '14 at 1:45
  • @Ciclamino That doesn't change it - tty is a substring of /dev/ttyS0. That does, however, hide all the other ttys. – Aza Aug 9 '14 at 1:57
  • I have the same problem. minicom works fine, but cu and screen refuse to talk to /dev/ttyUSB0. I was advised to add my user to the uucp and dialout groups and log out that didn't help. – Vorac Oct 31 '15 at 1:23

There is probably no real usage of the line, but a permission issue. quick and dirty way to test for me was to execute:

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

and retry cu. If it starts working, you need to take care of the respective udev file and the user permissions/groups. For my device it looked like this (being member in plugdev group):

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

It seems that this is a bug in cu. I solved this by changing owner group of /dev/ttyUSB0 using following command:

chown root:root /dev/ttyUSB0

Serial devices privileges are granted to members of the dialout group. To get connected to /dev/ttyS0 I added the current user to the group using:

sudo adduser <username> dialout

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.