この手順は C-11AH-A2(802.11ah HAT)をセットアップして IEEE802.11ahでの広域AP(アクセスポイント)/ STA(クライアント)共通のセットアップ方法です。 実行コマンドで AP か STA を選択して起動させます。
1. ハードウェア準備
| 本体基盤(Raspberry Pi 4B 4GB) ちなみに、Raspberry Pi 3Bでも良いみたいです。 |
![]() |
12,800 |
| BeatCraft, Inc. BC-11AH-A2 (Raspberry Pi 802.11ah HAT) | ![]() |
8,999 |
| ケース+冷却ファン+ヒートシンク(GeeekPi アクリルケース) | ![]() |
1,499 |
| 電源アダプター 5.1v/3A(Miuzei Raspberry Pi 4 電源) | 1,299 | |
| microSD 32GB UHS-I Class10 (KIOXIA(キオクシア) 旧東芝メモリ) | ![]() |
680 |
| OS | BeatCraft Labsページで公開している Raspberry Pi OS Bullseye イメージ | - |
| 合計 | 25,277 | |
ハード組み立てイメージ
2. 802.11ah HAT用OSイメージのインストール
BeatCraft Labsページで公開している Raspberry Pi OS Bullseye イメージから64bitイメージをダウンロードしてmicroSDCardへイメージコピーしてください。※このOSイメージをセットアップすることで、Newracom のパッケージのダウンロードしてコンパイルは不要になります。
3. SSH、SPI、Serial Port の有効化
インストールした、MicroSDカードをRaspberry Piにセットして、電源投入します。最初に、raspi-configコマンドを使って ssh、spi、serial port を有効にしますが、beatcraft提供イメージではデフォルトでSSH接続可能なので本設定は読み飛ばしてください。
Interface Optionsを選択します。
ssh、spi、serial port の選択メニューがありますのでそれぞれ設定します。
serial port は login shell としての使用は no で無効のままにし hardware interface のみ yes で有効にします。


4. AP / STA モードについて
セットアップは共通で、最後のコマンドで AP か STA を選択します。
| 項目 | AP(アクセスポイント) | STA(クライアント) |
|---|---|---|
| 用途 | HaLow の基地局として動作 | HaLow AP に接続する端末として動作 |
| 起動コマンド | nrc-cli ap start |
nrc-cli sta start |
| 接続コマンド | 不要(AP 自身が SSID を提供) | nrc-cli sta connect SSID PASS |
| 用途例 | センサー網の中心、ゲートウェイ | センサー端末、子機 |
5. SSHで接続
beatcraft提供イメージでのデフォルトのID/PWは pi/beatcraft でログイン可能です。
- AP / STA モードで疎通を確認する
起動オプションはNRC7394 Software Package for Host mode (Linux OS)/Access Point (AP) running procedureに記載され、Pythonスクリプトで実行可能になっていますので、それに合わせてコマンドラインから起動します。
1台のみでも機能は確認できますが、疎通を試すには本機構成で組み上げた2台が必要です。
まず、SSHで接続します。
APモード用機器
pi@raspberrypi:~ $ ls Bookshelf Documents Music Pictures Templates Desktop Downloads nrc_pkg Public Videos pi@raspberrypi:~ $ cd nrc_pkg/script pi@raspberrypi:~/nrc_pkg/script $ ./start.py 1 1 JP Done. Done. ------------------------------ Model : 7394 STA Type : AP Country : JP Security Mode : WPA2-PSK BD Name : nrc7394_bd.dat AMPDU : AUTO Download FW : uni_s1g.bin MAX TX Power : 13 dBm BSS MAX IDLE : 1800 CONFIG_LOCATION : FLASH ------------------------------ NRC AP setting for HaLow... [*] Set Max CPU Clock on RPi 1500000 1500000 1500000 1500000 Done [0] Clear [1] Copy and Set Module Parameters total 1164 drwxrwxrwx 2 pi pi 4096 Nov 13 14:44 . drwxrwxrwx 4 pi pi 4096 Nov 13 14:43 .. -rwxrwxrwx 1 pi pi 1959 Nov 13 14:43 copy.sh -rwxrwxrwx 1 pi pi 8464 Nov 13 14:43 nrc7394_bd.dat -rwxrwxrwx 1 pi pi 385324 Nov 13 14:43 nrc7394_cspi.bin -rwxrwxrwx 1 pi pi 387708 Nov 13 14:43 nrc7394_cspi_eeprom.bin -rwxr-xr-x 1 root root 385324 Feb 6 10:52 uni_s1g.bin -rwxr-xr-x 1 root root 385324 Feb 6 10:52 /lib/firmware/uni_s1g.bin ==================================== AP INTERFACE : wlan0 AP STATIC IP : 192.168.200.1 NET MASK NUM : 24 ==================================== Config for AP is done! IP and DHCP config done [2] Set Initial Country [3] Loading module sudo insmod /home/pi/nrc_pkg/sw/driver/nrc.ko hifspeed=20000000 spi_bus_num=0 spi_cs_num=0 spi_gpio_irq=5 spi_polling_interval=0 fw_name=uni_s1g.bin bss_max_idle=1800 ndp_preq=1 listen_interval=1000 enable_short_bi=0 bd_name=nrc7394_bd.dat set_duty_cycle=1,1000000,100000 set_cca_threshold=-75 [4] Set Maximum TX Power Type : limit Tx power : 13 OK [*] Transmission Power Control(TPC) is activated [5] Set guard interval: auto OK [*] Start DHCPCD and DNSMASQ [*] Self configuration off [6] Start hostapd on wlan0 [*] configure file copied from: /home/pi/nrc_pkg/script/conf/JP/ap_halow_wpa2.conf wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE wlan0: interface state COUNTRY_UPDATE->ENABLED wlan0: AP-ENABLED [7] Start NAT [8] ifconfig eth0: flags=4163 mtu 1500 inet 10.0.1.111 netmask 255.255.0.0 broadcast 10.0.255.255 inet6 fe80::953d:1f6b:f0fc:b9fc prefixlen 64 scopeid 0x20 inet6 2400:4052:400:7200:6f52:51f2:b201:fe16 prefixlen 64 scopeid 0x0 ether e4:5f:01:e5:f9:f2 txqueuelen 1000 (Ethernet) RX packets 3460 bytes 644305 (629.2 KiB) RX errors 0 dropped 4 overruns 0 frame 0 TX packets 378 bytes 45619 (44.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 50 bytes 5863 (5.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 50 bytes 5863 (5.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163 mtu 1500 inet 192.168.200.1 netmask 255.255.255.0 broadcast 192.168.200.255 inet6 fe80::fa3:bcb2:f961:cde9 prefixlen 64 scopeid 0x20 ether a0:8a:06:35:08:77 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 22 bytes 3031 (2.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 HaLow AP ready -------------------------------------------------------------------- Done. pi@raspberrypi:~/nrc_pkg/script $ ip a | grep wlan0 3: wlan0: mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 192.168.200.1/24 brd 192.168.200.255 scope global noprefixroute wlan0 pi@raspberrypi:~/nrc_pkg/script $STAモード用機器
pi@raspberrypi:~ $ ls Bookshelf Documents Music Pictures Templates Desktop Downloads nrc_pkg Public Videos pi@raspberrypi:~ $ cd nrc_pkg/script pi@raspberrypi:~/nrc_pkg/script $ ./start.py 0 1 JP Done. Done. ------------------------------ Model : 7394 STA Type : STA Country : JP Security Mode : WPA2-PSK BD Name : nrc7394_bd.dat AMPDU : AUTO CQM : ON Download FW : uni_s1g.bin MAX TX Power : 13 dBm BSS MAX IDLE : 1800 Power Save Type : Always On Listen Interval : 1000 CONFIG_LOCATION : FLASH ------------------------------ NRC STA setting for HaLow... [*] Set Max CPU Clock on RPi 1500000 1500000 1500000 1500000 Done [0] Clear [1] Copy and Set Module Parameters total 1164 drwxrwxrwx 2 pi pi 4096 Nov 13 14:44 . drwxrwxrwx 4 pi pi 4096 Nov 13 14:43 .. -rwxrwxrwx 1 pi pi 1959 Nov 13 14:43 copy.sh -rwxrwxrwx 1 pi pi 8464 Nov 13 14:43 nrc7394_bd.dat -rwxrwxrwx 1 pi pi 385324 Nov 13 14:43 nrc7394_cspi.bin -rwxrwxrwx 1 pi pi 387708 Nov 13 14:43 nrc7394_cspi_eeprom.bin -rwxr-xr-x 1 root root 385324 Feb 6 10:56 uni_s1g.bin -rwxr-xr-x 1 root root 385324 Feb 6 10:56 /lib/firmware/uni_s1g.bin ==================================== STA INTERFACE : wlan0 USE DHCP Client ==================================== Config for STA is done! IP and DHCP config done [2] Set Initial Country [3] Loading module sudo insmod /home/pi/nrc_pkg/sw/driver/nrc.ko hifspeed=20000000 spi_bus_num=0 spi_cs_num=0 spi_gpio_irq=5 spi_polling_interval=0 fw_name=uni_s1g.bin bss_max_idle=1800 listen_interval=1000 enable_short_bi=0 bd_name=nrc7394_bd.dat set_duty_cycle=1,1000000,100000 set_cca_threshold=-75 [4] Set Maximum TX Power Type : limit Tx power : 13 OK [*] Transmission Power Control(TPC) is activated [5] Set guard interval: auto OK wpa_supplicant: no process found [6] Start wpa_supplicant on wlan0 Successfully initialized wpa_supplicant wlan0: SME: Trying to authenticate with a0:8a:06:35:08:77 (SSID='halow_demo' freq=5200 MHz) wlan0: Trying to associate with a0:8a:06:35:08:77 (SSID='halow_demo' freq=5200 MHz) wlan0: Associated with a0:8a:06:35:08:77 wlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 wlan0: WPA: Key negotiation completed with a0:8a:06:35:08:77 [PTK=CCMP GTK=CCMP] wlan0: CTRL-EVENT-CONNECTED - Connection to a0:8a:06:35:08:77 completed [id=0 id_str=] [*] Start DHCPCD and DNSMASQ [7] Connect and DHCP inet 192.168.200.15 netmask 255.255.255.0 broadcast 192.168.200.255 IP assigned. HaLow STA ready -------------------------------------------------------------------- Done. pi@raspberrypi:~/nrc_pkg/script $ ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether e4:5f:01:e5:f7:71 brd ff:ff:ff:ff:ff:ff inet 10.0.1.98/16 brd 10.0.255.255 scope global dynamic noprefixroute eth0 valid_lft 172786sec preferred_lft 151186sec inet6 2400:4052:400:7200:3016:3bd7:b76e:5a2e/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 7186sec preferred_lft 3586sec inet6 fe80::2d6e:2a9e:abf5:1ab6/64 scope link valid_lft forever preferred_lft forever 3: wlan0: mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether a0:8a:06:35:02:9d brd ff:ff:ff:ff:ff:ff inet 192.168.200.15/24 brd 192.168.200.255 scope global dynamic noprefixroute wlan0 valid_lft 86396sec preferred_lft 75596sec inet6 fe80::a28a:6ff:fe35:29d/64 scope link valid_lft forever preferred_lft forever pi@raspberrypi:~/nrc_pkg/script $互いにpingで疎通確認
うまく疎通が出来ました。
6. MESH モードもある。
NRC7394 Software Package for Host mode (Linux OS)/Access Point (AP) running procedureに起動オプションが記載されています。
そこには、MESH Wifiでの起動も可能なように記載されていました。
次回は、MESH Wifi で電源起動で自動接続可能に挑戦してみます。




