Related to #5586, However, This is a ticket for incompatibilities found with the FTP classes & wrappers.
On a certain FTP server i was recieving the CWD as 257 "/home/dd32/", Its failing to split out the correct pathname. See Patch.
Also, trailingshashit() the current working dir. returns, some servers append /, some dont, standardise it and allways return a slashed string. See Patch.
Finally, a Patch to get_filesystem_method() to allow Pure FTP method via the PemFTP class. Pem FTP has 2 methods, 1. Sockets(currently checked for), or 2. Pure PHP which uses fsockopen/fwrite/fread. So if fsock exists, allow it to use that method too. Once again, See patch.
Also, Theres a patch in the works for a better WP_Filesystem_ftp*::find_base_dir() function, I'm currently testing it out a bit more, It should be faster, not have to perform as many ftp checks, and most importantly, Should handle WordPress installs within subfolders of other WordPress installs.