UMEHOSHI ITA TOP PAGE    COMPUTER SHIEN LAB

[Rapsberry Pi Zero WH]のインストール

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をインストールします。

[Rapsberry Pi Zero WH]のUSBインストール

インストール過程を示します。
このインストールは、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の準備です。

PC側で「Tera Term」というターミナルエミュレータを別途にインストールし、  「Tera Term」で SSH により接続して進めると良いでしょう。
(「Tera Term」の入手や使い方の情報は、ネットなどから探して得てください。)

上記で書き込んだSDカードを差し込んだRasberry Pi Zero とPCを、USBで接続します。

コマンドプロンプトで次のようにログイン操作します。

ssh pi@raspberrypi.localログオン後にifconfigで確認している様子です。

(初期のパスワードは『raspberry』になっています。)

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=73  mtu 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:~ $

wlan0のIPアドレスを「192.168.0.123」に固定化する。

さて、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:~ $

hostapd をインストールて、Wifiアクセスポイント化の準備をする。

上記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
上記で、左のようなアクセスポイントがみればOKです。 接続はできますが、まだDHCPの設定が無いのでIPアドレスが配信されるわけではありません。
ここで、[Ctrl+C]で停止させます。
ここで、ifconfigで確認したときの実行例を示します。
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」で止めておきます。
ここで、再起動させて、次にDHCPサーバをインストールします。

dnsmasq のインストール

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