I am using a new Cyclone V SoC board by Enclustra (Mercury+ SA2) mounted on their PE-1 BaseBoard.

To connect to the board serially on Windows platform, I have to connect the board which is detected as USB Serial Device Converter in the Device Manager. And, next, from the properties, I need to enable VCP. By doing this, now the attached board shows up as a COM port, which enables me to access it using a serial terminal such as putty. This works correctly.

I'm trying to do the same on my Linux system running Ubuntu 16.04. The device is detected as ttyUSB0. I have already tried the screen statement. The moserial GUI. Doesn't Work. How should I proceed from here? Below is a screenshot: Screenshot of detected FTDI chip Thanks :)


please check the permissions of the /dev node

$ls -la /dev/ttyUSB0

There is a high chance it shall resemble

crw-rw----. 1 root dialout 188, 0 Jul 18 13:27 /dev/ttyUSB0

A character device with RW permissions for ROOT and RW permissions for dialout group.

If this is the case check the group membership of the user attempting to access

$ groups

if the user is not part of the dialout group, add them

$ sudo usermod -a -G dialout $username

The user then needs to logout and log back into reload the group permissions

  • \$\begingroup\$ This was great! I ran who -u. Got the PID, then sudo kill PID. It totally worked! I was missing the last important point, logout. Thank you so much :) \$\endgroup\$ – epr_guy Jul 18 '18 at 12:45

Your new serial port is /dev/ttyUSB0 (and ttyUSB1, like you show above).

Since it appears that you are having trouble accessing it with 'screen', I would suggest that you look at the permissions of /dev/ttyUSB0 (and/or ttyUSB1).

Sometimes one needs to change the permission to allow others (other than root) to access the tty ports.

as root: chmod ugo+wr /dev/ttyUSB0

(This change may be reset when you reboot. That can be fixed with a little googling.)

What do you see when you do "ls -l /dev/ttyUSB*" in a terminal?

Also: With putty in linux, one would specify /dev/ttyUSB0 as the port (not COM1, etc.)

  • 1
    \$\begingroup\$ please don't change the permissions that way... udev generates nodes on-demand THUS at the next reboot said permissions are lost. udev.rules file is the better way to manage such permissions. Equally this WIDE permissions is a windows approach and not UNIX... the correct thing is to confirm the group and there is a high chance such a node is created as part of the SERIAL or DIALOUT group, thus the correct method would be to add the user to the SERIAL/DIALOUT permissions group \$\endgroup\$ – JonRB Jul 18 '18 at 12:24
  • \$\begingroup\$ The output of ls -l /dev/ttyUSB0 is: crw-rw-rw- 1 root dialout 188, 0 jul 18 14:18 /dev/ttyUSB0 and same for /dev/ttyUSB1 I have added the user to the dialout group too, by these commands: 'sudo gpasswd -add amitabhydv dialout' checked with, groups amitabhydv and got: amitabhydv : amitabhydv adm dialout cdrom sudo dip plugdev lpadmin sambashare Tried. Still nothing. \$\endgroup\$ – epr_guy Jul 18 '18 at 12:28
  • \$\begingroup\$ if you have just added the user to that group you need to logout for the groups to be reloaded \$\endgroup\$ – JonRB Jul 18 '18 at 12:30
  • \$\begingroup\$ @JonRB (Re: permissions) I totally agree, once you know what works, and why it's broken. \$\endgroup\$ – Chris Knudsen Jul 18 '18 at 12:37
  • \$\begingroup\$ @ChrisKnudsen thought you would, this was more of a note for people that find this in future. \$\endgroup\$ – JonRB Jul 18 '18 at 12:38

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.