ChilliSpot is an open source captive portal or wireless LAN access point controller. It is used for authenticating users of a wireless LAN. It supports web based login which is today's standard for public HotSpots. Authentication, authorization and accounting (AAA) is handled by your favorite radius server.
I know how to create a hotspot when connected to a wired network, but when I am using internet from a WiFi connection, this disconnects the wireless connection the moment I activate the hotspot.
In Windows I can use Connectify Hotspot, which enables me to share the internet connection from the same wireless adapter as I am creating an access point on. As you can read on the technology overview page:
Access Point mode allows you to create a hotspot using the same Wi-Fi card that you are using to access the Internet.
How do I do this on Ubuntu?
Braiam8 Answers
Simple steps: Create wifi hotspot in ubuntu
- Disable Wifi (Uncheck Enable Wi-Fi)
- Go to network connection (Edit Connections...)
- Click 'Add'
- Choose 'Wi-Fi' and click 'Create'
- Type in Connection name like 'wifi-hotspot'
- Type in SSID as you wish
- Choose Device MAC Address from the dropdown (wlan0)
- Wifi Security select 'WPA & WPA2 Personal' and set a password.
- Go to IPv4 Settings tab, from Method drop-down box select Shared to other computers.
- Then save and close.
Open Terminal (Ctrl+Alt+T) and type in the following command with your connection name used in step 5.
Find
mode=infrastructure
and change it tomode=ap
Now check the network section where wi-fi will be connected to the created hotspot automatically. If you can not find it, go to Connect to Hidden Network... Find the connection and connect to it.
Source: http://ubuntuhandbook.org/index.php/2014/09/3-ways-create-wifi-hotspot-ubuntu/
After I saw this link offered by vasishath, I managed to setup a wireless hotspot to share the internet connection from the same single wireless interface device. This wireless device must to use an Atheros driver that is already build with nl80211 support. Next I will show you how.
Detect if your wireless device will work with this method
Run the following command in terminal:
If the output is null or if the string cfg80211
is not in the output, it makes no sense to continue and you should pay attention at second and third point from this answer.
Tools needed
Check whether all the below mentioned packages are installed: iw, hostapd, iptables, udhcpd, udhcpc, macchanger.
You can install these with
Edit some files
Run the following command in terminal to edit corresponding files:
In
hostapd.conf
file add the following code:In
udhcpd.conf
file comment all the current lines (by adding a#
character in front of the line) and add the following new lines:In /etc/default/udhcp, comment the line that says
DHCPD_ENABLED='no'
.In
wpa_supplicant.conf
you must provide the settings of your current wireless network. Seeman wpa_supplicant
for some quick examples. And you probably have more examples in/usr/share/doc/wpa_supplicant/
directory. I used something like:Save all the files and close them.
Note: All of these edits doesn't affect with nothing your current network configuration.
Make a shell script
- In a terminal run
mkdir -p bin
- this command will make abin
directory in yourhome
folder if you don't already have it. - After run
gedit ~/bin/hotspotsetup.sh
- this will create the new filehotspotsetup.sh
in gedit. - Copy and paste the following script in the new created file:
- Save the file and close it.
- Go back into terminal and run:
chmod +x ~/bin/hotspotsetup.sh
- to grant execute access for the script.
Start the wireless hotspot being connected to a wireless network from the same wireless adapter
Run the above script in terminal with root privileges:
Proof
Note: To start again your network-manager service as it was before to run the hotspotsetup.sh
script, restart your computer (sudo reboot
).
Source:Connectify for Linux with Single wireless interface.
Radu RădeanuRadu RădeanuLet me introduce you to an excellent tool that simplifys everything: create_ap (by oblique)
That is the official repository: https://github.com/oblique/create_ap
This tool is part of Arch Linux repositories and should be in Ubuntu repositories too!
It is very easy to use and very effective.
To install it in Ubuntu you must first install the dependencies:
Unless you used a 'mini install image' you already have 90% of them...
Once it is done, clone the repository from oblique:
Locate your terminal in the downloaded repository:
Linux Hotspot Software Free
Install the tool with:
(no compilation with make
is needed)
Easy, right?Well the rest is even easier... ...If your device is able to be used as a client and a PA at the same time (like atheros wifi chip - edit: some Intel chip too, see second comment bellow) you simply have to connect to your home router with network manager, as you usually do, and than you execute a command line like that:
example
And... That's it! Incredible and so easy!Now you just have to connect to the repeated network with your android device. You will see in your laptop terminal the handshake negotiated between your laptop and the client: And you can enjoy a nice bathroom session with internet... Everything is done with a single interface and with one simple command. The tool have a lot of options, for more information visit the github repository of oblique (link given previously) and if you can speak Spanish you can check this forum thread: create_ap: La solución perfecta para transformar tu ordenador en un repetidor universal todo terreno
kcdtvkcdtvAs you can see in the comments to this answer ther IS a way to do this. It's documented for FreeBSD (which is not Ubuntu/Linux) here: https://serverfault.com/questions/192144/connect-to-multiple-ap-with-one-wifi-adapter-under-linux-freebsd (Link from the comment). It does not seem to work exactly the same way on Linux, but it should be similar. Unfortunately I wasn't able to find more detailed information about this topic.
The probably easiest and most common way is using two physical network interfaces. So you may buy another wifi stick or just use another technology to connect further and do just one of them via Wifi. The possibilities are for example:
- Bluetooth + Wifi
- LAN/Ethernet + Wifi
- 3G/LTE + Wifi
- Wifi (external) + Wifi (built-in or second external)
Once I noticed that Ubuntu Linux is capable of managing two wifi devices at once without being complicated. I did not test this in ways of sharing the internet connection etc, but it should be possible. The way how complicated it will be is probably depending of the type of connections you use. On Linux you probably do not need and kind of special software. It should be possible to share connections without the need for any special tools. Unfortunately I cannot try it at this time.
I recommend you try Wifi to Wifi if you have another wifi stick anyway and otherwise LAN or Bluetooth (which is built-in in most notebooks). 3G/LTE sharing is a bit bad because of providers dataplans and so on.
This was added as another answer because the other answer created so much controversy.
Most and foremost, you need to know the name of our wireless adapter. Use the below command to get it:
It would be most probably wlan0 or wlan1.
There are cases that we use old WiFi adapter and we want to know the driver it uses. We can use the below commands in accordance with it's type that is either USB or PCI.
Use the below command to see which driver you currently use:
Need to install a programs. Just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command(s) below:
Open the main network adapter configuration file by this command:
And edit it like this:
The first line should be your network adapter name. The 2nd line should not be changed in most cases, unless you were not lucky and you require a 3rd party driver. The 3rd line does not require explanation. The 4th line should be your WiFi access point name (SSID). The fifth line identifies your network as a/b/g/n mode. The next line is your network channel. The remaining lines set security and encryption. In most cases, you only require to change pass phrase.
Open the 2nd configuration file by this command:
And change it like this:
First line points to main network adapter configuration file. 2nd line tells hostapd to run in DAEMON mode in background on boot. The last line tells hostapd to log every message. The important trick here is if you like to use two different wireless network adapters to setup a Dual Band Access Point, you should create to separate original config files (1st file) for each ard and change it like this:
The configurations are finished.
Running DAEMON
Now you have to ensure that hostapd DAEMON starts on boot (1st command below), you should also run it now to avoid a mandatory reboot.
And it is finished. Now we can connect to our newly built access point.
Sources:Hostapd:The Linux Way to create Virtual Wifi Access Point & Hostapd Linux documentation page
Mitch♦MitchIts currently possible only for Atheros Cards and a very few Broadcom cards. To know which one you are using, please run the following command in terminal and paste the output here:-
Or you can just straightforward try out that method. Here is the link for tutorial on how to do that:-connectify-for-linux-with-single-wireless-interface
The best way I have found to create a CONNECTIFY EXPERIENCE is to use AP-HOTSPOT!
(WPA2..not wep like linux does by default in ubuntu)
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot
To Run and Options
Start:sudo ap-hotspot start
Stop:sudo ap-hotspot stop
Configure:sudo ap-hotspot Configure
Want a Graphical User Interface?
To install it open up a terminal, then browse to with:
cd /home/USERNAME/LOCATION
Then run the install commands:
qmake
make
Creates a program... Drag it to desktop and done :) cheers
As far as two adapters... Windows and free bsd can do it... As of now i'm still trying to figure it out as I only approached this scenario for myself as of yesterday! I will report back... Linux can do it as well.. It is not an hardware limitation for the adapters that can do it with other operating systems...
Amith KKLike Purushoth's answer, this answer also requires 2 WiFi adapters (ex: one internal and 1 external USB Wi-Fi adapter). I couldn't get his answer to work for me, however, so here's what I did instead.
Tested in Xubuntu 14.04.
How to configure the Ubuntu/Xubuntu PC as a WiFi hotspot (ex: for use in airports or on airplanes in order to share a single, paid connection from your PC with your phone and other devices):
- Plug in a USB WiFi dongle. Not all dongles can act as an “ap” (Access Point), but the internal card can for sure, so we will (for now at least, until you can find a USB wifi adapter that can act as an access point) use the external USB one to connect to the paid service (ex: in-flight WiFi), and we will use the internal wifi adapter to make the wifi access point.
- IMPORTANT: DO NOT PAY FOR AND CONNECT TO THE PAID SERVICE WITH THE WRONG (external) WIFI ADAPTER, OR ELSE YOU'LL HAVE TO PAY AGAIN TO SWITCH IT, AS YOUR PAID CONNECTION IS SOMEHOW LINKED TO YOUR WIFI ADAPTER—PROBABLY VIA ITS PERMANENT MAC ADDRESS OR SOMETHING.
- Left click the wifi icon in the panel and choose “Create New WiFi Network...” → choose the internal Wi-Fi adapter (which is wlan0), make up a Network name (SSID) (ex: “wifi-hotspot”), choose “WPA & WPA2 Personal” for “Wi-Fi security”, and make up a password, then click “Create”.
- NB: THERE'S A BUG THAT MAKES YOU SOMETIMES UNABLE TO SELECT THE INTERNAL WIFI ADAPTER FOR THIS STEP WHEN YOU ALSO HAVE AN EXTERNAL USB WIFI ADAPTER PLUGGED IN. IF THIS HAPPENS, SIMPLY UNPLUG THE EXTERNAL WIFI ADAPTER WHILE DOING THIS STEP TO MAKE THE WIFI HOTSPOT, then plug it back in when done/when told to below.
- Edit the configuration file for the new wifi hotspot you just created:
cd /etc/NetworkManager/system-connections
ls
- Find your hotspot file you just created via the GUI step above; ex: “wifi-hotspot”, and edit it:
sudo nano wifi-hotspot
- Arrow down and change “mode=adhoc” or whatever it says to “mode=ap”. Save and exit.
- Now, with the external USB WiFi adapter still UNplugged, activate the wifi hotspot you just created by left-clicking the WiFi icon in the panel again and going to “Connect to Hidden WiFi Network...” → choose your internal wifi adapter again for “Wi-Fi adapter”, and choose the access point name (ex: “wifi-hotspot”) for “Connection.” The “Network name,” “Wi-Fi security,” and “Password” fields will now auto-fill and grey out. Click “Connect”. The WiFi Access Point will be activated on your internal card. You can connect your devices, such as your phone, to it.
- Finally, with your WiFi hotspot active, plug your secondary/USB WiFi adapter in and use it to connect to the paid network. Pay for your subscription or whatever and your internet through this adapter will now automatically be broadcast out to devices connected in to you through your internal “Access Point” adapter you just configured.
- Done!
References: Here is where I found the /etc/NetworkManager/system-connections
folder path & an alternate approach (that didn't work for me): https://askubuntu.com/a/609199/327339
Free Hotspot Software
Gabriel StaplesGabriel Staplesprotected by Community♦May 29 '15 at 8:46
Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?