Can't Connect from Slic3r Prusa Edition

What is the problem?
In the latest couple versions of Slic3r Prusa Edition, there is a "Send to Printer" button between "Slice Now" and "Export G-Code".
In the "Printer Settings" tab, there are "Printer Host Upload" settings, where I have selected "OctoPrint", entered my Raspberry Pi Zero IP address, and the API key I got from Octoprint' Settings->Features->API.

But it doesn't work...
I have tried to browse in Slic3r, it doesn't find the server. The test button just does this:

What did you already try to solve it?
Reinstall Slic3r, no luck,
ask for help on Prusa Forums Octoprint thread. They sent me here.

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, octoprint.log, serial.log or output on terminal tab, ...)

Octoprint version Version 1.3.10.
OctoPi Version 0.15.0PE, running on Raspberry Pi Zero W Rev 1.1
Prusa i3 Mk3
Firmware 3.5.1 (happens on 3.3.1 also)
Slic3r Prusa Edition Version 1.41.2+

Octoprint Log:
octoprint.log (20.2 KB)

Thanks. I was hoping the log would show the error, it doesn't. What is the filename you are putting in the 'upload' dialog box? Here are things that would cause a 400 error:

  • userdata contains invalid JSON
  • No file to upload and no folder to create
  • Can't create a folder with an empty name
  • Unknown target: %s
  • Could not upload the file "{}", invalid type

So, the most likely things, I'm guessing:

  • your file doesn't end in .gcode
  • you are creating a file with a slash in it.

If it isn't those, post a screenshot of your printer settings->printer host upload section in slic3r PE. You can elide the API key. While you are there, hit 'test' and let us know if it works.

Aside from those, what's your tech knowledge? If I give you a curl command, would you know how to run it and look at the output?

1 Like

Interestingly, when I get a 400 error from the server it gives a better description:

The screenshot in my OP is from the test function.

My settings:

I can use curl. Its been a while, but I should be able to manage.

Aha, that explains why it doesn't match mine. I assumed it was an upload problem, not connect problem. Here you go, run this, I don't need the full output if it is successful:

curl -D - -H 'X-Api-Key: YOUR_KEY' http://192.168.1.8/api/files

This is what I get:

HTTP/1.1 403 FORBIDDEN
X-Robots-Tag: noindex, nofollow, noimageindex
Content-Length: 15
Content-Type: text/html; charset=utf-8
X-Clacks-Overhead: GNU Terry Pratchett
Cache-Control: max-age=0

Invalid API key

PS: I did substitute my key for YOUR_KEY in the curl command, so its not that...

EDIT: In case it matters, Octoprint works fine in the web browser, however it does take a very long time for the initial load. After it does eventually load, login and connect, everything seems snappy enough.

oh good, we're at least finding something. I can get that same behavior if I put in an invalid key. Is your key 32 characters long and all uppercase hex (0-9, A-F)? And you created the key in settings->features->api?

Yes, all looks good. I did just try to regenerate the key on that page, and the curl command returns a bunch of stuff and when I put the new key in Slic3r, the test button gives me a "Success!" message.

It appears somehow I had a wrong key somewhere somehow...

I'll slice an STL and try sending it to the printer and let you know if it doesn't work.

great! Weird. You seem to know what you're doing enough to know it was the right key. Doesn't totally make sense but I'm glad that works.

Yeah, weird stuff. I'm guessing a copy paste failure or something... Definitely me being brain dead. :crazy_face:

Thank you very very much for the help!