我买了一台预装了 Ubuntu 20.04 LTS 的 PC 台式机,没有 wifi 适配器,只有以太网有线适配器。后者工作正常。
由于我需要设置无线连接,我购买了 TP-Link Archer T3U Plus USB 适配器。这就是我的问题开始的地方。在我对使此设备工作所需的努力进行初步调查时,我了解到我需要知道与之相关的芯片组是什么,结果发现是 rtl8822bu(这是我不完全确定但相当确信的第一点)。
当我购买适配器时,我使用了这和这方法尝试让 wifi 适配器工作,但没有成功。
在这两种情况下,当我安装驱动程序后重新启动电脑时,屏幕右上角仍然没有 wifi 图标,并且在配置菜单中只有与有线连接相关的选项。
当我在终端中输入时lsusb
,我可以看到适配器在 Bus 001 Device 004 上被正确识别(我想):
总线 002 设备 004:ID 1a2c:2c27 华润矽科有限公司 总线 002 设备 003:ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 读卡器控制器 总线 002 设备 002:ID 8087:0024 Intel 公司集成速率匹配集线器 总线 002 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器 总线 001 设备 005:ID 0000:3825 总线 001 设备 004:ID 2357:0138 TP-Link 总线 001 设备 003:ID 0ac8:c444 Z-Star Microelectronics Corp. 总线 001 设备 002:ID 8087:0024 Intel 公司集成速率匹配集线器 总线 001 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器
iwconfig
返回:
enp1s0 没有无线扩展。 没有无线扩展。
由于我上面提到的方法似乎成功率很高,但对我的情况却不适用,所以我来找你寻求帮助,看看可能发生了什么。目前,我的直觉认为这可能不是与驱动程序相关的问题。如果是这样的话,我不知道如何解决。
该命令modinfo 8822bu
返回以下内容:
版本:v5.1.0-5_17968.20160601_BTCOEX20160411-1400_beta 作者: Brandon Bailey <[电子邮件保护]> 描述:Realtek 无线局域网驱动程序 许可证:GPL 源版本:04D5CC50A23D179077405EE 别名:usb:v0BDApB82Cd*dc*dsc*dp*icFFiscFFipFFin* 别名:usb:v2357p0138d*dc*dsc*dp*ic*isc*ip*in* 别名:usb:v2357p012Dd*dc*dsc*dp*ic*isc*ip*in* 别名:usb:v2357p0115d*dc*dsc*dp*ic*isc*ip*in* 别名:usb:v0B05p1841d*dc*dsc*dp*ic*isc*ip*in* 别名:usb:v0B05p184Cd*dc*dsc*dp*ic*isc*ip*in* 别名:usb:v7392pB822d*dc*dsc*dp*ic*isc*ip*in* 别名:usb:v0B05p1812d*dc*dsc*dp*ic*isc*ip*in* 别名:usb:v0BDApB812d*dc*dsc*dp*ic*isc*ip*in* 依赖:cfg80211 retpoline:是 名称:8822bu 版本魔法:5.4.0-33-通用 SMP mod_unload 参数:rtw_ips_mode:默认 IPS 模式(int) 参数:rtw_usb_rxagg_mode:int parm:rtw_drv_log_level:插入驱动模块时设置日志级别,默认日志级别为_DRV_INFO_ = 4(uint) parm:rtw_country_code:默认国家代码(alpha2 格式)(charp) parm:rtw_channel_plan:当 rtw_alpha2 未指定或无效时,默认的 chplan ID(int) 参数:rtw_excl_chs:独占通道数组(uint 数组) 参数:rtw_btcoex_enable:BT 共存开启/关闭,0:关闭,1:开启,2:通过 efuse(int) parm: rtw_ant_num:天线数量设置,0:由 efuse (int) 设置 参数:rtw_force_igi_lb:强制 IGI 低限,0:未指定(int) 参数:rtw_qos_opt_enable:int parm:ifname:为第一个接口分配的默认名称(charp) parm:if2name:为第二个接口分配的默认名称(charp) 参数:rtw_pwrtrim_enable:int 参数:rtw_initmac:charp 参数:rtw_special_rf_path:int 参数:rtw_chip_version:int 参数:rtw_rfintfs:int 参数:rtw_lbkmode:int 参数:rtw_network_mode:int 参数:rtw_channel:int 参数:rtw_mp_mode:int 参数:rtw_wmm_enable:int 参数:rtw_vrtl_carrier_sense:int 参数:rtw_vcs_type:int 参数:rtw_busy_thresh:int 参数:rtw_ht_enable:int 参数:rtw_bw_mode:int 参数:rtw_ampdu_enable:int 参数:rtw_rx_stbc:int 参数:rtw_ampdu_amsdu:int 参数:rtw_vht_enable:int 参数:rtw_lowrate_two_xmit:int 参数:rtw_rf_config:int 参数:rtw_power_mgnt:int 参数:rtw_smart_ps:int 参数:rtw_low_power:int 参数:rtw_wifi_spec:int 参数:rtw_full_ch_in_p2p_handshake:int 参数:rtw_antdiv_cfg:int 参数:rtw_antdiv_type:int 参数:rtw_drv_ant_band_switch:int 参数:rtw_switch_usb_mode:int 参数:rtw_enusbss:int 参数:rtw_hwpdn_mode:int 参数:rtw_hwpwrp_detect:int 参数:rtw_hw_wps_pbc:int 参数:rtw_max_roaming_times:尝试的最大漫游次数(uint) 参数:rtw_mc2u_disable:int 参数:rtw_80211d:启用 802.11d 机制(int) 参数:rtw_notch_filter:0:禁用,1:启用,2:仅为 P2P 启用(uint) 参数:rtw_hiq_filter:0:允许全部,1:允许特殊,2:拒绝全部(uint) 参数:rtw_adaptivity_en:0:禁用,1:启用(uint) 参数:rtw_adaptivity_mode:0:正常,1:载波监听(uint) 参数:rtw_adaptivity_dml:0:禁用,1:启用(uint) 参数:rtw_adaptivity_dc_backoff:自适应 DC 退避 (uint) 参数:rtw_adaptivity_th_l2h_ini:TH_L2H_ini 用于自适应性(int) 参数:rtw_adaptivity_th_edcca_hl_diff:TH_EDCCA_HL_diff 用于自适应性(int) 参数:rtw_amplifier_type_2g:BIT3:2G ext-PA,BIT4:2G ext-LNA(单位) 参数:rtw_amplifier_type_5g:BIT6:5G ext-PA,BIT7:5G ext-LNA(单位) 参数:rtw_RFE_type:默认初始化值:64(uint) 参数:rtw_powertracking_type:默认初始化值:64(uint) 参数:rtw_GLNA_type:默认初始化值:0(uint) 参数:rtw_TxBBSwing_2G:默认初始化值:0xFF(uint) 参数:rtw_TxBBSwing_5G:默认初始化值:0xFF(uint) 参数:rtw_OffEfuseMask:默认打开 Efuse Mask 值:0(uint) 参数:rtw_FileMaskEfuse:默认 drv Mask Efuse 值:0(uint) 参数:rtw_rxgain_offset_2g:默认 RF 增益 2G 偏移值:0(uint) 参数:rtw_rxgain_offset_5gl:默认 RF 增益 5GL 偏移值:0(单位) 参数:rtw_rxgain_offset_5gh:uint 参数:rtw_rxgain_offset_5gm:默认 RF 增益 5GM 偏移值:0(uint) 参数:rtw_pll_ref_clk_sel:强制 pll_ref_clk_sel,0xF:使用自动加载值(uint) 参数:rtw_tx_pwr_lmt_enable:0:禁用,1:启用,2:取决于 efuse(int) 参数:rtw_tx_pwr_by_rate:0:禁用,1:启用,2:取决于 efuse(int) parm:rtw_target_tx_pwr_2g_a:每个速率部分的 RF 路径 A 的 2.4G 目标 tx 功率(单位:dBm),应与实际校准功率相匹配,-1:未定义(整数数组) parm:rtw_target_tx_pwr_2g_b:每个速率部分的 RF 路径 B 的 2.4G 目标 tx 功率(单位:dBm),应与实际校准功率相匹配,-1:未定义(整数数组) 参数:rtw_target_tx_pwr_2g_c:每个速率部分的 RF 路径 C 的 2.4G 目标 tx 功率(单位:dBm),应与实际校准功率相匹配,-1:未定义(整数数组) 参数:rtw_target_tx_pwr_2g_d:每个速率部分的 RF 路径 D 的 2.4G 目标 tx 功率(单位:dBm),应与实际校准功率相匹配,-1:未定义(整数数组) 参数:rtw_target_tx_pwr_5g_a:每个速率部分的 RF 路径 A 的 5G 目标 tx 功率(单位:dBm),应与实际校准功率相匹配,-1:未定义(整数数组) 参数:rtw_target_tx_pwr_5g_b:每个速率部分的 RF 路径 B 的 5G 目标 tx 功率(单位:dBm),应与实际校准功率相匹配,-1:未定义(整数数组) 参数:rtw_target_tx_pwr_5g_c:每个速率部分的 RF 路径 C 的 5G 目标 tx 功率(单位:dBm),应与实际校准功率相匹配,-1:未定义(整数数组) 参数:rtw_target_tx_pwr_5g_d:每个速率部分的 RF 路径 D 的 5G 目标 tx 功率(单位:dBm),应与实际校准功率相匹配,-1:未定义(整数数组) parm:rtw_phy_file_path:phy 参数的路径(charp) 参数:rtw_load_phy_file:PHY 文件位图(int) 参数:rtw_decrypt_phy_file:启用解密 PHY 文件(int)
的输出为usb-devices | awk '/0138/' RS=
:
D:Ver=2.10 Cls=00(>ifc)Sub=00 Prot=00 MxPS=64 #Cfgs=1 P:供应商=2357 产品 ID=0138 修订版=02.10 S:制造商 = Realtek S:产品=802.11ac NIC S:序列号=123456 C:#Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA 我:如果#=0x0 Alt= 0 #EPs= 5 Cls=ff(出售) Sub=ff Prot=ff 驱动程序=(无)
你能帮助我吗?
答案1
请尝试:
git clone https://github.com/RinCat/RTL88x2BU-Linux-Driver.git
cd RTL88x2BU-Linux-Driver/
make
sudo make install
sudo modprobe 88x2bu
每次更新内核后,必须重新编译:
cd ~/RTL88x2BU-Linux-Driver/
make clean
git pull
make
sudo make install
sudo modprobe 88x2bu
答案2
这可能有用,对我来说确实如此:
git clone https://github.com/cilynx/rtl88x2bu.git
cd rtl88x2bu
VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"/\1/p' dkms.conf)
sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
sudo dkms add -m rtl88x2bu -v ${VER}
sudo dkms build -m rtl88x2bu -v ${VER}
sudo dkms install -m rtl88x2bu -v ${VER}
sudo modprobe 88x2bu
答案3
看起来它确实是一个 rtl8822bu 设备,但有一个新的产品 id:
2357:0138
这就是它不被驱动程序检测到的原因。
我建议使用 Jeremy31 git repohttps://github.com/jeremyb31/rtl8822bu
但编辑 os_dep/linux/usb_intf.c
文件后
{USB_DEVICE(0x2357, 0x012d), .driver_info = RTL8822B}, /* Archer USB T3U */
添加另一行
{USB_DEVICE(0x2357, 0x0138), .driver_info = RTL8822B}, /* Archer USB T3U */
您需要删除该驱动程序并重新安装。
由于该设备在 Windows 和 Mac 上使用相同的驱动程序,因此这应该足够了。