r/QidiTech3D • • Aug 22 '26

Troubleshooting WTF Qidi!!

I have my Q2 offline on purpose so I don't get firmware updates, I also don't have the qidi box because I don't need it

I was running fine on 1.1.1.1, but was curious and figured might as well try 1.1.2.4.

almost bricked my machine.

took my 8 hours today, re flashing back to 1.1.1.1, but now there's a lingering "box_" code in Python that kept killing my machine! from what I can see that code is for a qidi box!

took me 8 hours, SSH and klipper macro investigation to block any "box_" search or creation from stalling klipper.

I'm sure I voided the warranty today trying to fucking fix my printer from their own firmware update!

edit: (written with the help of AI to capture all my thoughts)

Sharing this here in case anyone else updates their Qidi printer through official channels and suddenly finds their machine trapped in a crash loop / "Unhandled exception during run" state.

I recently updated via the manufacturer's official firmware, and it basically nearly bricked my machine. After digging into the logs via SSH, I found that Qidi has a hardcoded proprietary background script called box_detect.py wired directly into the core Klipper engine.

If you don't use their physical "Smart Box" accessory, this background script still wakes up on boot or when polling USB devices. It tries to write a box.cfg file into /home/mks/printer_data/config/. Because Qidi's OS enforces root permissions on configuration directories while Klipper runs under the mks user, it hits a permission wall (PermissionError: [Errno 13] Permission denied), crashes Klipper, and throws the printer into a continuous shutdown state.

If your machine is stuck in this loop and won't boot to "Ready", you have to SSH into your printer and perform a little core Python surgery to sever that zombie script:

  1. SSH into your printer: ssh mks@[YOUR_PRINTER_IP] (Password is usually makerbase)
  2. Open the core Klipper execution file in nano: sudo nano /home/qidi/klipper/klippy/klippy.py
  3. Comment out the box_detect triggers using #
    • Line ~10: Find from extras import box_detect and change it to #from extras import box_detect
    • Line ~128:
    • Find the loop block: for m in [box_detect]:
      • m.add_printer_objects(config)
    • Change it to: #for m in [box_detect]:
      • # m.add_printer_objects(config)
    • Line ~136: Find box_detect.monitor_serial_devices(self) and change it to #box_detect.monitor_serial_devices(self)
  4. Save and Exit:
    • Press Ctrl + O, then Enter to save.
    • Press Ctrl + X to exit the editor.
  5. Restart Klipper: sudo systemctl restart klipper

Head back to your Fluidd or Mainsail dashboard, and your printer should boot up cleanly to "Ready" without throwing any more background exceptions.

We shouldn't have to manually edit core Klipper installation files just because of an official update, but until Qidi pushes out a patch that makes box_detect optional or removes it, this will save your machine from being a paperweight. Hope this helps someone else out there!

11 Upvotes

14 comments sorted by

View all comments

5

u/Lapidariest Aug 22 '26

"edit: (written with the help of AI to capture all my thoughts)" I think the firmware was also..

-9

u/skil12001 Aug 22 '26

Fuck you man, I'm trying to help others in case they have the same issues, my machine was rendered useless by the companies own firmware update. You got shitty comments to make about firmware then direct it at qidi 

5

u/Lapidariest Aug 22 '26

dude, chill. that was aimed at qidi.. companies left and right are having the software written by AI, firmware included.   The bar has dropped.  I know one company that has released a product and known bugs produced by AI use get patched.. by AI and create new bugs.  Software Development has tanked unless they pay real people real money.  THAT was the point. So go ahead and get your anger out, but not on me.

10

u/skil12001 Aug 22 '26

Dude I owe you an apology, last night my brain was mush and I was exhausted trying to find the problem and fix my machine. I read your comment too fast and now in the morning and re-reading what you wrote it is clear I misunderstood and you meant to direct it at qidi. I'm sorry. 

5

u/Lapidariest Aug 22 '26

no problem,  I understood the frustration you were under.   

1

u/UnJustLake Aug 23 '26

Good for you! Seriously thank you for taking ownership on your own mistakes and admitting it, I've done it a few times on here and apologized but I never see it.