OpenWRT falha ao trazer WLAN local para cima se a WLAN a ser redistribuída falhar / não estiver disponível

4

Estou tentando configurar meu TP-Link TL-MR3020 executando o OpenWRT para redistribuir uma rede sem fio, por exemplo. para quando viajar e estar em um hotel.

Até agora, minha configuração funciona muito bem - se a rede sem fio estiver realmente disponível e pronta para ser conectada. Se não for, ou eu tenho, e. um erro de digitação na chave SSID ou WPA em algum lugar, o OpenWRT não apenas falha em trazer a rede para ser redistribuída, mas também não obtém a WLAN 'local'. Isso não é tão ruim se eu tiver um laptop com um conector Ethernet disponível - mas seria muito horrível se eu estivesse viajando com apenas um iPad à minha disposição.

Meus arquivos de configuração relevantes (AFAIK) são os seguintes:

/etc/config/network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config interface 'lan'
    option ifname 'eth0'
    option type 'bridge'
    option proto 'static'
    option ipaddr '192.168.1.1'
    option netmask '255.255.255.0'

config interface 'wan'
    option proto 'dhcp'
    option 'ifname' 'wlan0-1'

/etc/config/wireless

config wifi-device 'radio0'
    option type 'mac80211'
    option macaddr '64:70:02:6a:03:ae'
    option hwmode '11ng'
    option htmode 'HT20'
    list ht_capab 'SHORT-GI-20'
    list ht_capab 'SHORT-GI-40'
    list ht_capab 'RX-STBC1'
    list ht_capab 'DSSS_CCK-40'
    option country 'DE'
    option channel '13'
    option txpower '20'

config wifi-iface
    option network 'lan'
    option ssid 'tlmr3020'
    option device 'radio0'
    option mode 'ap'
    option encryption 'psk2'
    option key '....'
    option disabled '0'
    option wmm '1'

config wifi-iface
    option network 'wan'
    option ssid '....'
    option encryption 'psk2'
    option device 'radio0'
    option mode 'sta'
    option key '....'
    option disabled '0'
    option wmm '1'

Um wifi up , apesar de ter um erro de digitação no SSID a ser redistribuído, obtém a seguinte saída:

command failed: Device or resource busy (-16)
Configuration file: /var/run/hostapd-phy0.conf
Using interface wlan0 with hwaddr 64:70:02:6a:03:ae and ssid "tlmr3020"
Successfully initialized wpa_supplicant

Nenhuma mensagem de erro realmente óbvia aqui, o command failed sempre aparece (mesmo em conexões bem-sucedidas), não parece ter qualquer impacto.

logread parece indicar que o netifd tenta obter algum IP via DHCP para a interface wan, que obviamente irá falhar. Isso nunca parece terminar / fazer outra coisa, no entanto.

Jan 15 12:14:54 tlmr3020 daemon.notice netifd: wan (13582): udhcpc (v1.19.4) started
Jan 15 12:14:54 tlmr3020 daemon.notice netifd: wan (13582): Sending discover...
Jan 15 12:14:57 tlmr3020 daemon.notice netifd: wan (13582): Sending discover...
Jan 15 12:15:00 tlmr3020 daemon.notice netifd: wan (13582): Sending discover...

Dessa forma, a rede sem fio tlmr3020 nunca aparece, removendo minha capacidade de conexão com o MR3020 over-the-air - bastante inconveniente para dizer o mínimo.

Alguém tem uma idéia do que fazer aqui para permitir que a conexão wlan 'host' falhe normalmente, sem afetar a rede 'local'? Eu procurei e tentei praticamente tudo que eu conseguia pensar, chegando a lugar nenhum.

Obrigado!

    
por azmo 15.01.2013 / 12:24

2 respostas

3

Desde que fiz a pergunta, eu pude contornar o problema graças às informações encontradas nos fóruns do openwrt.

Como este ticket declara

If wpa_supplicant looses the connection it will go into an active scan cycle which renders the wiphy unusable for ap mode operation, therefore the ap is taken down if the sta looses its association. That is nothing that can be fixed easily and there are no current plans to solve this.

Para fazer o roteador funcionar para mim, eu tive que implementar uma solução sugerida pelo warchild de membros do fórum - um que funciona muito bem para mim. Ele usa o botão WPS para desabilitar a rede do cliente com falha. Se essa rede for desativada, o ciclo de verificação será interrompido e o ponto de acesso funcionará como esperado; é possível conectar-se à WLAN, corrigir os problemas (como um novo SSID para conectar-se à / senha alterada) e fazer com que a rede seja redistribuída de volta.
O script, bem como os ponteiros para a configuração do botão, podem ser encontrados nesta postagem (com informações adicionais mais acima no fio).

    
por 13.02.2013 / 15:36
0

Até onde eu vejo, o TL-MR3020 rodando com o openwrt não suporta o uso do canal 13. Eu tive o mesmo problema. O canal 11 parece rodar ok.

    
por 13.02.2013 / 12:04