在运行 Linux Mint 的笔记本电脑上,我可以运行以下命令来建立 WiFi 热点:
nmcli con add type wifi ifname [interface name] con-name test_ssid autoconnect yes ssid test_ssid
nmcli con modify test_ssid 802-11-wireless.mode ap ipv4.method shared
nmcli con modify test_ssid wifi-sec.key-mgmt wpa-psk
nmcli con modify test_ssid 802-11-wireless-security.pairwise ccmp
nmcli con modify test_ssid 802-11-wireless-security.group ccmp
nmcli con modify test_ssid wifi-sec.psk [password]
运行 macOS 12.6 的 iPhone、Windows 甚至 Intel MacBook Pro 都可以连接。但运行 macOS 13.0 的 M1 MacBook Pro 却无法连接。有人知道原因test_ssid
吗,或者有没有办法让 M1 Mac 加入 Linux WiFi 热点,或者有没有办法从连接尝试中获取调试输出?当我尝试从 M1 MBP 加入网络时,它显示,这The Wi-Fi network "test_ssid" requires a WPA3 Personal.
很奇怪。
答案1
编辑:在这种特殊情况下,解决方案是添加如下行。
nmcli con modify test_ssid wifi-sec.pmf disable
这将禁用 SAE 并强制使用 WPA2 Personal/SHA-256/AES。最好让 WPA3/SAE 工作,但我无法使用我的 Qualcomm Atheros QCA6174 做到这一点。我怀疑这张卡自己执行身份验证,而不是将其委托给操作系统(在本例中为 Linux),而且因为它是 2015 年左右的,太旧了,无法执行 SAE。
原始答案:
问题出在 Linux 上的 wpa_supplicant 2.10。使用 wpa_supplicant 2.9 创建的热点能够与 M1 MacBook Pro 连接。使用这些命令建立网络时
nmcli con add type wifi ifname wlp2s0 con-name test_ssid autoconnect yes ssid test_ssid
nmcli con modify test_ssid 802-11-wireless.mode ap ipv4.method shared
nmcli con modify test_ssid wifi-sec.key-mgmt wpa-psk
nmcli con modify test_ssid 802-11-wireless-security.pairwise ccmp
nmcli con modify test_ssid 802-11-wireless-security.group ccmp
nmcli con modify test_ssid 802-11-wireless-security.proto rsn
nmcli con modify test_ssid wifi-sec.psk 12345678
nmcli con up test_ssid
在 wpa_supplicant 2.10 上,使用以下命令从 M1 MacBook Pro 扫描该网络:
/System/Library/PrivateFramework/Apple80211.framework/Versions/Current/Resources/airport -s
网络在安全栏中显示如下:
RSN(PSK,PSK-SHA256,SAE/AES/AES)
在 wpa_supplicant 2.9 上,它在安全列中显示以下内容:
RSN(PSK,PSK-SHA256/AES/AES)