ArchLinux 的无线问题

ArchLinux 的无线问题

我最近关注了本教程安装 arch-linux

在该教程中,我们使用“wifi-menu”程序通过我的 linksys 无线适配器 (WUSB54GR) 连接到无线网络 (WPA2+PSK),并且它运行良好,我甚至不需要安装驱动程序;我只需选择我的网络并输入加密密钥即可。

当我安装 arch 并登录时,我无法再访问无线连接;当我执行以下命令时:

wifi 菜单

控制台显示:

请安装“dialog”以使用 wifi 菜单

所以我尝试执行“sudo pacman -S dialog”,但显然这不起作用,因为我没有互联网连接。

做什么?

顺便说一句,这台电脑上没有以太网端口,所以我无法将其直接连接到路由器。

答案1

引用另一个论坛的帖子:


wifi-menu 是 netcfg 软件包的一部分。如果您没有安装它,您将无法使用它。您的选择是手动使用 ip、iw... 和 wpa_supplicant 工具建立连接,或者手动将 netcfg、dialog 和 ncurses 软件包下载到 usb 上,然后使用以下命令安装它们pacman -U package.pkg.tar.gz

您可以在包数据库

您的另一个选择是再次使用安装介质启动,连接到互联网,挂载您的 arch 安装,chroot 并安装 netcfg。


来源

谷歌再次拯救了我们。

答案2

在终端类型中:
知识产权
显示所有可用的网卡。其中一个应该命名为“wlp1s0”或类似的名称。这是您的无线设备。现在只需将其添加到 wifi 菜单调用中即可。
sudo wifi菜单wlp1s0

如果您没有看到任何带有 ip a 的 wifi 设备,那么您必须启动 dhcpcd。
sudo dhcpcd

答案3

假设:

  • 您至少安装了dhcpcdiwwpa_supplicant软件包。
  • 您使用的无线驱动程序使用 mac80211 API。有些有问题的驱动程序则不使用。
  • 您的网络使用 DHCP 进行配置。
  • 您的基站不会“隐藏” SSID。从安全角度来看,这是一个坏主意,并且违反了某些标准。请参阅此内容Microsoft Technet 文章,同时忽略 Windows 特定的部分。

关于不必安装驱动程序,您实际上需要这样做,因为它们位于内核中(或内核模块中)。大多数 Linux 无线驱动程序都位于树中。

仅供参考,“RSN”==“WPA2”。

适当替换$DEV、$SSID 和 $PSK。

$MAC、$BSSID 和 $FREQ 仅供参考。您无需自己弄清楚。

其中“#”代表 root 用户提示符……

  1. 根据以下模板创建一个名为/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 联盟应该很快就会禁止它,即使现在还没有。

  2. 与基站关联,进行身份验证、授权。

    # wpa_supplicant -i $DEV -c /etc/wpa_supplicant/$SSID -D nl80211 -B
    
  3. 检查您是否已经过身份验证和授权。

    # 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=]
    
  4. 使用 DHCP 获取地址。

    # dhcpcd $DEV
    
  5. 安装dialog软件包,作为依赖

    # pacman -S --asdep dialog
    

相关内容