Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] M997 freezes BTT SKR E3 DIP V1.1 instead of resetting it #27169

Closed
1 task done
ali1234 opened this issue Jun 12, 2024 · 8 comments
Closed
1 task done

[BUG] M997 freezes BTT SKR E3 DIP V1.1 instead of resetting it #27169

ali1234 opened this issue Jun 12, 2024 · 8 comments

Comments

@ali1234
Copy link

ali1234 commented Jun 12, 2024

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

Sending the command M997 causes the board to freeze forever.

Bug Timeline

I don't know, I never tried using M997 before today, so as far as I know it has never worked.

Expected behavior

M997 should cause STM32 boards to reset.

Actual behavior

Sending the command M997 causes the board to freeze forever.

Steps to Reproduce

  1. Send M997 command to printer.

Version of Marlin Firmware

2.1.2.3

Printer model

Creality Ender-3

Electronics

BTT SKR E3 DIP V1.1

LCD/Controller

Stock

Other add-ons

None

Bed Leveling

None

Your Slicer

None

Host Software

OctoPrint

Don't forget to include

  • A ZIP file containing your Configuration.h and Configuration_adv.h.

Additional information & file uploads

No modification. The bug happens with example config:

Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1

@ali1234 ali1234 changed the title [BUG] STM32F103RC_btt: M997 crashes the board instead of resetting it [BUG] STM32F103RC_btt: M997 freezes the board instead of resetting it Jun 12, 2024
@thisiskeithb
Copy link
Member

Don't forget to include
A ZIP file containing your Configuration.h and Configuration_adv.h.

You forgot to do this. Please attach your bugfix-2.1.x configs.

@ali1234
Copy link
Author

ali1234 commented Jun 12, 2024

No modification. The bug happens with example config:
Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1

configs.zip

@thisiskeithb thisiskeithb changed the title [BUG] STM32F103RC_btt: M997 freezes the board instead of resetting it [BUG] M997 freezes BTT SKR E3 DIP V1.1 instead of resetting it Jun 13, 2024
@ellensp
Copy link
Contributor

ellensp commented Jun 13, 2024

This uses NVIC_SystemReset, Failure of reset is almost always due to something external driving the NRST and preventing it getting LOW.

I see you have enabled uart 2, does this means you have a tft plugged in?
if so unplug it, it may be holding the reset line high

reset (NRST) is on the following ports: TFT, SWD, EXP1 and SPI1 so for testing please remove anything you have plugged into these ports that could potentially be holding the reset pin high.

@ali1234
Copy link
Author

ali1234 commented Jun 13, 2024

I have nothing connected to SWD, SPI1, or TFT. I have the stock Ender 3 LCD on EXP1. Unplugging it did not change the result.

After checking the schematic, the board has a reset button which is wired like this:

image

Pulled up by 4.7k - could that be the problem?

@ali1234
Copy link
Author

ali1234 commented Jun 13, 2024

Even pressing that reset button does not reset the board - it makes the status LED light while it is held down, but the board does not boot up when released. Even when not running M997. I would guess that the reset is actually successful, but the firmware is crashing due to some hardware being unexpectedly already initialized. Probably in the vendor bootloader?

@thisiskeithb
Copy link
Member

The bug happens with example config:
Creality/Ender-3/BigTreeTech SKR E3-DIP V1.1

Using this config, I set up an SKR E3 DIP V1.1 (RET6 version) with TMC2208s and stock Ender-3 LCD...

  • Physical reset button works
  • M997 works
  • PIO STM32F103RC_btt environment works
  • PIO STM32F103RE_btt environment works

@thisiskeithb
Copy link
Member

I suspect your board has a hardware fault.

@ali1234
Copy link
Author

ali1234 commented Jun 14, 2024

It was actually the SD card. Although it works fine for all operations including reflashing the firmware after power-on-reset, resetting the board by any method while it is inserted causes Marlin to boot loop (including the BTT firmware binaries). The bad SD card is unbranded 128MB and was supplied with the SKR board, and the good SD card is Netac 8GB supplied with the Ender 3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants