# Mender standalone FTP

**URL:** <https://hub.mender.io/t/mender-standalone-ftp/3457>\
**Category:** General Discussions\
**Created:** [April 4, 2021, 12:59pm UTC](https://hub.mender.io/t/mender-standalone-ftp/3457 "2021-04-04T12:59:04Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ankit2002](https://avatars.discourse-cdn.com/v4/letter/a/8dc957/32.png) [@ankit2002](https://hub.mender.io/u/ankit2002)\
**Post date:** [April 4, 2021, 12:59pm UTC](https://hub.mender.io/t/mender-standalone-ftp/3457/1 "2021-04-04T12:59:04Z")

</div>

Hello Everyone,

I am trying to do firmware update using mender standalone. I am able to do it via http and https but not able to do it via ftp. Could anybody let me know how’s the flow with the FTP.  
if I try `mender install http://<ip>:<port>/artifact.mender` - \> the installation starts fine.  
but If I try `mender install ftp://<user>:<pwd>@<ip>:<port>/artifact.mender` I always get “Not able to open image file:”.  
I checked with FileZilla, the server is up and running. I am also able to download the artifact.  
The mender docs says the following :

`<URI>` can be any type of file-based storage or an HTTP/HTTPS URL. For example, if you are updating from a USB stick, you could use `/mnt/usb1/release1.mender` . To use HTTPS, simply replace it with a URL like `https://fileserver.example.com/mender/release1.mender` .

So I assume its doable via ftp.

Thanks, Have a nice day!

---

<div class="post-metadata">

**Author:** ![dellgreen](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/dellgreen/32/85_2.png) [@dellgreen](https://hub.mender.io/u/dellgreen)\
**Post date:** [April 4, 2021, 6:45pm UTC](https://hub.mender.io/t/mender-standalone-ftp/3457/2 "2021-04-04T18:45:55Z")

</div>

I think the docs mean by file based storage any uri using the file:// prefix or any local file reference. I’ m not sure FTP is supported as this would require a different protocol support. However I haven’t checked the source code to confirm this.

---

<div class="post-metadata">

**Author:** ![ankit2002](https://avatars.discourse-cdn.com/v4/letter/a/8dc957/32.png) [@ankit2002](https://hub.mender.io/u/ankit2002)\
**Post date:** [April 4, 2021, 7:38pm UTC](https://hub.mender.io/t/mender-standalone-ftp/3457/3 "2021-04-04T19:38:44Z")

</div>

Thanks for the hint to look into the code. I went through it. and found out the reason.  
`https://github.com/mendersoftware/mender/blob/master/app/standalone.go#L61`  
Thanks !! Now, I will look for some other solutions as I have to use FTP server. If you have any suggestion please feel free to let me know. Thanks.

---

<div class="post-metadata">

**Author:** ![dellgreen](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/dellgreen/32/85_2.png) [@dellgreen](https://hub.mender.io/u/dellgreen)\
**Post date:** [April 4, 2021, 9:29pm UTC](https://hub.mender.io/t/mender-standalone-ftp/3457/4 "2021-04-04T21:29:52Z")

</div>

if you have sufficient storage space on the data partition, one option would be to use standard linux ftp/sftp tools to download mender file onto data partition before executing mender client to install it in standalone mode.

---

<div class="post-metadata">

**Author:** ![oleorhagen](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/oleorhagen/32/297_2.png) [@oleorhagen](https://hub.mender.io/u/oleorhagen)\
**Post date:** [April 6, 2021, 9:02am UTC](https://hub.mender.io/t/mender-standalone-ftp/3457/5 "2021-04-06T09:02:32Z")

</div>

Another option would maybe be to stream it to a `fifo` using the standard linux tools, and then read from the fifo using the `mender-client`?

---

<div class="post-metadata">

**Author:** ![ankit2002](https://avatars.discourse-cdn.com/v4/letter/a/8dc957/32.png) [@ankit2002](https://hub.mender.io/u/ankit2002)\
**Post date:** [April 6, 2021, 11:40am UTC](https://hub.mender.io/t/mender-standalone-ftp/3457/6 "2021-04-06T11:40:10Z")

</div>

Ok thanks for the hint. Will look into this.
