When I upload to SD card OctoPrint also stores it locally, why?

Since updating another of my machines to the latest OctoPrint, the RPI model B is not fast enough for USB printing. I plan to replace it with an RPI0 W2 but they are unobtainable at the moment, so I have reverted to uploading to SD.

OctoPrint seems to start by saving a local copy but that is confusing as it shouldn't be printed. It is so long since I used SD I can't remember if it has always done that.

If OctoPrint ever supports long file name writes it would even have the same name. How would that work?

Yes, it has always been that way as much as I can remember. It stores the files locally and then sends the file to SD line by line as if it was printing it from local (streaming part). There is potential work arounds with binary file transfer and a plugin to upload to SD faster but the file would still probably be stored local. Long filename support has been something in discussion recently with those new options, but listing is something that exists already in OctoPrint if your firmware has it enabled and reports the capability.

image

you can tell which are on SD by which buttons are enabled.

Unless it has changed recently OctoPrint can't write files to SD with long file names, so they only way you see long names is if you write the file to the card with in another device.

I saw this video Converting Any USB Device to A Wireless USB using Raspberry Pi Zero - YouTube that shows how to make a remote USB port over wifi using an RPI. Has anybody tried running Octoprint on a PC and sending g-code to a remote USB port connected to the printer?

Haven't seen any mention of it before. I have seen flash air card options and recently have been playing with fiber-punk beam device that is an esp32 based SDIO emulator.

1 Like

That looks interesting. It gets around the shortage of RPIs and I like the fact it can just be switched off without being shutdown. That is a major problem using RPIs for embedded applications.

it's not anything completely new, there has been esp3d for quite some time, which doesn't have the SD emulation IIRC. Unlike esp3d it does not support rfc2217, so you can't use the Network Printing plugin for OctoPrint to connect remotely. I have created a plugin that allows for uploading directly to it from OctoPrint, but due to some firmware quirks it's not fully functional yet.

I just got my first printer (Anycubic Vyper) and have octoprint setup. When I click on upload to sd it looks like it is saving to the sd card but the file is not on the sdcard only locally?

Is this because the file name is not in a 8.3 format and it cannot write this to the sdcard?

Doesn't it write an 8.3 named version of the file on the SD card as well?

It is confusing because the local file has the correct name but the version on the SD card is cryptic.

yeah, if long filename write support is not detected by OctoPrint from the firmware capabilities report it will automatically convert to 8.3 format if I remember correctly.