create_ap で、
1 2 3 |
$ sudo create_ap -n wlan0 MyAccessPoint abcdefgh |
を実行時に
1 2 3 4 5 6 7 8 |
Config dir: /tmp/create_ap.wlan0.conf.wMt7yO7r PID: 1234 wlan0 is already associated with channel 52 (5260 MHz), fallback to channel 52 Creating a virtual WiFi interface... ap0 created. ERROR: Your adapter can not transmit to channel 52, frequency band 5GHz. |
こんなエラーが発生。
色々調べたのですが環境によりけりでこれといった解決方法が見つからなかったのですが、私の場合は以下で治りました。
最近文書長いのに結果を曖昧にするサイトが多いので、それに対向するために私は結論を早めに言います。
1 2 3 |
$ sudo systemctl stop wpa_supplicant.service |
ただ、環境により対応が変わってくるはずなので上記で治らない人は読んでみて下さい。
ちなみに私は、ubilinux 4.0
エラーより wlan0 を開放する
そもそも、WiFi で ssh でつなげているのに、WiFi の設定を変えようというのが無理がある。
wlan0 を落とす
1 2 3 |
$sudo ip l set wlan0 down |
(ifdown wlan0 の人もいるかもね)
再度実行
コマンド
1 2 3 |
$ sudo create_ap -n wlan0 MyAccessPoint abcdefgh |
エラー内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Config dir: /tmp/create_ap.wlan0.conf.20BR2ceX PID: 1555 Creating a virtual WiFi interface... ap0 created. No Internet sharing hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlan0.conf.20BR2ceX/hostapd_ctrl Configuration file: /tmp/create_ap.wlan0.conf.20BR2ceX/hostapd.conf nl80211: Could not configure driver mode nl80211: deinit ifname=ap0 disabled_11b_rates=0 nl80211 driver initialization failed. ap0: interface state UNINITIALIZED->DISABLED ap0: AP-DISABLED hostapd_free_hapd_data: Interface ap0 wasn't started Error: Failed to run hostapd, maybe a program is interfering. Doing cleanup.. done |
デバッグを付けて再度実行
コマンド
1 2 3 |
$ sudo create_ap -n wlan0 MyAccessPoint abcdefgh --hostapd-debug 1 |
エラー内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
Config dir: /tmp/create_ap.wlan0.conf.98z6JCa5 PID: 1810 Creating a virtual WiFi interface... ap0 created. No Internet sharing hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlan0.conf.98z6JCa5/hostapd_ctrl random: Trying to read entropy from /dev/random Configuration file: /tmp/create_ap.wlan0.conf.98z6JCa5/hostapd.conf ctrl_interface_group=0 rfkill: initial event: idx=0 type=2 op=0 soft=1 hard=0 rfkill: initial event: idx=1 type=1 op=0 soft=0 hard=0 nl80211: TDLS supported nl80211: TDLS external setup nl80211: Supported cipher 00-0f-ac:1 nl80211: Supported cipher 00-0f-ac:5 nl80211: Supported cipher 00-0f-ac:2 nl80211: Supported cipher 00-0f-ac:4 nl80211: Supported cipher 00-0f-ac:6 nl80211: Using driver-based off-channel TX nl80211: TDLS channel switch nl80211: Use separate P2P group interface (driver advertised support) nl80211: Enable multi-channel concurrent (driver advertised support) nl80211: use P2P_DEVICE support nl80211: interface ap0 in phy phy0 nl80211: Set mode ifindex 7 iftype 3 (AP) nl80211: Setup AP(ap0) - device_ap_sme=0 use_monitor=0 nl80211: Subscribe to mgmt frames with AP handle 0x55ad67f050e0 nl80211: Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) nl_handle=0x55ad67f050e0 match= nl80211: Register frame command failed (type=176): ret=-114 (Operation already in progress) nl80211: Register frame match - hexdump(len=0): [NULL] nl80211: Could not configure driver mode nl80211: deinit ifname=ap0 disabled_11b_rates=0 nl80211: Remove monitor interface: refcount=0 nl80211: Remove beacon (ifindex=7) netlink: Operstate: ifindex=7 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP) nl80211 driver initialization failed. hostapd_interface_deinit_free(0x55ad67f04710) hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1 hostapd_interface_deinit(0x55ad67f04710) ap0: interface state UNINITIALIZED->DISABLED hostapd_bss_deinit: deinit bss ap0 ap0: AP-DISABLED hostapd_cleanup(hapd=0x55ad67f05900 (ap0)) hostapd_free_hapd_data: Interface ap0 wasn't started hostapd_interface_deinit_free: driver=(nil) drv_priv=(nil) -> hapd_deinit hostapd_interface_free(0x55ad67f04710) hostapd_interface_free: free hapd 0x55ad67f05900 hostapd_cleanup_iface(0x55ad67f04710) hostapd_cleanup_iface_partial(0x55ad67f04710) hostapd_cleanup_iface: free iface=0x55ad67f04710 Error: Failed to run hostapd, maybe a program is interfering. Doing cleanup.. done |
ちなみに、実行オプションの –hostapd-debug 1 の 1はログレベルで1と2があるけど、2にしても内容は変わらなかった。
エラーの内容
エラーをよく眺めてみると、
1 2 3 4 |
nl80211: Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) nl_handle=0x55ad67f050e0 match= nl80211: Register frame command failed (type=176): ret=-114 (Operation already in progress) |
ここが起点のようだ。Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) を実行したら失敗しました。
そして、エラーのここが気になった。Operation already in progress
まだ、何かが WiFi を使おうとしている。
解決
ps で怪しいプロセスを眺めてみると。
1 2 3 |
/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant |
なにしてるのこのWiFiっぽいプロセス。
サービスの一覧をみると
1 2 3 |
$ sudo systemctl list-units --type=service |
(service –status-all の人もいるかもね)
wpa_supplicant.service がいたので停止。
再度、
1 2 3 |
$ sudo create_ap -n wlan0 MyAccessPoint abcdefgh |
をしたら、うまく作成できました。