0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

箱舟プロジェクト【防災通信】Raspberry Pi 4 + BC-11AH-A2(802.11ah HAT)セットアップ2(MESH)

Last updated at Posted at 2026-02-06

この手順は C-11AH-A2(802.11ah HAT)をセットアップして IEEE802.11ahでの広域MPP(アクセスポイント)/ MP(ブリッジ)共通のセットアップ方法です。
実行コマンドで MPP か MP を選択して起動させます。


7. MESH(MPP/MP) モードについて

セットアップは共通で、最後のコマンドで MPP か MP を選択します。

略称 MPP(アクセスポイント) MAP(アクセスポイント/中継器) MP(中継器)
役割 メッシュ入口 中継と接続 中継専用
用途 線LAN(モデム/ルーター)と接続し、メッシュネットワーク全体を外部インターネットへ繋ぐゲートウェイ 他のメッシュノードとデータをやり取り(バックホール)しながら、スマホなどの端末(STA)をWi-Fi接続させる メッシュネットワーク内のデータ転送(ルーティング)のみを行い、通常はエンドユーザーの端末を直接接続させない。

8. SSHで接続

beatcraft提供イメージでのデフォルトのID/PWは pi/beatcraft でログイン可能です。
  • MPP / MP モードで疎通を確認する 起動オプションはNRC7394 Software Package for Host mode (Linux OS)/Access Point (AP) running procedureに記載されてていますので、それに合わせてコマンドラインから起動します。

    1台のみでも機能は確認できますが、疎通を試すには本機構成で組み上げた2台が必要です。

    まず、SSHで接続します。

    • MPP側の機器は dnsmasq を起動するために、halow用dhcp設定ファイル(halow.conf)を用意します。

      sudo vi /etc/dnsmasq.d/halow.conf

      
      interface=wlan0
      bind-interfaces
      
      # DHCP レンジ(必要に応じて変更可)
      dhcp-range=192.168.200.10,192.168.200.100,255.255.255.0,12h
      
      # MPP の固定 IP
      dhcp-option=3,192.168.200.1
      dhcp-option=6,192.168.200.1
      
      # ログ
      log-dhcp
      

      dnsmasqを起動

      sudo systemctl enable dnsmasq
      sudo systemctl restart dnsmasq
      
    • MP側の機器は dnsmasq を停止しておきます。
      sudo systemctl stop dnsmasq
      sudo systemctl disable dnsmasq
      

    MPPモード用機器

    
    pi@raspberrypi:~/nrc_pkg/script $ sudo systemctl restart dnsmasq
    pi@raspberrypi:~/nrc_pkg/script $ ip a | grep wlan0
    pi@raspberrypi:~/nrc_pkg/script $ ./start.py 4 3 JP 0 192.168.200.1
    Done.
    Done.
    ------------------------------
    Model            : 7394
    STA Type         : MESH
    Country          : JP
    Security Mode    : WPA3-SAE
    BD Name          : nrc7394_bd.dat
    AMPDU            : AUTO
    Download FW      : uni_s1g.bin
    MAX TX Power     : 13 dBm
    Mesh Mode        : Mesh Portal
    CONFIG_LOCATION  : FLASH
    ------------------------------
    NRC MESH setting for HaLow...
    [*] Set Max CPU Clock on RPi
    1500000
    1500000
    1500000
    1500000
    Done
    [0] Clear
    Selected interface 'wlan0'
    [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 11:38 uni_s1g.bin
    -rwxr-xr-x 1 root root 385324 Feb  6 11:38 /lib/firmware/uni_s1g.bin
    ====================================
     MESH INTERFACE   : wlan0
     MESH STATIC IP   : 192.168.200.1
     - HWMP
    ====================================
    Config for Mesh Portal 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 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
    wpa_supplicant: no process found
    [7] Start wpa_supplicant on wlan0
    Waiting for Mesh Join: wlan0
    Successfully initialized wpa_supplicant
    wlan0: interface state UNINITIALIZED->ENABLED
    wlan0: AP-ENABLED
    wlan0: joining mesh nrc_mesh
    wlan0: CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed [id=0 id_str=]
    wlan0: MESH-GROUP-STARTED ssid="nrc_mesh" id=0
    OK
    [8] Start NAT
    Waiting for IP
    Waiting for IP
    Waiting for IP
    [9] Add Route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         buffalo.setup   0.0.0.0         UG    202    0        0 eth0
    10.0.0.0        0.0.0.0         255.255.0.0     U     202    0        0 eth0
    192.168.200.0   192.168.200.1   255.255.255.0   UG    0      0        0 wlan0
    192.168.200.0   0.0.0.0         255.255.255.0   U     304    0        0 wlan0
    RTNETLINK answers: File exists
    [10] 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 19442  bytes 3360919 (3.2 MiB)
            RX errors 0  dropped 8  overruns 0  frame 0
            TX packets 1262  bytes 143472 (140.1 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 56  bytes 6314 (6.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 56  bytes 6314 (6.1 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 16  bytes 2143 (2.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    HaLow Mesh Portal ready
    --------------------------------------------------------------------
    Done.
    pi@raspberrypi:~/nrc_pkg/script $ ip a | grep wlan0
    4: 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 $
    

    MPモード用機器

    
    pi@raspberrypi:~/nrc_pkg/script $ ./start.py 4 3 JP 1
    Done.
    Done.
    ------------------------------
    Model            : 7394
    STA Type         : MESH
    Country          : JP
    Security Mode    : WPA3-SAE
    BD Name          : nrc7394_bd.dat
    AMPDU            : AUTO
    Download FW      : uni_s1g.bin
    MAX TX Power     : 13 dBm
    Mesh Mode        : Mesh Point
    CONFIG_LOCATION  : FLASH
    ------------------------------
    NRC MESH 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 11:57 uni_s1g.bin
    -rwxr-xr-x 1 root root 385324 Feb  6 11:57 /lib/firmware/uni_s1g.bin
    ====================================
     MESH INTERFACE   : wlan0
     USE DHCP Client
     - HWMP
    ====================================
    Config for Mesh Point 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 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
    wpa_supplicant: no process found
    [7] Start wpa_supplicant on wlan0
    Waiting for Mesh Join: wlan0
    Successfully initialized wpa_supplicant
    wlan0: interface state UNINITIALIZED->ENABLED
    wlan0: AP-ENABLED
    wlan0: joining mesh nrc_mesh
    wlan0: CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed [id=0 id_str=]
    wlan0: MESH-GROUP-STARTED ssid="nrc_mesh" id=0
    wlan0: new peer notification for a0:8a:06:35:08:77
    OK
    [8] Connect and DHCP
    sending commands to master dhcpcd process
    Waiting for IP
    wlan0: mesh plink with a0:8a:06:35:08:77 established
    wlan0: MESH-PEER-CONNECTED a0:8a:06:35:08:77
    Waiting for IP
    Waiting for IP
    Waiting for IP
    Waiting for IP
    Waiting for IP
    Waiting for IP
    Waiting for IP
    Waiting for IP
            inet 192.168.200.15  netmask 255.255.255.0  broadcast 192.168.200.255
    IP assigned. HaLow Mesh Point ready
    --------------------------------------------------------------------
    Done.
    pi@raspberrypi:~/nrc_pkg/script $ ip a | grep wlan0
    4: wlan0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
        inet 192.168.200.15/24 brd 192.168.200.255 scope global dynamic noprefixroute wlan0
    pi@raspberrypi:~/nrc_pkg/script $
    

    互いにpingで疎通確認



    うまく疎通が出来ました。

9. 次は起動時にMESH(MPP/MP)の自動化。

MESHが使えるので、電源入れたら、自動的にMPPがなければ、MPPにあれば、MPで起動できるような工夫をして機器本体を調整不要になるように挑戦してみます。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?