Running on an AM3703CUS Cortex-A8 core, the Seagate Wireless Plus is a device as equally fascinating as it’s also frustrating to use. It’s good to see how the people at Hack Seagate Satellite have done a great job in developing a mod to takeaway the frustration. Though, some might still prefer to keep software alterations at minimum and in their own grip.
By putting the built-in SMB file sharing and the web interface aside, in certain circumstances an FTP access can provide a much simpler and quicker means of file and folder transfer. In any case, one can never know when an additional network protocol might eventually come in handy. That leads us to the purpose of this post, which is to explain the process of setting up a lightweight FTP server on the Wireless Plus.
To begin, you first need to gain access to the device using your favorite Telnet client (mine being PuTTY on Windows). Connect to 172.25.0.1 (or seagatewireless.com) through the default Telnet port 23. If connected successfully, go further and log in by entering:
- Username: root
- Password: goflex
Now you’re inside the device and have complete access to all of its bits and pieces. As it could be seen in the console after you log in, Wireless Plus is operating under the Arago Project, and in order to keep a smaller footprint the device is shipped with a limited digest of BusyBox. We need to replace the digest with a more comprehensive BusyBox so to utilize the two perfectly suitable tools for our task: ftpd and tcpsvd.
ftpd is a single connection, anonymous FTP server; which means on each run it can serve merely a single user. As simple as it is, if used in conjunction with tcpsvd it can serve unlimited users, further exempting us from the need of an enormous and fully configurable FTP server. tcpsvd binds to a specific IP and port, listens for incoming connections and runs ftpd on each connection request.
Obtain the complete version of BusyBox compiled for the ARMv7 architecture from their site and place it in the root of your external hard disk which resides in the Linux path /media/sda1. Then set the necessary permissions and substitute it for the default one in the /bin directory. Beware of removing BusyBox completely, your device cannot function without. With the new BusyBox in place, it would be a good idea to create symbolic links to our extra BusyBox tools, namely ftpd and tcpsvd.
$ chmod 755 /media/sda1/busybox-armv7l
$ cp /bin/busybox /bin/busybox.bu
$ mv /media/sda1/busybox-armv7l /bin/busybox
$ ln -s busybox /bin/tcpsvd
$ ln -s busybox /bin/ftpd
All that’s left is configuring Arago to automatically execute the FTP server on every device boot by adding a startup script to /etc/rc5.d. The script should bind tcpsvd to the FTP port 21 on all incoming IPs and run ftpd in demand. Better not to forget allowing execution of the script.
$ echo "tcpsvd -vE 0.0.0.0 21 ftpd /media/sda1 -w &" > /etc/rc5.d/S21ftpd
$ chmod 755 /etc/rc5.d/S21ftpd
You might need to run S21ftpd once to actually run the FTP server without rebooting the device. It would be wiser to keep all these steps as a shell script patch, so you could reapply it after every update of the firmware.