Connecting Pronterface to Ender 3 3D printer with Ubuntu 18.04 LTS

I had an irritating problem when I tried to connect Pronterface on my Ubuntu 18.04 LTS system via USB to my Ender 3 3D printer. Whenever I tried to establish a connection I got permission denied displayed in the right hand side of the Proterface GUI.

It came down to a simple permissions problem.

First of all power up your Ender 3, connect it to your Ubuntu PC with a USB cable. First of all make sure that your Ubuntu PC can see the Ender 3. Open a terminal (Ctrl T) and type into it lsusb. You’ll get something like this:

 

 
 chalkie@chalkie-box:~$ lsusb
 Bus 002 Device 018: ID 0bdb:1911 Ericsson Business Mobile Networks BV  
 Bus 002 Device 003: ID 03f0:0c17 Hewlett-Packard LaserJet 1010
.
.
.
.
 Bus 001 Device 070: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
  chalkie@chalkie-box:~$  

There will be about (maybe) 10-15 entries and the one you are interested in (QinHeng Electronics) will probably be buried in the middle. But if it is anywhere in the list, then your PC can see the Ender 3 through the USB connection OK

Now open Pronterface. If when you hit the connect button you still get access denied then you probably need to adjust the permissions on the USB/serial interface between your Ubuntu PC and the Ender 3. Notice in the top left of the pronterface screen shot below that pronterface has selected USB interface /dev/ttyUSB0

Pronterface unconnected running under Ubuntu 18.04 LTS
Pronterface Port is /dev/ttyUSB0

In your terminal you need to check who can use the ttyUSB0 connection. So type:

ls -lah /dev/ttyUSB0

 chalkie@chalkie-box:~$ ls -lah /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Dec 5 17:33 /dev/ttyUSB0
chalkie@chalkie-box:~$

From this we can see that “root” is the owner and “dialout” is the group that can access ttyUSB0. The bet is that you are not a member of that group and so cannot access the serial port. Fix this by joining the group. (Note I believe the name of the group may change depending on your set-up) The format for the command is:

sudo gpasswd -a user group

In my case this was

sudo gpasswd -a chalkie dialout

After that you can give it a try by hitting the connect button in Pronterface. If it doesn’t work then do the ritual disconnect everything and start from scratch. But the fact that you are now a member of the vital group should solve your problem. When you hit connect in Pronterface you should get this in the right hand side of the full Pronterface screen:

Pronterface terminal indicating it is connecting to Ender 3 3D printer
Pronterface connecting to Ender 3

And that’s it. You are connected. Hope that helped.

2 thoughts on “Connecting Pronterface to Ender 3 3D printer with Ubuntu 18.04 LTS

  • Hi, I have similar issue but in my case the owner is root:root not the root:dialout. Who can help mento fix this issue? Chmod on the device doesn’t help at all and it is being reset after rebooting.

  • Hi Faig,
    Strange. First off have you got a “dialout” user?
    Check with looking at /etc/group file (aka cat /etc/group) Find dialout.
    First, IF it is not there:
    Are you using an Arch based linux rather than a Debian based one?
    If it is an Arch based linux then (evidently) the group is NOT dialout but uucp. Check for that instead and use uucp instead of dialout if that’s the case
    (see this: usermod-group-dialout-does-not-exist )
    BUT.. If it is Ubuntu (or other Debian based Linux)
    You should have a dialout user. If you don’t have a dialout user then try this maybe?
    sudo update-passwd
    (I got this from this StackExchange:- dialout-group-missing )
    IF you do have dialout group … (substitute uucp if using Arch based sys)
    Is it listed like this?
    dialout:x:20:chalkie
    (obviously you won’t have “chalkie” but you should have you own user-name there. If not you need to join the group. (see post)
    If there is a dialup group and /dev/ttyUSB0 is still coming back as root:root rather than root:dialup you can try changing the group of /dev/ttyUSB0 to dialup (or uucp)
    sudo chown root:dialup /dev/ttyUSB0 (just a suggestion).

    Finally I just tried this on a new box with ubuntu 20.04 on it. So I needed to do the set up. AND it did not work until I’d done a full pwr on/off reboot.

    I don’t know it that is of much help – but good luck.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>