Hostapd起動中は別途USBのWifiアダプタなどを使用しない限りWifiクライアントとして利用できないため、それを簡単に切り替えれるように設定します。
Hostapd
を利用するために設定したファイルのうち、以下のファイルを編集します。
/etc/dhcpcd.conf
/etc/sysctl.conf
/etc/network/interfaces
今回はこれらのファイルに対し、AP化オン時オフ時それぞれのファイルを作成し、設定に対して上記のファイルを差し替えます。
なお、切り替え時は~/.ap_mode
ファイルの中身が1
ならAP化オン、0
ならAP化オフにし、sudo reboot
することで設定が反映されるようにします。
新しく、~/
以下に.ap
ファイルを作成します。
その後、.ap/
ディレクトリに移動し、その中にon_ap_configfiles/
, on_wifi_configfiles/
を作成します
なお、~/.ap/on_ap_configfiles/
内に AP化オン時の設定ファイル、~/.ap/on_wifi_configfiles/
内に AP化オフ時の設定ファイルを保存します。
Hostapdの設定を行ってあることが前提 で、次のコマンドを実行し、AP化オン時の設定ファイルをコピーします
以下のコマンドで、dhcpcd.conf
ファイルを~/.ap/on_wifi_configfiles/
にコピーします
このコピーしてきた(~/.ap/on_ap_configfiles/
以下の)ファイルを編集します。
編集方法は簡単で、その他すべての設定ファイルについてもHostapd設定時に変更した点を戻せばいいだけです。
ファイルの末尾に記述した、
以上の記述を以下のようにコメントアウトします
以下のコマンドで、intefaces
ファイルを~/.ap/on_wifi_configfiles/
にコピーします
このコピーしてきた(~/.ap/on_ap_configfiles/
以下の)ファイルを編集します。
この記述を、
このように、wpa_conf ...
という記述のある行のコメントアウトを外します
以下のコマンドで、sysctl.conf
ファイルを~/.ap/on_wifi_configfiles/
にコピーします
このコピーしてきた(~/.ap/on_ap_configfiles/
以下の)ファイルを編集します。
この記述を、
コメントアウトします。
この設定を反映させるために、起動時に実行するスクリプトを書きます。
~/.ap/
以下にtoggle_ap_wifi.sh
ファイルを作成し、ここに以下のスクリプトを記述します。
ここまでのディレクトリツリーを確認します。
以下のようになっていなかったら、再度手順を見直してください
/etc/rc.local
に以下の記述をします
注意 : exit 0
の直前に記述してください
その後、実際に~/.ap_mode
ファイルを作成し、
ないしは
と記述して、sudo reboot
し、動作が正しいことを確認してください
注意 ) なお、この設定を施したあとに/etc/network/interfaces
, /etc/dhcpcd.conf
, /etc/sysctl.conf
ファイルを変更する際は ~/.ap/on_ap_configfiles/
,~/.ap/on_wifi_configfiles/
内のファイルを両方変更してください