首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过wpa_supplicant、dhcpcd或nmcli连接Wi?

如何通过wpa_supplicant、dhcpcd或nmcli连接Wi?
EN

Unix & Linux用户
提问于 2017-09-16 08:56:19
回答 1查看 7.2K关注 0票数 0

我使用Funtoo,用git克隆Gentoo,而不是rsync和一些bug修复(正如我所读的)。

我已经安装了LXDE桌面,NetworkManager,但是当我输入Wi密码时,applet不连接。因此,我需要在命令行中连接以继续安装和配置。

下面是说明:如何不使用GUI连接wi网络?

它不起作用,给出如下结论:

代码语言:javascript
复制
# ifconfig wlan0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
# wpa_passphrase WIFI222 20172017 > /etc/wpa_supplicant.conf
# cat /etc/wpa_supplicant.conf
network={
    ssid="WIFI222"
    #psk="20172017"
    psk=7.it975ot8o686f8fo86ff...
}

# wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0
Successfully initialized wpa_supplicant
ioctl[SIOCSIWENCODEEXT]: Invalid argument 
ioctl[SIOCSIWENCODEEXT]: Invalid argument 

# wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf && dhclient wlan0
Successfully initialized wpa_supplicant

# ping -c 3 www.stackexchange.com
ping: unknown host www.stackexchange.com

我在rc中有dhcpcd,wlan0已经启动,接口没有阻塞.但这一转变也不成功:

代码语言:javascript
复制
# rc-update show
       NetworkManager |      default                 
               binfmt | boot                         
             bootmisc | boot                         
                 dbus |      default                 
                devfs |                       sysinit
               dhcpcd |      default                 
                dmesg |                       sysinit
                 fsck | boot                         
             hostname | boot                         
              hwclock | boot                         
              keymaps | boot                         
            killprocs |              shutdown        
    kmod-static-nodes |                       sysinit
                local |      default                 
           localmount | boot                         
             loopback | boot                         
              modules | boot                         
             mount-ro |              shutdown        
                 mtab | boot                         
             netmount |      default                 
               procfs | boot                         
                 root | boot                         
            savecache |              shutdown        
                 sshd |      default                 
                 swap | boot                         
               sysctl | boot                         
                sysfs |                       sysinit
         termencoding | boot                         
                 udev |                       sysinit
              urandom | boot                         
                  xdm |      default   

localhost ~ # rfkill list all
0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: asus-wlan: Wireless LAN
    Soft blocked: no
    Hard blocked: no
2: asus-bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no
3: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no


localhost ~ # cat wpa
wpa_supplicant -B -i wlan0 -c<(wpa_passphrase 'WIFI222' '20172017') && dhcpcd wlan0

localhost ~ # ./wpa
Successfully initialized wpa_supplicant
sending commands to master dhcpcd process

localhost ~ # rc
 * WARNING: netmount will start when NetworkManager has started

localhost ~ # ./wpa
Successfully initialized wpa_supplicant
sending commands to master dhcpcd process
localhost ~ # ping -c 3 funtoo.org
ping: unknown host funtoo.org

Nmcli没有帮助:

代码语言:javascript
复制
# nmcli device wifi connect WIFI222 password 20172017
Error: Timeout 90 sec expired.

我的另一本笔记本电脑funtoo+ xfce用nm连接到这个网络,我可以看到网络具有安全的WPA/WPA 2。我只想连接并在LXDE上安装。

拜托,什么不管用?

EN

回答 1

Unix & Linux用户

发布于 2017-09-17 13:26:10

我不知道你的设置到底出了什么问题,但至少要分步骤进行测试。尝试一次做每件事都无助于找出问题的所在。

所以。

1)测试Wifi是否正常工作,您可以看到WIFI222

代码语言:javascript
复制
# iw wlan0 scan

2)在/etc/wpa_supplicant.conf中添加控制接口:

代码语言:javascript
复制
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

network={
    ssid="WIFI222"
    psk="your_wlan_key"
}

根据您的系统调整路径和分组,我不知道Funtoo使用了什么。

3)在前台的一个额外的终端窗口中启动wpa_supplicant,这样您就可以看到消息,并使用nl80211驱动程序(几乎所有现代适配器都使用它,您没有说明您有什么适配器.)。

代码语言:javascript
复制
wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dnl80211,wext

4)使用wpa_cli查看发生了什么:

代码语言:javascript
复制
# wpa_cli list_networks

应该显示配置文件中的网络,

代码语言:javascript
复制
# wpa_cli status

显示当前状态,以及

代码语言:javascript
复制
# wpa_cli help | less

向你展示其他命令。

如果您看到wpa_state=COMPLETED,那么您可以运行dhclient并尝试使用ping

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/392590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档