Basic Information:
Printer Model: Ender 5 Plus
MCU / Printerboard: BTT SKR V2.0 Rev B (STM32F407) with Raspberry Pi 3B+ over USB.
Host / SBC
klippy.log (2.3 MB)
Describe your issue:
I have historically had some random, inconsistent times where my Pi would become unresponsive causing the printer to halt halfway through a print. I ran across this thread ( Help: Klipper crashes mid-print - #61 by Alexandroid3 ) and decided to add the dtoverlay=dwc2 line at the end of my /boot/firmware/config.txt. This led to the pi not seeing the usb device consistently at /dev/serial/by-id/* (it would usually show up after a power cycle of the printer/pi). This led me to appending ,dr_mode=host to that line in the config to attempt to get it to show up more consistently over USB. I also decided to update my software hoping that this could help resolve some issues, I updated Klippy, mainsail, etc. Then made new firmware (using stm32f407, 32kib, USB options on the make menuconfig) to flash on to the board so the versions matched.
I am now having a myriad of bizarre issues. The usb still randomly doesn’t show up in /dev. The TMC2209 driver for Z1 decided to stop moving (I confirmed X, Y, and Z0 worked). Despite TMC being able to read information and not causing Klipper to crash it would not show any movement, so I swapped the drivers with Z0 and came to the conclusion the driver is shot and replaced it. Now both Z0 and Z1 work but now X, Y, and E0 are throwing TMC IFCNT errors and even once threw a DRV_STATUS error. Then most recently the Bed thermistor read a negative temp and caused a crash.
Running DUMP_TMC for Extruder/X/Y now shows Unable to read tmc uart 'stepper_x' register GCONF despite no changes to the configuration files for klipper. Here is some info from the command.
SG_RESULT: 00000000
PWM_AUTO: 000e0024 pwm_ofs_auto=36 pwm_grad_auto=14
PWM_SCALE: 0000001d pwm_scale_sum=29
PWMCONF: c80d0e24 pwm_ofs=36 pwm_grad=14 pwm_freq=1 pwm_autoscale=1 pwm_autograd=1 pwm_reg=8 pwm_lim=12
DRV_STATUS: c0190000 cs_actual=25 stealth=1 stst=1
CHOPCONF: 34030053 toff=3 hstrt=5 tbl=2 vsense=1 mres=4(16usteps) intpol=1 dedge=1
MSCURACT: 00ef003c cur_a=60 cur_b=239
MSCNT: 00000028 mscnt=40
TSTEP: 000fffff tstep=1048575
FACTORY_CONF: 0000000f fclktrim=15
IOIN: 21000041 enn=1 pdn_uart=1 version=0x21
OTP_READ: 0000000f otp_fclktrim=15
IFCNT: 0000000a ifcnt=10
GSTAT: 00000001 reset=1(Reset)
GCONF: 000001c0 pdn_disable=1 mstep_reg_select=1 multistep_filt=1
========== Queried registers ==========
SGTHRS: 00000000
TPOWERDOWN: 00000014 tpowerdown=20
COOLCONF: 00000000
TCOOLTHRS: 00000000
TPWMTHRS: 00000000
IHOLD_IRUN: 00081919 ihold=25 irun=25 iholddelay=8
SLAVECONF: 00000200 senddelay=2
========== Write-only registers ==========
dump_tmc stepper=stepper_z
Unable to read tmc uart 'stepper_x' register GCONF
========== Queried registers ==========
SGTHRS: 00000000
TPOWERDOWN: 00000014 tpowerdown=20
COOLCONF: 00000000
TCOOLTHRS: 00000000
TPWMTHRS: 0000003f tpwmthrs=63
IHOLD_IRUN: 00081919 ihold=25 irun=25 iholddelay=8
SLAVECONF: 00000200 senddelay=2
========== Write-only registers ==========
dump_tmc stepper=stepper_x
Unable to read tmc uart 'extruder' register GCONF
========== Queried registers ==========
SGTHRS: 00000000
TPOWERDOWN: 00000014 tpowerdown=20
COOLCONF: 00000000
TCOOLTHRS: 00000000
TPWMTHRS: 000fffff tpwmthrs=1048575
IHOLD_IRUN: 00081919 ihold=25 irun=25 iholddelay=8
SLAVECONF: 00000200 senddelay=2
========== Write-only registers ==========
dump_tmc stepper=extruder
~/klipper/config.skr2
# CONFIG_LOW_LEVEL_OPTIONS is not set
# CONFIG_MACH_AVR is not set
# CONFIG_MACH_ATSAM is not set
# CONFIG_MACH_ATSAMD is not set
# CONFIG_MACH_LPC176X is not set
CONFIG_MACH_STM32=y
# CONFIG_MACH_HC32F460 is not set
# CONFIG_MACH_RPXXXX is not set
# CONFIG_MACH_PRU is not set
# CONFIG_MACH_AR100 is not set
# CONFIG_MACH_LINUX is not set
# CONFIG_MACH_SIMU is not set
CONFIG_BOARD_DIRECTORY="stm32"
CONFIG_MCU="stm32f407xx"
CONFIG_CLOCK_FREQ=168000000
CONFIG_USBSERIAL=y
CONFIG_FLASH_SIZE=0x80000
CONFIG_FLASH_BOOT_ADDRESS=0x8000000
CONFIG_RAM_START=0x20000000
CONFIG_RAM_SIZE=0x20000
CONFIG_STACK_SIZE=512
CONFIG_FLASH_APPLICATION_ADDRESS=0x8008000
CONFIG_STM32_SELECT=y
# CONFIG_MACH_STM32F103 is not set
# CONFIG_MACH_STM32F207 is not set
# CONFIG_MACH_STM32F401 is not set
# CONFIG_MACH_STM32F405 is not set
CONFIG_MACH_STM32F407=y
# CONFIG_MACH_STM32F429 is not set
# CONFIG_MACH_STM32F446 is not set
# CONFIG_MACH_STM32F765 is not set
# CONFIG_MACH_STM32F031 is not set
# CONFIG_MACH_STM32F042 is not set
# CONFIG_MACH_STM32F070 is not set
# CONFIG_MACH_STM32F072 is not set
# CONFIG_MACH_STM32G070 is not set
# CONFIG_MACH_STM32G071 is not set
# CONFIG_MACH_STM32G0B0 is not set
# CONFIG_MACH_STM32G0B1 is not set
# CONFIG_MACH_STM32G431 is not set
# CONFIG_MACH_STM32G474 is not set
# CONFIG_MACH_STM32H723 is not set
# CONFIG_MACH_STM32H743 is not set
# CONFIG_MACH_STM32H750 is not set
# CONFIG_MACH_STM32L412 is not set
# CONFIG_MACH_N32G452 is not set
# CONFIG_MACH_N32G455 is not set
CONFIG_MACH_STM32F4=y
CONFIG_MACH_STM32F4x5=y
CONFIG_HAVE_STM32_USBOTG=y
CONFIG_HAVE_STM32_CANBUS=y
CONFIG_HAVE_STM32_USBCANBUS=y
CONFIG_STM32_DFU_ROM_ADDRESS=0x1fff0000
CONFIG_STM32_FLASH_START_8000=y
# CONFIG_STM32_FLASH_START_20200 is not set
# CONFIG_STM32_FLASH_START_C000 is not set
# CONFIG_STM32_FLASH_START_10000 is not set
# CONFIG_STM32_FLASH_START_4000 is not set
# CONFIG_STM32_FLASH_START_0000 is not set
CONFIG_CLOCK_REF_FREQ=8000000
CONFIG_STM32F0_TRIM=16
CONFIG_STM32_USB_PA11_PA12=y
# CONFIG_STM32_SERIAL_USART1 is not set
# CONFIG_STM32_CANBUS_PA11_PA12 is not set
# CONFIG_STM32_CANBUS_PA11_PB9 is not set
# CONFIG_STM32_USBCANBUS_PA11_PA12 is not set
CONFIG_USB=y
CONFIG_USB_VENDOR_ID=0x1d50
CONFIG_USB_DEVICE_ID=0x614e
CONFIG_USB_SERIAL_NUMBER_CHIPID=y
CONFIG_USB_SERIAL_NUMBER="12345"
CONFIG_WANT_ADC=y
CONFIG_WANT_SPI=y
CONFIG_WANT_SOFTWARE_SPI=y
CONFIG_WANT_I2C=y
CONFIG_WANT_SOFTWARE_I2C=y
CONFIG_WANT_HARD_PWM=y
CONFIG_WANT_BUTTONS=y
CONFIG_WANT_TMCUART=y
CONFIG_WANT_NEOPIXEL=y
CONFIG_WANT_PULSE_COUNTER=y
CONFIG_WANT_ST7920=y
CONFIG_WANT_HD44780=y
CONFIG_WANT_ADXL345=y
CONFIG_WANT_LIS2DW=y
CONFIG_WANT_MPU9250=y
CONFIG_WANT_ICM20948=y
CONFIG_WANT_THERMOCOUPLE=y
CONFIG_WANT_HX71X=y
CONFIG_WANT_ADS1220=y
CONFIG_WANT_LDC1612=y
CONFIG_WANT_SENSOR_ANGLE=y
CONFIG_NEED_SENSOR_BULK=y
CONFIG_WANT_LOAD_CELL_PROBE=y
CONFIG_NEED_SOS_FILTER=y
CONFIG_CANBUS_FREQUENCY=1000000
CONFIG_INLINE_STEPPER_HACK=y
CONFIG_HAVE_STEPPER_OPTIMIZED_BOTH_EDGE=y
CONFIG_WANT_STEPPER_OPTIMIZED_BOTH_EDGE=y
CONFIG_HAVE_GPIO=y
CONFIG_HAVE_GPIO_ADC=y
CONFIG_HAVE_GPIO_SPI=y
CONFIG_HAVE_GPIO_SDIO=y
CONFIG_HAVE_GPIO_I2C=y
CONFIG_HAVE_GPIO_HARD_PWM=y
CONFIG_HAVE_STRICT_TIMING=y
CONFIG_HAVE_CHIPID=y
CONFIG_HAVE_BOOTLOADER_REQUEST=y
klipper
v0.13.0-397-gecccd21f
mainsail
v2.14.0
moonraker
v0.9.3-124-gabd2026b
Pi OS 13.1 Trixie Headless 64bit
I am at a loss now how to proceed or what to even test.
UPDATE: I swapped out the TMC2209 driver from z1 to X. The Driver is bust. I find it very odd that I managed to destroy all but a single Z driver. My config is keeping the Amperage at 0.800 on my Creality 42-34 motors which in my opinion isn’t damaging them. And I had stealthchop enabled on Z0 and Z1 with velocity limited to 25mm/s. X and Y had stealthchop value 125, and the Extruder had stealthchop off.