RTL8188CUS AP и клиентский режим одновременно с hostapd в Linux?
Я пытаюсь выяснить, как настроить мой Wi-Fi-адаптер RTL8188CUS для одновременной работы в режиме AP и Client.
Как я могу сделать это в Linux?
я имею hostapd
работает нормально, и я помню, что читал о режиме AP+Client где-то некоторое время назад для RTL8188, но я не могу вспомнить, где.
Дополнительная информация
Я на Debian 4.7.2-5 для ARM. Ядро Linux 3.4.90+.
Я нашел следующие темы, которые могут быть полезны и (я думаю) актуальны:
Ссылка 1: Как использовать один беспроводной адаптер для точки доступа и клиента на RasPberry Pi?Ссылка 2: Создание точки доступа WiFi на одном интерфейсе в Linux
Я попробовал первую первую ссылку, безуспешно.
ОБНОВИТЬ
Мне удалось получить iw list
работать на Debain 8 Джесси x64.
Это выводит следующее:
software interface modes (can always be added): * AP/VLAN * monitor interface combinations are not supported
Однако, в соответствии с примечаниями к выпуску Realteks своих последних драйверов, они утверждают, что RTL8188CUS поддерживает одновременные режимы, такие как STA+AP
по версии 4.0.0_5967.20121201
Разве это не противоречит тому, что iw list
состояния?
Если нет, то как бы STA+AP
режим будет достигнут?
ОБНОВЛЕНИЕ Я понял это. Пожалуйста, смотрите мой ответ для получения дополнительной информации.
2 ответа
Мне удалось решить мою проблему после нескольких недель исследований.
Простой ответ:
Команда iw
не находит никаких признаков смешанных режимов на чипах RTL. Причина в том, что драйверы RTL по умолчанию не поддерживают смешанные режимы.
Realtek называть это Concurrent modes
и драйверы RTL по умолчанию компилируются с закомментированным кодом одновременного режима.
Чтобы скомпилировать драйверы с активированным параллельным режимом, вам нужно просто раскомментировать 3 строки кода в их исходном коде.
Поддерживаются одновременные режимы STA+STA, STA+AP, STA+P2P
,
Вы можете найти мой полный рассказ и полное руководство о том, как скомпилировать драйверы и RTL-совместимые HOSTAPD
версия по этой ссылке:
http://randomstuffidosometimes.blogspot.se/2016/03/rtl8192cu-and-rtl8188cus-in-station-and.html
Это зависит от сетевых карт. У меня нет RTL8188, поэтому я не могу сказать вам, но я могу показать вам, как это выяснить.
Вы должны выполнить команду
iw list
и среди его обильной продукции вы найдете что-то вроде:
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
software interface modes (can always be added):
* AP/VLAN
* monitor
valid interface combinations:
* #{ managed } <= 1, #{ AP } <= 1,
total <= 2, #channels <= 1, STA/AP BI must match
* #{ managed } <= 2,
total <= 2, #channels <= 1
AP
режим является режимом точки доступа, managed
это обычный режим клиента, и это для моей карты.
Вы должны проверить, что оба AP
а также managed
появится среди поддерживаемых режимов, затем вы должны проверить действительные комбинации интерфейсов: в моем случае, первая разрешенная комбинация - это (одновременная) точка доступа и управляемый режим (но не более одного), при условии, что используется тот же канал, Это может быть иначе в вашем случае.
Чтобы это работало, у вас должно быть два разных виртуальных интерфейса на одной сетевой карте. Вы делаете это следующим образом:
service network-manager stop
iw dev wlan0 del
iw phy phy0 interface add new0 type station
service network-manager start
iw phy phy0 interface add new1 type __ap
hostapd -B /etc/hostapd.conf
Сначала я останавливаю менеджера сети, у которого есть свой собственный способ все испортить, затем я переименую new0
виртуальный интерфейс на физическом интерфейсе называется phy0
(адаптируйте его к вашему случаю, если ваш не называется phy0
, вы получаете имя из вывода iw list
), перезапустите диспетчер сети, чтобы я мог подключить виртуальный интерфейс new0
какой AP у меня есть рядом со мной.
Теперь я могу добавить новый интерфейс типа AP
на том же оборудовании (обратите внимание на двойное подчеркивание, предшествующее ap
в команде), наконец, я начинаю hostpad
,
Конфигурация hostapd
и маршрутизации /DNS/DHCP зависит от ваших конкретных потребностей, и не может быть установлен априори.