UMEHOSHI ITA TOP PAGE COMPUTER SHIEN LAB
Rapsberry PiをWifiアクセスポイントとして、 PCやスマフォからWifiで接続してSSHで制御する目標でインストールします。
(この使うい方をしている時は、ローカルネットなのでインターネットは使えません。)
ここで使う[Rapsberry Pi Zero WH]のインストールは、
モニタなどは取り付けないUSB1本を接続するだけ状態のインストールを行う方法を紹介しています。
Raspberry Pi Zeroは、USBの接続においてOTGスレーブモードで動作させることができます。
USB On-The-Goはクライアントにホストの機能を与えて接続できるようにするなど、
クライアントとホストの機能を切り替えできるようにしたもので、
それにより[Raspberry Pi Zero]側を
USB-Ethernetデバイスとして接続し、PC側からSSHやVNCで接続できるようになります。
以下では、このPCからUSBを介したSSHで制御してインストールや設定を行います。
(この接続状態であれば、インターネットが使えます)
この状態で、新規インストールからアクセスポイントとDHCPをインストールします。
インストール過程を示します。
このインストールは、OSのバージョンなどによって同じようにはできない可能性があります。
過去にそういうことがありました。そこで、インストールのOSバージョンも示します。
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian_full/images/raspbian_full-2020-02-14/
より「2020-02-13-raspbian-buster-full.zip」をダウンロード取得しました。
2021年9月時点では、「rpi-imager」というツールで任意のイメージを書き込めるようになっています。
このツールは「https://www.raspberrypi.org/software/」 からimager_1.6.2.exeをダウンロードし、実行することで、
「"C:\Program Files (x86)\Raspberry Pi Imager\rpi-imager.exe"」がインストールされた。
以下が起動画面です。
[CHOOSE OS]を選択します。
これを使って「2020-02-13-raspbian-buster-full.zip」を解凍し、SDカードに書き込むステップを示します。
[Use custom]を選択します。
そして「2020-02-13-raspbian-buster.img」を選択します。
[CHOOSE STRAGE]を選択して、SDがあるドライブを選択ます。
(間違えると、ドライブが初期化されてしまうので、注意さして選択のこと)
[WRITE]を選択して、SDに選択したイメージを書き込みます。
書き込みが終わったら、ここで一度SDカードを抜きさします。
[Rapsberry Pi Zero WH]にこのSDカードを差し込む前に、PCで下記の作業を行います。
● SDカードのルートにある「config.txt」を開いて、以下をファイル最後に追加します。
dtoverlay=dwc2
● SDカードのルートにある「cmdline.txt」を開いて、
rootwaitの記述の直後に、改行しないで、
modules-load=dwc2,g_etherを追記します。
console=serial0,115200 console=tty1 root=PARTUUID=97709164-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet splash plymouth.ignore-serial-consoles
● SDカードのルートに「SSH」の名前で空のファイルを作成します。これはSSHの準備です。pi@raspberrypi.local's password: Linux raspberrypi 5.10.60+ #1449 Wed Aug 25 14:59:20 BST 2021 armv6l ・・省略・・ pi@raspberrypi:~ $ ifconfig lo: flags=73mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (ローカルループバック) 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 usb0: flags=4163 mtu 1500 inet 169.254.74.239 netmask 255.255.0.0 broadcast 169.254.255.255 inet6 fe80::f499:d657:77ad:dd54 prefixlen 64 scopeid 0x20 ether 9e:8f:ff:ac:2c:64 txqueuelen 1000 (イーサネット) RX packets 3447 bytes 291610 (284.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 532 bytes 109295 (106.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4099 mtu 1500 ether b8:27:eb:36:22:2e txqueuelen 1000 (イーサネット) 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 pi@raspberrypi:~ $
Windows PowerShellのコマンドラインを出して、「Resolve-DnsName raspberrypi」の入力で
IPアドレスを確認して、そのIPアドレスに接続することも可能です。
この状態では、まだインターネットに接続されていません。
下記のように設定します。
pi@raspberrypi:~ $ sudo raspi-config
次のような画面に変わります。矢印のキー操作で項目を選んで設定する画面です。
項目を選択後に「TAB」キーで移動して<Select>を選択して、
「SPACE」キーを押し、[Enter]することで決定して進めます。
'pi'userのパスワードを変更しておいた方が良いでしょう。
パスワード入力時は、キーを押しても画面に出ません。
New password: Retype new password:
パスワードは「abc123」にしました。
インターネットが使えないとUpdateもできないので、「Network Option」を設定します。
Hostnameは変更しません。
「Wi-fi Enter SSID and passphrase」を設定します。
countory で、「JP Japan」を選択します。
「Wireless LAN Enter SSID and passphrase」の画面で
SSIDを「000740E60153」にして、passphraseを「abc123」しました。
(この設定は、自身のWifiのアクセスポイントに合わせて変更してください)
続けて、「Location Option Configure language and regional setting」選択して、次の各項目を設定します。
Change Local で次の設定にします。
en_GB.UTF-8 UTF-8の設定を外して、en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
に設定して、デフォルトを ja_JP.UTF-8にします。
localisation options Change WLAN Country JP Japanにします。
「Change Timezone Set up timezone to match your location」を選択して、時刻合わせをします。
「Asia(アジア)」内の「Tokyo(東京)」を選択します。
また、 「Change Wi-fi Country Set the legal channels used in your country」項目も選択して、
「JP Japan」に設定します。
次に、「Network interface names Enable/Disable predictable network interface names 」の設定に進んで、
「Would you like to enable predictable network interface names?」に対して、「<Yes>」を選択します。
以上で、<Finish>を選択を選択し、再起動「sudo reboot」すればインターネットが使えるようになるはずです。
この時点で、DHCPからのIPアドレスが割り振られているはずで、ifconfigで確認するとよいでしょう。以下は例です。
pi@raspberrypi:~ $ ifconfig 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 1000 (ローカルループバック) 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 usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 169.254.48.15 netmask 255.255.0.0 broadcast 169.254.255.255 inet6 fe80::26cc:9c89:58e:6404 prefixlen 64 scopeid 0x20<link> ether 76:58:6a:1a:39:a5 txqueuelen 1000 (イーサネット) RX packets 792 bytes 76472 (74.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 29 bytes 5925 (5.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.49 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 240d:1a:cd:c00:a1d2:4d68:edfe:6c5f prefixlen 64 scopeid 0x0<global> inet6 fe80::4db0:9630:5dee:fa0e prefixlen 64 scopeid 0x20<link> ether b8:27:eb:36:22:2e txqueuelen 1000 (イーサネット) RX packets 678 bytes 65942 (64.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 104 bytes 21621 (21.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 pi@raspberrypi:~ $
Wifiに関しては、下記ファイルで反映を確認できます。
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
そして、以下のように確認してアップグレードします。
pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.19.97+ #1294 Thu Jan 30 13:10:54 GMT 2020 armv6l GNU/Linux pi@raspberrypi:~ $ pi@raspberrypi:~ $ sudo apt-get install vim ・・表記省略・・ pi@raspberrypi:~ $ sudo apt-get update --allow-releaseinfo-change ・・表記省略・・ pi@raspberrypi:~ $ sudo apt-get upgrade
上記のアップデート後に「sudo reboot」で再起動します。
2021-10-161時点アップデートで、以下のバージョンになっていました。
pi@raspberrypi:~ $ uname -a Linux raspberrypi 5.10.63+ #1459 Wed Oct 6 16:40:27 BST 2021 armv6l GNU/Linux pi@raspberrypi:~ $
さて、DHCPで得られたIPアドレスでなく、固定にしておくとSUB接続なしで電源だけ共有すればsshの遠隔操作ができるようになるので、
固定アドレス「192.168.0.123」に設定する作業を示します。
次のように「sudo nano /etc/network/interfaces」で、ファイル最後に以下を追加します。
(デフォルトゲートウェイのルータが、192.168.0.1の場合の例です。
ここでデバイス名(lo usb0 wlan0)が無いと、他の設定ファイルがない現時点では、ifconfigで列挙されません。)
auto lo iface lo inet loopback auto usb0 allow-hotplug usb0 iface usb0 inet dhcp auto wlan0 allow-hotplug wlan0 iface wlan0 inet static address 192.168.0.123 netmask 255.255.255.0 gateway 192.168.0.1 broadcast 192.168.0.255 dns-nameservers 8.8.8.8 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
以上で保存した後、「sudo /sbin/shutdown -h now」によりシャットダウンします。
そして、USBをPCから抜き、電源を供給するだけのusb電源アダプターに接続しなおします。
そして、次コマンドで接続できれば、OKです。
ssh pi@192.168.0.123
なお、「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」で、SSHのECDSAホスト鍵が変更されて厳密なチェックを要求し、
ホストキーの検証に失敗しました場合、「ssh-keygen -R 192.168.0.123」で消去して、再度実行する方法で対応できます。
この時点のifconfigによる確認例を以下に示します。 (usb0がinet6でしか接続できないように変わっています)
pi@raspberrypi:~ $ ifconfig 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 1000 (ローカルループバック) 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 usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::f803:f6ff:fe64:92f1 prefixlen 64 scopeid 0x20<link> ether fa:03:f6:64:92:f1 txqueuelen 1000 (イーサネット) RX packets 967 bytes 95356 (93.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 136 bytes 35127 (34.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.123 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::ba27:ebff:fe36:222e prefixlen 64 scopeid 0x20<link> inet6 240d:1a:cd:c00:ba27:ebff:fe36:222e prefixlen 64 scopeid 0x0<global> ether b8:27:eb:36:22:2e txqueuelen 1000 (イーサネット) RX packets 754 bytes 68612 (67.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 41 bytes 5913 (5.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 pi@raspberrypi:~ $
上記wlan0の物理アドレス「 b8:27:eb:36:22:2e」をWifiアクセスポイント用にも使うために、
以下の操作で、「ap0」のデバイス名を追加します。
「sudo nano /etc/udev/rules.d/70-persistent-net.rules」で、下記内容のファイルを作ります。
「 b8:27:eb:36:22:2e」の箇所は、使うデバイスに合わせます。
SUBSYSTEM=="ieee80211", ACTION=="add|change", ATTR{macaddress}=="b8:27:eb:36:22:2e", KERNEL=="phy0", \ RUN+="/sbin/iw phy phy0 interface add ap0 type __ap", \ RUN+="/bin/ip link set ap0 address b8:27:eb:36:22:2e"
再起動して、上記で作ったap0のデバイスが存在するか確かめている例です。
pi@raspberrypi:~ $ iw dev phy#0 Unnamed/non-netdev interface wdev 0x3 addr ba:27:eb:36:22:2e type P2P-device txpower 31.00 dBm Interface ap0 ifindex 4 wdev 0x2 addr b8:27:eb:36:22:2e type AP channel 10 (2457 MHz), width: 20 MHz, center1: 2457 MHz Interface wlan0 ifindex 3 wdev 0x1 addr b8:27:eb:36:22:2e ssid 000740E60153 type managed channel 10 (2457 MHz), width: 20 MHz, center1: 2457 MHz txpower 31.00 dBm pi@raspberrypi:~ $
上記で作ったap0が使えるように、「sudo nano /etc/network/interfaces」へ、以下のコードを追加します。
192.168.100.1がアクセスポイント用のIPアドレスです。
iface ap0 inet static address 192.168.100.1 netmask 255.255.255.0 network 192.168.100.0 broadcast 192.168.100.255 gateway 192.168.100.1
続いて、hostapdをWifiアクセスポイント用にhostapd を次のようにインストールします。
pi@raspberrypi:~ $ sudo apt-get install hostapd パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libmicrodns0 python-colorzero rpi-eeprom-images これを削除するには 'sudo apt autoremove' を利用してください。 以下のパッケージが新たにインストールされます: hostapd アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 8 個。 632 kB のアーカイブを取得する必要があります。 この操作後に追加で 1,729 kB のディスク容量が消費されます。 取得:1 http://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian buster/main armhf hostapd armhf 2:2.7+git20190128+0c1e29f-6+deb10u3 [632 kB] 632 kB を 1秒 で取得しました (461 kB/s) 以前に未選択のパッケージ hostapd を選択しています。 (データベースを読み込んでいます ... 現在 95952 個のファイルとディレクトリがインストールされています。) .../hostapd_2%3a2.7+git20190128+0c1e29f-6+deb10u3_armhf.deb を展開する準備をしています ... hostapd (2:2.7+git20190128+0c1e29f-6+deb10u3) を展開しています... hostapd (2:2.7+git20190128+0c1e29f-6+deb10u3) を設定しています ... Created symlink /etc/systemd/system/multi-user.target.wants/hostapd.service → /lib/systemd/system/hostapd.service. Job for hostapd.service failed because the control process exited with error code. See "systemctl status hostapd.service" and "journalctl -xe" for details. Created symlink /etc/systemd/system/hostapd.service → /dev/null. man-db (2.8.5-2) のトリガを処理しています ... systemd (241-7~deb10u8+rpi1) のトリガを処理しています ... pi@raspberrypi:~ $
続いて、「sudo nano /etc/hostapd/hostapd.conf」でアクセスポイントのSSIDやpassphraseなどの設定用ファイルを次のように作ります。
## /etc/hostapd/hostapd.conf country_code=JP interface=ap0 driver=nl80211 hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP rsn_pairwise=CCMP ssid=pizero wpa_passphrase=abcd1234
上記ではSSIDを「pizero」、passphraseを「abcd1234」としていますが、必要なら適当に変更します。
続けて、「sudo nano /etc/default/hostapd」で、hostap用設定ファイルを開いて、最後に次の内容を追加します。
DAEMON_CONF="/etc/hostapd/hostapd.conf"
そして、次の操作でエラーが無く、正しく動作できるか検証します。
pi@raspberrypi:~ $ sudo hostapd /etc/hostapd/hostapd.conf Configuration file: /etc/hostapd/hostapd.conf ap0: interface state UNINITIALIZED->COUNTRY_UPDATE ap0: Could not connect to kernel driver Using interface ap0 with hwaddr b8:27:eb:36:22:2e and ssid "pizero" ap0: interface state COUNTRY_UPDATE->ENABLED ap0: AP-ENABLED
pi@raspberrypi:~ $ ifconfig ap0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255 ether b8:27:eb:36:22:2e txqueuelen 1000 (イーサネット) 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 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 1000 (ローカルループバック) 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 usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::a4a1:4aff:fe1d:35f2 prefixlen 64 scopeid 0x20<link> ether a6:a1:4a:1d:35:f2 txqueuelen 1000 (イーサネット) RX packets 959 bytes 91400 (89.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 24 bytes 4855 (4.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.123 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::ba27:ebff:fe36:222e prefixlen 64 scopeid 0x20<link> inet6 240d:1a:cd:c00:ba27:ebff:fe36:222e prefixlen 64 scopeid 0x0<global> ether b8:27:eb:36:22:2e txqueuelen 1000 (イーサネット) RX packets 607 bytes 60148 (58.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 141 bytes 28035 (27.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 pi@raspberrypi:~ $hostapdはstop機能がないようなので、「sudo systemctl disable hostapd」で止めておきます。
dnsmasq は、小規模ネットワーク向けのDNS/DHCP/TFTPサーバーで、以下がインストール実行例です。
pi@raspberrypi:~ $ sudo apt-get install dnsmasq パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libmicrodns0 python-colorzero rpi-eeprom-images これを削除するには 'sudo apt autoremove' を利用してください。 以下の追加パッケージがインストールされます: dns-root-data dnsmasq-base 以下のパッケージが新たにインストールされます: dns-root-data dnsmasq dnsmasq-base アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 8 個。 422 kB のアーカイブを取得する必要があります。 この操作後に追加で 939 kB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://archive.raspberrypi.org/debian buster/main armhf dnsmasq-base armhf 2.80-1+rpt1+deb10u1 [400 kB] 取得:2 http://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian buster/main armhf dns-root-data all 2019031302 [5,396 B] 取得:3 http://archive.raspberrypi.org/debian buster/main armhf dnsmasq all 2.80-1+rpt1+deb10u1 [16.5 kB] 422 kB を 2秒 で取得しました (235 kB/s) 以前に未選択のパッケージ dns-root-data を選択しています。 (データベースを読み込んでいます ... 現在 95978 個のファイルとディレクトリがインストールされています。) .../dns-root-data_2019031302_all.deb を展開する準備をしています ... dns-root-data (2019031302) を展開しています... 以前に未選択のパッケージ dnsmasq-base を選択しています。 .../dnsmasq-base_2.80-1+rpt1+deb10u1_armhf.deb を展開する準備をしています ... dnsmasq-base (2.80-1+rpt1+deb10u1) を展開しています... 以前に未選択のパッケージ dnsmasq を選択しています。 .../dnsmasq_2.80-1+rpt1+deb10u1_all.deb を展開する準備をしています ... dnsmasq (2.80-1+rpt1+deb10u1) を展開しています... dnsmasq-base (2.80-1+rpt1+deb10u1) を設定しています ... dns-root-data (2019031302) を設定しています ... dnsmasq (2.80-1+rpt1+deb10u1) を設定しています ... Created symlink /etc/systemd/system/multi-user.target.wants/dnsmasq.service → /lib/systemd/system/dnsmasq.service. systemd (241-7~deb10u8+rpi1) のトリガを処理しています ... man-db (2.8.5-2) のトリガを処理しています ... dbus (1.12.20-0+deb10u1) のトリガを処理しています ... pi@raspberrypi:~ $
次に、dnsmasqの設定です(DNSサーバ機能は使っておらず、DHCP機能だけ使っています
「sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old」の操作で移動し、バックアップします。
「sudo nano /etc/dnsmasq.conf」でファイルを次の内容にします。
こでで、DHCPとして配信するIPアドレスの範囲を指定しています。
interface=ap0 dhcp-range=192.168.100.2,192.168.100.40,255.255.255.0,24h
最後に、以下の操作でサービスを有効にしてリブートします。
sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo systemctl enable dnsmasq sudo reboot
PCやスマフォでアクセスポイントを探すと「pizero」のSSIDが見えるはずです。
wpa_passphraseで、「abcd1234」を入力すれば、DHCPで「192.168.100.2〜192.168.100.40」の範囲で、
どれかのIPアドレスが設定されるでしょう。
以上で、基本的なインストールはできました。
継続作業として、カメラ操作を取り付けて確認するまでの内容を
このリンクで示します。
以下にメンテナンスや確認で使われるコマンド操作のいくつかを紹介します。
次の操作で、各サービスを停止します。 sudo systemctl stop dnsmasq sudo systemctl stop hostapd 次の操作で、各サービスの状況が確認できます。 sudo systemctl status dnsmasq sudo systemctl status hostapd その他 sudo systemctl stop dnsmasq sudo systemctl start dnsmasq sudo systemctl is-active dnsmasq sudo systemctl disable dnsmasq sudo systemctl is-enabled dnsmasq セットワーク設定の再起動 sudo systemctl restart networking sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf -dd systemctl status networking sudo ifdown --force wlan0 && sudo ifup wlan0 sudo service dhcpcd restart sudo service dnsmasq stop && sudo service dnsmasq start sudo service hostapd stop && sudo service hostapd start usb0へ切り替え(usb0の設定がある場合) sudo ifdown wlan0 && sudo ifup usb0 sudo ifup wlan0 sudo ifconfig usb0 192.168.0.123 up sudo ifconfig wlan0 192.168.0.123 down sudo ifconfig pa0 192.168.100.1 up