4

I have bought a PC desktop that came with Ubuntu 20.04 LTS preinstalled, and have no wifi adapter, only an ethernet wired one. The latter works just fine.

As I need to setup a wireless connection, I bought a TP-Link Archer T3U Plus USB adapter. This is where my problems began. During my preliminary investigations on the effort needed to getting this device to work, I could understand that I needed to know which is the chipset related to it and found to be rtl8822bu (this is the first point I not completely sure about, but quite convicted).

When I bought the adapter, I used this and this method to try to get the wifi adpter working, but no success.

In both cases, when I reboot the pc after installing the drivers, I still get no wifi icon in the upper right corner of the screen, and in the configurations menu, only options related to wired connections.

When I type lsusb in the terminal, I can see that the adapter is properly identified at Bus 001 Device 004 (I suppose):

Bus 002 Device 004: ID 1a2c:2c27 China Resource Semico Co., Ltd 
Bus 002 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 0000:3825  
Bus 001 Device 004: ID 2357:0138 TP-Link 
Bus 001 Device 003: ID 0ac8:c444 Z-Star Microelectronics Corp. 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

iwconfig returns:

enp1s0    no wireless extensions.

lo no wireless extensions.

As the methods I identified above appear to have a high success rate, but not for my case, I come to you asking for help on what might be happening. At the moment, my intuition suggests that this might not be a driver related issue. If that is the case, I have no clue on how to sort it out.

The command modinfo 8822bu returns the following:

version:        v5.1.0-5_17968.20160601_BTCOEX20160411-1400_beta
author:         Brandon Bailey <brandondanielbailey@gmail.com>
description:    Realtek Wireless Lan Driver
license:        GPL
srcversion:     04D5CC50A23D179077405EE
alias:          usb:v0BDApB82Cd*dc*dsc*dp*icFFiscFFipFFin*
alias:          usb:v2357p0138d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2357p012Dd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2357p0115d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0B05p1841d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0B05p184Cd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v7392pB822d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0B05p1812d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDApB812d*dc*dsc*dp*ic*isc*ip*in*
depends:        cfg80211
retpoline:      Y
name:           8822bu
vermagic:       5.4.0-33-generic SMP mod_unload 
parm:           rtw_ips_mode:The default IPS mode (int)
parm:           rtw_usb_rxagg_mode:int
parm:           rtw_drv_log_level:set log level when insert driver module, default log level is _DRV_INFO_ = 4 (uint)
parm:           rtw_country_code:The default country code (in alpha2) (charp)
parm:           rtw_channel_plan:The default chplan ID when rtw_alpha2 is not specified or valid (int)
parm:           rtw_excl_chs:exclusive channel array (array of uint)
parm:           rtw_btcoex_enable:BT co-existence on/off, 0:off, 1:on, 2:by efuse (int)
parm:           rtw_ant_num:Antenna number setting, 0:by efuse (int)
parm:           rtw_force_igi_lb:force IGI low-bound, 0:no specified (int)
parm:           rtw_qos_opt_enable:int
parm:           ifname:The default name to allocate for first interface (charp)
parm:           if2name:The default name to allocate for second interface (charp)
parm:           rtw_pwrtrim_enable:int
parm:           rtw_initmac:charp
parm:           rtw_special_rf_path:int
parm:           rtw_chip_version:int
parm:           rtw_rfintfs:int
parm:           rtw_lbkmode:int
parm:           rtw_network_mode:int
parm:           rtw_channel:int
parm:           rtw_mp_mode:int
parm:           rtw_wmm_enable:int
parm:           rtw_vrtl_carrier_sense:int
parm:           rtw_vcs_type:int
parm:           rtw_busy_thresh:int
parm:           rtw_ht_enable:int
parm:           rtw_bw_mode:int
parm:           rtw_ampdu_enable:int
parm:           rtw_rx_stbc:int
parm:           rtw_ampdu_amsdu:int
parm:           rtw_vht_enable:int
parm:           rtw_lowrate_two_xmit:int
parm:           rtw_rf_config:int
parm:           rtw_power_mgnt:int
parm:           rtw_smart_ps:int
parm:           rtw_low_power:int
parm:           rtw_wifi_spec:int
parm:           rtw_full_ch_in_p2p_handshake:int
parm:           rtw_antdiv_cfg:int
parm:           rtw_antdiv_type:int
parm:           rtw_drv_ant_band_switch:int
parm:           rtw_switch_usb_mode:int
parm:           rtw_enusbss:int
parm:           rtw_hwpdn_mode:int
parm:           rtw_hwpwrp_detect:int
parm:           rtw_hw_wps_pbc:int
parm:           rtw_max_roaming_times:The max roaming times to try (uint)
parm:           rtw_mc2u_disable:int
parm:           rtw_80211d:Enable 802.11d mechanism (int)
parm:           rtw_notch_filter:0:Disable, 1:Enable, 2:Enable only for P2P (uint)
parm:           rtw_hiq_filter:0:allow all, 1:allow special, 2:deny all (uint)
parm:           rtw_adaptivity_en:0:disable, 1:enable (uint)
parm:           rtw_adaptivity_mode:0:normal, 1:carrier sense (uint)
parm:           rtw_adaptivity_dml:0:disable, 1:enable (uint)
parm:           rtw_adaptivity_dc_backoff:DC backoff for Adaptivity (uint)
parm:           rtw_adaptivity_th_l2h_ini:TH_L2H_ini for Adaptivity (int)
parm:           rtw_adaptivity_th_edcca_hl_diff:TH_EDCCA_HL_diff for Adaptivity (int)
parm:           rtw_amplifier_type_2g:BIT3:2G ext-PA, BIT4:2G ext-LNA (uint)
parm:           rtw_amplifier_type_5g:BIT6:5G ext-PA, BIT7:5G ext-LNA (uint)
parm:           rtw_RFE_type:default init value:64 (uint)
parm:           rtw_powertracking_type:default init value:64 (uint)
parm:           rtw_GLNA_type:default init value:0 (uint)
parm:           rtw_TxBBSwing_2G:default init value:0xFF (uint)
parm:           rtw_TxBBSwing_5G:default init value:0xFF (uint)
parm:           rtw_OffEfuseMask:default open Efuse Mask value:0 (uint)
parm:           rtw_FileMaskEfuse:default drv Mask Efuse value:0 (uint)
parm:           rtw_rxgain_offset_2g:default RF Gain 2G Offset value:0 (uint)
parm:           rtw_rxgain_offset_5gl:default RF Gain 5GL Offset value:0 (uint)
parm:           rtw_rxgain_offset_5gh:uint
parm:           rtw_rxgain_offset_5gm:default RF Gain 5GM Offset value:0 (uint)
parm:           rtw_pll_ref_clk_sel:force pll_ref_clk_sel, 0xF:use autoload value (uint)
parm:           rtw_tx_pwr_lmt_enable:0:Disable, 1:Enable, 2: Depend on efuse (int)
parm:           rtw_tx_pwr_by_rate:0:Disable, 1:Enable, 2: Depend on efuse (int)
parm:           rtw_target_tx_pwr_2g_a:2.4G target tx power (unit:dBm) of RF path A for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_b:2.4G target tx power (unit:dBm) of RF path B for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_c:2.4G target tx power (unit:dBm) of RF path C for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_d:2.4G target tx power (unit:dBm) of RF path D for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_a:5G target tx power (unit:dBm) of RF path A for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_b:5G target tx power (unit:dBm) of RF path B for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_c:5G target tx power (unit:dBm) of RF path C for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_d:5G target tx power (unit:dBm) of RF path D for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_phy_file_path:The path of phy parameter (charp)
parm:           rtw_load_phy_file:PHY File Bit Map (int)
parm:           rtw_decrypt_phy_file:Enable Decrypt PHY File (int)

The output for usb-devices | awk '/0138/' RS= is:

D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2357 ProdID=0138 Rev=02.10
S:  Manufacturer=Realtek
S:  Product=802.11ac NIC
S:  SerialNumber=123456
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 5 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

Can you help me?

  • "When I type lsusb in the terminal, I can see that the adapter is properly identified." Please edit your question to show us what it says. Welcome to Ask Ubuntu. – chili555 Jun 07 '20 at 12:57
  • @chili555 thank you for your correction. I've edited the question and added up a few more information that hopefully allows a better understanding. – Tiago Antonio Jun 08 '20 at 14:54
  • How did you find out it is rtl8822bu? – Pilot6 Jun 08 '20 at 14:59
  • I found it through this page. However, I wouldn't be surprised if it was rtl8822au, as it is widelly mentioned for these devices. I've been insisting on making it work with rtl8822bu anyway. – Tiago Antonio Jun 08 '20 at 15:08
  • You've build the driver correctly. See usb:v2357p0138d*dc*dsc*dp*ic*isc*ip*in*. Now we need to see if the driver is loaded. – Pilot6 Jun 15 '20 at 13:44
  • Also what does sudo modprobe 8822bu output? – Pilot6 Jun 15 '20 at 13:45
  • OK. The driver doesn't load. So run dmesg | grep -E 'rtw|rtl' and post the output. Please copy the command, don't type it. – Pilot6 Jun 15 '20 at 14:21
  • For sudo modprobe 8822bu I get: modprobe: FATAL: Module 8822bu not found in directory /lib/modules/5.4.0-37-generic – Tiago Antonio Jun 15 '20 at 14:27
  • For dmesg | grep -E 'rtw|rtl' I get no output. Is this expected? – Tiago Antonio Jun 15 '20 at 14:29
  • No, it's not expected. Try dmesg | grep 8822 – Pilot6 Jun 15 '20 at 14:36
  • Oh, I missed the "not found" message. It looks like you installed it witout dkms and updated kernel since. It is a bit too complex. You don't have enough knowledge and I need 2-3 comments for each step. It will take forever. I give up, sorry. – Pilot6 Jun 15 '20 at 14:41

3 Answers3

4

Please try:

git clone https://github.com/RinCat/RTL88x2BU-Linux-Driver.git
cd RTL88x2BU-Linux-Driver/
make
sudo make install
sudo modprobe 88x2bu

After each kernel update, you must recompile:

cd ~/RTL88x2BU-Linux-Driver/
make clean
git pull
make
sudo make install
sudo modprobe 88x2bu
chili555
  • 60,188
  • Hi there, @chili555, this method worked out for me, so first of all I must say thank you :). I have to add only 2 tweaks that I think also contributed to the solution. First, I did a clean reinstallation of the OS to guarrantee that any other attempt would influence this one. Then, and due to the fact that in previous attempts I couldn't get the command modprobe 88x2bu to work, this time I disconnected the device before I ran the command. It ran successfully and when I connected the wifi dongle, it was identified. It is now working properly. :) – Tiago Antonio Jul 06 '20 at 11:26
2

This may work, it did for me:

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

from https://community.tp-link.com/en/home/forum/topic/208022

0

It seems that it is really a rtl8822bu device, but with a new product id:

2357:0138

That's why it is not detected by the driver.

I would suggest to use the Jeremy31 git repo https://github.com/jeremyb31/rtl8822bu

But edit the os_dep/linux/usb_intf.c file and after

{USB_DEVICE(0x2357, 0x012d), .driver_info = RTL8822B}, /* Archer USB T3U */

add another line

{USB_DEVICE(0x2357, 0x0138), .driver_info = RTL8822B}, /* Archer USB T3U */ 

You will need to remove the driver and install it again.

Since the device is using the same driver on Windows and Mac, this should be sufficient.

Pilot6
  • 90,100
  • 91
  • 213
  • 324
  • Thank you for your help @Pilot6. This suggestion seems pretty logic to me, and for sure brought me closer to the resolution of this issue. But presently, I still have no option related to wirelless connection, and iwconfig returns the same result. Uninstalled driver, modified usb_intf.c file, reinstalled driver, rebooted, unplugged/plugged dongle with no results. – Tiago Antonio Jun 08 '20 at 15:57
  • let's try to find out what happens. Please add output of usb-devices | awk '/0138/ RS=andmodinfo 8822bu` to your question. Were there any errors while installing? – Pilot6 Jun 08 '20 at 16:31
  • Hello @Pilot6, sorry for the delay in the answer. The installation went on without any error or warning. The command modinfo 8822bu has a quite large output. Should I paste it here anyway? The first one seems to have a syntax error, or something related with the formatting of the post, and I can't succeed to get it working. – Tiago Antonio Jun 15 '20 at 12:47
  • Yes, please post it. The first one needs a closing '. usb-devices | awk '/0138/' RS= – Pilot6 Jun 15 '20 at 12:50
  • I have already edited the question with the information required added. – Tiago Antonio Jun 15 '20 at 13:40
  • The first command was wrong. This usb-devices | awk '/0138/' RS= should work, – Pilot6 Jun 15 '20 at 13:42
  • Is Secure Boot disabled in BIOS? – Pilot6 Jun 15 '20 at 13:44
  • I confirm that SecureBoot is disabled in BIOS, the result of the other command is posted in the answer. – Tiago Antonio Jun 15 '20 at 14:15
  • So run usb-devices and find the part related to your device manually. – Pilot6 Jun 15 '20 at 14:16
  • I think you are using wrong quotes or something. If you copy a command and paste it to a terminal, it should work. – Pilot6 Jun 15 '20 at 14:18