我正在尝试在 Linux 中通过 USB wifi 贴纸建立互联网连接。
这是我尝试过的顺序:
iw dev
这将返回我想要连接的接口的名称(?):
phy#0
Interface wlp0s29u1u3
....
所以,我将变量设置i
为该名称
i=wlp0s29u1u3
并尝试获取该接口的状态:
ip link show $i
返回
3: wlp0s29u1u3: <BROADCAST,MULTICAST> .... state DOWN ....
...
我尝试调出界面
ip link set $i up
该命令没有返回任何内容。
再次,我做了一个
ip link show $i
这次,它打印
3: wlp0s29u1u3: <NO-CARRIER,BROADCAST,MULTICAST,UP> ... state DOWN...
虽然状态为 DOWN,但它允许我扫描要连接的 wifi 点:
iwlist $i scan
确实,我发现“我的“ 无线网络,与ESSDI:"foobar"
.
我检查是否已连接
iw $i link
毫不奇怪,我不是:
Not connected.
所以,我尝试使用来wpa_supplicant
建立连接。
首先,我将 wifi 的密码存储在变量中k
:
k=secret
然后我创建wpa_supplicant.conf
文件:
wpa_passphrase foobar $k >> /etc/wpa_supplicant.conf
然后尝试建立连接:
wpa_supplicant -B -D wext -i $i -c /etc/wpa_supplicant.conf
返回
Successfully initialized wpa_supplicant
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
我原以为我现在应该能够使用
dhclient $i
但这个命令根本不返回。
还
iw $i link
仍然返回
Not connected.
和
ip link show $i
节目
3: wlp0s29u1u3: <NO-CARRIER,BROADCAST,MUTLICAST,UP> .... state DOWN mode DORMANT
我对这部分特别不确定NO-CARRIER
,但相信这应该是BROADCAST
。
我不知道我现在应该做什么。
如果我使用wifi-menu -o
,我能够连接到wifi(所以看起来这不是硬件问题),但我的目标是使用这些工具iw
和ip
命令行工具。
答案1
您需要打开您的 wifi 卡:
ip link set wlp0s29u1u3 up
的输出ip link show $i
将是:
3: wlp0s29u1u3: .... state UP
然后您可以使用以下方式连接:
wpa_supplicant -B -D wext -i $i -c /etc/wpa_supplicant.conf