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?

  • 3
    Do you have two Wifi-Sticks or built-in-wifi? Because you need always one to receive and one to send. Even with connectify I think. If you look on their website they alsways show how to share 3G/4G via wifi, but never two wifi like they say in their advertisments. It IS possible, but only with two wifi adapters. I have never heard of a software technology that avoids that. There are other possibilities, though.
    – verpfeilt
    Commented Jul 11, 2013 at 15:53
  • 6
    I've voted to reopen this question, because it is different from the "How to Share your Internet Connection" question. First of all, the OP found that option already (so does not need the answers there) and secondly, it is about the situation to use a single networking device to share the connection from and to. See also Hotspot and Internet access together — why not?
    – gertvdijk
    Commented Jul 25, 2013 at 18:07
  • Very Interesting. I like to add, that from the hardware site of things, you need a capable Wireless Card (I know that the lenovo in office is not able to create wireless AP's, it's simply not possible by hardware, business security means) Another thing, is, that you need at least two Antennas to really make it work, or a magic software that can emulate two connections on one Antenna. P.S.: I am not a hardware technician. It is possible that I understood nothing and talk rubbish. ;)
    – mondjunge
    Commented Jul 26, 2013 at 8:59
  • @mondjunge The single antenna will only force you to use the same frequency/channel. But yes, of course this could be disabled in hardware completely. However, most chipsets are universal by hardware. It's just firmware + drivers that make the difference for most.
    – gertvdijk
    Commented Jul 26, 2013 at 10:10

11 Answers 11


Simple steps: Create wifi hotspot in ubuntu

  1. Disable Wifi (Uncheck Enable Wi-Fi)
  2. Go to network connection (Edit Connections...)
  3. Click "Add"
  4. Choose "Wi-Fi" and click "Create"
  5. Type in Connection name like "wifi-hotspot"
  6. Type in SSID as you wish
  7. Choose Device MAC Address from the dropdown (wlan0)
  8. Wifi Security select "WPA & WPA2 Personal" and set a password.
  9. Go to IPv4 Settings tab, from Method drop-down box select Shared to other computers.
  10. Then save and close.
  11. Open Terminal (Ctrl+Alt+T) and type in the following command with your connection name used in step 5.

    sudo gedit /etc/NetworkManager/system-connections/wifi-hotspot
  12. Find mode=infrastructure and change it to mode=ap

  13. 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/

  • 13
    Simple, but doesn't answer seem to answer the question asked here: in my hands it does not result in sharing of wireless-to-wireless using a single wireless network interface. Commented Jan 10, 2016 at 0:08
  • 4
    12. a) Enable Wifi (Check Enable Wi-Fi) Commented Aug 1, 2017 at 2:33
  • 2
    Awesome :D, Step 14 -> Connect your laptop to lan and use it on mobile via the created hotspot. Super Awesome :D
    – Satys
    Commented Dec 30, 2017 at 6:17
  • 3
    Can't understand the last point 13. I am connected to a wifi names "Wifi", I created another using above path "hotspot". Now what to do? If I disconnect to Wifi from where will internet source come? Commented Mar 30, 2018 at 7:23
  • 11
    From @Purushoth's source(ubuntuhandbook.org/index.php/2014/09/…), don't forget the very first step: 1. Disable WIFI and plug in an internet cable to your laptop so that your Ubuntu is connect to a wired internet and wireless is disabled. In other words, this answer REQUIRES INTERNET IN THROUGH ETHERNET before it can share it OUT AS A WIRELESS ACCESS POINT through a wifi adapter. It does not receive internet and broadcast internet all wirelessly on a single wifi adapter. Rather, it receives wired and broadcasts wirelessly. Commented Feb 12, 2019 at 20:25

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:

lsmod | grep ath

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

sudo apt-get install iw hostapd iptables udhcpd udhcpc macchanger

Edit some files

Run the following command in terminal to edit corresponding files:

sudo -H gedit /etc/hostapd.conf /etc/udhcpd.conf /etc/default/udhcpd /etc/wpa_supplicant.conf
  • In hostapd.conf file add the following code:

    ssid=my_wifi_hotspot      #Change the ssid name as you wish
    channel=11                #I sugest you to use the same channel as your wireless network
    wpa_passphrase=1234567890 #Change the passphrase as you wish
  • In udhcpd.conf file comment all the current lines (by adding a # character in front of the line) and add the following new lines:

    start         #These IPs must to be in the same subset as your current default route
    interface new1 
    opt dns         #Your current default route (Gateway)
    option subnet
    opt router    #This IP must to be in the same subset as your current default route
    option  domain  localhost
  • 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. See man 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 a bin directory in your home folder if you don't already have it.
  • After run gedit ~/bin/hotspotsetup.sh - this will create the new file hotspotsetup.sh in gedit.
  • Copy and paste the following script in the new created file:

service network-manager stop
sleep 1

pkill -15 nm-applet
sleep 1

ifconfig wlan0 down             #wlan0 - the name of your wireless adapter
sleep 1

iw phy phy0 interface add new0 type station
iw phy phy0 interface add new1 type __ap
sleep 2

ifconfig new0 down
macchanger --mac 00:11:22:33:44:55 new0
ifconfig new1 down
macchanger --mac 00:11:22:33:44:66 new1
ifconfig new0 up
ifconfig new1 up

ifconfig new1 up  # - the same IP defined for router in 'udhcpd.conf' file 
hostapd /etc/hostapd.conf &
sleep 2

service udhcpd start

wpa_supplicant -inew0 -c/etc/wpa_supplicant.conf &
sleep 10

udhcpc -i new0

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface new0 -j MASQUERADE
iptables --append FORWARD --in-interface new1 -j ACCEPT
  • 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:

sudo ~/bin/hotspotsetup.sh



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.

  • 5
    It is out of the question if this is possible by hardware or not. If a Windows and FreeBSD application/driver can do this, then it should be possible in Ubuntu as well. Maybe not through the usual NetworkManager way, but that's not a criteria for a valid answer.
    – gertvdijk
    Commented Jul 26, 2013 at 10:07
  • 1
    Windows and free version of Connectify definitely can use same wifi card for both receiving and sharing internet connection, I use this feature alot and its the only thing I miss from Windows. I'm sure this is doable in Ubuntu as well if somebody create an open source driver with same feature as Connectify.
    – Nur
    Commented Jul 28, 2013 at 7:59
  • 1
    @Nur There is a limited list of devices that have been tested by Connectify, or reported by multiple users, as fully-functional with Connectify Hotspot. So, not all devices will work in this sense Commented Jul 28, 2013 at 12:27
  • 1
    I'm pretty sure my atheros card is fully functional because I already use connectify for ages, not a single problem happen. Gonna try this setup, I hope this'll work.
    – Nur
    Commented Jul 28, 2013 at 17:44
  • 1
    This is a great answer, but I am having trouble getting it to work! I had to enable udhcpd in /etc/default/udhcp.conf, but still no luck. It keeps giving me Sending discover... and new0: CTRL-EVENT-SCAN-STARTED even though everything else went well... Also when I try to connect to the network it never works! I have edited your anser with regard to udhcpd, but can you please say how to fix the connection issue?
    – Richard
    Commented Jan 3, 2015 at 7:15

Let 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:

sudo apt install bash util-linux procps hostapd iproute2 iw wireless-tools haveged iptables dnsmasq git

Unless you used a "mini install image" you already have 90% of them...
Once it is done, clone the repository from oblique:

git clone https://github.com/oblique/create_ap.git

Locate your terminal in the downloaded repository:

cd create_ap

Install the tool with:

sudo make install

(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:

sudo create_ap <connected interface> <repeater interface> <essid repeated network> <WPA Key>


sudo create_ap wlp2s0 wlp2s0 Bathroom_WiFi mysecuresecretkey

And... That's it! create_ap 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: enter image description here 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

edit Oblique stopped the project

This project is no longer maintained.

The beauty of free code is that good projects never die and there are 2 github repositories that keep on Oblique good work:

  • 3
    Very impressive tool! Commented Feb 2, 2019 at 18:31
  • 1
    wow, it works. I have Intel Corporation Wireless 3160 and it works. I'm connected to wifi and have created ap on same adapter :D thx.
    – QkiZ
    Commented Feb 12, 2019 at 19:52
  • Thanks for your feedback! I will modify the mention that some intel chipset can act as universal wifi repeater too... Awesome.
    – kcdtv
    Commented Feb 15, 2019 at 17:56
  • 5
    Important instructions for devices that do not support AP and client at the same time, in your downloaded repo edit the file 'create_ap', 1. find and comment the line "CHANNEL=$WIFI_IFACE_CHANNEL" 2. find the function "is_wifi_connected()" and comment all inside it except for the last line "return 1" then run "sudo make install". This made it work for me ubuntu 18.04 on GPD Pocket 2. (would be great if you incorporate this in your answer)
    – Sruli
    Commented Jun 7, 2019 at 10:24
  • 3
    forgot to mention in my last comment that the instructions provided I took from github.com/oblique/create_ap/issues/107
    – Sruli
    Commented Jun 7, 2019 at 10:30

Here is my project Linux Wifi Hotspot which has both GUI and command-line interface. It can create a virtual wifi hotspot on the same wifi adapter which is connected to the internet. It has additional features such as MAC filter, Change channel/frequency band, view connected devices etc.

enter image description here

  • 6
    This is the least hassle option. Install & go. Works on my 7 year old HP Folio 1040 laptop with Intel Wireless 7260 on Ubuntu 20 LTS. Linux WiFi Hotspot simultaneously connects and distributes internet connection just with single NIC. You saved my day!
    – igor
    Commented Dec 13, 2021 at 9:49
  • 1
    This worked well on Arch Linux, and it works just as well on Lubuntu. Thanks for creating this project!
    – Logan
    Commented Jun 2, 2022 at 17:15
  • 1
    Works well on ubuntu 20.04 I've run it as root from console, also it let me use VPN (tun0) interface for AP... Commented Nov 29, 2022 at 9:58
  • 1
    Excellent tool. Worked on Lubuntu Commented May 19, 2023 at 13:48
  • 2
    Working on Ubuntu 22.04. Thank you so much for this!! Nordlynx internet interface (NordVPN) came up in the UI dropdown which I was delighted about!! I couldn't get 5Ghz working, not sure if it's my hardware problem or the software. Commented Jul 12, 2023 at 17:37

As 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.

  • 2
    See this: Connect to multiple AP with one Wifi adapter under Linux/FreeBSD?
    – gertvdijk
    Commented Jul 25, 2013 at 18:17
  • Wow, it even does not seem to be that hard to do. At least on FreeBSD. But I still think, if this is supposed to be used often and/or many devices are supposed to be routed through these two connections, it's better to use two physical network interfaces if available. Also it should be relatively easy configurable with the ubuntu network settings (gui). It's a very interesting idea, though. Surely useful in some cases. I noticed some things in my answer that are misunderstandable (and some as you noticed, wrong). I'll edit it.
    – verpfeilt
    Commented Jul 25, 2013 at 19:52
  • setup multiple ap on one device is not same as setup ap and connect to another ap in same time.
    – QkiZ
    Commented Feb 12, 2019 at 19:29

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:

sudo apt-get install hostapd

Open the main network adapter configuration file by this command:

sudo gedit /etc/hostapd/hostapd.conf

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:

sudo gedit /etc/default/hostapd

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:

DAEMON_CONF="/etc/hostapd/hostapd.conf /etc/hostapd/hostapd2.conf"

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.

sudo update-rc.d hostapd defaults
sudo /etc/init.d/hostapd start

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

  • 1
    You said with your own words: "You need to know the name of the network adapter that you connect to the internet on. This must be different from the network adapter you configured above", but you specified the same: "ie wlan0". Also in the given source is specified very clear in the Concept section: "You need to have 2 interfaces, one which accesses the net (e.g. eth0), and other which provides the access point services (e.g. wlan0)". Commented Jul 28, 2013 at 5:07
  • I think that the OP wants to use the same adapter: "But when I am browsing internet WiFi internet connection and I want to create a wireless hotspot the WiFi internet is disconnected". And gertvdijk specified this when he start the bounty. Commented Jul 28, 2013 at 7:25
  • @RaduRădeanu Is this better? Will you let me know? Thanks
    – Mitch
    Commented Jul 28, 2013 at 7:45
  • In my opinion the previous version was better (but is just an opinion). Commented Jul 28, 2013 at 15:13

Install linux-hotspot.

sudo add-apt-repository ppa:lakinduakash/lwh
sudo apt install linux-wifi-hotspot

Its 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:-

lspci | Wireless

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

  • Please include the essential steps in the answer. Currently this is just a link-only answer which is frowned upon. It looks like a good source and instructions, so +1, but please improve your answer.
    – gertvdijk
    Commented Jul 27, 2013 at 19:22

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:


Then run the install commands:



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...

  • Welcome to AskUbuntu. Henceforth please avoid using all capitals in your messages. It can be perceived as offending or aggressive. Commented Feb 23, 2014 at 7:59
  • 1
    This is the most straightforward WORKING solution to set up hotspot from a device connected with a cable to internet.
    – jmary
    Commented Jun 17, 2017 at 10:22

Like 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):

  1. 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.
  2. 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”.
  3. 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.
  4. 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.
  5. 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.
  6. 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

  • read question. "single adapter"
    – QkiZ
    Commented Feb 12, 2019 at 19:36
  • I didn't overlook that part of the question. However, if the most-upvoted answer (by @Purushoth) gets to be the most upvoted, and also does NOT use a single adapter (it requires plugging in an external Ethernet connection to feed in internet to the PC), then I figured it would be ok for me to answer the question requiring internet IN through ethernet and internet OUT through a single wireless adapter access point as well. This is especially considering the most-upvoted answer, which requires ethernet and wifi, didn't work for me. Commented Feb 12, 2019 at 20:22
  • I used github.com/oblique/create_ap and it works on single adapter. Check if it works for you.
    – QkiZ
    Commented Feb 13, 2019 at 12:26

on latest ubuntu (04.20) - there is a built in options in the wifi settings. so when you turn on wifi, you have the 3-dots button on top - one of the options there is "turn on hotspot", there, you'll set the wifi SSID and password, and that's it. Note: every wifi adapter can be used only for one action at once - or hotspot of connect to network. so if you have only one adapter and you're connected only via wifi - won't do...

  • 1
    So this is NOT and answer to the question if it only allows one connection. The question is explicitly about a wifi-to-wifi hotspot using one adapter.
    – Kvothe
    Commented Aug 22, 2020 at 19:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .