組み込みデバイス wpa_supplicant 再接続

組み込みデバイス wpa_supplicant 再接続

カーネル4.14.67-1.0.6+を実行するDebian 9ベースのオペレーティングシステムを実行する組み込みのarmデバイスがあります。

編集する:@ABの要求に応じて、以下は今後の視聴者のためのドライバ/チップセット情報でもあります。質問を受けたときにどのように見つけるのか分からなかった。

filename:       /lib/modules/4.14.67-1.0.6+/extra/mlan.ko
license:        GPL
version:        C605
author:         Marvell International Ltd.
description:    M-WLAN MLAN Driver
srcversion:     103492D596FC10822F1F391
depends:
name:           mlan
vermagic:       4.14.67-1.0.6+ SMP preempt mod_unload modversions ARMv7 p2v8

起動時にWiFiに接続できましたが、信号が途切れたときにデバイスが自動的に再接続されませんでした。マニュアルを確認して他のオプションを試してみましたが、ある程度進歩していましたが、まだ正しく再接続できません/etc/network/interfaceswpa_supplicant

私の設定は次のとおりです。wpa-conf手動iface設定を使ってVSでプレイしてみました。 wpa_supplicantに対して別の設定をwpa-roam試してみました。過去にNetworkManagerを試してみましたが、デバイスのGSMインターフェイスにいくつかの問題があることがわかりました。autoscanap_scan

/etc/ネットワーク/インターフェース

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

allow-hotplug mlan0
iface mlan0 inet dhcp
        wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/wpa_supplicant/wpa_supplicant.conf

ap_scan=2

# Networks SSIDs
network={
        ssid="1+ Benji"
        psk="REDACTED"
        key_mgmt=WPA-PSK
}

デバイスを再起動し、接続が良好であることを確認してから、電話のWiFiホットスポットをオフにしてオンにしてテストしています。再接続すると、wpa_supplicantは再接続を試みるためにスキャンします(以前はそうではありません)、接続が失敗し、ステーションが離れるというメッセージのみが表示されます。

/var/log/システムログ

# Network manually turned off
Feb 11 15:56:08 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-DISCONNECTED bssid=94:65:2d:83:c2:0d reason=3
Feb 11 15:56:08 arm kernel: [  154.302149] wlan: EVENT: Disassociated (reason 0x3)
Feb 11 15:56:08 arm kernel: [  154.302166] wlan: REASON: (Deauth) Sending STA is leaving (or has left) IBSS or ESS
Feb 11 15:56:08 arm kernel: [  154.302339] wlan: Disconnected from 94:XX:XX:XX:c2:0d: Reason code 3
Feb 11 15:56:08 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
Feb 11 15:56:08 arm wpa_supplicant[459]: mlan0: Trying to associate with SSID '1+ Benji'
Feb 11 15:56:13 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=1
Feb 11 15:56:13 arm kernel: [  159.732160] wlan: SCAN COMPLETED: scanned AP count=0
Feb 11 15:56:14 arm wpa_supplicant[459]: mlan0: Trying to associate with SSID '1+ Benji'
Feb 11 15:56:19 arm kernel: [  165.291259] usb 2-1: USB disconnect, device number 5
Feb 11 15:56:19 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=1
Feb 11 15:56:19 arm kernel: [  165.572172] wlan: SCAN COMPLETED: scanned AP count=0
Feb 11 15:56:20 arm wpa_supplicant[459]: mlan0: Trying to associate with SSID '1+ Benji'
Feb 11 15:56:26 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=1
Feb 11 15:56:26 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="1+ Benji" auth_failures=1 duration=10 reason=CONN_FAILED
Feb 11 15:56:26 arm kernel: [  171.912043] wlan: SCAN COMPLETED: scanned AP count=0
Feb 11 15:56:31 arm wpa_supplicant[459]: mlan0: Trying to associate with SSID '1+ Benji'
Feb 11 15:56:36 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=1
Feb 11 15:56:36 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="1+ Benji" auth_failures=2 duration=20 reason=CONN_FAILED
Feb 11 15:56:36 arm kernel: [  182.252181] wlan: SCAN COMPLETED: scanned AP count=0

# Network AP manually turned back on 
Feb 11 15:56:46 arm wpa_supplicant[459]: mlan0: Trying to associate with SSID '1+ Benji'
Feb 11 15:56:51 arm kernel: [  197.512170] wlan: SCAN COMPLETED: scanned AP count=1
Feb 11 15:56:51 arm kernel: [  197.682452] wlan: Connected to bssid 94:XX:XX:XX:c2:0d successfully
Feb 11 15:56:51 arm kernel: [  197.685349] wlan: Received disassociation request on mlan0, reason: 3
Feb 11 15:56:51 arm kernel: [  197.685361] wlan: REASON: (Deauth) Sending STA is leaving (or has left) IBSS or ESS
Feb 11 15:56:53 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-DISCONNECTED bssid=94:65:2d:83:c2:0d reason=3 locally_generated=1
Feb 11 15:56:53 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
Feb 11 15:56:53 arm wpa_supplicant[459]: mlan0: Trying to associate with SSID '1+ Benji'
Feb 11 15:56:54 arm kernel: [  199.872319] wlan: Connected to bssid 94:XX:XX:XX:c2:0d successfully
Feb 11 15:56:54 arm kernel: [  199.874233] wlan: Received disassociation request on mlan0, reason: 3
Feb 11 15:56:54 arm kernel: [  199.874247] wlan: REASON: (Deauth) Sending STA is leaving (or has left) IBSS or ESS
Feb 11 15:56:55 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-DISCONNECTED bssid=94:65:2d:83:c2:0d reason=3 locally_generated=1
Feb 11 15:56:55 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
Feb 11 15:56:55 arm wpa_supplicant[459]: mlan0: Trying to associate with SSID '1+ Benji'
Feb 11 15:56:55 arm kernel: [  201.702474] wlan: Connected to bssid 94:XX:XX:XX:c2:0d successfully
Feb 11 15:56:55 arm kernel: [  201.704140] wlan: Received disassociation request on mlan0, reason: 3
Feb 11 15:56:55 arm kernel: [  201.704152] wlan: REASON: (Deauth) Sending STA is leaving (or has left) IBSS or ESS
Feb 11 15:56:57 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-DISCONNECTED bssid=94:65:2d:83:c2:0d reason=3 locally_generated=1
Feb 11 15:56:57 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="1+ Benji" auth_failures=3 duration=30 reason=CONN_FAILED
Feb 11 15:56:57 arm wpa_supplicant[459]: mlan0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
Feb 11 15:56:57 arm wpa_supplicant[459]: mlan0: Trying to associate with SSID '1+ Benji'
Feb 11 15:56:58 arm kernel: [  203.872352] wlan: Connected to bssid 94:XX:XX:XX:c2:0d successfully
Feb 11 15:56:58 arm kernel: [  203.874052] wlan: Received disassociation request on mlan0, reason: 3
Feb 11 15:56:58 arm kernel: [  203.874064] wlan: REASON: (Deauth) Sending STA is leaving (or has left) IBSS or ESS

ご覧のとおり、デバイスでネットワーク AP を再びオンにした後、デバイスは引き続き再接続しようとしましたが、理由 3 で失敗しました。原因を探しましたが、実際に意味のある内容が見つかりませんでした。「STAがIBSSまたはESSを離れている(または去った)」というメッセージも役に立ちませんでした。

追加情報や出力ログが必要な場合は、お気軽にお知らせください。

答え1

私も数日前に機器メーカーに提案事項があるか尋ねてみましたが、答えるのに時間がかかりましたが、提案事項が効果があるようでした。

私が持っている基本的な機能は/etc/network/interfaces大丈夫ですが、他のオプションをすべて試してみると、1行がありません。つまり/etc/wpa_supplicant/wpa_supplicant.conf... disable_scan_offload=1With ap_scan=1

最終構成:

# Enable WiFi scanning on network disconnect.
ap_scan=1
autoscan=periodic:10
disable_scan_offload=1
# This above line is crucial for making wpa_supplicant do the scan instead of relying
# on the driver, which in this case didn't appear to be scanning to reconnect.

# Users saved network list
network={
        ssid="1+ Benji"
        psk="REDACTED"
        key_mgmt=WPA-PSK
}
#network={...}
#network={...}

答え2

~からhttp://w1.fi/wpa_supplicant/devel/ctrl_iface_page.html:

SELECT_NETWORKネットワークの選択(他人を無効にする)。ネットワークIDはLIST_NETWORKSコマンドの出力から受け取ることができます。

ENABLE_NETWORK ネットワークを有効にします。ネットワークIDはLIST_NETWORKSコマンドの出力から受け取ることができます。特殊ネットワークIDみんなすべてのネットワークを有効にするために使用できます。

これにより、私はあるネットワークが選択されると他のネットワークが無効になることを理解します(他のすべてのネットワークでは、confファイルは無効1に変わります)。だから、次のコマンドを送信します。 all_networkを有効にする 特定のネットワークに接続した後。

何らかの理由でデバイスが接続されているネットワークが利用できなくなると、WPAはデバイスを他の「既知の」ネットワークの1つに自動的に接続します。

そしてそれは動作します! ! ! !

(間違ったパスワードのために、デバイスが以前に接続したことのないネットワークは、「無効」のままにするのではなく、ネットワークリストから削除する必要があると付け加えたいと思います。)

関連情報