I'm trying to figure out how to set up my RTL8188CUS Wifi dongle to run in both AP and Client mode at the same time.
How can I do this in Linux?
I have hostapd
running fine and I remember reading about AP+Client mode somewhere a while ago for the RTL8188, but I can't remember where.
Additional info
I'm on Debian 4.7.2-5 for ARM.
Linux kernel 3.4.90+.
I found the following threads that might be of use and (I think) relevant:
Link 1: How do I use a single wireless adapter for both an access point and client on raspberry pi?
Link 2: Creating WiFi Access point on a single interface in Linux
I tried the first first link, no success.
UPDATE
I have managed to get iw list
to work on Debain 8 Jessie x64.
It outputs the following:
software interface modes (can always be added): * AP/VLAN * monitor interface combinations are not supported
However according to Realteks release notes of their latest drivers
they state that the RTL8188CUS supports concurrent modes such as STA+AP
as of version 4.0.0_5967.20121201
Doesn't this contradict what iw list
states?
If not, how would an STA+AP
mode be achieved?
UPDATE
I figured it out. Please see my answer for more info.
Best Answer
It depends on network cards. I do not own an RTL8188, so i cannot tell you off-hand, but I can show you how to find out.
You must issue the command
and, among its abundant output, you will find something like:
AP
mode is the Access Point mode,managed
is the usual client mode, and this is for my card.You must check that both
AP
andmanaged
appear among the supported modes, then you must check the valid interface combinations: in my case, the first allowed combination is clearly that of a (simultaneous) AP and managed mode (but no more than one each), provided the same channel is used. It might be different in your case.In order to make this work, you must have two distinct virtual interfaces on the same NIC. You do it as follows:
First I stop the network manager, which has its own way of messing everything up, then I rename
new0
the virtual interface on the physical interface calledphy0
(adapt it to your case if yours is not calledphy0
, you obtain the name from the output ofiw list
), restart the network manager so that I can connect the virtual interfacenew0
to whichever AP I have near me.Now I can add a new interface of type
AP
on the same hardware (please notice the double underscore precedingap
in the command), lastly I starthostpad
.The configuration of
hostapd
and of routing/DNS/DHCP depends on your specific needs, and cannot be established a priori.