✈️

Jetson Orin Nanoで起動時にwifi接続

に公開

背景

Jetson Orin Nanoの環境構築をする際、起動時にステルスSSIDに接続する様にしてみました

環境

項目 バージョン
OS Ubuntu 20.04(Jetpack5.1.3)

手順

1. Wi-Fiの利用設定

まずはwifiをONにします

# Wi-Fiの状況確認 利用可能な場合、`enabled`が表示される
sudo nmcli radio wifi
# Wi-FiのON
sudo nmcli radio wifi on

nmcliを使って、wifiの接続情報を作成します

# <接続名>(任意)、wifiルータの<ssid>・<接続方式>(wpa-psk 等)・<password> を事前に確認
sudo nmcli c add type wifi con-name '<接続名>' ifname 'wlan0' ssid '<ssid>'
sudo nmcli con modify '<接続名>' wifi-sec.key-mgmt <接続方式>
sudo nmcli con modify '<接続名>' wifi-sec.psk '<password>'
sudo nmcli con modify '<接続名>' connection.autoconnect yes

IPを固定化したかったので、追加で設定します

sudo nmcli con modify '<接続名>' ipv4.addresses 192.168.xxx.xxx/24
sudo nmcli con modify '<接続名>' ipv4.gateway 192.168.xxx.1
sudo nmcli con modify '<接続名>' ipv4.method manual

ここまででwifiの接続設定は完了です
設定内容は、以下のコマンドで確認する事が出来ます

sudo cat /etc/NetworkManager/system-connections/<接続名>.nmconnection

以下のコマンドでwifiに接続します

sudo nmcli con up '<接続名>'

接続が出来ていることを ip コマンドで確認します

ip a
> 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group
> default qlen 1000
>     link/ether
>     altname wlP1p1s0
>     inet 192.168.xxx.xx/24 brd 192.168.xxx.255 scope global wlan0

2. 起動時のwifi再接続サービスを作成

シークレットSSIDの場合、自動的にwifiに接続してくれません
wifiに接続するコマンドを起動時に実行するサービスを作成します
/etc/systemd/system/nmcli-up.serviceファイルを以下の内容で作成します

/etc/systemd/system/nmcli-up.service
[Unit]
Description=Run nmcli connection up at startup
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=nmcli connection up '<接続名>'

[Install]
WantedBy=multi-user.target

サービスの有効化と起動をすると、Jetsonが再起動した場合に自動でシークレットSSIDに接続する様になります

sudo systemctl enable nmcli-up.service
sudo systemctl start nmcli-up.service

Discussion