MultiROM Once Again Available for the Galaxy S4

Multiboot, or the ability to select betweenmultiple operating systems on a single device at … more

Build an Impractical But Awesome Lego Mindstorm Dock

The vast majority of what we cover here on the XDA-Developers News Portal relates to … more

MultiROM Makes its Way Over to the HTC One (M8)

While browsing our forum, you will undoubtedly find more than a few enticing ROMs available … more

Welcome to the New XDA-Developers Portal!

You may recall that a few weeks ago, we opened up the XDA-2015 forum themesto intrepid users … more
Post Reply

[GUIDE] Making infrastructure wifi hotspot on ubuntu 12.04/12.10

23rd November 2012, 01:20 PM   |  #1  
OP Junior Member
Thanks Meter: 32
 
11 posts
Join Date:Joined: Jul 2012
As many of you know, most of our android(not only android) devices can't connect to ad hoc hotspots. There's a solution for win7/8 users to set up infrastructure hotspot on their laptop using software like connectify and so on. Ubuntu also allows to create wifi hotspot to share internet, but it will be ad hoc one.
So here's the guide how to set up infrastructure hotspot on ubuntu 12.04/12.10. Unlike some other methods described on the internet, this one will not break default network manager.

1. First of all you should make sure, that your wifi adapter supports infrastructure hotspots. If you used connectify on your windows system and it worked, skip this step.

open terminal and type: sudo lshw | less

find -network section and make sure that driver is ath5k or ath9k, this solution will only work for those drivers, but should fit the needs for the most laptop users.



2. We now need to install 2 additional tools to make out hotspot, 1st one is hostapd(hotspot server), 2nd one is dnsmasq(dns dhcp server)

in terminal type: sudo apt-get install hostapd dnsmasq

3. stop those services if started already, and prevent them from starting on system start up.

in terminal type:
sudo service hostapd stop
sudo service dnsmasq stop
sudo update-rc.d hostapd disable
sudo update-rc.d dnsmasq disable


4. Now we need to set up config files.
in terminal type: sudo gedit /etc/dnsmasq.conf
or sudo kate /etc/dnsmasq.conf if you use kde

add those lines to the config file
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
5. hostapd config

in terminal type: sudo gedit /etc/hostapd.conf

and add those lines

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 and password for anything you want here. Current config will create hotspot named myhotspot with mypassword password.

6. Now create anywhere you want a file named start.sh
edit it with any text editor like this:

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 ppp0 -j MASQUERADE
# Run access point daemon
sudo hostapd /etc/hostapd.conf
# Stop
# Disable NAT
sudo iptables -D POSTROUTING -t nat -o ppp0 -j MASQUERADE
# Disable routing
sudo sysctl net.ipv4.ip_forward=0
# Disable DHCP/DNS server
sudo service dnsmasq stop
sudo service hostapd stop
You will probably need to change ppp0 in this to eth0 (or any other number which refers to your wired connection.

7. Last step. Now you can start your hotspot by starting our script. just run it using sudo sh
for me it looks like this sudo sh /home/ogyct/Desktop/start.sh because I have it on my desktop


I am not sure who is the author of this guide, I only translated it to english. But anyway if this helped, hit the thanks button. Good day
The Following 27 Users Say Thank You to ogyct For This Useful Post: [ View ]
12th December 2012, 10:54 AM   |  #2  
Junior Member
Thanks Meter: 1
 
2 posts
Join Date:Joined: Dec 2012
Android device having issues connecting to AP
I have an eth0 connection running behind an authenticated proxy server.
I followed the steps and managed to create a hotspot which my google nexus 7 detects. However, it seems stuck at "obtaining an ip address" and is not able to connect to the internet.

I initially received the following error message when running your script in the terminal:
dnsmasq: failed to create listening socket for 127.0.0.1: Address already in use [fail]
I figured it is because of a conflict with the network manager, I commented out the "dns=dnsmasq" line in the nm configuration file. After a network-manager restart, the first error doesn't show up but I get the following:
Configuration file: /etc/hostapd.conf
Failed to create interface mon.wlan0: -23 (Too many open files in system)
Try to remove and re-create mon.wlan0
In both cases, however, the hotspot is created and is detected by my android device. only that it cannot "obtain an ip address" and connect to it.
Is it because my eth0 connects via a proxy server?
Or could there be something wrong with the dnsmasq config? Any help would be appreciated.
Last edited by anandkarthikeyan; 13th December 2012 at 02:27 AM.
12th December 2012, 09:31 PM   |  #3  
OP Junior Member
Thanks Meter: 32
 
11 posts
Join Date:Joined: Jul 2012
Quote:
Originally Posted by anandkarthikeyan

I have an eth0 connection running behind an authenticated proxy server.
I followed the steps and managed to create a hotspot which my google nexus 7 detects. However, it seems stuck at "obtaining an ip address" and is not able to connect to the internet.

I initially received the following error message when running your script in the terminal:

dnsmasq: failed to create listening socket for 127.0.0.1: Address already in use [fail]
I figured it is because of a conflict with the network manager, I uncommented "dns=dnsmasq" line in the nm configuration file. After a network-manager restart, the first error doesn't show up but I get the following:
Configuration file: /etc/hostapd.conf
Failed to create interface mon.wlan0: -23 (Too many open files in system)
Try to remove and re-create mon.wlan0
In both cases, however, the hotspot is created and is detected by my android device. only that it cannot "obtain an ip address" and connect to it.
Is it because my eth0 connects via a proxy server?
Or could there be something wrong with the dnsmasq config? Any help would be appreciated.

I've never worked with a proxy server, but from what I see, it seems like your problem has nothing to do with a proxy server. Something's wrong with configuration on wifi side. Try to disable network manager first, if it doesn't help, try to completely clean dnsmaq and hostapd configs and paste code from this thread again. Unfortunately I can not provide any further help, since I have a different configuration on my side.
The Following User Says Thank You to ogyct For This Useful Post: [ View ]
17th December 2012, 08:41 AM   |  #4  
Junior Member
Thanks Meter: 0
 
1 posts
Join Date:Joined: Dec 2012
My galaxy s2 is able to see the "myhotspot" network created following this guide. I set a static ip and gateway to make it obtain an ip address.
Now it seems to be connected, but I have no internet access on my phone...
Could anyone help me?
17th December 2012, 05:17 PM   |  #5  
Junior Member
Thanks Meter: 1
 
2 posts
Join Date:Joined: Dec 2012
Quote:
Originally Posted by gio182

My galaxy s2 is able to see the "myhotspot" network created following this guide. I set a static ip and gateway to make it obtain an ip address.
Now it seems to be connected, but I have no internet access on my phone...
Could anyone help me?

I am using ubuntu 12.04 and I just figured out the instructions on ".../questions/180733/how-to-setup-a-wi-fi-hotspot-access-point-mode/" (askubuntu) thread worked like a charm for me. It uses the isc-dhcp-server instead of dnsmasq and a different dhcp range I guess. I really don't know enough to tell the difference but it worked. Maybe ogyct can explain it to us.
The Following User Says Thank You to anandkarthikeyan For This Useful Post: [ View ]
18th December 2012, 01:13 PM   |  #6  
OP Junior Member
Thanks Meter: 32
 
11 posts
Join Date:Joined: Jul 2012
Quote:
Originally Posted by gio182

My galaxy s2 is able to see the "myhotspot" network created following this guide. I set a static ip and gateway to make it obtain an ip address.
Now it seems to be connected, but I have no internet access on my phone...
Could anyone help me?

If everything's made right, there'll be no need for setting static ip adress, dhcp will do it for you.
Try to check if your devices are called wlan0 and eth0, if not, change configs accordingly. Simply type in console iwconfig to see the names. Remember, you may have a different configuration of your system, so be aware of that
Last edited by ogyct; 18th December 2012 at 01:21 PM.
13th February 2013, 08:28 AM   |  #7  
Junior Member
Thanks Meter: 0
 
1 posts
Join Date:Joined: Aug 2012
HI ogyct,

This is the error i received.

Code:
wlan0: ERROR while getting interface flags: No such device
 * Restarting DNS forwarder and DHCP server dnsmasq                                                                                             
dnsmasq: unknown interface wlan0
                                                                                                                                         [fail]
net.ipv4.ip_forward = 1
Configuration file: /etc/hostapd.conf
Could not read interface wlan0 flags: No such device
Could not read interface wlan0 flags: No such device
nl80211 driver initialization failed.
net.ipv4.ip_forward = 0
 * Stopping DNS forwarder and DHCP server dnsmasq                                                                                                * (not running)
And my wifi config reads this

Code:
*-network
                description: Wireless interface
                product: BCM4313 802.11b/g/n Wireless LAN Controller
                vendor: Broadcom Corporation
                physical id: 0
                bus info: pci@0000:03:00.0
                logical name: eth1
                version: 01
                serial: cc:af:78:78:44:03
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
                configuration: broadcast=yes driver=wl0 driverversion=5.100.82.112 latency=0 multicast=yes wireless=IEEE 802.11
                resources: irq:17 memory:f1500000-f1503fff

I guess I need to update the interfaces file in /etc/network....??
Any suggestions?
Last edited by bad_asteroid; 13th February 2013 at 10:26 AM.
20th February 2013, 07:35 AM   |  #8  
Junior Member
Thanks Meter: 0
 
2 posts
Join Date:Joined: Feb 2013
BCM4313 doesn't support AP
You wireless card doesn't support the AP operation mode. You can look up on the hostapd support website and there is a list of suppored devices. The BCM 4313 is part of brcmsmac which is in the NO section for AP. You would need to get a new card or purchase an external wifi card. Hope this helps.

Quote:
Originally Posted by bad_asteroid

HI ogyct,

This is the error i received.

Code:
wlan0: ERROR while getting interface flags: No such device
 * Restarting DNS forwarder and DHCP server dnsmasq                                                                                             
dnsmasq: unknown interface wlan0
                                                                                                                                         [fail]
net.ipv4.ip_forward = 1
Configuration file: /etc/hostapd.conf
Could not read interface wlan0 flags: No such device
Could not read interface wlan0 flags: No such device
nl80211 driver initialization failed.
net.ipv4.ip_forward = 0
 * Stopping DNS forwarder and DHCP server dnsmasq                                                                                                * (not running)
And my wifi config reads this

Code:
*-network
                description: Wireless interface
                product: BCM4313 802.11b/g/n Wireless LAN Controller
                vendor: Broadcom Corporation
                physical id: 0
                bus info: pci@0000:03:00.0
                logical name: eth1
                version: 01
                serial: cc:af:78:78:44:03
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
                configuration: broadcast=yes driver=wl0 driverversion=5.100.82.112 latency=0 multicast=yes wireless=IEEE 802.11
                resources: irq:17 memory:f1500000-f1503fff

I guess I need to update the interfaces file in /etc/network....??
Any suggestions?

20th March 2013, 10:45 AM   |  #9  
Junior Member
Thanks Meter: 0
 
2 posts
Join Date:Joined: Sep 2010
a little help
I made the hotspot successfully but its not sharing the internet connection
im using linuxmint 14 and HUAWEI EC1261-2 (EVDO)
9th April 2013, 06:46 AM   |  #10  
adamkhanmian's Avatar
Member
Flag Charsadda, NWFP
Thanks Meter: 2
 
46 posts
Join Date:Joined: Aug 2009
More
unkown interface error
it says unknown interface wlan1 [fail]

.....phone detects the network but gets stuck during authentication, and then disabled, and keeps on trying...

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Upgrading, Modifying and Unlocking by ThreadRank