RTL8188CUS Modo AP e Cliente simultaneamente com hostapd no Linux?

6

Estou tentando descobrir como configurar meu dongle Wi-Fi RTL8188CUS para executar no modo AP e Cliente ao mesmo tempo.

Como posso fazer isso no Linux?

Eu tenho hostapd funcionando bem e eu lembro de ter lido sobre o AP + Client mode em algum momento atrás para o RTL8188, mas não me lembro onde.

Informações adicionais

Estou no Debian 4.7.2-5 para ARM. Kernel Linux 3.4.90 +.

Eu encontrei os seguintes tópicos que podem ser úteis e (eu acho) relevantes:

Link 1 : Link 2 : Criando o WiFi Ponto de acesso em uma única interface no Linux

Eu tentei o primeiro primeiro link, sem sucesso.

ATUALIZAÇÃO

Eu consegui iw list para trabalhar no Debain 8 Jessie x64.

Produz o seguinte:

software interface modes (can always be added):

    * AP/VLAN
    * monitor

interface combinations are not supported

No entanto, de acordo com as notas de lançamento do Realteks de seus drivers mais recentes Eles afirmam que o RTL8188CUS suporta modos concorrentes como STA+AP a partir da versão 4.0.0_5967.20121201

Isso não contradiz o que iw list declara?

Se não, como seria um modo STA+AP ?

UPDATE Eu percebi isso. Por favor, veja minha resposta para mais informações.

    
por vaid 04.02.2016 / 20:42

2 respostas

3

Consegui resolver meu problema depois de algumas semanas de pesquisa.

Resposta simples é:

O comando iw não encontra indicações de modos mistos em chips RTL. A razão é que os drivers RTL, por padrão, não suportam modos mistos.

O Realtek chama isso de Concurrent modes , e os drivers RTL são, por padrão, compilados com o código relacionado ao modo concorrente, comentado.

Para compilar os drivers com o modo concorrente ativado, você precisa simplesmente descomentar 3 linhas de código em seu código-fonte.

Os modos concorrentes suportados são STA+STA, STA+AP, STA+P2P .

Você pode encontrar minha história completa e um guia completo sobre como compilar os drivers e a versão HOSTAPD compatível com RTL neste link:

link

    
por 14.03.2016 / 04:28
4

Depende das placas de rede. Eu não possuo um RTL8188, então eu não posso dizer off-hand, mas eu posso te mostrar como descobrir.

Você deve emitir o comando

 iw list

e, entre sua produção abundante, você encontrará algo como:

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 mode é o modo Access Point, managed é o modo cliente usual, e isso é para o meu cartão.

Você deve verificar que AP e managed aparecem entre os modos suportados, então você deve verificar as combinações de interface válidas: no meu caso, a primeira combinação permitida é claramente a de um AP (simultâneo) e um modo gerenciado. (mas não mais que um cada), fornecido o mesmo canal é usado. Pode ser diferente no seu caso.

Para que isso funcione, você deve ter duas interfaces virtuais distintas no mesmo NIC. Você faz da seguinte maneira:

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
Primeiro eu paro o gerenciador de rede, que tem sua própria maneira de estragar tudo, então eu renomeio new0 a interface virtual na interface física chamada phy0 (adapte-o ao seu caso se o seu não for chamado phy0 , você obtém o nome da saída de iw list ), reinicie o gerenciador de rede para que eu possa conectar a interface virtual new0 a qualquer AP que esteja perto de mim.

Agora posso adicionar uma nova interface do tipo AP no mesmo hardware (observe o sublinhado duplo anterior a ap no comando), por último inicio hostpad .

A configuração de hostapd e de roteamento / DNS / DHCP depende das suas necessidades específicas e não pode ser estabelecida a priori .

    
por 05.02.2016 / 14:28