web-dev-qa-db-ja.com

再配布されるWLANが失敗するか利用できない場合、OpenWRTはローカルWLANの起動に失敗します

OpenWRTを実行しているTP-LinkTL-MR3020をセットアップして、ワイヤレスネットワークを再配布しようとしています。旅行やホテルにいるときのために。

これまでのところ、私のセットアップはかなりうまく機能しています-ワイヤレスネットワークが実際に利用可能で、接続する準備ができている場合。そうでない場合、または私が持っている場合、例えばSSIDのタイプミスまたはWPAキーのどこかで、OpenWRTはネットワークを再配布するのに失敗するだけでなく、「ローカル」WLANを起動しません。これはそれほど悪くありません。イーサネットジャック付きのラップトップを利用できますが、iPadだけを自由に使って旅行しているとしたら、かなり恐ろしいことです。

私の関連する(AFAIK)構成ファイルは次のとおりです。

/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'

A wifi up再配布するSSIDにタイプミスがあると、次の出力が表示されます。

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

ここには本当に明白なエラーメッセージはありません、command failed(接続が成功した場合でも)常に表示されますが、影響はまったくないようです。

logreadは、netifdがWANインターフェイス用にDHCP経由でIPを取得しようとしていることを示しているようですが、もちろん失敗します。ただし、タイムアウトしたり、他のことをしたりすることはありません。

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...

このように、tlmr3020ワイヤレスネットワークが起動することはなく、MR3020に無線で接続する機能が失われます。控えめに言ってもかなり不便です。

「ローカル」ネットワークに影響を与えずに、「ホスト」WLAN接続を正常に失敗させるためにここで何をすべきか考えた人はいますか?私は考えられるほとんどすべてを探して試しましたが、どこにも行きませんでした。

ありがとう!

4
azmo

質問をして以来、openwrtフォーラムにある情報のおかげで、この問題を回避することができました。

として このチケット 状態

Wpa_supplicantが接続を失うと、アクティブなスキャンサイクルに入り、wiphyがapモード操作に使用できなくなります。したがって、staが関連付けを失うと、apは停止します。それは簡単に修正できるものではなく、これを解決する現在の計画はありません。

ルーターを機能させるには、フォーラムのメンバーであるwarchildによって提案されたソリューションを実装する必要がありました。これは私にとって非常にうまく機能します。 WPSボタンを使用して、障害のあるクライアントネットワークを無効にします。そのネットワークがダウンすると、スキャンサイクルが中断され、apは期待どおりに機能します。 WLANに接続し、問題を修正し(接続するための新しいSSIDやパスワードの変更など)、ネットワークを再配布してバックアップすることができます。
スクリプトとボタン構成へのポインターは この投稿で (スレッドのさらに上に追加情報があります)にあります。

3
azmo

私が見る限り、openwrtで実行されているTL-MR3020はチャネル13の使用をサポートしていません。同じ問題が発生しました。チャネル11は正常に動作しているようです。

0
Helios