1. Wi-Fi based data transfer from any portable storage media
Shruti Karandikar
Student
Electronics and Telecommunication Engineering
Sardar Patel Institute of Technology
Pratik Khandalkar
Student
Electronics and Telecommunication Engineering
Sardar Patel Institute of Technology
Shubhankar Kulkarni
Student
Electronics and Telecommunication Engineering
Sardar Patel Institute of Technology
Sukanya Kulkarni
Associate Professor and Mentor
Electronics and Telecommunication Engineering
Sardar Patel Institute of Technology
Abstract—This paper presents a new and effective idea for
transferring or streaming data from a storage device like pen-
drive or hard-drive, using wi-fi technology over a smart-phone
or laptop. The main functionality of the proposed system is to
transfer data without any cable connection or even Internet
connectivity. The heart of the system is the Raspberry Pi(B+
Board), which runs on a Debian based operating system. The
main task to control the data transfer is done by the Broadcom’s
BCM2835, ARM based processor on Raspberry Pi board. The
read data is then populated on a FTP (File Transfer Protocol)
Server created by the device. Each user acts as a FTP client and
connects to the device’s Wi-Fi network. The network is generated
by interfacing TP-link’s TL-wn725n wi-fi adapter to the Pi board.
Key-words- Wireless data transfer, Wireless FTP, Portable
media storage device, Wi-Fi Hotspot.
I. INTRODUCTION
Large storage and fast sharing is need of the hour for today’s
techno savvy society. To fulfill this, smartphones are often
complemented with an external SD card. New technologies
have evolved which allow smartphones to store data up to
128GB. But there are limitations in increasing this memory
size. Major reason behind this difficulty is the space required
by the SD cards on a PCB, their effective cost and software
optimization for data transfer between secondary and main
memory. So, another options like pen drives and hard disks
are explored for storing the data. Devices like pen-drives and
hard disks are at epitome of their popularity. But none of the
smart phones except those with OTG service, support such
hardware connection with them.
In this paper we propose a device that accomplishes the
optimized hardware connection between a pendrive or hard
disk or sd card and smartphones.As seen from Figure I the
’New Interface Device’ is the proposed device , which is
connected to three media storage drives at a time whose
data can be viewed by other client devices over the Wi-
Fi interface. The device has a central processing unit that
communicates with memory devices attached to it. The data
stored in the external memory can then be exchanged using
Wi-Fi technology at 2.4GHz ISM band radio frequencies to
an upper level device like a smartphone with the help of Wi-
Fi adapter[3]. Thus smartphones can be directly connected to
any kind of available portable data storage, virtually giving it
a sense of infinite shared memory. Apart from this, the device
is equipped with rechargeable Li-Po battery which makes it
portable.
The device we are proposing in this paper, acts as a wi-
fi hotspot to which multiple users can connect [8]. The wi-
fi hotspot uses WPA2PSK authentication mechanism, IEEE
802.11i standard, which makes it one of the most secured
network. As a client, no user has an authority to delete any
content on the storage. The maximum theoretical speed of the
network is 54Mbps [3]. Up-to 7 users can stream a full HD
video simultaneously. Three USB devices can be connected
simultaneously inclusive of one hard drive and one or more
pen drives [7]. Transfer of data among these devices is also
possible.
The structure of the paper is as follows. In section 2, the
implementation and the description of the principal compo-
nents is presented. In section 3, algorithm of operation is
explained. In section 4, tests and results are stated followed
by the conclusions attained. Future challenges are addressed
in section 5.
Fig. 1. New Interface Device in the above figure is the proposed device
2. II. IMPLEMENTATION
Main task for the device is to make any portable storage
media accessible over wi-fi to any device which is a part of
its wireless network. To achieve this goal, a wireless FTP
Server is needs to be designed. The whole implementation
is divided into three logical sections which includes fetching
the data, populating it to the FTP server and then servicing its
clients on demand. A client is any user connected to the device
through FTP protocol using the device’s generated network.
The proposed device run. Each section is described in detail
in the following sub-sections.
Fig. 2. Workflow of the device
A. Memory Interfacing Module
This section consists of mounting of portable storage de-
vices to the desired location in the operating system. Debian
operating system uses its file system to interface any hardware
with it [6]. Any hardware attached to it has a respective file
in the operating system which is a driver file of that hardware
and the file acts as an interface between the kernel and the
hardware. The storage devices attached to the USB port of
Raspberry pi [9] follows a file scheme of sda1, sdb1, sdc1
and so on in the Debian operating system. These files act as
source for mounting these drives to a particular folder.
The main task is to mount any device at the time of booting
before the execution of all the demon processes. For this
necessary changes are done in the ”fstab” configuration file of
the operating system with the compatible user id, group id, file
access permissions and the path for mounting the drive. The
user id and the group id for the mount file should match with
the serving folder of FTP server with all the access rights.By
default, all the removable drives are mounted under ”/media”
folder [6].
USB port of Raspberry pi B+ provides the output current
of 600mA [7]. This current rating is the most suitable for
the portable devices like pen-drives or SD-cards, but when
it comes to hard-drives, the scenario changes drastically.
Hard-drives require at least 1200mA of current for the proper
spinning of the rotor used in it. Raspberry Pi’s i/o pins solve
this problem. These i/o pins run on 1200mA [7]. Hence, one
of the i/o pins and the VCC of the USB port is shorted via a
simple software manipulation in ”boot configuration” file of
the operating system. This forces USB port to start supply of
1200mA current and hard drives can also be connected.
B. FTP Server Configuration and Linking Module
The most commonly used protocol for transfer of large data
is the File Transfer Protocol. Most of the file explorer applica-
tions for the smartphones or browsers support FTP server. FTP
server works with two TCP connections simultaneously i.e.
control connection and the data connection with the client. The
control connection is persistent throughout the communication
between the client and the server on port 21 [4]. Traversing
between the files is also done over a control connection. The
data connection is made on and off according to the transfer
requirements. Data connection port is configurable.
The device proposed in this paper runs Very Secured File
Transfer Protocol Demon (VSFTPD) FTP server for offering a
standard FTP services to the end user. VSFTPD is a versatile
and easily configurable FTP server demon software. It is
configured by making particular changes to ”vsftpd.conf” file
of the software. It is configured in such a way that it will follow
IPv4(Internet Protocol Version 4) scheme, any anonymous
user can read, write, upload, create directories and files on
it. VSFTPD does not allow any user to delete any contents on
the FTP server.
VSFTPD shows only those files which are stored in the
”ftp” folder under the services offered by the Debian operating
system. To show the contents of the external drives on the ftp
server, they must be present in this folder. Several ways of
doing this are
1) Copy the whole contents. But,it is a very inefficient
method and consumes memory on the primary partition
of the operating system.
2) Let the external drive mount directly to ftp folder. This
is impossible as external drives mount only in /media
folder.
3) The most efficient way is to softlink mount folder and
ftp folder. In this method the pointer to mount folder is
stored in ftp folder. So ftp folder acts as if it is a media
folder.
In this way the content of external drives are shown on the
FTP server.
3. C. Wi-fi Hotspot and Wireless Network Creation
The main aim of making everything available over the
wireless medium is obtained in this particular section, so that
’Wireless’ FTP server can be realized. This section consists
of three parts
1) Configuring drivers for the wi-fi adapter
2) Configuring DHCP (Dynamic Host Configuration Pro-
tocol) server
3) Configuration of wi-fi hotspot.
The wi-fi adapter used for our system is TP Link’s TL-
wn725n. It is a small USB wi-fi adapter which supports all
wi-fi standards i.e. 802.11b/g/n [3]. This adapter supports both
infrastructure and AdHoc networking mode. It uses Realtek’s
chip as the main component. To make this device work along
with the operating system, specific drivers compatible with
given version of an operating system are installed. If the
drivers are installed properly, new interface wlan0 is generated
in the device files of the operating system. Static IP address
is assigned to this interface.
Wi-fi hotspot is created on the wi-fi adapter using hostapd
(Host Access Point Demon) software.[5] By using this demon
program the adapter creates a wireless access point to which
multiple users can connect. wi-fi adapter creates its own net-
work in AdHoc mode with 802.11g hardware mode. Different
authentication schemes can be implemented which includes
WEP, WPA-PSK, WPA2PSK. Using WPA2PSK is the most
suitable one as it is the most secure authentication standard
for wi-fi network. All the above options along with SSID and
password is configured in the ”hostapd.conf”, the configuration
file of the hostapd [5].
When any smartphone is connected to the network created
by the device, it must be assigned a particular IP address in the
range of its own network address so that it can communicate
with the device properly. This assignment of IP addresses to
every new device connecting to the wi-fi hotspot is done by
the DHCP server. The daemon software used in this device
is ”dnsmasq”. It is dns cum DHCP server. DHCP server is
configured by providing information about the interface on
which it is going to provide IP addresses, wlan0 in our case,
range of IP-addresses which limits the number of devices
connected to the created network, the time for which the
connection will be maintained i.e. refresh time, lease time,
default gateway IP-address and default DNS IP-address.
After completing all these configurations, the device is
ready to host any type of storage devices over wi-fi hotspot.
III. WORKING
The algorithm for the stated device contains three major
modules.Each module depends on the earlier module.The work
flow is as shown in Figure 2
1) Memory interfacing module
2) Linking Module
3) Serving Module
The steps for using the completely configured device are as
follows:
1) Connect the required pen drive/hard disk/SD card to the
USB slot in the device
2) Power ON the module.It takes around 30 sec for initial-
ization.
3) Scan for the device’s Wi-Fi network
4) Connect to the Wi-Fi network.
5) Once, the user is connected to the network he can open
any browser and type in address bar ”ftp://’IP-address
of wlan0 interface’” , which is ”ftp://192.168.1.2” for
our device.
6) The contents of the drive connected will appear on the
screen and he can traverse through the files, upload or
download any file required.
7) If data streaming is demanded, specific browsers such
as Chrome,Firefox etc can be used.
IV. TESTS AND RESULTS
Once the device is configured ,it must pass some tests to
approve it for its utmost utilization.Test cases prove to be a
certain way of qualifying the quality of service.Various tests
are done on the module. They are listed below along with the
test results.
Working conditions : Raspberry Pi B+ board is completely
configured and connected to a fully charged power bank (2A
output). TP-Link Wi-Fi adapter interfaced and configured with
Raspberry Pi B+ board. Three pen-drives are connected to the
module at a time. User’s Smartphone running Android 4.4.4,
placed 2m away from the module.
• Test 1) Checking the correctness of the Hostapd by the
connection with the wi-fi hotspot with correct SSID and
password entry.
This test is Passed. Refer Figure 3
• Test 2) Checking for the correctness of DHCP server by
checking for the IP address assigned to the connected
device This test is Passed.
• Test 3) Checking whether FTP server is working or not
by opening the FTP server by entering the IP-address of
the device. This test is Passed. Refer Figure 4
• Test 4) Checking for the proper linking of the mount
folder and serving folder by traversing through the files
in each storage device.
Since the folders USB1 , USB2 , USB3 are visible, this
test is Passed. Refer Figure 4
• Test 5) Download or Upload a file.
Done successfully Refer Figure 6
• Test 6) Create a new directory Refer Figure 5
• Test 7) Check whether delete command is permitted or
not.
The action is not permitted.Refer Figure6
• Test 8)
¯
Stream a video and song
Can be done Successfully. Refer Figure 7 Maximum
8 users can stream 1080p video with 500kbps on an
average. 12 users can stream 720p video with 360kbps
on an average.
4. Fig. 3. Password Authentication DHCP testing
Fig. 4. Connecting to the FTP Server on 192.168.1.2
V. FUTURE SCOPE
The above tests are performed in a very controlled and
ideal environment. But when it comes to the practical
implementation of a device as a full fledged product, lots
of challenges need to be faced. Challenges faced while
developing this device are listed below along with their
proposed solutions.
• User should have the right to change the SSID and the
password of the device. This problem is solved with the
help of Apache2 web server hosting a web page having
a form for new SSID and password. These inputs are
taken as an input parameter by a python code. The same
python code opens a configuration file of hostapd and
edits it with new input parameters. Configuration file is
Fig. 5. Displaying the contents of both the pen drives and creating a New
Directory
Fig. 6. Downloading a file from the USB with data rate 4.48Mbps and deleting
operation prohibited
saved and the hostapd is restarted. In this way user gets
a full authority to change SSID and password on the
wireless interface as well.
• Device must limit the number of users joining the net-
work as the quality of service degrades with the increas-
ing serving nodes. This issue is solved by limiting the
range of IP addresses assigned by the DHCP server to the
desired number of IP’s which can be serviced seamlessly.
• The device supplies a power to wi-fi adapter as well as
the external storage devices like pen-drive or hard-drive.
Both of these devices consume a lot of power for their
effective operation. So the efficient power management is
needed and it is done by configuring power management
5. Fig. 7. Video streaming demo
configuration files of hostapd. This will increase a battery
life of the device.
• The device takes considerable amount of time about
40 seconds to boot and start all the daemon processes.
This boot time can be further reduces by removing the
unnecessary services the operating system is providing.
VI. CONCLUSIONS
The solution given for the problem statement is able to
ensure a complete portable device capable of hosting any
storage media device over a Wi-Fi network by following a
basic but the most important protocol under TCP/IP protocol
suite. It gives user the complete authority to manipulate the
data on the storage by keeping the reliability that no data will
be deleted. User can choose their own SSID and passwords
and modify them from their smartphones itself.
ACKNOWLEDGMENTS
We are thankful to Associate Prof. Sukanya Kulkarni for
mentoring and encouraging us on timely basis. We are grateful
to Dr. Y. S. Rao for providing us the necessary hardware and
software tools as and when required. We also acknowledge
Sardar Patel Institute of Technology, Andheri for providing
the necessary facilities for carrying out this work.
REFERENCES
[1] N. Stuban,”Wireless data transmission between personal computers ”,in
IEEE International conference on Electronics Technology: Meeting the
Challenges of Electronics Technology Progress,27th International Spring
Seminar,2004, pp 237 - 241 vol.2
[2] K. Saitoh ,Y. Inoue, A. Iiuka and M. Morikura,” An effective data trans-
fer method by integrating priority control into multirate mechanisms for
IEEE 802.11 wireless LANs, in Vehicular Technology Conference, 2002
, pp 55-59 vol.1
[3] TP-LINK,”150Mbps Wireless N Nano USB Adapter,TL-WN725N”,
Rev: 1.0.0 1910010668 Data Sheet,[2012]
[4] Elizabeth D. Zwicky, Simon Cooper and D. Brent Chapman,Building
Internet Firewalls,Second Edition, June 2000, pp 287-300
[5] Otto Keklinen ,”Configure device as a wireless Hotspot”,
27.8.2014[Online],Available: https://seravo.fi/2014/create-wireless-
access-point-hostapd
[6] ”Linux file system”, http : //tldp.org/LDP/intro −
linux/html/sect0301.html
[7] ”Raspberry Pi Hardware” ,
https://www.raspberrypi.org/documentation/hardware/raspberrypi/
[8] ”Introduction to Ad hoc Networks”,
http://www.cs.jhu.edu/ cs647/introadhoc.pdf
[9] ”Configuring Raspberry-Pi”,https://www.raspberrypi.org/forums