Armadilloフォーラム

WPEB-265AXI(BT)評価

k_tomita

2022年12月12日 9時31分

WLAN+BTコンボモジュールの先行評価を行っています。

hostapdにより無線APとして運用しているのですが、クライアントへのIP付与時、dmesgに下記メッセージが出力されています。
(クライアント側ではIPの取得はされている)
モジュール変更前はこのような出力は無かったのですが、問題は無いのでしょうか?

[ 9064.621919] [dhd] CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set
[ 9064.642080] NOHZ: local_softirq_pending 08
[ 9064.645991] [dhd] CFG80211-ERROR) wl_cfg80211_get_key : Invalid algo (0x44)
[ 9064.657336] NOHZ: local_softirq_pending 08
[ 9065.090376] NOHZ: local_softirq_pending 08
[ 9065.130063] NOHZ: local_softirq_pending 08
[ 9065.619350] NOHZ: local_softirq_pending 08
[ 9065.903370] NOHZ: local_softirq_pending 08
[ 9065.947118] NOHZ: local_softirq_pending 08
[ 9066.078889] NOHZ: local_softirq_pending 08
[ 9066.087684] NOHZ: local_softirq_pending 08
[ 9066.255611] NOHZ: local_softirq_pending 08

設定方法は下記を参考にしています。
https://armadillo.atmark-techno.com/blog/615/6824

下記がhostapdの設定となります。
atmark@armadillo:/etc/hostapd$ less hostapd.conf
interface=wlan0
driver=nl80211
ssid=xxxxxxxx
hw_mode=g
channel=10
ieee80211n=1
wpa=2
wpa_passphrase=xxxxxxxx
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

以上

コメント

溝渕です。

> NOHZ: local_softirq_pending 08
これは、基本的にはsoftirqの登録/実行完了のタイミングの重複によって出るメッセージです。登録されたsoftirqは後に実行される為、このメッセージ自体は問題無いです。

> [dhd] CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set
> [dhd] CFG80211-ERROR) wl_cfg80211_get_key : Invalid algo (0x44)
この2つは、先に述べましたsoftirqがペンディングされたことによるものではないかと推測しています。この推測が正しい場合、動作に問題は出ないかと思います。

私の手元でも同様のメッセージが確認できましたが、動作に問題は出ていません。

"[dhd]"ではじまる2つのメッセージの出力要因についてはもう少し調査したいと思います。

冨田と申します。

溝渕さま、御返信ありがとうございます。
local_softirq_pendingの件、了解いたしました。

メッセージの出力要因の件、よろしくお願いいたします。

> 溝渕です。
>
> > NOHZ: local_softirq_pending 08
> これは、基本的にはsoftirqの登録/実行完了のタイミングの重複によって出るメッセージです。登録されたsoftirqは後に実行される為、このメッセージ自体は問題無いです。
>
> > [dhd] CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set
> > [dhd] CFG80211-ERROR) wl_cfg80211_get_key : Invalid algo (0x44)
> この2つは、先に述べましたsoftirqがペンディングされたことによるものではないかと推測しています。この推測が正しい場合、動作に問題は出ないかと思います。
>
> 私の手元でも同様のメッセージが確認できましたが、動作に問題は出ていません。
>
> "[dhd]"ではじまる2つのメッセージの出力要因についてはもう少し調査したいと思います。
>

溝渕です。

> [dhd] CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set

これは不要なメッセージである為、次回アップデート時に出力されないよう修正予定です。

このメッセージは、IEEE802.11 authenticationの前に、Station側からのNL80211_CMD_SET_STATIONを受信した場合に必ず出力されてしまいます。Linux kernelに含まれるBroadcomのドライバでは認証前には未処理で抜けているように、エラーメッセージを出力すべきでは無いと判断できます。

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:
static int
brcmf_cfg80211_change_station(struct wiphy *wiphy, struct net_device *ndev,
			      const u8 *mac, struct station_parameters *params)
{
 :snip
	if (!(params->sta_flags_mask & BIT(NL80211_STA_FLAG_AUTHORIZED)))
		return 0;

> [dhd] CFG80211-ERROR) wl_cfg80211_get_key : Invalid algo (0x44)

これは、まだ調査仮定です。

このメッセージは、暗号化方式が適切に判別できていない為に出力されていますが、これによって実質的に問題は生じていません。次のようにするとメッセージは出力されなくなります。

--- a/drivers/net/wireless/bcmdhd/Makefile
+++ b/drivers/net/wireless/bcmdhd/Makefile
@@ -41,7 +41,7 @@ DHDCFLAGS = -Wall -Wstrict-prototypes -Wno-date-time                      \
        -DPOWERUP_MAX_RETRY=0 -DIFACE_HANG_FORCE_DEV_CLOSE -DWAIT_DEQUEUE     \
        -DUSE_NEW_RSPEC_DEFS                                                  \
        -DWL_EXT_IAPSTA -DWL_ESCAN -DCCODE_LIST                               \
-       -DENABLE_INSMOD_NO_POWER_OFF -DDHD_USE_FIRMWARE_CLASS
+       -DENABLE_INSMOD_NO_POWER_OFF -DDHD_USE_FIRMWARE_CLASS -DWLWSEC

溝渕さま、回答頂きありがとうございます。

出力されているメッセージに問題は無いとの事ですので、iperfで負荷テストを実施
してみようと思います。

ありがとうございました。

> 溝渕です。
>
> > [dhd] CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set
>
> これは不要なメッセージである為、次回アップデート時に出力されないよう修正予定です。
>
> このメッセージは、IEEE802.11 authenticationの前に、Station側からのNL80211_CMD_SET_STATIONを受信した場合に必ず出力されてしまいます。Linux kernelに含まれるBroadcomのドライバでは認証前には未処理で抜けているように、エラーメッセージを出力すべきでは無いと判断できます。
>
>

> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:
> static int
> brcmf_cfg80211_change_station(struct wiphy *wiphy, struct net_device *ndev,
> 			      const u8 *mac, struct station_parameters *params)
> {
>  :snip
> 	if (!(params->sta_flags_mask & BIT(NL80211_STA_FLAG_AUTHORIZED)))
> 		return 0;
> 

>
> > [dhd] CFG80211-ERROR) wl_cfg80211_get_key : Invalid algo (0x44)
>
> これは、まだ調査仮定です。
>
> このメッセージは、暗号化方式が適切に判別できていない為に出力されていますが、これによって実質的に問題は生じていません。次のようにするとメッセージは出力されなくなります。
>
>

> --- a/drivers/net/wireless/bcmdhd/Makefile
> +++ b/drivers/net/wireless/bcmdhd/Makefile
> @@ -41,7 +41,7 @@ DHDCFLAGS = -Wall -Wstrict-prototypes -Wno-date-time                      \
>         -DPOWERUP_MAX_RETRY=0 -DIFACE_HANG_FORCE_DEV_CLOSE -DWAIT_DEQUEUE     \
>         -DUSE_NEW_RSPEC_DEFS                                                  \
>         -DWL_EXT_IAPSTA -DWL_ESCAN -DCCODE_LIST                               \
> -       -DENABLE_INSMOD_NO_POWER_OFF -DDHD_USE_FIRMWARE_CLASS
> +       -DENABLE_INSMOD_NO_POWER_OFF -DDHD_USE_FIRMWARE_CLASS -DWLWSEC
> 

>

溝渕です。

> > > [dhd] CFG80211-ERROR) wl_cfg80211_get_key : Invalid algo (0x44)
> >
> > これは、まだ調査仮定です。

上記についても、現状無視していただいて構いません。次回アップデートで出力されないよう修正する予定です。