2

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 :)

viliyar
  • 123
  • 4

2 Answers2

4

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

  • 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 :) – viliyar Jul 18 '18 at 12:45
0

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.)

Chris Knudsen
  • 3,323
  • 12
  • 20
  • 1
    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 –  Jul 18 '18 at 12:24
  • 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. – viliyar Jul 18 '18 at 12:28
  • if you have just added the user to that group you need to logout for the groups to be reloaded –  Jul 18 '18 at 12:30
  • @JonRB (Re: permissions) I totally agree, once you know what works, and why it's broken. – Chris Knudsen Jul 18 '18 at 12:37
  • @ChrisKnudsen thought you would, this was more of a note for people that find this in future. –  Jul 18 '18 at 12:38
  • Thanks @Chris, it works now. I was missing the **logout** step. :) – viliyar Jul 18 '18 at 12:46