Raspberry Pi OS Lite で nmcli を使って WiFi につなげる

以前は wca-supplicant.conf を使っていたけれども、最近はそうではないらしい。

sudo raspi-config で wifi は設定できるけれども、よくわからないエラーが出たりして不便。

# 環境

Raspberry Pi OS Lite 
Release date: July 4th 2024
System: 32-bit

Raspberry Pi 3 Model B

# $ sudo raspi-config

```
エラー: SSID が 'openforce3' のネットワークが見つかりませんでした。
```
となる。いくつか WiFI つなげようとしたけれども、はてな?

# 接続できている?
```
$ ifconfig
.
.
.
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.110.94.4  netmask 255.0.0.0  broadcast 10.255.255.255
        inet6 fe80::b098:33a:eaba:cf62  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:14:45:08  txqueuelen 1000  (イーサネット)
        RX packets 7  bytes 1546 (1.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 53  bytes 7638 (7.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```
なんだかつながっているのかな? でも デフォルトルートがうまく設定できておらず外部に出てない。



# rfkill

WiFi 国設定がうまくいってなくて rfkill しているのかな? と思ったけれども、
```
$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 wlan      phy0   unblocked unblocked
```
これは問題ないっぽい。

# 802.11g

802.11ac はつながらない?

802.11g のアクセスポイントだとつながったらしい。

# /etc/NetworkManager/system-connections

このディレクトリ中に raspi-config で設定したいくつかのアクセスポイントができている。 
```

Buffalo-G-ACD8.nmconnection  hogehoge-wifi.nmconnection  openforce3.nmconnection
```


# $ nmcli 

コマンドを打ってみた。

```
eth0: 接続済み から 有線接続 1
        "Microchip 7800"
        ethernet (lan78xx), B8:27:EB:41:10:5D, hw, mtu 1500
        ip4 デフォルト
        inet4 192.168.11.3/24
        route4 192.168.11.0/24 metric 100
        route4 default via 192.168.11.1 metric 100
        inet6 fe80::d9fb:3428:fc6c:7d31/64
        route6 fe80::/64 metric 1024

lo: 接続済み (外部) から lo
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
        inet4 127.0.0.1/8
        inet6 ::1/128

wlan0: 接続済み から Buffalo-G-ACD8
        "Broadcom BCM43438 combo and Bluetooth Low Energy"
        wifi (brcmfmac), B8:27:EB:14:45:08, hw, mtu 1500
        inet4 192.168.11.4/24
        route4 192.168.11.0/24 metric 600
        route4 default via 192.168.11.1 metric 600
        inet6 fe80::b897:9f2f:f8e4:11c3/64
        route6 fe80::/64 metric 1024

p2p-dev-wlan0: 切断済み
        "p2p-dev-wlan0"
        wifi-p2p, hw

DNS configuration:
        servers: 192.168.11.1
        interface: wlan0

        servers: 192.168.11.1
        interface: eth0
```

WiFi を探してみる。
```
$ nmcli device wifi
IN-USE  BSSID              SSID            MODE      CHAN  RATE        SIGNAL  BARS  SECURITY 
*       F0:F8:4A:E8:AC:D8  Buffalo-G-ACD8  インフラ  11    130 Mbit/s  100     ▂▄▆█  WPA2

```

電波が沢山飛んでいるはずなのに1つしか出ない。はてな? 再起動してみたら、出るようになった。

```
$ nmcli device wifi
IN-USE  BSSID              SSID                  MODE      CHAN  RATE        SIGNAL  BARS  SECURITY    
*       F0:F8:4A:E8:AC:D8  Buffalo-G-ACD8        インフラ  11    130 Mbit/s  100     ▂▄▆█  WPA2        
        F0:F8:4A:E8:AC:DC  Buffalo-A-ACD8        インフラ  48    270 Mbit/s  100     ▂▄▆█  WPA2        
        02:19:FA:66:B8:F5  openforce3            インフラ  120   270 Mbit/s  100     
        9E:F1:99:61:9C:67  M5400419              インフラ  36    270 Mbit/s  89      ▂▄▆█  WPA1 WPA2   

.
.
.
```
# nmcli で接続してみる
```
       
$ nmcli device wifi connect openforce3 password hogehoge
エラー: 新規接続の追加またはアクティベートに失敗しました: Not authorized to control networking.
```
うーん?
```
$ sudo nmcli device wifi connect openforce3 password hogehoge
デバイス 'wlan0' が 'e3fbaa5f-4371-4aaa-8af7-33a425d4b857' で正常にアクティベートされました。
```
これで繋がりました。

とりあえず、
 /etc/NetworkManager/system-connections
 の中身を openforce3 だけにして再起動。openforce3 には自動接続されているみたいです。
 しばらくこれで様子見してみます。