'mcu': Unable to connect

Basic Information:

Printer Model: BIQU-BX
MCU / Printerboard: SKR SE-BX-V3.0
klippy.log :
klippy.log (5.2 KB)

While shifting form Marlin I installed Klipper on a PI4 attached to the TFT70-BX-V3.0. The installation seems to work fine.
Capture d'écran 2024-05-31 173358

I copied the Klipper.bin file to printer SD card (renamed firmware.bin) and the firmware update did not give any error.
However when starting Mainsail I get the error “mcu ‘mcu’: Unable to connect”
It seems that serial connection is not set correctly


ls /dev/serial/by-id/*
/dev/disk:
by-id  by-label  by-partuuid  by-path  by-uuid
/dev/dma_heap:
linux,cma  system
/dev/dri:
by-path  card0  renderD128
/dev/fd:
0  1  2  3
/dev/input:
mice
/dev/mapper:
control

/dev/mqueue:


/dev/net:
tun

/dev/pts:
0  1  ptmx

/dev/shm:

/dev/snd:
by-path  controlC0  pcmC0D0p  seq  timer
/dev/v4l:
by-path

I checked cables continuity ok (connection was working with Marlin)

Do you have any suggestion about how to solve this problem ?

Hello @Cracoukas !

Please format your code snippet with the Preformatted Text feature of the forum editor.

Format

If ls /dev/serial/by-id/* does not return anything, the your boards is either not correctly connected or not correctly flashed.
See Issues flashing the printer board

Hard to read without the preformatted text but if

ls /dev/serial/by-id/*

doesn’t return anything, try

ls /dev/serial/by-path/*

That’s needed for some chipsets

The connection was working ok when in was running Marlin and I checked the cables continuity and they are ok

I copied the klipper.bin file to the printer SD card, renamed it “firmware.bin” and restarted. The firmware update seemded to work ok and the firmware.bin was renamed firmware.cur, so I suppose it was flashed correctly

It does not work either:
ls: cannot access '/dev/serial/by-path/*': No such file or directory

As long as the board is not even recognized by Linux on OS level, you have exactly 3 options:

  1. Wiring issue between host and board
  2. Dead board or dead host
  3. Not correctly flashed

So, do you want to solve the problem or just express your conviction that it can’t be that it doesn’t work and that you’ve done everything right?

In case of the first, follow the advice given in the link above.

Sorry if I annoy you but, I just want to solve the problem and understand what is not working

  1. Wiring issue:
  • the connection bewtween the PI and the board was working ok when I was running Marling
  • I check the continuity of the wiring with a multimeter
  • I tried with a second set and TFT70-BX-V3.0 bord and PI, and it did not work either
  • Flashing ? I copied the klipper.bin file to the pronter board SD card, renamed it frimware.bin and restarted. The display shows firmware updating 0%-100% and then the firmware.bin was correctly renamed firmware.cur

So I’am lost !

This connection is not needed nor used on Marlin (at least not how Klipper does).

The link above has roughly 30 individual items that can lead to this effect and need to be checked.
So, if you stick to the 5 points above and repeat them, then we are running in circles and unfortunately I cannot further assist.

I suppose it’s some missconfuguration but what ?
I followed your advices in " [Debian 11 (Bullseye) udev bug - No board or serial found](https://klipper.discourse.group/t/debian-11-bullseye-udev-bug-no-board-or-serial-found/10711)" as well as [BRLtty / ModemManager - Services Interfering with Klipper](https://klipper.discourse.group/t/brltty-modemmanager-services-interfering-with-klipper/10611) but I still cannot connect to the printer through the PI.

I used the printer-biqu-bx-2021.cfg config file (without modifications) and the suggested parameters :
Capture d'écran 2024-05-31 174243

and just completed the config file:

[all]
dtparam=i2c_vc=on
dtparam=i2c_arm=on
dtoverlay=vc4-kms-dsi-btt-bxv3-7inch
enable_uart=1
dtoverlay=disable-bt
disable_splash=1

Before compiling.

The screen was installed according to:
https://github.com/bigtreetech/BIQU-BX/tree/master/Firmware/RPi-Linux-RPi-7inch-DSI

The printer board or the PI4 could of course have problems, but two of them seems unlikely.

Follow in the exact sequence as given How-To Trouble-Shoot and attach the resulting dmesg.txt

Here is the procedure I followed:

https://klipper.discourse.group/t/debian-11-bullseye-udev-bug-no-board-or-serial-found/10711
sudo apt -y update && sudo apt -y upgrade
apt-cache policy udev

udev:
  Installed: 247.3-7+rpi1+deb11u2
  Candidate: 247.3-7+rpi1+deb11u2
  Version table:
 *** 247.3-7+rpi1+deb11u2 500
        500 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages
        100 /var/lib/dpkg/status

curl -sf -L https://raw.githubusercontent.com/Sineos/useful_bits/main/Linux/fix_debian_udev.sh | sudo bash

apt-cache policy udev

udev:
  Installed: 252.5-2~bpo11+1
  Candidate: 252.5-2~bpo11+1
  Version table:
 *** 252.5-2~bpo11+1 100
        100 http://ftp.debian.org/debian bullseye-backports/main armhf Packages
        100 /var/lib/dpkg/status
     247.3-7+rpi1+deb11u2 500
        500 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages


https://klipper.discourse.group/t/how-to-trouble-shoot/6326
copy printer-biqu-bx-2021.cfg to /home/Jacques/printer_data/config and renamed it printer.cfg
Buil Klipper using kiauh
Copy Klipper.bin to the printer SD card and renamed ir firmware.bin
Restarted the printer, firmware flashed and renamed 

Klippy.log:
Starting Klippy...
Args: ['/home/Jacques/klipper/klippy/klippy.py', '/home/Jacques/printer_data/config/printer.cfg', '-I', '/home/Jacques/printer_data/comms/klippy.serial', '-l', '/home/Jacques/printer_data/logs/klippy.log', '-a', '/home/Jacques/printer_data/comms/klippy.sock']
Git version: 'v0.12.0-207-g6cd17420'
Branch: master
Remote: origin
Tracked URL: https://github.com/Klipper3d/klipper
CPU: 4 core ?
Python: '3.9.2 (default, Mar 12 2021, 04:06:34) \n[GCC 10.2.1 20210110]'
Start printer at Sat Jun  1 11:43:55 2024 (1717238635.4 9.8)

mcu 'mcu': Starting serial connect
mcu 'mcu': Unable to open serial port: [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0'

ls /dev/serial/by-id/*
ls: cannot access '/dev/serial/by-id/*': No such file or directory

and the resulting dmesg file
dmesg.txt (28.5 KB)

I am wondering if it could be possible to bypass the TFT70 board and connect the PI to the printer using the USB ports at least for testing purposes ?
I am also considering switching to a Manta board, may be easyer to get working with Klipper ?

Your dmesg report does not contain a single trace of a connected printer board.

What do you mean with this? I hope, it is clear that the SKR board needs to be connected to the Pi and not the TFT?

Indeed, the question is how ?
With the SKR SE-BX and TFT70-BX V2 it could be connected either by USB or using pin 8 (TXD) and 10 (RXD) of the PI and the corresponding WiFi pins on the SKR board.
Now BTT does not support V2 boards anymore and replaced them by V3.0 version which have different connections. The UART connector of the TFT both provide power supply to the PI and connect the TXD-RXD pins.

I suppose (almost impossible to get precise info from BTT) the serial connection is transfered to the printer board through the modified RGB-LCD flat ribbon without the need of another connecting cable


On the schematic the only mention of TXD/RXD is on the CAN1

At least connecting to the printer via Octoprint/Octopi works when flashing Marlin which means that the signal is properly transferd from PC → PI → Printer. Flashing Klippy does not change the hardware so it must be a question of parameters or just black magic !
In any case I tried to connect the PI (or even the TFT) and the printer with a USB cable but without any result.

Hell, what a stupid board. After looking at the schematic:

  • The board indeed seems not allow connecting via USB to the host
  • It uses a direct serial connection via PA0 and PA1 that is broken out on the LCD header → ls /dev/serial/by-id/* will never show anything as it does not get created under this connection scheme

Some hints to make it working:

As a result, check with ls -l /dev/serial*. Should look like

Then make sure to:

  • Connect TXD (pin 8 / GPIO 14) and RXD (pin 10 / GPIO 15) with RX to TX and TX to RX
  • For Klipper use
    [mcu]
    serial = /dev/serial0
    restart_method = command
    

Have you read this Klipper on the BIQU BX V3 · GitHub?

Yes, that’s what I followed originally.

Did you read the comments on above link? It seems, you are not the first one with this problem. In the comments you might find some good tips.

Thanks’ for the help.
Since they did not include a WiFi connector on the SKR-SE-BX-V3.0 I will try to use the CAN-1 P (TXD) and CAN-1 N (RXD) if that’s compatible.
Meanwhile I ordered a Manta M8P V2.0, I fear those SKR-SE-BX and TFT70-BX where just a big waste of monney.