Skip to content

Conversation

@salfter
Copy link

@salfter salfter commented Mar 31, 2021

I've been trying to get the ESPWebDAV working optimally with Linux. From my previous PR:

"davfs2 (http://savannah.nongnu.org/projects/davfs2) still doesn't want to write files. webdavfs (https://github.com/miquels/webdavfs) says upfront when you mount the device that since it's missing PUT range support, it will only mount read-only. cadaver (http://webdav.org/cadaver/) works flawlessly, but it's more like the old command-line FTP client than a network filrsystem implementation."

I now have webdavfs working pretty well with it. Partial requests are supported for both GET and PUT. webdavfs appears to write up to 128K at a time with PUT and read 64K or 128K at a time with GET. These "chunked" requests also seem to have made file transfers more reliable. I was having power-reliability issues with long file transfers (with the ESPWebDAV in the SD-card slot of a RRD full-graphic controller plugged into an SKR Pro 1.1), and still am if I use cadaver to move files around, but uploads and downloads alike are pretty reliable so far when the device is mounted with webdavfs.

Interoperability with Windows appears unaffected. (You have to refer to the device by its IP address, not its hostname; this appears to be a deficiency with Windows' WebDAV implementation.)

salfter and others added 7 commits March 25, 2021 00:23
)

OPTIONS / was returning a "DAV: 2" header.  This causes davfs2 to reject the
attempt:

/sbin/mount.davfs: mounting failed; the server does not support WebDAV

Setting ignore_dav_header 1 in /etc/davfs2/davfs2.conf allows the mount to
continue, but this shouldn't be necessary.  Advertising Class 1 capability
in addition to Class 2 fixes this problem, while not affecting compatibility
with other clients (was still able to mount the device from Windows 10, for
instance).
@salfter
Copy link
Author

salfter commented Mar 31, 2021

This also appears to include the changes from PR #1, for some reason.

@GrzegorzDrozd
Copy link

Any progress with this merge? it would be super useful to support this.

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

Successfully merging this pull request may close these issues.

4 participants