takeuchi.
2023年3月31日 17時16分
竹内です。
お世話になります。
Linuxカーネル、Debianユーザーカーネルを更新後、
借用している新しいWLAN + BT コンボモジュールに換装したところwlan0を認識しなくなりました。
NetworkManagerの管理下からwlan0を外そうとすると以下エラーが表示されます。
ifconfigで確認したところ、wlan0は表示されておりました。
$ nmcli device set wlan0 managed no [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized [dhd] CFGP2P-ERROR) wl_cfgp2p_del_p2p_disc_if : P2P interface unregistered
また、phy情報を取得しようとすると失敗してしまいます。
対処方法をご教授いただけますでしょうか。
コメント
takeuchi.
> 溝渕です。
>
> > Linuxカーネル、Debianユーザーカーネルを更新後、
> > 借用している新しいWLAN + BT コンボモジュールに換装したところwlan0を認識しなくなりました。
>
> 再現環境を教えていただけますか?
>
> - softwareのバージョン
> - 再現手順
>
> 最新のインストールディスクイメージ
> https://armadillo.atmark-techno.com/files/downloads/armadillo-x1/image/…
>
> でインストールを行い再起動後、以下のコマンドを入力しただけでしょうか?
>
>
> nmcli device set wlan0 managed no >
>
- softwareのバージョン(at12からat28へUpdate)
Linux(stretch)o 4.9.133-at28
uImage-x1-v4.9-at28
弊社でビルドしたimageを書き込んでおります。
- 再現手順
imageを書き込んで再起動後、下記コマンドを入力
$nmcli device set wlan0 managed no [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized [dhd] CFGP2P-ERROR) wl_cfgp2p_del_p2p_disc_if : P2P interface unregistered
また、create_apを実行させるとget_phy_device()でエラーとなるようです。
at12→at28の差分によるエラーでしょうか。
※一部*でマスクしています。
/***/******/**/create_ap -n wlan0 xxxx yyyy & [1] 2017 root@armadillo:/***/******/**/# Failed to get phy interface ERROR: Your adapter does not support AP (master) mode [1]+ Exit 1 /***/******/**/create_ap -n wlan0 xxxx yyyy
at_mizo
溝渕です。
> imageを書き込んで再起動後、下記コマンドを入力
>
> $nmcli device set wlan0 managed no > [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized > [dhd] CFGP2P-ERROR) wl_cfgp2p_del_p2p_disc_if : P2P interface unregistered >
すみません。こちらで再現できていないのですが、このコマンドを入力する前にアクセスポイントへの接続等の操作を行っていますか?
> 借用している新しいWLAN + BT コンボモジュールに換装したところwlan0を認識しなくなりました。
これ自体は、NetworkManagerからwlan0を明示的に管理対象外に指定しているので問題無いかと思います。
> ifconfigで確認したところ、wlan0は表示されておりました。
とありますように、NetworkManager以外からwlan0を扱う場合に、管理対象外とします。
> また、create_apを実行させるとget_phy_device()でエラーとなるようです。
> at12→at28の差分によるエラーでしょうか。
いえ。無線LANモジュールのドライバの仕様による違いです。
新しいWLAN + BT コンボモジュールで利用可能なバージョンは、create_apの0.4.6-4以降になります。もしパッケージが古い場合はアップグレードしてください。
[aramdillo]# apt update [aramdillo]# apt install create-ap
また、仮想I/Fの作成に非対応である為、create_apを実行する際に、オプション"--no-virt"を付与してください。
takeuchi.
> 溝渕です。
>
>
> > imageを書き込んで再起動後、下記コマンドを入力
> >
> > $nmcli device set wlan0 managed no > > [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized > > [dhd] CFGP2P-ERROR) wl_cfgp2p_del_p2p_disc_if : P2P interface unregistered > >
>
> すみません。こちらで再現できていないのですが、このコマンドを入力する前にアクセスポイントへの接続等の操作を行っていますか?
いえ、行っておりません。
>
> > 借用している新しいWLAN + BT コンボモジュールに換装したところwlan0を認識しなくなりました。
> これ自体は、NetworkManagerからwlan0を明示的に管理対象外に指定しているので問題無いかと思います。
> > ifconfigで確認したところ、wlan0は表示されておりました。
> とありますように、NetworkManager以外からwlan0を扱う場合に、管理対象外とします。
承知しました。ありがとうございます。
>
> > また、create_apを実行させるとget_phy_device()でエラーとなるようです。
> > at12→at28の差分によるエラーでしょうか。
>
> いえ。無線LANモジュールのドライバの仕様による違いです。
>
> 新しいWLAN + BT コンボモジュールで利用可能なバージョンは、create_apの0.4.6-4以降になります。もしパッケージが古い場合はアップグレードしてください。
>
>
> [aramdillo]# apt update > [aramdillo]# apt install create-ap >
>
> また、仮想I/Fの作成に非対応である為、create_apを実行する際に、オプション"--no-virt"を付与してください。
>
確認したところ、下記となっておりましたので問題ない認識です。
root@armadillo:~# apt list create-ap Listing... Done create-ap/stretch 0.4.6-4 all
オプション"--no-virt"をつけたところ、同様のエラーが発生しました。
/***/******/**/create_ap --no-virt -n wlan0 xxxx yyyy & [1] 4242 root@armadillo:/***/******/**/# Failed to get phy interface ERROR: Your adapter does not support AP (master) mode [1]+ Exit 1 /***/******/**/create_ap --no-virt -n wlan0 xxxx yyyy
at_mizo
溝渕です。
> オプション"--no-virt"をつけたところ、同様のエラーが発生しました。
>
> /***/******/**/create_ap --no-virt -n wlan0 xxxx yyyy & > [1] 4242 > root@armadillo:/***/******/**/# Failed to get phy interface > ERROR: Your adapter does not support AP (master) mode > > [1]+ Exit 1 /***/******/**/create_ap --no-virt -n wlan0 xxxx yyyy >
create_apがPATH指定されていたので気になったのですが、create_apをカスタマイズされていますか?
次のコマンドの出力が一致するか確認してみてください。
# 伏せ字の部分は、create_ap実行時のパスに修正してください。
[armadillo]# grep -A 10 "get_phy_device()" /***/******/**/create_ap get_phy_device() { local x if [[ -e "/sys/class/net/$1/phy80211/name" ]]; then cat "/sys/class/net/$1/phy80211/name" return 0 fi for x in /sys/class/ieee80211/*; do [[ ! -e "$x" ]] && continue if [[ "${x##*/}" = "$1" ]]; then echo $1 return 0 [armadillo]#
takeuchi.
> 溝渕です。
>
> > オプション"--no-virt"をつけたところ、同様のエラーが発生しました。
> >
> > /***/******/**/create_ap --no-virt -n wlan0 xxxx yyyy & > > [1] 4242 > > root@armadillo:/***/******/**/# Failed to get phy interface > > ERROR: Your adapter does not support AP (master) mode > > > > [1]+ Exit 1 /***/******/**/create_ap --no-virt -n wlan0 xxxx yyyy > >
>
> create_apがPATH指定されていたので気になったのですが、create_apをカスタマイズされていますか?
>
> 次のコマンドの出力が一致するか確認してみてください。
> # 伏せ字の部分は、create_ap実行時のパスに修正してください。
>
>
> [armadillo]# grep -A 10 "get_phy_device()" /***/******/**/create_ap > get_phy_device() { > local x > if [[ -e "/sys/class/net/$1/phy80211/name" ]]; then > cat "/sys/class/net/$1/phy80211/name" > return 0 > fi > for x in /sys/class/ieee80211/*; do > [[ ! -e "$x" ]] && continue > if [[ "${x##*/}" = "$1" ]]; then > echo $1 > return 0 > [armadillo]# >
>
コマンドの出力は以下になりました。
root@armadillo:# grep -A 10 "get_phy_device()" /***/******/**/create_ap get_phy_device() { local x for x in /sys/class/ieee80211/*; do [[ ! -e "$x" ]] && continue if [[ "${x##*/}" = "$1" ]]; then echo $1 return 0 elif [[ -e "$x/device/net/$1" ]]; then echo ${x##*/} return 0 elif [[ -e "$x/device/net:$1" ]]; then
at_mizo
溝渕です。
> コマンドの出力は以下になりました。
>
> root@armadillo:# grep -A 10 "get_phy_device()" /***/******/**/create_ap > get_phy_device() { > local x > for x in /sys/class/ieee80211/*; do > [[ ! -e "$x" ]] && continue > if [[ "${x##*/}" = "$1" ]]; then > echo $1 > return 0 > elif [[ -e "$x/device/net/$1" ]]; then > echo ${x##*/} > return 0 > elif [[ -e "$x/device/net:$1" ]]; then >
これは、create_ap v0.4.6-4ではありません。恐らくv0.4.6-3以前(またはそれをカスタマイズしたもの)を利用していると思います。
"/usr/bin/create_ap"を利用すると正常に実行できませんか?
takeuchi.
> 溝渕です。
>
> > コマンドの出力は以下になりました。
> >
> > root@armadillo:# grep -A 10 "get_phy_device()" /***/******/**/create_ap > > get_phy_device() { > > local x > > for x in /sys/class/ieee80211/*; do > > [[ ! -e "$x" ]] && continue > > if [[ "${x##*/}" = "$1" ]]; then > > echo $1 > > return 0 > > elif [[ -e "$x/device/net/$1" ]]; then > > echo ${x##*/} > > return 0 > > elif [[ -e "$x/device/net:$1" ]]; then > >
>
> これは、create_ap v0.4.6-4ではありません。恐らくv0.4.6-3以前(またはそれをカスタマイズしたもの)を利用していると思います。
>
> "/usr/bin/create_ap"を利用すると正常に実行できませんか?
>
create_apに下記tarに含まれるパッチ(0002-Driver-not-using-struct-ieee80211_hw-can-t-find-phy.patch)を当てたところ、get_phy_device()のエラーが発生せず、wifiの接続が可能となりました。
http://download.atmark-techno.com/debian/pool/main/c/create-ap/create-a…
弊社のcreate_apは0.4.6-4以前の物を用いていたようです。(2020/6/23)
https://github.com/oblique/create_ap/blob/master/create_ap
しかし、端末起動時に以下のdhdメッセージが表示されるようになりました。
こちらのメッセージは問題無いでしょうか。
[dhd] dhd_conf_set_chiprev : devid=0x449d, chip=0xaae8, chiprev=2, svid=0x14e4, ssid=0xaae8 [dhd] dhd_attach(): thread:dhd_watchdog_thread:b9 started pcieh 0000:01:00.0: Direct firmware load for bcmdhd/config.txt failed with error -2 [dhd] dhd_conf_read_config : Ignore config file bcmdhd/config.txt [dhd] dhd_conf_read_country : ccode = JP [dhd] dhd_conf_set_path_params : Final fw_path=bcmdhd/fw_bcm43752a2_pcie_ag_apsta.bin [dhd] dhd_conf_set_path_params : Final nv_path=bcmdhd/nvram_ap6275p_mp.txt [dhd] dhd_conf_set_path_params : Final clm_path=bcmdhd/clm_bcm43752a2_pcie_ag.blob [dhd] dhd_conf_set_path_params : Final conf_path=bcmdhd/config.txt [dhd] dhd_conf_set_country : set country JP, revision 0 [dhd] dhd_conf_set_country : Country code: JP (JP/0) ~中略~ armadillo login: EXT4-fs (mmcblk2p2): re-mounted. Opts: data=ordered [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized [dhd] CFGP2P-ERROR) wl_cfgp2p_del_p2p_disc_if : P2P interface unregistered IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [dhd] CFG80211-ERROR) wl_cfg80211_deinit_p2p_discovery : Disabling P2P Discovery Interface [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized
at_mizo
溝渕です。
> こちらのメッセージは問題無いでしょうか。
>
>
> [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized > [dhd] CFGP2P-ERROR) wl_cfgp2p_del_p2p_disc_if : P2P interface unregistered > IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready > [dhd] CFG80211-ERROR) wl_cfg80211_deinit_p2p_discovery : Disabling P2P Discovery Interface > [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized >
動的にNetworkManagerの対象外にした際に出るエラーですね。恐らく問題無いと思います。
製品マニュアルに記載の通り、"/etc/NetworkManager/NetworkManager.conf"に"unmanaged-devices"を追記する手順だとエラーが出ないと思います。
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
takeuchi.
> 溝渕です。
>
> > こちらのメッセージは問題無いでしょうか。
> >
> >
> > [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized > > [dhd] CFGP2P-ERROR) wl_cfgp2p_del_p2p_disc_if : P2P interface unregistered > > IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready > > [dhd] CFG80211-ERROR) wl_cfg80211_deinit_p2p_discovery : Disabling P2P Discovery Interface > > [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized > >
>
> 動的にNetworkManagerの対象外にした際に出るエラーですね。恐らく問題無いと思います。
>
> 製品マニュアルに記載の通り、"/etc/NetworkManager/NetworkManager.conf"に"unmanaged-devices"を追記する手順だとエラーが出ないと思います。
>
> https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
ご回答ありがとうございます。問題ない旨承知致しました。
念のため1点追加で質問させて下さい。
create_ap0.4.6-4以降というのは、0.4.6以上のverのcreate_apにcreate-ap_0.4.6-4.debian.tar.xz 内に含まれるpatchを適用した状態のことを指している認識でよろしいでしょうか。
at_mizo
溝渕です。
> create_ap0.4.6-4以降というのは、0.4.6以上のverのcreate_apにcreate-ap_0.4.6-4.debian.tar.xz 内に含まれるpatchを適用した状態のことを指している認識でよろしいでしょうか。
概ね上記ご認識で良いです。
新しいWLAN + BT コンボモジュールでcreate-apを使う上で重要なのは、以下のパッチで、
0002-Driver-not-using-struct-ieee80211_hw-can-t-find-phy.patch
アットマークテクノからリリースするArmadillo-X1向けのcreate-apには、今後必ず上記対応を入れるという意味で、「create_ap0.4.6-4以降」と表現しました。
takeuchi.
> 溝渕です。
>
> > create_ap0.4.6-4以降というのは、0.4.6以上のverのcreate_apにcreate-ap_0.4.6-4.debian.tar.xz 内に含まれるpatchを適用した状態のことを指している認識でよろしいでしょうか。
>
> 概ね上記ご認識で良いです。
>
> 新しいWLAN + BT コンボモジュールでcreate-apを使う上で重要なのは、以下のパッチで、
> 0002-Driver-not-using-struct-ieee80211_hw-can-t-find-phy.patch
>
> アットマークテクノからリリースするArmadillo-X1向けのcreate-apには、今後必ず上記対応を入れるという意味で、「create_ap0.4.6-4以降」と表現しました。
>
返信が遅くなり申し訳ございません。
上記、承知いたしました。
度々申し訳ございません。1点ご教授ください。
弊社製造時、起動時の以下のメッセージから現在の状態を検知しておりました。
IPv6: ADDRCONF(NETDEV_CHANGE): ap0: link becomes ready
しかし、create_apにパッチを当てた後、起動時のメッセージがap0→wlan0に変更されておりました。
IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
こちらメッセージが変更されてしまっておりますが問題はないでしょうか。
AP接続可能で、ifconfigも特に変わりない状態です。
ご確認お願いいたします。
at_mizo
溝渕です。
> 弊社製造時、起動時の以下のメッセージから現在の状態を検知しておりました。
>
> IPv6: ADDRCONF(NETDEV_CHANGE): ap0: link becomes ready >
>
> しかし、create_apにパッチを当てた後、起動時のメッセージがap0→wlan0に変更されておりました。
>
> IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready >
>
> こちらメッセージが変更されてしまっておりますが問題はないでしょうか。
問題無いと思います。
先に述べました通り、新しいWLAN + BT コンボモジュールでは仮想I/Fの作成に非対応です。その為、ap0では無くwlan0となっています。
takeuchi.
> 溝渕です。
>
> > 弊社製造時、起動時の以下のメッセージから現在の状態を検知しておりました。
> >
> > IPv6: ADDRCONF(NETDEV_CHANGE): ap0: link becomes ready > >
> >
> > しかし、create_apにパッチを当てた後、起動時のメッセージがap0→wlan0に変更されておりました。
> >
> > IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready > >
> >
> > こちらメッセージが変更されてしまっておりますが問題はないでしょうか。
>
> 問題無いと思います。
>
> 先に述べました通り、新しいWLAN + BT コンボモジュールでは仮想I/Fの作成に非対応です。その為、ap0では無くwlan0となっています。
>
ご回答ありがとうございます。メッセージの変更に問題ない旨承知いたしました。
新たに疑問点が発生しまして、新しいWLAN + BT コンボモジュールでは仮想I/Fの作成に非対応とのことですが、ifconfigを叩くとap0が作成されているのが確認できます。
これはどういうことでしょうか。
root@armadillo:/etc/hostapd# ifconfig ap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.12.1 netmask 255.255.255.0 broadcast 192.168.12.255 inet6 fe80::e:8eff:fea2:9e34 prefixlen 64 scopeid 0x20<link> ether 02:0e:8e:a2:9e:34 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 31 bytes 4003 (3.9 KiB) TX errors 0 dropped 7 overruns 0 carrier 0 collisions 0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::b6cf:bb5a:454e:d356 prefixlen 64 scopeid 0x20<link> ether 00:11:0c:22:22:cc txqueuelen 1000 (Ethernet) RX packets 214 bytes 21883 (21.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 801 bytes 44364 (43.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 263665 bytes 208915191 (199.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 263665 bytes 208915191 (199.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:0e:8e:a2:9e:34 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
at_mizo
溝渕です。
> 新たに疑問点が発生しまして、新しいWLAN + BT コンボモジュールでは仮想I/Fの作成に非対応とのことですが、ifconfigを叩くとap0が作成されているのが確認できます。
> これはどういうことでしょうか。
私の手元では確認できませんでしたが、どのような手順で実行されていますか?
以下のコマンドを実行しました。
root@armadillo:~# create_ap -c "10" -w 2 --country JP --freq-band 2.4 --driver nl80211 -n wlan0 "TEST_AP" "12345678" --no-virt & root@armadillo:~# ifconfig | grep ap root@armadillo:~#
takeuchi.
> 溝渕です。
>
> > 新たに疑問点が発生しまして、新しいWLAN + BT コンボモジュールでは仮想I/Fの作成に非対応とのことですが、ifconfigを叩くとap0が作成されているのが確認できます。
> > これはどういうことでしょうか。
>
> 私の手元では確認できませんでしたが、どのような手順で実行されていますか?
>
> 以下のコマンドを実行しました。
>
>
> root@armadillo:~# create_ap -c "10" -w 2 --country JP --freq-band 2.4 --driver nl80211 -n wlan0 "TEST_AP" "12345678" --no-virt & > root@armadillo:~# ifconfig | grep ap > root@armadillo:~# >
>
以下コマンドを使用しました。
「--no-virt」無しの挙動を確認していた次第です。「--no-virt」を使用した場合、ap0は作成されていませんでした。
nmcli device set wlan0 managed no /***/***********/**/create_ap -n wlan0 xxxx yyyy &
弊社が使用しているcreate_apは以下の最新で、patch適用済みです。
https://github.com/oblique/create_ap
at_mizo
takeuchi.
> 溝渕です。
>
> > 「--no-virt」無しの挙動を確認していた次第です。「--no-virt」を使用した場合、ap0は作成されていませんでした。
>
> 失礼しました。上記手順で、ap0が作成されている事が確認できました。
>
> 仮想I/Fの作成に非対応は、私の誤認でした。すみません。
>
上記、ap0作成は問題ない旨承知しました。
となると、以前返答いただいた、起動時のメッセージがap0→wlan0に変更されてしまう件についてですが、また別の理由で変更されてしまっているのでしょうか。
恐れ入りますが、ご確認お願いいたします。
>>先に述べました通り、新しいWLAN + BT コンボモジュールでは仮想I/Fの作成に非対応です。その為、ap0では無くwlan0となっています。
at_mizo
溝渕です。
大変申し訳ございません。WLANコンボモジュールを取り違えて(古いものを利用して)おりました。
インストールディスク実行直後の状態からだと、次のようになると思いますが、違いはありますか?
root@armadillo:~# vi /etc/NetworkManager/NetworkManager.conf :snip [keyfile] unmanaged-devices=interface-name:wlan0 root@armadillo:~# reboot root@armadillo:~# apt install create-ap root@armadillo:~# create_ap -c "10" -w 2 --country JP --freq-band 2.4 --driver n l80211 -n wlan0 "TEST_AP" "12345678" Config dir: /tmp/create_ap.wlan0.conf.4kFsYJre PID: 4957 command failed: Input/output error (-5) Network Manager found, set ap0 as unmanaged device... DONE Creating a virtual WiFi interface... [dhd] CFG80211-ERROR) wl_cfg80211_add_virtu al_iface : device is not ready command failed: No such device (-19) ERROR: Maybe your WiFi adapter does not fully support virtual interfaces. Try again with --no-virt.
takeuchi.
> 溝渕です。
>
> 大変申し訳ございません。WLANコンボモジュールを取り違えて(古いものを利用して)おりました。
>
> インストールディスク実行直後の状態からだと、次のようになると思いますが、違いはありますか?
>
>
> root@armadillo:~# vi /etc/NetworkManager/NetworkManager.conf > :snip > [keyfile] > unmanaged-devices=interface-name:wlan0 > root@armadillo:~# reboot > root@armadillo:~# apt install create-ap > root@armadillo:~# create_ap -c "10" -w 2 --country JP --freq-band 2.4 --driver n > l80211 -n wlan0 "TEST_AP" "12345678" > Config dir: /tmp/create_ap.wlan0.conf.4kFsYJre > PID: 4957 > command failed: Input/output error (-5) > Network Manager found, set ap0 as unmanaged device... DONE > Creating a virtual WiFi interface... [dhd] CFG80211-ERROR) wl_cfg80211_add_virtu > al_iface : device is not ready > command failed: No such device (-19) > > ERROR: Maybe your WiFi adapter does not fully support virtual interfaces. > Try again with --no-virt. >
>
はい、同様の結果になることを確認できました。
root@armadillo:~# create_ap -c "10" -w 2 --country JP --freq-band 2.4 --driver nl80211 -n wlan0 "TEST_AP" "12345678" Config dir: /tmp/create_ap.wlan0.conf.Wn1ogFNO PID: 4670 command failed: Input/output error (-5) Network Manager found, set ap0 as unmanaged device... DONE Creating a virtual WiFi interface... [dhd] CFG80211-ERROR) wl_cfg80211_add_virtual_iface : device is not ready command failed: No such device (-19) ERROR: Maybe your WiFi adapter does not fully support virtual interfaces. Try again with --no-virt. Doing cleanup.. done
/etc/NetworkManager/NetworkManager.conf のunmanaged-devices=interface-name: にap0が追加された状況ですと以下のようになるようです。
Config dir: /tmp/create_ap.wlan0.conf.pfEYnImA PID: 4049 Network Manager found, set ap1 as unmanaged device... DONE Creating a virtual WiFi interface... [dhd] CFG80211-ERROR) wl_cfg80211_bss_up : 'bss 0' failed with -19 [dhd] CFG80211-ERROR) wl_cfg80211_stop_ap : bss down error -19 [dhd] CFG80211-ERROR) wl_cfg80211_stop_ap : WLC_UP error (-19) [dhd][ap0] AEXT-ERROR) wl_ext_ioctl : cmd=86, ret=-19 [dhd] CFG80211-ERROR) wl_cfg80211_iface_state_ops : ndev null. skip iface state ops [dhd] CFG80211-ERROR) wl_cfg80211_deinit_p2p_discovery : Disabling P2P Discovery Interface [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized ap1 created. No Internet sharing hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlan0.conf.pfEYnImA/hostapd_ctrl Configuration file: /tmp/create_ap.wlan0.conf.pfEYnImA/hostapd.conf ap1: interface state UNINITIALIZED->COUNTRY_UPDATE Using interface ap1 with hwaddr 02:0e:8e:a2:9e:34 and ssid "TEST_AP" ap1: interface state COUNTRY_UPDATE->ENABLED ap1: AP-ENABLED
takeuchi.
竹内です。お世話になっております。
情報を整理いたしました。
新しいWLANコンボモジュールではどちらで運用するのが正しいでしょうか。
どちらもWIFI接続可能な状態です。
ご確認お願い致します。
①NetworkManager.confにap0を追加し、ap0をAPとして起動
(起動時、wlan0: link becomes readyのメッセージが表示される)
root@armadillo:~#create_ap -n wlan0 "xxxx" "yyyyyyyy" & [1] 3541 root@armadillo:~# Config dir: /tmp/create_ap.wlan0.conf.hHOxu1Jp PID: 3541 Network Manager found, set ap0 as unmanaged device... DONE Creating a virtual WiFi interface... [dhd] CFG80211-ERROR) wl_cfg80211_deinit_p2p_discovery : Disabling P2P Discovery Interface [dhd] CFGP2P-ERROR) wl_cfgp2p_disable_discovery : do nothing, not initialized [dhd] CFG80211-ERROR) wl_escan_handler : escan is not ready. drv_scan_status 0x0 e_type 69 e_status 4 [dhd] CFG80211-ERROR) wl_escan_handler : [Repeats 0 times] ap0 created. No Internet sharing hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlan0.conf.hHOxu1Jp/hostapd_ctrl Configuration file: /tmp/create_ap.wlan0.conf.hHOxu1Jp/hostapd.conf Using interface ap0 with hwaddr 02:0e:8e:**:**:** and ssid "xxxx" ap0: interface state UNINITIALIZED->ENABLED ap0: AP-ENABLED
②NetworkManager.confにwlan0を追加し、wlan0をAPとして起動
(起動時、wlan0: link becomes readyのメッセージは表示されない)
root@armadillo:~#create_ap --no-virt -n wlan0 "xxxx" "yyyyyyyy" & [1] 3238 root@armadillo:~# Config dir: /tmp/create_ap.wlan0.conf.ZJy89z3V PID: 3238 command failed: Input/output error (-5) No Internet sharing hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlan0.conf.ZJy89z3V/hostapd_ctrl Configuration file: /tmp/create_ap.wlan0.conf.ZJy89z3V/hostapd.conf Using interface wlan0 with hwaddr 00:0e:8e:**:**:** and ssid "xxxx" wlan0: interface state UNINITIALIZED->ENABLED wlan0: AP-ENABLED
at_mizo
溝渕です。
> 新しいWLANコンボモジュールではどちらで運用するのが正しいでしょうか。
後者(②NetworkManager.confにwlan0を追加し、wlan0をAPとして起動)をおすすめします。
新しいWLANコンボモジュールのデバイスドライバは、network I/Fが利用可能状態かつ一切利用されていない状況でなければvirtual I/Fを作成する事ができない仕様になっています。
drivers/net/wireless/bcmdhd/wl_cfgvif.c: wl_cfg80211_add_virtual_iface(struct wiphy *wiphy, :snip if (unlikely(!wl_get_drv_status(cfg, READY, primary_ndev))) { WL_ERR(("device is not ready\n")); return ERR_PTR(-ENODEV); }
virtual I/Fを作ってap0を利用したところで、wlan0を使う事ができないので、--no-virtを使った運用が良いかと思います。
takeuchi.
> 溝渕です。
>
> > 新しいWLANコンボモジュールではどちらで運用するのが正しいでしょうか。
>
> 後者(②NetworkManager.confにwlan0を追加し、wlan0をAPとして起動)をおすすめします。
>
> 新しいWLANコンボモジュールのデバイスドライバは、network I/Fが利用可能状態かつ一切利用されていない状況でなければvirtual I/Fを作成する事ができない仕様になっています。
>
>
> drivers/net/wireless/bcmdhd/wl_cfgvif.c: > wl_cfg80211_add_virtual_iface(struct wiphy *wiphy, > :snip > if (unlikely(!wl_get_drv_status(cfg, READY, primary_ndev))) { > WL_ERR(("device is not ready\n")); > return ERR_PTR(-ENODEV); > } >
>
> virtual I/Fを作ってap0を利用したところで、wlan0を使う事ができないので、--no-virtを使った運用が良いかと思います。
>
竹内です。お世話になっております。
返信が大変遅くなりました。
上記検討させていただきます。
本件については目途が立ちました為、Closeとさせてください。
ご教授ありがとうございました。
at_mizo
2023年4月3日 11時08分
溝渕です。
> Linuxカーネル、Debianユーザーカーネルを更新後、
> 借用している新しいWLAN + BT コンボモジュールに換装したところwlan0を認識しなくなりました。
再現環境を教えていただけますか?
- softwareのバージョン
- 再現手順
最新のインストールディスクイメージ
https://armadillo.atmark-techno.com/files/downloads/armadillo-x1/image/…
でインストールを行い再起動後、以下のコマンドを入力しただけでしょうか?