I am posting this for future reference, since I was unable to find the answer with Google, in future hopefully, this will save someone some time and effort.
The answer is: setting secure_ftp = False in the config file. Everything is running like clockwork now. Thanks for a wonderful product. ----------------------------------------------------------------------------------------------- The issue I just installed weewx on my Ubuntu 16.04 workstation. $ sudo python Python 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609] on linux2 Everything works great, except ftp to my website. I have triple checked the user and password, and it still fails with either Reason: [Errno 0] Error or Reason: neither of which give me much of a clue. Here is part of the log. I am mystified. (I also tried both weewx and /weewx as the target directory) Jan 26 12:45:15 carina weewx[11582]: restx: Wunderground-PWS: Published record 2019-01-26 12:45:00 CST (1548528300) Jan 26 12:45:17 carina weewx[11582]: cheetahgenerator: Generated 14 files for report StandardReport in 2.22 seconds Jan 26 12:45:26 carina weewx[11582]: imagegenerator: Generated 12 images for StandardReport in 8.49 seconds Jan 26 12:45:26 carina weewx[11582]: copygenerator: copied 0 files to /var/www/html/weewx Jan 26 12:45:27 carina weewx[11582]: ftpupload: Attempt #1. Failed uploading weewx/daywind.png to ajackson.org. Reason: [Errno 0] Error Jan 26 12:45:27 carina weewx[11582]: ftpupload: Attempt #2. Failed uploading weewx/daywind.png to ajackson.org. Reason: Jan 26 12:45:27 carina weewx[11582]: ftpupload: Attempt #3. Failed uploading weewx/daywind.png to ajackson.org. Reason: Jan 26 12:45:27 carina weewx[11582]: ftpupload: Failed to upload file weewx/daywind.png Jan 26 12:45:27 carina weewx[11582]: ftpupload: Attempt #1. Failed uploading weewx/yeartempchill.png to ajackson.org. Reason: Jan 26 12:45:27 carina weewx[11582]: ftpupload: Attempt #2. Failed uploading weewx/yeartempchill.png to ajackson.org. Reason: Jan 26 12:45:27 carina weewx[11582]: ftpupload: Attempt #3. Failed uploading weewx/yeartempchill.png to ajackson.org. Reason: Jan 26 12:45:27 carina weewx[11582]: ftpupload: Failed to upload file weewx/yeartempchill.png ...... Jan 26 12:55:29 carina weewx[11582]: ftpupload: Got error while attempting to make remote directory /weewx/smartphone Jan 26 12:55:29 carina weewx[11582]: **** Error: Jan 26 12:55:29 carina weewx[11582]: ftpupload: Got error while attempting to make remote directory /weewx/smartphone Jan 26 12:55:29 carina weewx[11582]: **** Error: Jan 26 12:55:29 carina weewx[11582]: ftpupload: Got error while attempting to make remote directory /weewx/smartphone Jan 26 12:55:29 carina weewx[11582]: **** Error: Jan 26 12:55:29 carina weewx[11582]: ftpupload: Unable to create remote directory /weewx/smartphone Jan 26 12:55:29 carina weewx[11582]: ftpgenerator: Caught exception <type 'exceptions.IOError'>: Unable to create remote directory /weewx/smartphone Jan 26 12:55:29 carina weewx[11582]: **** Traceback (most recent call last): Jan 26 12:55:29 carina weewx[11582]: **** File "/usr/share/weewx/weewx/reportengine.py", line 325, in run Jan 26 12:55:29 carina weewx[11582]: **** n = ftp_data.run() Jan 26 12:55:29 carina weewx[11582]: **** File "/usr/share/weewx/weeutil/ftpupload.py", line 137, in run Jan 26 12:55:29 carina weewx[11582]: **** self._make_remote_dir(ftp_server, remote_dir_path) Jan 26 12:55:29 carina weewx[11582]: **** File "/usr/share/weewx/weeutil/ftpupload.py", line 240, in _make_remote_dir Jan 26 12:55:29 carina weewx[11582]: **** raise IOError, "Unable to create remote directory %s" % remote_dir_path Jan 26 12:55:29 carina weewx[11582]: **** IOError: Unable to create remote directory /weewx/smartphone -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.