我在一台 HP 笔记本电脑上使用 Ubuntu 16.04(.5),内核型号为:4.10.0-42-generic,其 WiFi 卡型号还没有 Linux 驱动程序(但愿如此)。
与此同时,我决定使用无线 USB 适配器,具体来说是 TP-LINK tl-wn722n。
老实说,我不确定适配器使用什么芯片组(我知道有 Atheros 和 Realtek 芯片组),但lspci
给出了以下输出
00:00.0 Host bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register (rev 35)
00:02.0 VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
00:0b.0 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller (rev 35)
00:13.0 SATA controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller (rev 35)
00:14.0 USB controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller (rev 35)
00:1a.0 Encryption controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine (rev 35)
00:1b.0 Audio device: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller (rev 35)
00:1c.0 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #1 (rev 35)
00:1c.3 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #4 (rev 35)
00:1f.0 ISA bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU (rev 35)
00:1f.3 SMBus: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller (rev 35)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device d723
而lsusb
只显示空字段
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 1bcf:2c9b Sunplus Innovation Technology Inc.
Bus 001 Device 004: ID 0bda:b009 Realtek Semiconductor Corp.
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 009: ID 04e8:6863 Samsung Electronics Co., Ltd GT-I9500 [Galaxy S4] / GT-I9250 [Galaxy Nexus] (network tethering)
Bus 001 Device 002: ID 2357:010c
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我知道 USB 模块是 WiFi 模块,因为一旦拔掉它,它就会消失。为了让它工作,我逐行按照以下页面中显示的脚本进行操作:
https://gist.github.com/h4cc/51750fa6843bf2c7e1ee21a003b923cf
对于那些不想点击链接的人来说,这是脚本:
sudo apt-get install git dkms git make build-essential
cd /usr/src
sudo git clone https://github.com/lwfinger/rtl8188eu.git
sudo dkms add ./rtl8188eu
sudo dkms build 8188eu/1.0
sudo dkms install 8188eu/1.0
sudo modprobe 8188eu
USB 适配器工作正常……直到它不再工作。我第一次安装它时,它工作了大约一周,然后突然间适配器不再被识别。由于我真的找不到解决方案,我重新安装了 Ubuntu(当然还有驱动程序),但它第二天就停止工作了。我真的想不出为什么会发生这种情况。我第一次认为可能是因为我运行了apt-get upgrade
,这可能会弄乱内核,这就是我没有升级新安装的原因(公平地说,我只升级了 Firefox)。
我尝试重新安装 dkms 模块。一开始dkms status
显示安装了两个相同驱动程序的版本:一个与我的内核版本 (4.10.0-42-generic) 匹配,另一个与我的内核版本 (4.8.0-36-generic) 匹配。我首先使用dkms uninstall -m 8188eu -v 1.0
,它只卸载了与我的内核匹配的版本,之后我还使用-k
dkms 选项卸载了另一个版本。然后我再次执行安装过程(从dkms build
),结果却发现自己卡在modprobe 8188eu
,在那里我得到了一个
modprobe: ERROR: could not insert '8188eu': Exec format error
dkms status
此时,输出如下:
8188eu, 1.0, 4.10.0-42-generic, x86_64: installed
8188eu, 1.0, 4.8.0-36-generic, x86_64: built
virtualbox, 5.0.40, 4.10.0-42-generic, x86_64: installed
virtualbox, 5.0.40, 4.8.0-36-generic, x86_64: installed
并且 USB 不工作
我可能应该发布更多描述性输出,但我对 Linux 不太熟悉,所以我真的不知道什么有用。如果需要,我更喜欢稍后编辑更多信息。
附注一下,lspci
输出:
Realtek Semiconductor Co., Ltd. Device d723
指的是我的笔记本电脑配备的 WiFi 卡(至少我认为是这样)。如果有人也知道如何让其工作,那也太棒了(尽管我有点好奇为什么适配器不工作)。
先感谢您