How can I connect to 2 WiFi networks at the same time with only 1 WiFi-adapter?

I have two separate wireless networks, to which I need to connect the Ubuntu-PC simultaneously: The first with internet access and the other one without internet access.

I tried to create a Virtual Interface and even though there doesn't seem to be an error, it did not appear in the Network Manager. It would seem, the driver I am using, is ath9k:

lcpi

How can I find out whether my it can create virtual wireless interfaces? Can I replace the driver ath9k, if it doesn't support virtual interfaces?

Yes you can, if your card support it. First of all look the documentation of iw and especially the page of virtual interfaces. Unless you are running 14.04, that is, due to a bug in udev scripts (probably fixed in 15.10, but no confirmation yet).

Note that in the following description wlan0 is my normal WiFi interface and wlan1 is the name I choosed for the virtual one (it's quite arbitrary). You have to adapt this to your system, of course.

You can create a new virtual interface with:

sudo iw dev wlan0 interface add wlan1 type station 

if your adaptor/driver support it, it's done --- you now have two interfaces; otherwise you will have some type of error or the interface will not appear.

You can check if the new interface exists by typing

 sudo ifconfig -a 

...and see if the wlan1 interface shows up. It will appear in the Network Manager too anyway:

enter image description here

You can remove the virtual interface with

sudo iw dev wlan1 del

I really never used it --- I tried to connect twice to my router and havoc arose (but that probably is normal). Moreover, you will probably need to see if packet forwarding between the two interfaces is enabled by default or not, and you probably need to play a bit with the routing after that. But it's a start.

PD --- one of the thing you will probably have to change is the MAC number of the "virtual" interface, which is by default the same as the other, and will create problems almost for sure.

  • How do I find out, whether my card supports it? – user203053 Jun 26 '14 at 20:57
  • 1
    @user203053, I update the answer. – Rmano Jun 26 '14 at 21:05
  • As an aside, see bugs.launchpad.net/ubuntu/+source/udev/+bug/1397654 --- maybe it's broken now – Rmano Nov 30 '14 at 15:13
  • Wow! it works Now. Thanks! – Stefano Mtangoo Dec 23 '14 at 5:57
  • 1
    In 16.04, the other interface is created but doesn't have an IP assigned and is listed as "Not enabled" in Network Manager. Any ideas how to finish the deed? – TenLeftFingers Oct 6 '16 at 18:51

That would be much convinient to add as comment but it would need 50 reputation score. Sorry


I have found another answer in this topic and it has a little extra just to save some time.
e.g.

About using both interfaces at the same time and the message about them not being unique: This is probably because they both use the same MAC address. You can try to change the MAC address of the new interface before activating it.
 ip link set dev <dev-name> address <new-mac-address> 

https://superuser.com/questions/592296/using-iw-to-add-a-virtual-wireless-interface-getting-the-error-no-such-device

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.