![ArchLinux 的无线问题](https://linux22.com/image/1359340/ArchLinux%20%E7%9A%84%E6%97%A0%E7%BA%BF%E9%97%AE%E9%A2%98.png)
我最近关注了本教程安装 arch-linux。
在该教程中,我们使用“wifi-menu”程序通过我的 linksys 无线适配器 (WUSB54GR) 连接到无线网络 (WPA2+PSK),并且它运行良好,我甚至不需要安装驱动程序;我只需选择我的网络并输入加密密钥即可。
当我安装 arch 并登录时,我无法再访问无线连接;当我执行以下命令时:
wifi 菜单
控制台显示:
请安装“dialog”以使用 wifi 菜单
所以我尝试执行“sudo pacman -S dialog”,但显然这不起作用,因为我没有互联网连接。
做什么?
顺便说一句,这台电脑上没有以太网端口,所以我无法将其直接连接到路由器。
答案1
答案2
在终端类型中:
知识产权
显示所有可用的网卡。其中一个应该命名为“wlp1s0”或类似的名称。这是您的无线设备。现在只需将其添加到 wifi 菜单调用中即可。
sudo wifi菜单wlp1s0
如果您没有看到任何带有 ip a 的 wifi 设备,那么您必须启动 dhcpcd。
sudo dhcpcd
答案3
假设:
- 您至少安装了
dhcpcd
、iw
和wpa_supplicant
软件包。 - 您使用的无线驱动程序使用 mac80211 API。有些有问题的驱动程序则不使用。
- 您的网络使用 DHCP 进行配置。
- 您的基站不会“隐藏” SSID。从安全角度来看,这是一个坏主意,并且违反了某些标准。请参阅此内容Microsoft Technet 文章,同时忽略 Windows 特定的部分。
关于不必安装驱动程序,您实际上需要这样做,因为它们位于内核中(或内核模块中)。大多数 Linux 无线驱动程序都位于树中。
仅供参考,“RSN”==“WPA2”。
适当替换$DEV、$SSID 和 $PSK。
$MAC、$BSSID 和 $FREQ 仅供参考。您无需自己弄清楚。
其中“#”代表 root 用户提示符……
根据以下模板创建一个名为/etc/wpa_supplicant/$SSID的文件。
ctrl_interface=/var/run/wpa_supplicant network={ ssid="$SSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk="$PSK" }
顺便说一句,实施 CCMP 是强制性的WPA2。不要使用 TKIP。它已经被破解了。Wi-Fi 联盟应该很快就会禁止它,即使现在还没有。
与基站关联,进行身份验证、授权。
# wpa_supplicant -i $DEV -c /etc/wpa_supplicant/$SSID -D nl80211 -B
检查您是否已经过身份验证和授权。
# wpa_cli > status bssid=$BSSID ssid=$SSID id=0 mode=station pairwise_cipher=CCMP group_cipher=CCMP key_mgmt=WPA2-PSK wpa_state=COMPLETED address=$MAC
使用
status
命令进行轮询直到找到为止,或者查找如下消息。<3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE <3>SME: Trying to authenticate with $BSSID (SSID='$SSID' freq=$FREQ MHz) <3>Trying to associate with $BSSID (SSID='$SSID' freq=$FREQ MHz) <3>Associated with $BSSID <3>WPA: Key negotiation completed with $BSSID [PTK=CCMP GTK=CCMP] <3>CTRL-EVENT-CONNECTED - Connection to $BSSID completed [id=0 id_str=]
使用 DHCP 获取地址。
# dhcpcd $DEV
安装
dialog
软件包,作为依赖。# pacman -S --asdep dialog