私は組み込みプロセッサでUbuntu 16.04 LinuxベースのYoctoバージョンを実行しています。
カーネルは4.14.141のようです。
私はラジオアクティベーションを呼び出して、Cを介してプログラムでハードウェアからWiFiアクセスポイントを起動しています。
system("nmcli r wifi on");
(今は重複する可能性がありますがご了承ください。)
この時点でアクセスポイントを呼び出します。
system( "nmcli dev wifi hotspot ifname wlan0 ssid \"test\" password \"test1234\" ")
これで、/etc/NetworkManager/system-connectionsに、そのアクセスポイントの正しい詳細を含むHotspot.nmconnectionファイルがあります。
[connection]
id=Hotspot-2
uuid=70c76bd2-0e13-492e-8a45-9094bc6e0773
type=wifi
autoconnect=false
permissions=
[wifi]
mac-address=00:04:F3:1B:BA:AE
mac-address-blacklist=
mode=ap
ssid=test
[wifi-security]
group=ccmp;
key-mgmt=wpa-psk
pairwise=ccmp;
proto=rsn;
psk=test1234
[ipv4]
dns-search=
method=shared
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=ignore
私の問題は、このアクセスポイントを使用するたびに異なるSSIDと異なるパスワードを使用したいということです。アクセスポイントはユーザーセッションに接続されているため、寿命はそのセッションと資格情報のセットに制限されます(転送されたハードウェアトークンを介さないと使用できません)。 Wifi APは提供されたトークンと一致するように開始され、終了して終了できます。トークンを削除した後に破棄されます。
この構成ファイルを変更するには、nmcliを使用してみてください。
system ("nmcli con mod Hotspot ssid \"newTest\" password \"newpass\" ");
失敗した
Error: invalid <setting>.<property> 'password'.
最初のコマンドで AP をオーバーライドすると、新しい Wi-Fi AP が正常に作成されますが、以前の繰り返し Hotspot-2、Hotspot-n などに基づいて数字のサフィックスが付いた新しい設定ファイルが生成されます。このファイルには時間がかかりません。フラッシュメモリがあふれました。
ではどうすればいいですか?収集する必要なパスワードファイルをどこでどのように定義しますか?または、目標を達成するためにコンテンツをどのように変更しますか?ポルキットに参加しなければならないようですが、まだ行ったことがないウサギ飼育場です。
答え1
プロフィールがあります。で見てくださいnmcli connection
。
上にプロファイル名Hotspot-2
(およびUUID 70c76bd2-0e13-492e-8a45-9094bc6e0773
)を表示できます。
構成ファイルを変更し、UUID または名前を知っているかどうかに応じて、適切に参照してください。
nmcli connection modify Hotspot-2 ...
nmcli connection modify 70c76bd2-0e13-492e-8a45-9094bc6e0773 ...
nmcli connection modify id Hotspot-2 ...
nmcli connection modify uuid 70c76bd2-0e13-492e-8a45-9094bc6e0773 ...
(設定ファイルを別の方法で参照できるので、これを言うだけです。)
それでも。したがって、修正してください。
nmcli connection modify Hotspot-2 \
wifi.ssid My-SSID \
wifi-sec wifi-sec.psk new-passwd
プロファイルへの変更はプロファイルにすぐに適用されますが、次にプロファイルを再度有効にするまでは適用されません。
nmcli connection up Hotspot-2