更新 1

更新 1

我在最终确定与 TP-Link Archer T4UH v2 实际连接时遇到了问题。我正在使用这个驱动程序:https://github.com/diederikdehaas/rtl8812AU

我的发行版:

$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu Bionic Beaver (development branch)"
NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu Bionic Beaver (development branch)"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

lsusb输出:

$ lsusb
Bus 001 Device 004: ID 2357:010e 

我注意到它不在https://github.com/diederikdehaas/rtl8812AU/blob/driver-4.3.20/os_dep/linux/usb_intf.c#L171但是,所以我添加了它:

{USB_DEVICE(0x2357, 0x010E),.driver_info = RTL8812}, /* TP-Link - T4UH v2 */

从这里我运行了 DKMS 指南,README.md一切顺利,没有出现错误:

$ sudo dkms status
rtl8812AU, 4.3.20, 4.15.0-13-generic, x86_64: installed
virtualbox, 5.2.8, 4.15.0-13-generic, x86_64: installed

然后我检查了以下内容:

$ lsmod | grep 88 
8812au               1077248  0

$ sudo modprobe 8812au
# Empty output

$ sudo /sbin/depmod -a
# Empty output

$ ifconfig -a
enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether e0:d5:5e:82:22:62  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xf7100000-f7120000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 47443  bytes 33615823 (33.6 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 47443  bytes 33615823 (33.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet hidden  netmask 255.255.255.255  destination hidden
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 25681199  bytes 21203557217 (21.2 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19830026  bytes 9146100182 (9.1 GB)
        TX errors 0  dropped 20972 overruns 0  carrier 0  collisions 0

wlx001e2a3838cb: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.8  netmask 255.255.255.0  broadcast 192.168.2.255
        ether 00:1e:2a:38:38:cb  txqueuelen 1000  (Ethernet)
        RX packets 38668731  bytes 25575957972 (25.5 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25577486  bytes 12808764441 (12.8 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我现在可以看到 T4UH v2 处于一个看似生成的名称下enp0s31f6,但仍然是以太网设备。当我尝试将其安装在 MacBook Pro 上以查看它是否正常工作时也发生了这种情况。它保留了一个以太网接口,但 TP-Link Mac 驱动程序附带的 GUI 似乎在水下做了一些事情,将其连接为 WiFi,这让 Mac 认为该设备已有效连接到以太网。

设备上的蓝灯没有像在 macOS 上安装时那样亮起或闪烁。在那里,即使没有 WiFi 连接,它仍然亮起和/或闪烁。

然后我在驱动程序文件夹中尝试:

$ cd /lib/modules/4.15.0-13-generic/kernel/drivers/net/wireless
$ sudo wpa_supplicant -D nl80211 -i enp0s31f6 -c ./ wpa_0_8.conf -B
Successfully initialized wpa_supplicant
nl80211: Could not configure driver mode
nl80211: deinit ifname=enp0s31f6 disabled_11b_rates=0
enp0s31f6: Failed to initialize driver interface

在之前的尝试中,它还给出了:

nl80211: Drivers does not support authentication/association or connect commands

新棒是为了替换旧棒,旧棒几乎无法通过内联网稳定下载 1MB。这款新棒的规格非常棒,所以我真的希望我能让它以某种方式工作。TP-Link 宣传它与 Linux 兼容,但在其网站上,他们停留在内核版本 3.1.* :(。前面提到的 GitHub repo 中的驱动程序的自定义版本似乎可以工作,但我对 Ubuntu WiFi CLI 工具不够熟悉,无法弄清楚。

提前致谢!

更新 1

完整lsusb输出:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 0846:4260 NetGear, Inc. WG111v3 54 Mbps Wireless [realtek RTL8187B]
Bus 001 Device 004: ID 2357:010e  
Bus 001 Device 005: ID 413c:2110 Dell Computer Corp. 
Bus 001 Device 003: ID 413c:1010 Dell Computer Corp. 
Bus 001 Device 002: ID 145f:01f1 Trust 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

sudo modprobe 8812au && dmesg | grep 8812输出:

[    7.401386] 8812au: loading out-of-tree module taints kernel.
[    7.444058] 8812au: module verification failed: signature and/or required key missing - tainting kernel
[    7.446136] RTL871X: rtl8812au v4.3.20_16317.20160108
[    7.446151] usbcore: registered new interface driver rtl8812au

也许错误是由于dkms-8812au之前安装过?但之后它被干净地删除了。甚至清除了源文件。所以它应该只是来自 repo 的新安装版本。

更新 2

dmesg | grep enp输出:

[    4.835489] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
[    8.252764] IPv6: ADDRCONF(NETDEV_UP): enp0s31f6: link is not ready
[    8.440257] IPv6: ADDRCONF(NETDEV_UP): enp0s31f6: link is not ready

iwconfig输出:

lo        no wireless extensions.

wlx001e2a3838cb  IEEE 802.11  ESSID:"H220N8210B1"  
          Mode:Managed  Frequency:2.447 GHz  Access Point: 74:B5:7E:26:1D:FE   
          Bit Rate=54 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=70/70  Signal level=-38 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:1365  Invalid misc:349   Missed beacon:0

vboxnet0  no wireless extensions.

enp0s31f6  no wireless extensions.

sudo lshw -C network输出:

  *-network                 
       description: Ethernet interface
       product: Ethernet Connection (2) I219-V
       vendor: Intel Corporation
       physical id: 1f.6
       bus info: pci@0000:00:1f.6
       logical name: enp0s31f6
       version: 00
       serial: e0:d5:5e:82:22:62
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.2-4 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:137 memory:f7100000-f711ffff
  *-network
       description: Wireless interface
       physical id: 2
       bus info: usb@1:6
       logical name: wlx001e2a3838cb
       serial: 00:1e:2a:38:38:cb
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=rtl8187 driverversion=4.15.0-13-generic firmware=N/A ip=192.168.2.8 link=yes multicast=yes wireless=IEEE 802.11

答案1

在我们的聊天中,我们确定用于下载源代码并修改它以添加您的特定设备 2357:010e 的序列存在错误。您下载了一份新副本,修改了 usb_intf.c 代码以添加您的设备,然后使用 dkms 进行安装。

我们还发现,您的 4.15 内核版本默认存在 8812au 模块。我们使用 dkms --force 来安装修正版本,并覆盖内核默认版本。

将路由器设置为 WPA2-AES 和固定频道 6(而不是自动频道选择)后,设备就能够连接并浏览互联网。

相关内容