Warning, the information in this post could create issues with your 3d printer and could even render it inoperable, proceed with caution!
Hello from the new guy
I have had my KE for about 2 months now and have zero prior experience in 3d printing. Although I do have significant experience with electrical, electronic and mechanics as well as the Linux operating system so I am fairly confident in the start of this adventure. With that out of the way, letās get started.
So first off we have to gain root access to our printer. (this guided adventure only pertains to the KE from my perspective) From the front control panel in settings you will see āRoot Accessā or something to that effect. You will be presented with a disclaimerā¦READ the disclaimer, once you agree you will be given 30 seconds to contemplate your decision. Once you go root it will change to yellow, this indicated the printer has been rooted and it may very well void your warranty.
The root username and password are ārootā and āCreality2023ā, this has been the same for every video/tutorial I have seen so I assume yours will be the same. So this brings to mind that every single KE printer all have the same password and it is in fact networked over wifi, something to consider.
Next you will need your network address, this will be under networking and will be something to the effect of 192.168.xxx.xxx on a typical home network running dhcp. Mind you this is a dynamic leased address and will change from time to time. Mine seems to bounce between 2 different addresses. If you have the ability it would be advantageous to assign the printer a static IP address.
To access the core system and get Deep and Dirty into this thing you are going to need to jump in as root, so lets do that now. As a note you will be accessing a command line environment only that is running on a Linux kernel, so you will need to be adept and comfortable with a CLI interface.
So fire up your preferred terminal program, in Windows 10/11 you can open up power shell, you do not need any additional 3rd party programs. I am on a Mac and will be using the terminal, same as linux/unix. To gain access we will use SSH (Secure Shell) to access the system.
ssh root@your_ip_address
unknown@unknown-imac ~ % ssh root@192.168.xxx.xxx
The authenticity of host '192.168.xxx.xxx (192.168.xxx.xxx)' can't be established.
ECDSA key fingerprint is SHA256:YSm9hqU8BBZ8Wxxxxxxxxxxxxxxxxxxxxxxxxxxx.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:4: 192.168.xxx.xxx
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.xxx.xxx' (ECDSA) to the list of known hosts.
root@192.168.xxx.xxx's password:
root@Ender3V3KE-95B8 /root [#]
You will be logged into the root users directory in which is just an empty directory. If you run ālsā it will return nothing as there is nothing to return.
Ok so now youāre in, you have got root access to your printer. Now some standard warnings about this if your not familiar, root access gives you full elevated privileges and you can do Anything you want to doā¦like make mistakes that can have severe consequences. Linux doesnāt care, if you tell it to remove (rm) a file, it will do so without further confirmation, it will not ask you if your sure, it will not send it to a trash can to be retrieved later, noā¦ it will do as you ask without question. With this said it would be wise to create a regular user to log in with, then when elevated privileges are needed you can use the switch user (su) to switch to the root user. When you are done doing your administrative task you would then again switch back to the standard user.
Now, this is only a printer and not a daily user environment so in most cases your going to get in, do a task and get out, so you may opt not to create a standard user account and simply log in as root with the factory password and do what you want. For me personally I adhere to standard operating principles of a secure system so I will be creating a standard user. Again, running around the system as root is akin to running with scissors, its all fine until you fall and stab yourself.
Letās talk about the system briefly. The system your logging into is whatās known as āBusy Boxā, it is colloquially referred to as the Swiss army knife of Linux. It is a very stripped down minimal version of a Linux operating environment meant specifically for embedded systems where processor power and memory is constrained.
So lets take a quick look at what we got here:
uname -a returns
Linux Ender3V3KE-95B8 4.4.94 #47 SMP PREEMPT Fri Apr 12 18:00:37 CST 2024 mips GNU/Linux
So we have the operating system, hostname, kernel version, kernel release date, the hardware platform, etcā¦ Here we can see we are running on a mips risc architecture.
First lets change the password for the root account for basic security.
root@Ender3V3KE-95B8 /root [#] passwd
Changing password for root
New password:
Retype password:
passwd: password for root changed by root
Now log out and log back in, type exit and then ssh back in as root
root@Ender3V3KE-95B8 /root [#] exit
Connection to 192.168.xxx.xxx closed.
unknown@unknown-imac ~ % ssh root@192.168.xxx.xxx
root@192.168.xxx.xxx's password:
root@Ender3V3KE-95B8 /root [#]
Alright so now we have a root account that has a unique password. Letās create a standard user account so we can go explore without having to stress about screwing something up critical.
root@Ender3V3KE-95B8 /root [#] adduser jester
**adduser: /home/jester: No such file or directory**
Changing password for jester
New password:
**Bad password: too weak**
Retype password:
passwd: password for jester changed by root
Now you will see that it called out weak password, it will accept it but it will warn you that a password of password is not a wise choice. So lets clean that up real quickā¦
root@Ender3V3KE-95B8 /root [#] passwd jester
Changing password for jester
New password:
Retype password:
passwd: password for jester changed by root
Also notice we got a warning from the adduser command that it was unable to create the home directory. This is where things get complicated since this is such a minimal version of Linux, and my first time working with busy box so I had to really dig into my knowledge bank (ChatGPT) and work through it.
Lets create that home directory, set ownership and permission.
root@Ender3V3KE-95B8 / [#] mkdir -p /home/jester
root@Ender3V3KE-95B8 / [#] chown jester:jester /home/jester
root@Ender3V3KE-95B8 / [#] chmod 700 /home/jester
This is were we ran into just a little troubleā¦we need to add the user to the users group so they can log into the system. Busy box does not have the user mod command availableā¦
root@Ender3V3KE-95B8 /etc [#] usermod -aG users jester
**-sh: usermod: not found**
Now this will have to be done manually so you will need to edit the group file directly which means you will have to use the āviā editor. I will explain the steps but the vi editor is tricky if youāre not versed in it. Proceed with caution and patience.
First things first, lets make a back up of the original file before we go screwing it up, this is where you can get into trouble running around as root. You should get in the habit of backing up any config files before modifying them unless you consider yourself expert level. Also this is good practice if your going to modify future files on the system.
root@Ender3V3KE-95B8 /etc [#] cp group group.bak
Now we have a backup of the original group file and we can edit the original.
You can view it first with the command ācat /etc/groupā
I recommend using the -R switch (vi -R group) to view the file in readonly mode first before attempting to modify it if you not familiar. Or just jump in if you know what your doingā¦
Take note we are in the /etc directory, but it lets use the absolute path name hereā¦
root@Ender3V3KE-95B8 /etc [#] vi /etc/group
You can use your arrow keys to scroll down to the user line and go to the ending of the line users:x:100: and press a, this will put you into āappendā mode. Now type in your user name then press the esc (escape) key. Now you are out of edit mode and back in command mode, so letās write the change and quit with :wq
Now type
cat /etc/group
You should now have the modified lineā¦
users:x:100:your_user_name
If you screw up or panic just hit esc and then type :!q If you really freak out just turn off the printer, lol It will be fineā¦
So now type the following:
root@Ender3V3KE-95B8 /root [#] id jester
uid=1004(jester) gid=1004(jester) groups=1004(jester),100(users)
Ok thatās it, we created a standard system user that can now log into the system and freely move around without worrying about screwing things up.
root@Ender3V3KE-95B8 / [#] exit
Connection to 192.168.xxx.xxx closed.
unknown@unknown-imac ~ % ssh jester@192.168.xxx.xxx
jester@192.168.xxx.xxx's password:
jester@Ender3V3KE-95B8 /home/jester [$]
Woot, there you are all logged in as a standard user, now in the next episode we are going to actually go and dig around the file system and find the pertinent files for the printer. That was a lot of information to take in.
If your going to be operating in the linux command line environment I recommend you buy a book on linux or even an old book on unix, for a stripped down version of linux like busy box its basically an old school version of linux/unix. I purchased a 1996 version of āInside Unixā 2nd edition for $6 at the local used book store and the best part of the book are two full chapters on the VI editor, which is now known as Vim (VI Improved).
Bet you didnāt a lesson on linux and user management before even getting started haha!