Skip to main content

Turn your Linux into a wifi hotspot for Android and Windows phones! (Ubuntu and Linux Mint)

This is one of the biggest problem linux users face i.e. to share your ethernet connection over wifi for your android or windows mobile device. Here is a simple step process to easily set up a hotspot on your laptop to connect your mobile devices to surf on the go!

1. We need to install 2 additional tools to make our hotspot work:
  • hostapd(hotspot server) 
  • dnsmasq(dns dhcp server)
Open the terminal (Ctrl+alt+T) and type: 
sudo apt-get install hostapd dnsmasq
and press enter. Wait for them to install.
 
2. Stop these services and prevent them from starting on system start up. To do that; open a terminal and type each command per line and press enter:
sudo service hostapd stop
sudo service dnsmasq stop
sudo update-rc.d hostapd disable
sudo update-rc.d dnsmasq disable
 
3. Now we need to set the configuration files for both the installed tools.
To open the config file of dnsmasq; open a terminal (Ctrl+alt+T) and type
sudo gedit /etc/dnsmasq.conf
As you press enter a window with some text will pop up. Ignore the text if you don't understand it and add these lines to the window opened.
Code:
# Bind to only one interface
bind-interfaces
# Choose interface for binding
interface=wlan0
# Specify range of IP addresses for DHCP leasses
dhcp-range=192.168.150.2,192.168.150.10


4.
To open the config file of hostapd; open a terminal (Ctrl+alt+T) and type
sudo gedit /etc/hostapd.conf

As soon as you press enter a blank window will appear. Add the following lines to the window opened.
Code:
# Define interface
interface=wlan0
# Select driver
driver=nl80211
# Set access point name
ssid=myhotspot
# Set access point harware mode to 802.11g
hw_mode=g
# Set WIFI channel (can be easily changed)
channel=6
# Enable WPA2 only (1 for WPA, 2 for WPA2, 3 for WPA + WPA2)
wpa=2
wpa_passphrase=mypassword


You can change ssid (name of the hotspot) and password to anything you want here in this file. The current config will create hotspot named myhotspot with the password as mypassword.

5. Now create a file anywhere with anyname.sh according to your preference. I recommend to create a startwifi.sh file in the home folder. To do this, open a terminal (Ctrl+alt+T) and type:
sudo gedit startwifi.sh
and a blank window will appear named startwifi.sh.


This file will hold the information to start the hotspot when you want to. Now add the following lines to this file and save the file.
Code:
#!/bin/bash
# Start
# Configure IP address for WLAN
sudo ifconfig wlan0 192.168.150.1
# Start DHCP/DNS server
sudo service dnsmasq restart
# Enable routing
sudo sysctl net.ipv4.ip_forward=1
# Enable NAT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Run access point daemon
sudo hostapd /etc/hostapd.conf
# Stop
# Disable NAT
sudo iptables -D POSTROUTING -t nat -o eth0 -j MASQUERADE
# Disable routing
sudo sysctl net.ipv4.ip_forward=0
# Disable DHCP/DNS server
sudo service dnsmasq stop
sudo service hostapd stop


6. Finally you can start your hotspot by starting our script. Run it using the sh command in the terminal, for me it looks like this:

sh startwifi.sh
because I have it in my home folder.


Or you can make the file executable to double click and run. In order to do so, right-click the file and go to Properties and select the permissions tab. Mark the allow executing the file as a program and close the dialog. Now you may double click the file to run in terminal.

Comments

Popular posts from this blog

How to open any installed application on MAC OS X using Terminal !

MAC OS X 10.9 is one of the finest operating systems used in the business as well as household purposes. Considering the unix side of the operating system, it becomes beneficial to be able to do trivial stuff like opening any app directly from the command line interface, i.e. Terminal in this case. There are a lot of other uses that a utility like terminal can offer you but for the instant purpose, let us find out how to open any of the installed applications on your MACINTOSH using the terminal. I will be working with few of the application I have installed on my system. You are free to choose your own. The general syntax for the command is : open -a application_name If you want to open the application as a super user, just prefix the command with sudo : sudo open -a application_name Test commands : (Use these commands one-by-one to open the specified applications) open -a textmate open -a bbedit open -a firefox open -a opera open -a finder open -a mail Watc...

How to program pyramids using loops - 2

In this video tutorial, two of the more patterns have been discussed that relates to the similar pattern problems. What's different about these are that they also include spaces before the stars as a part of the pattern to be printed. Having this extra sub pattern to track spaces  in the desired pattern requires an extra loop to track and control it . For a brief review, We discussed that these patterns if observed carefully are just representation of tables i.e. a combination of rows and columns . And few of the cells in that table are populated with some data according to a logically programmed algorithm with represents a pattern. In these cases, the red triangles shows us the spaces represented by "sp" and therefore unlike the previous pattern these need to be managed by the loop as they occur before the stars in the pattern. So, taking the same approach of rows and columns managing loops, we will have an outer loop that tracks the rows which will start at 0...