TL-WN721N在Debian stretch中不能连网

似乎网卡已经驱动上了,但连接时一直失败。不知道从何处下手。

lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 9.0 (stretch)
Release: 9.0
Codename: stretch

信息太少啊你这么说,
ip a命令和dmesg命令和lspci -v命令的输出发上来看看

稍后发上来。

如果是 usb 无线网卡,将其插入后执行以下指令将结果全部复制贴上来

uname -r lsusb -t /sbin/iwconfig lsmod | grep 80211

uname -r

4.9.0-2-amd64

lsusb -t

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 5, If 0, Class=Vendor Specific Class, Driver=ath9k_htc, 480M
|__ Port 4: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 5: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

/sbin/iwconfig

eth0 no wireless extensions.
wlx54e6fc024826 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
lo no wireless extensions.

lsmod | grep 80211

mac80211 671744 1 ath9k_htc
cfg80211 589824 4 ath9k_htc,mac80211,ath,ath9k_common
rfkill 24576 3 cfg80211

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether bc:ae:c5:b8:0c:54 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.76/24 brd 192.168.3.255 scope global dynamic eth0
valid_lft 86095sec preferred_lft 86095sec
inet6 fe80::beae:c5ff:feb8:c54/64 scope link
valid_lft forever preferred_lft forever
3: wlx54e6fc024826: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether ae:dc:01:73:c6:f8 brd ff:ff:ff:ff:ff:ff

lspci -v
http://paste.debian.net/927876/

猜测该 USB 无线网卡使用 Atheros AR9271 方案,驱动为 ath9k_htc。该驱动较为完善。

形如 “wlx54e6fc024826” 的网卡名称可能会触发 NetworkManager 中的某些已知 bug 而导致无法连接。您可以尝试通过添加内核参数 net.ifnames=0 biosdevname=0 来恢复传统的网卡命名方式。

在 Linux 下使用基于 Atheros AR9271 方案的无线网卡时,需注意由于固件限制,13 信道无法使用。有条件可为无线路由器设置固定信道,避免某一天突然 “搜不到自家 Wi-Fi”。

===============
附增加内核参数方法

1 - 临时增加
开机到 GRUB 界面时,按 e 进入编辑界面
在 ‘linux’ 一行末尾增加内核参数,以空格分隔。看起来像这样:ro splash vt.handoff=7 net.ifnames=0 biosdevname=0
按 Ctrl+x 启动

2 - 永久增加
编辑 /etc/default/grub 在 GRUB_CMDLINE_LINUX_DEFAULT 中增加内核参数,以空格分隔。
看起来像这样:
GRUB_CMDLINE_LINUX_DEFAULT="ro splash vt.handoff=7 net.ifnames=0 biosdevname=0"
保存后执行 update-grub

1 个赞

确如你所判断,是网卡名称的问题。已按你的方法解决。感谢vickycq的帮助。

/sbin/iwconfig

lo no wireless extensions.
wlan0 IEEE 802.11 ESSID:"TP-LINK_HyFi"
Mode:Managed Frequency:2.412 GHz Access Point: 3C:46:D8:04:DC:16
Bit Rate=150 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=57/70 Signal level=-53 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:25 Missed beacon:0
eth0 no wireless extensions.

事实上,我犯了一个错误,我没有意识到正确的“修复”实际上应该是禁用NetworkManager的mac地址欺骗。 在上面的帖子中,我建议禁用systemd的可预测的界面名称,虽然(巧合?)那样也可以工作,但现在我猜这是一个过度的杀戮。

一个快速的搜索会显示出很多关于这个问题的抱怨,所以我的错误真的很愚蠢

长话短说,
编辑 /etc/NetworkManager/NetworkManager.conf 并添加

[device] wifi.scan-rand-mac-address=no

并运行

systemctl restart NetworkManager

它就可能开始为你工作。