Unable to Obtain MCU-Linux

Basic Information:

Printer Model: Creality Ender3 V2
MCU / Printerboard: Stock - 4.2.2
klippy (3).log (40.6 KB)

Recently discovered Klipper and as I have multiple printers thought I would have ago at setting up. Installed on Laptop (linux) and able to connect via ssh on a separate PC.

Followed the instructions to setup to the T, however I am unable to obtain a MCU info. Managed it once however the port was denied access. After a firmware update I’ve not been able to get to this stage.

I’ve completed a new fresh install of OS and a complete new Klipper install and re-flashed printer just to be on the safe side.

When checking for MCU via USB I get the following message : No MCU found!
MCU either not connected or not detected!

When checking via UART I get the following message: ###### Identifying MCU possibly connected via UART …

● MCU #1: ttyS0

I have also tried sudo systemctl list-units | grep brltty, however get nothing back. I’ve also tried -

  1. Disconnect your MCU from the HP (running Linux Mint)
  2. Reconnect
  3. Run sudo dmesg

and get a massive file, I’ve attached. If any one could help solve this I would really appreciate it.

Thanks in advance
new-Sudo dmesg.txt (95.6 KB)

[  769.548300] ch341 1-6:1.0: ch341-uart converter detected
[  769.548930] usb 1-6: ch341-uart converter now attached to ttyUSB0
[  769.652159] usb 1-6: USB disconnect, device number 5
[  769.652431] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[  769.652459] ch341 1-6:1.0: device disconnected
[  770.138318] input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input19

From your log it is definitively BRLTTY that is spoiling your fun. Stange that the systemctl command does not return anything.

Try:
sudo systemctl list-unit-files brl\*

Looks like you may have found the issue. The results where :-
UNIT FILE STATE VENDOR PRESET
brltty-udev.service static -
brltty.service disabled enabled

Disabled is showing in red
Enabled showing in green.

Just thought I’d mention that as I know it wouldn’t show here.

I take it this should be enabled. I did some looking around and managed to enable them, however still no change

Do:

sudo systemctl mask brltty-udev.service
sudo systemctl stop brltty-udev.service
sudo systemctl mask brltty.service
sudo systemctl stop brltty.service

Then reboot and try again. If it does not work, please post a new dmesg output and the corresponding klippy.log

Thanks again. Still no change . I’ve attached both files as requested. Not sure if this of any use but the following lines from the dmesg file are shown in red

[ 0.130000] x86/cpu: VMX (outside TXT) disabled by BIOS

[ 0.107185] DMAR: [Firmware Bug]: No firmware reserved region can cover this RMRR [0x000000009d800000-0x000000009fffffff], contact BIOS vendor for fixes

[ 20.847546] Bluetooth: hci0: unexpected event for opcode 0xfc2f

[ 0.130000] x86/cpu: VMX (outside TXT) disabled by BIOS

if it comes to it I’m more than happy to reinstall a copy of Windows then reformat back to linux

klippy (4).log (75.0 KB)
3rd-Sudo dmesg.txt (82.1 KB)

  • This is Ubuntu, right?
  • This is running a dedicated Linux and not a virtual machine?
  • x86/cpu: VMX (outside TXT) disabled by BIOS → Just an info that certain virtualization extensions are disabled in the BIOS
  • DMAR: [Firmware Bug]: No firmware reserved region can cover this RMRR → also some virtualization thing from the BIOS

Regarding the log I do not see an event of connecting the printer board:

yeah sorry, error on my behalf, totally forgot to plug the printer back in. Its actually a full install of Linux Mint. I did have ubuntu originally, but due to the error changes it incase this was causing the issue

klippy (5).log (84.5 KB)
4th-Sudo dmesg.txt (82.9 KB)

more than happy to do fresh installs or another OS if you think it might help. Thanks

Can’t imagine this being an issue, but with ender v2 screen not working with Klipper I’ve also removed the ribbon cable from the main board. Would this effect anything. Just a thought as thats the only other thing I’ve changed.

Strange, it no longer shows an intervention of BRLTTY but it immediately disconnects.

Please show the output of

ls -al /usr/lib/udev/rules.d/

If there is anything like brltty-device.rules then do:

sudo mv /usr/lib/udev/rules.d/brltty-device.rules /usr/lib/udev/rules.d/brltty-device.rules.bak

The mv is only an example. Adapt to the potential output of the ls command above. Do it for every *.rules file that contains “brltty”.
Reboot and try again.

the only line that shows BRLTTY is

-rw-r–r-- 1 root root 17401 Jun 28 2022 85-brltty.rules

Then do

sudo mv /usr/lib/udev/rules.d/85-brltty.rules /usr/lib/udev/rules.d/85-brltty.rules.bak

and reboot

still no change, not sure what causing this as the first time I tried I actually for the address then a firmware was installed and its never got to that stage since. I take it having secure boot disabled wouldn’t affect it at all

From the Linux side, I would think we are clear now.

Start again with reflashing the board. Use klipper/printer-creality-ender3-v2-2020.cfg at master · Klipper3d/klipper · GitHub and especially mind the information on top of the file.
Follow Installation - Klipper documentation for the general procedure

I went a head and done a complete format of the laptop, re-installed windows 10 and relevent updates just incase, didn’t think it would be any difference but thought if I’m doing it I might as well do everything. once completed I then done another fresh format and re-installed a fresh copy on the latest Ubuntu.

Tried to follow the instructions you sent me to, however it would not create the file after typing Make. So I tried again using the Kiauh version. Followed all in the instructions as stated at the top of the Ender3 v2 config file (2020). Re-flashed the printer.

I’ve replaced the printer.cfg file as stated. Still shows the following error at the top of the Fluid dashboard -
mcu ‘mcu’: Unable to connect
Once the underlying issue is corrected, use the
“FIRMWARE_RESTART” command to reset the firmware, reload the
config, and restart the host software.
Error configuring printer

When typing - /dev/serial/by-id/* I get the following message
No such file or directory

I’ve also ran - sudo systemctl list-units | grep brltty - This time I got this response

brltty-udev.service
loaded active running Braille Device Support

So I ran
sudo systemctl mask brltty-udev.service
sudo systemctl stop brltty-udev.service and unplugged and re-plugged the printer to laptop

I re-ran /dev/serial/by-id/* and got the following (finally :slight_smile: )
-bash: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0: Permission denied

however as you can see its shows the port has been denied permission, once this has been corrected should it work ?

before I do anything else. I’ve just checked the settings in Fluid and it shows theres 62 packages to be installed for the OS, I’ve not ran it as yet as I believe this is when everything went wrong last time. But you’ll probably know the answer to that one. Really appreciate your help on this as I’m sure it’s done your head in just as much as mine. Thanks

Ok, a little progress.

Try:

sudo usermod -a -G dialout <your klipper user here>

then log out and back in or reboot.

Brilliant , I now have a connection in Klipper, I’ve also added the following to the printer.cfg file

[include fluidd.cfg]

[virtual_sdcard]

path: /home/klipper/printer_1_data/gcodes

on_error_gcode: CANCEL_PRINT

[display_status]

[pause_resume]

[gcode_macro CANCEL_PRINT]

description: Cancel the actual running print

rename_existing: CANCEL_PRINT_BASE

gcode:

TURN_OFF_HEATERS

CANCEL_PRINT_BASE

All seems well. just got to add the bltouch and filament sensor settings and all should be good I believe.

Just pressed the Home button on the fluidd dashboard, then got the following message

Lost communication with MCU ‘mcu’
Once the underlying issue is corrected, use the
“FIRMWARE_RESTART” command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown

Turns out the permission where reset to denied once I had pressed the home button

At least we have arrived at Klipper and are done with fighting against Linux
Post your klippy.log. Klipper cannot reset your OS permissions

Very true. much appreciate it, its pay day Friday if you have a donation page of a kofi page etc. Please forward your link its the least I could do.
klippy (7).log (128.4 KB)

Thanks for the offer, really appreciated. See Sponsors - Klipper documentation. Donation goes to @koconnor who is the lead developer of Klipper

From your log:

Timeout with MCU 'mcu' (eventtime=648.608440)
Transition to shutdown state: Lost communication with MCU 'mcu'

then followed by:

b'Got EOF when reading from device'

Unfortunately these kind of errors are hard to diagnose since there is not a single reason like BRLTTY or wrong permissions.

See Timeout with MCU / Lost communication with MCU for some hints.

You can also run sudo dmesg -ew (this will give you a permanent “monitoring” output). Then provoke the error and check if there are USB related topics in the output.
This is not a Klipper error but an error between your printer board and the Linux host. Klipper is just reporting it. Unfortunately these ch341 UART chips are a major pain in the lower back and known to be problematic.

1 Like

Brilliant I will look into that, would you suggest upgrading the boards to a Big Treetech one with the basic ch341 UART chips boards having problematic issues.

Well, a lot of Klipper installation run on these boards, so they can work. The error messages above can have a lot of reasons and I’d suggest to work through it before running for a new board.
Worst case is that you don’t get it to run but learn a bunch. :wink:

1 Like