我正在嵌入式处理器Yocto build上运行一个Ubuntu16.04派生的Linux
内核似乎是4.14.141
我以编程方式从C调出硬件上的WiFi接入点,方法是通过调用
system("nmcli r wifi on");(此刻这可能是多余的,但请容忍我。)
在这一点上,我提出了一个接入点
system( "nmcli dev wifi hotspot ifname wlan0 ssid \"test\" password \"test1234\" ")现在我已经在/etc/NetworkManager/system中连接了一个文件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将导致创建一个成功的新wifi AP,但它将获得一个新的配置文件,该配置文件基于前面的itterations Hotspot 2、Hotspot-n等,将得到一个带有若干后缀的新配置文件,不久我的闪存就会溢出。
那我该怎么做?在哪里和如何定义密码文件,这是我收集的,我需要,或者我如何改变事情,让我实现我的目标?我怀疑我需要让polkit参与进来,但那是一个兔子沃伦,我还没有倒下。
发布于 2022-04-01 13:20:24
你有个人资料。用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-2https://unix.stackexchange.com/questions/697477
复制相似问题